de:doc:rfc_rtd-real-time-data-protocol-for-the-oobd-firmware
Differences
This shows you the differences between two versions of the page.
de:doc:rfc_rtd-real-time-data-protocol-for-the-oobd-firmware [2014/09/20 18:09] – created wsauer | de:doc:rfc_rtd-real-time-data-protocol-for-the-oobd-firmware [2014/09/21 11:45] (current) – wsauer | ||
---|---|---|---|
Line 23: | Line 23: | ||
- | ==== Concept | + | ==== Konzept |
- | To surround several constrains like bus speed, real time capabilities and memory size when recording real time data in OOBD, the following concept will be followed | + | Um mehrere Einschränkungen, |
- | + | ||
- | Um mehrere Einschränkungen, | + | |
-Um die Verwendung von geistigem Eigentum zu vermeiden und die Datenfelder, | -Um die Verwendung von geistigem Eigentum zu vermeiden und die Datenfelder, | ||
- | | + | |
- | + | -Um die vorhandenen Code auf Anwendungsseite wieder zu verwenden, wird die Konfiguration und die Datenanforderung als Pseudo-UDS-Services implementiert: | |
- | Um die vorhandenen Code auf Anwendungsseite wieder zu verwenden, wird die Konfiguration und die Datenanforderung als Pseudo-UDS-Services implementiert: | + | |
- | ==== Initialization | + | ==== Initialisierung |
- | Select the CAN RTD protocol | + | Wähle das CAN RTD Protokoll |
Line 46: | Line 43: | ||
- | Open the CAN filters | + | Öffnen der CAN Filter |
Line 55: | Line 52: | ||
- | This activates the CAN Real Time Protocol, clears the internal | + | Dieses aktiviert das CAN |
+ | ^R^|eal^T^|ime Data ^P^|rotokoll|,^|löscht die interne | ||
- | ==== Configuration | + | ==== Konfiguration |
- | === Commands | + | === Kommandos |
- | The data to listen to is defined by the application to the firmware with an 27- command: | + | Die Daten, die empfangen werden sollen, werden von der Applikation mittels des 27- Kommando von der Firmware angefordert: |
< | < | ||
- | 27 CanID Type [Length | + | 27 CanID Typ [Länge |
</ | </ | ||
- | Values not given use 0 as default value | + | nicht angegebene Werte werden mit 0 as Default Wert vorbesetzt |
- | where the data byte meanings are as follows: | + | in Diesem bedeuten die Datenbytes folgendes: |
- | ^ Block ^Length | + | ^ Block ^Länge |
- | | CanID | 4 |CAN- ID to listen to (MSB ..LSB) | | | + | | CanID | 4 |CAN- ID die empfangen werden soll (MSB ..LSB) | | |
- | | | + | | |
- | | | + | | |
- | | cPos | 1 |Position | + | | cPos | 1 |Position |
- | | | + | | |
- | === Errors | + | === Fehler |
- | ^ | + | ^ |
- | | 1 |Command too long: | + | | 1 |Kommando zu lang: |
- | | 2 |out of Memory: Not enough memory to store the requested data buffer | + | | 2 |Kein Speicher mehr übrig: Es ist nicht genügend Speicher vorhanden, um den angeforderten Datensatz abzulegen |
- | | 3 |CAN ID already exist: The requested | + | | 3 |CAN ID existiert bereits: Die angeforderte |
- | === Examples | + | === Beispiele |
- | Request Single frame with ID 0400 | + | Anforderung eines Einzelrahmens mit ID 0400 |
Line 106: | Line 104: | ||
- | Request Single frame | + | Anforderung eines Einzelrahmens |
Line 114: | Line 112: | ||
- | Request custom multi frame (=type 01) with ID 400 , length | + | Anforderung eines Mehrfachrahmens |
Line 122: | Line 120: | ||
- | Request | + | Anforderung eines ISO-TP |
Line 130: | Line 128: | ||
- | ==== Read Data ==== | + | ==== Daten lesen ==== |
- | === Commands | + | === Kommandos=== |
- | The request to the firmware to send received data to the application is done with an 22- command: | + | Die Anforderung |
Line 144: | Line 142: | ||
- | where the data byte meanings are as follows: | + | in diesem bedeuten die Datenbytes folgendes: |
- | ^ Bytes ^ | + | ^ Bytes ^ |
- | |AA BB CC DD |CAN- ID to listen to (MSB ..LSB) | | | + | |AA BB CC DD |CAN- ID die empfangen werden soll (MSB ..LSB) | | |
- | As result the firmware first repeats the command | + | Als Ergebnis wiederholt die Firmware das Kommando |
Line 157: | Line 155: | ||
62 AA BB CC DD FL 00 11 22 .. | 62 AA BB CC DD FL 00 11 22 .. | ||
</ | </ | ||
- | == Flag == | + | == Marker |
- | In the moment only bit 0 of the flag is used. If set, the data output is new and has not been printed before. After printed, the flag is set to 0 by the firmware. So when bit 0 is set, this is fresh data. By that the application software don't need to control by itself | + | Im Augenblick ist nur Bit 0 des Markers genutzt. Falls es gesetzt ist, ist der die Ausgabe neu und wurde nie zuvor gesendet. Nach dem Senden, wird der Marker wieder durch die Firmware auf 0 gesetzt. Also ist das Setzen des Bits 0 gleichbedeutend mit dem Senden von " |
- | === Errors | + | === Fehler |
- | the error messages are designed as General Response Code Errors, means they are coded as received bytes, not as clear text error messages. The byte sequence always starts with 7F 00, followed by the error code byte: | + | Die Fehlermeldungen wurden als generelle Antwortfehlermeldungen gestaltet. Das bedeutet, daß sie als empfangene Bytes kodiert wurden und nicht als Klartextfehlermeldungen. Die Bytesequenz startet immer mit 7F 00, gefolgt von dem Fehlerkodebyte: |
- | ^ | + | ^ |
- | | 01 |unknown | + | | 01 |unbekannte |
- | | 02 |no valid data received until now | | + | | 02 |keine validen Daten bis jetzt empfangen |
- | ==== General Commands | + | ==== Allgemeine Kommandos |
- | ^ | + | ^ |
- | | p 6 1 |clear the internal data buffer list, releases all used memory buffers | + | | p 6 1 |lösche die interne Datenspeicherliste, gibt den ganzen genutzten Speicherbereich frei | |
- | ==== Implementation | + | ==== Implementations |
- | - All requested | + | - Alle angeforderten |
- | - In case a requested | + | - In dem Fall, wo eine angeforderte |
- | - The implementation needs to make sure, that a buffer is not altered during its printout process | + | - Die Implementierung muss sicherstellen, daß ein Speicher nicht verändert wird, solange dessen Inhalt gesendet wird. |
- | - The implementation needs to make sure, that a buffer is only declared as valid, if a complete frame sequence | + | - Die Implementierung muss sicherstellen, daß ein Speicher nur als gültig deklariert ist, wenn eine komplette Rahmensequenz |
- | ==== Security Considerations | + | ==== Sicherheitsüberlegungen |
+ | Dieses RFC-Dokument zeigt Sicherheitsaspekte auf. Sein Bedürfnis danach sicherzustellen, | ||
- | This RFC raises security issues. It's need to make sure that the firmware only listens on the bus in invisible mode without creating any active (re)action on the bus. | ||
+ | ==== Referenzen ==== | ||
- | ==== References ==== | ||
- | + | ==== Adresse des Authors' | |
- | ==== Authors' | + | |
Line 205: | Line 202: | ||
- | Phone: +49 172 410 35 98 | + | Mobiltelefon: +49 172 410 35 98 |
Line 211: | Line 208: | ||
- | ==== Appendix | + | ==== Anhang |
Line 217: | Line 214: | ||
- | Copyright | + | Copyright |
Line 247: | Line 244: | ||
- | The OOBD-RFC | + | Die OOBD-RFC |
- | + | ||
- | + | ||
- | To join (or quit) the list goto [[https:// | + | |
+ | Um diese zu nutzen (oder sich davon abzumelden) benutze https:// | ||
- | \\ | ||
de/doc/rfc_rtd-real-time-data-protocol-for-the-oobd-firmware.1411229371.txt.gz · Last modified: 2014/09/20 18:09 (external edit)