next up previous contents
Next: Latenzzeitmessung Up: CAN - Entwicklungsumgebung Previous: Einführung in die Entwicklungsumgebung

Implementierung des Protokolls

  Wie in Kap. 4.3 beschrieben, ist der Entwicklung eines eigenen, einfachen Protokolls Vorzug zu geben. Das hier beschriebene Protokoll entstand zwar in Anlehnung an CANopen, kann jedoch nicht annähernd als CANopen kompatibel bezeichnet werden. Nur für die Aufgabe wichtige Teile wurden übernommen, etliche stark vereinfacht oder durch völlig andere Mechanismen ersetzt. In Abb. 4.2 ist als Übersicht das vereinfachte Flußdiagramm eines Clients dargestellt.


  
Abbildung 4.2: Flußdiagramm der CAN Kommunikation eines Clients
\begin{figure}
 \centering
 
\includegraphics [scale=0.8]{Bilder/CAN-komm.eps}\end{figure}

Im Netzwerk sind 3 Knoten (Nodes) vorhanden:

CANmaster:
PC mit einem CAN-Dongle und der Hardwareadresse 0x01. Aufgaben:
CANsend:
Phytech C167 Board mit der Hardwareadresse 0x02. Aufgaben:
CANlog:
Keil C167 Board mit der Hardwareadresse 0x03. Aufgaben:

Der ,,CANmaster`` sendet fortlaufend das INIT_CMD Kommando und wartet auf das PREPARED Signal der Clients. Nachdem sich alle Clients PREPARED gemeldet haben, sendet der Master das START_CMD Kommando um die Messung zu starten. Der ,,CANmaster`` beginnt sofort mit der Generierung der gewünschten Buslast. Der Knoten ,,CANsend`` sendet im 10 ms Takt die zu messenden Nachrichten. ,,CANlog`` wird die Zeit zwischen den Nachrichten messen und nach 256 Messungen mit höchster Priorität an den ,,CANmaster`` senden. Nach Empfang aller Meßdaten sendet der ,,CANmaster`` das Kommando STOP_CMD, wodurch die Clients wieder in den Zustand gehen auf das INIT_CMD Kommando des ,,CANmaster`` zu warten.


next up previous contents
Next: Latenzzeitmessung Up: CAN - Entwicklungsumgebung Previous: Einführung in die Entwicklungsumgebung

Holger Müller, TUD-EMK
9/26/1998