Next: Latenzzeitmessung
Up: CAN - Entwicklungsumgebung
Previous: Einführung in die Entwicklungsumgebung
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}](img16.gif) |
Im Netzwerk sind 3 Knoten (Nodes) vorhanden:
- CANmaster:
- PC mit einem CAN-Dongle und der Hardwareadresse 0x01.
Aufgaben:
- CAN-Master zum Initialisieren des Netzwerks.
- Verantwortlich für die kontrollierte Buslast.
- Schreiben der vom Client ,,CANlog`` protokollierten Daten in eine
Datei.
- CANsend:
- Phytech C167 Board mit der Hardwareadresse 0x02. Aufgaben:
- Senden von Daten mit der ID 400 (SYNC Priorität) im zeitlichen
Abstand von 10 ms.
- CANlog:
- Keil C167 Board mit der Hardwareadresse 0x03. Aufgaben:
- Empfangen der Daten von ,,CANsend``.
- Messen der Zeit zwischen den Nachrichten.
- Übertragung der Meßdaten nach 256 Messungen an den ,,CANmaster``.
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: Latenzzeitmessung
Up: CAN - Entwicklungsumgebung
Previous: Einführung in die Entwicklungsumgebung
Holger Müller, TUD-EMK
9/26/1998