Smart Mobility / Systemdesign Erweiterung der M_CAN-Controller-IP

Zeitmarke und Synchronisierung

TSU-Erweiterung

Eine AUTOSAR-kompatible Synchronisation von Zeitbasen mehrerer CAN-Knoten erfolgte mangels spezieller Hardware bislang nur auf Softwarebasis. Um die damit erzielbare Zeitgenauigkeit weiter zu erhöhen, ist eine spezielle Hardware erforderlich. Das Dokument CiA 603 spezifiziert ein hardware-basiertes Konzept, welches nun als M_CAN-Erweiterung namens TSU verfügbar ist. Dieses Verfahren ist unabhängig von interrupt-Antwortzeiten und erzielt dadurch die bestmögliche Genauigkeit. Die TSU kann mit einer eigenen internen Zeitbasis arbeiten, oder auf eine TSU-externe Zeitbasis zurückgreifen (z.B. eine Referenz-Zeitbasis innerhalb des SoCs).

Empfang zeitmarkierter Botschaften

Der Empfang einer zeitmarkierten Nachricht mit dem M_CAN wird mit einem standard/extended-message-ID-Filterelement konfiguriert, d.h. S0.SSYNC = 1 bzw. F1.ESYNC = 1. Beim Empfang einer gültigen Botschaft, die zum Filter passt, wird der Zeitstempel in der TSU gespeichert. Da die TSU mehrere Zeitstempel speichert, wird ein Zeiger in der CAN-Botschaft (R1.RXTSP) hinterlegt, der auf den entsprechenden Eintrag in der TSU verweist. Beim Auslesen einer solchen RX-Botschaft mit der DMU kann der TSU-Zeitstempel automatisch mitübertragen werden.

Versenden zeitmarkierter Botschaften

Soll beim Versand einer CAN-Botschaft ein Zeitstempel erzeugt werden, so sind folgende Bits in der Botschaft zu setzen: T1.TSCE = 1 und T1.EFC = 1. Beim erfolgreichen Versand wird in der TSU ein Zeitstempel hinterlegt und eine TX-event-Nachricht erzeugt. Diese verweist auf den entsprechenden Eintrag in der TSU, den Zeiger enthält das Feld TXTSP im event-Nachrichtenwort E1 (E1.TXTSP).

Bei der Übertragung mittels DMU kann auch hier der Zeitstempel der TSU automatisch mitübertragen werden.

Synchronisierung nach AUTOSAR

Nach erfolgter Konfiguration (s.o.) aller teilnehmenden CAN-Knoten können, mit einem zweistufigen Synchronisationsvorgang, die Uhren der time slaves korrigiert werden. Im ersten Schritt wird hierzu im time master die aktuelle Zeit T0 festgehalten. Der die Sekunden repräsentierende T0-Anteil wird mit der SYNC-Botschaft an die time slaves versendet. Wird dabei das EoF erreicht, so werden Zeitstempel in den TSUs aller Teilnehmer hinterlegt, d.h. im time master und allen time slaves.

Dies ist der gemeinsame zeitliche Bezugspunkt. Der time master addiert seinen TSU-Zeitstempel zum Nanosekunden-Teil von T0 und versendet diesen per follow-up-Message an die time slaves. Hieraus können die time slaves ihre eigene Zeitbasis abgleichen. Das CiA-Dokument CAN Frame time-stamping beschreibt diese Zeitsynchronisation [1] im Detail.

Speichern von Zeitstempeln bei SoF

Für Anwendungen außerhalb von AUTOSAR kann die TSU auch für das Abspeichern von Zeitstempeln beim Beginn einer CAN-Botschaft (SoF-Bit) konfiguriert werden.