Skip to content

hcan protocol

hcanIngo edited this page Dec 19, 2015 · 3 revisions

Die HCAN Protokoll-Familie

Das HCAN System verwendet diverse Protokolle, verteilt auf verschiedene Layer. Auf der OSI Schichtenmodel lassen sich die Protokolle nicht direkt abbilden. Es gibt mehrere Transportmedien:

Im Normalfall wird CAN verwendet; auf dem Weg vom Hostinterface in den Rechner werden die HCAN Frames ueber das HCAN ASCII Protcol uebertragen; im Rechner und im (IP-)Netzwerk werden sie ueber UDP/IP uebermittelt.

Die folgende Graphik zeigt den Protokoll-Stapel (Stack) der HCAN Protokoll-Familie; die violetten Protokolle sind schon existierende und standardisierte Protokolle, die weissen Protokolle sind von HCAN definiert.

hcan-protokoll-stack

HCAN Protokoll

Das HCAN Protkoll (mittlere Schicht) entspricht in etwa dem IP-Protokoll im Netzwerk: seine Aufgabe ist es, die Daten in HCAN Frames zu packen und mit Steuer-Informationen zu versehen, so dass eine End-zu-End-Kommunikation moeglich wird. HCAN definiert folgende Felder:

  • prio (Prioritaet): Wichtige Frames besitzen einen niedirgen prio-Wert und damit eine hoehere Prioritaet, damit sie nicht beim Ueberlast-Situationen verworfen werden
  • protocol (ID des darueber liegenden Protokolls): Sie gibt an, mit welcher Art von Daten es der Empfaenger zu tun hat (spaeter unten dazu mehr)
  • dest (Destination): Die Ziel-Adresse, an die das Frame zugestellt werden soll
  • src (Source): Die Quell-Adresse, von der das Frame stammt, also der Absender

Die folgende Graphik zeigt, wie die HCAN Frames auf CAN Frames abgebildet werden:

hcan-frame

Es sind zwei Felder nicht verwendet, einmal ein 3-bitiges und ein 1-Bit Feld. Da der verwendete MCP2515 von Microchip laut Errata-Sheet in einer bestimmten Revision einen Bug aufweist (es kann passieren, dass die ersten 3 Bits alle 0 werden), wurden die ersten 3 Bit unbenutzt gelassen. Damit kann der Bug gerne auftreten, das stoert nicht ;-)

Das einzelne freie Bit ist ein Erweiterungsbit: Sollten zukuenftige Erweiterungen ueber die Protokoll-ID (0..7) nicht mehr realisierbar sein, kann eine Erweiterung hiermit signalisiert werden - for future use only.

SFP - Simple Frame Protocol

Das SFP stellt die Grundlage fuer alle einfachen HCAN Services dar - einfach in dem Sinne, dass keine Fragmentierung und kein Acknowlegement auf Protokoll-Ebene stattfindet. Manche Services verwenden auf Anwendungsebene einzelne Acknowlegement Frames, was aber der Einfachheit nicht im Protokoll abgebildet ist.

Bisher existieren auf der Ebene des SFP noch das SYSLOG (Syslog Text Protocol), welches aus Performance-Gruenden alle Datenfelder fuer Syslog-Meldungen verwendet - es wird aber bisher nur zum Debugging eingesetzt. Fuer maschinenverarbeitbare Informationen wird der SLS (Syslog Service) verwendet.

Das SFP definiert den Aufbau:

sfp

  • SID (Service ID)
  • CMD (Command) Befehl innerhalb der Services
  • p0..p5 Bis zu 6 Parameter des Befehls

Fuer weitere Informationen zu den Services bitte in die HCAN Protokoll Referenz schauen!

Clone this wiki locally