Skip to content

hcan ascii protocol

hcanIngo edited this page Feb 5, 2016 · 3 revisions

HCAN ASCII Protocol

Das ASCII Protocol ist eine eine alternative Transportschicht zum CAN Bus und findet Verwendung zwischen dem Hostinterface und dem hcanhid. Darunter liegt eine serielle Verbindung ueber USB.

Hinweis: Genau genommen muesste man hier nochmals trennen zwischen der eigentlichen ASCII-Repraesentation der HCAN Frames und den Steuerungsbefehlen.

Die HCAN Frames werden als hex-codierte Zahlenketten uebertragen:

Ceeeeeeeessd0d1d2..F
  • C: Frame-Start
  • eeeeeeee ist der Extended Identifier (29bit als 32bit Wert uebertragen).
  • ss ist das size Byte
  • d0..dx sind die Daten-Byes
  • F: Frame-Ende

Ein Beispiel:

C36a11000020402F

Dabei stellt das C den Start und das F das Ende des Frames dar; die ersten 32bit (36a11000) stellen den 29bit Extended Identifier des CAN Protokolls dar (siehe HCAN Protocol).

Es folgt das size Byte, ebenfalls hex-codiert: in diesem Falle 02.

Nun kommen die Datenbytes des CAN Frames (maximal 8 Bytes), im Beispiel 04 und 02.

Die Frame Uebertragungen finden bidirektional statt.

Steuer-Befehle

| Befehl | Sender  | Beschreibung                                             
| ------ | ------  | ------------                                             
| R      | hcanhid | Reset des Hostinterfaces                                 
| P      | beide   | Ping; wird mit 'P' bestaetigt                            
| S      | hcanhid | Device State; antwort mit State hexbyte                  
| Y      | HI      | Gibt Bootflags aus, gefolgt von einer Ziffer, Wert: 0-7  
| C      | beide   | Start eines Frames                                       
| F      | beide   | Ende eines Frames                                        
| B      | hcanhid | Resync; wird mit 'B' bestaetigt                          
Clone this wiki locally