User Tools

Site Tools


usb2can

CAN

USB2CAN

Protokoll

Jeder Befehl endet mit einem '\r' / 0x13. USB2CAN antwortet mit

  • '\r' / 0x13 (ACK) falls der Befehl erfolgreich verarbeitet wurde,
  • '\a' / 0x07 (NACK) falls der Befehl nicht verarbeitet wurde

Beispiel:

OUT IN Kommentar
S8\r \r Baudrate auf 1Mbps setzen, ACK
O\r \r CAN Kanal öffnen, ACK
X\r \a Unbekannter Befehl, NACK
V\r V0115\r Hardwareversion abfragen, Version 01.15, ACK
t700255aa\r \r Nachricht mit 2 Bytes (0x55, 0xAA) an ID 0x700 senden, ACK
t7002aa55\r Nachricht mit 2 Bytes (0xAA, 0x55) von ID 0x700 empfangen
C\r \r CAN Kanal schließen, ACK

Eingehende Nachrichten

  • tcccldd…

Normale CAN Nachricht empfangen

ccc 		= CAN ID (HEX)
l		= Anzahl Datenbytes (1 <= l <= 8)
dd..		= Datenbytes (HEX) (Anzahl = l)
  • Tccccccccldd…

Extended ID CAN Nachricht empfangen

cccccccc	= CAN ID (HEX)
l		= Anzahl Datenbytes (1 <= l <= 8)
dd..		= Datenbytes (HEX) (Anzahl = l)
  • rcccl

RTR CAN Nachricht empfangen

ccc 		= CAN ID (HEX)
l		= Anzahl angeforderter Datenbytes (1 <= l <= 8)
  • Rccccccccl

Extended ID RTR CAN Nachricht empfangen

cccccccc	= CAN ID (HEX)
l		= Anzahl angeforderter Datenbytes (1 <= l <= 8)

Befehle

  • Sx

Baudrate wählen (Muss vor dem Öffnen einer Verbindung geschehen)

x 			= 0 :   10kbps	(momentan nicht unterstüzt, wie x = 3)
x 			= 1 :   20kbps	(momentan nicht unterstüzt, wie x = 3)
x 			= 2 :	50kpbs	(momentan nicht unterstüzt, wie x = 3)
x 			= 3 :  100kbps
x 			= 4 :  125kbps
x 			= 5 :  250kbps
x 			= 6 :  500kbps
x 			= 7 :  800kbps	(momentan nicht unterstüzt, wie x = 6)
x 			= 8 : 1000kbps
  • Bxxxxxxx

Baudrate setzen

xxxxxxx = Baudrate in bps, mit 0 auf 7 Stellen gepadded.
	  z.B. B0125000 =  125kbps
	  z.B. B1000000 = 1000kbps
  • O

CAN Kanal öffnen

  • L

Passiven CAN Kanal öffnen

Nur Empfang von Nachrichten, keinerlei Busbeeinflussung
  • C

CAN Kanal schließen

  • tcccldd…

CAN Nachricht senden

ccc 		= CAN ID (HEX)
l		= Anzahl Datenbytes (1 <= l <= 8)
dd..		= Datenbytes (HEX) (Anzahl = l)
  • tccccccccldd…

CAN Nachricht senden

cccccccc 	= CAN Extended ID (HEX)
l		= Anzahl Datenbytes (1 <= l <= 8)
dd..		= Datenbytes (HEX) (Anzahl = l)
  • rcccl

CAN RTR Nachricht senden

ccc 		= CAN ID (HEX)
l		= Anzahl der angeforderten Datenbytes (1 <= l <= 8)
  • Rccccccccl

CAN RTR Nachricht senden

cccccccc	= CAN Extended ID (HEX)
l		= Anzahl der angeforderten Datenbytes (1 <= l <= 8)
  • Mxxxxxxxx

Filter Maske festlegen

xxxxxxxx	= Filter Maske (HEX)
  • mxxxxxxxx

Filterwert festlegen

xxxxxxxx	= Filterwert (HEX)
  • E

CAN Fehler abfragen (Fehler werden bis zur Abfrage geodert, Abfrage setzt Fehler zurück)

Antwort:
	"Exx\r"
	xx	= Fehlerregister (HEX)
  • V

Hardwareversion abfragen

Antwort:
	"VMMmm\r"
	MM	= Major Version
	mm	= Minor Version
  • v

Firmwareversion abfragen

Antwort:
	"vMMmm\r"
	MM	= Major Version
	mm	= Minor Version
  • N

Seriennummer abfragen

Antwort:
	"Nssss\r"
	ssss	= Seriennummer
usb2can.txt · Last modified: by konstantin