Messen & Testen

So einfach lässt sich der Kfz-Sensor-Bus SENT mit einem Oszilloskop analysieren

Seite: 2/3

Anbieter zum Thema

Der Aufbau des SENT-Protokolls

Bild 2: Mehrere aufeinander folgende Nachrichten eines SENT-Sensors, die mit einem Oszilloskop erfasst wurden
Bild 2: Mehrere aufeinander folgende Nachrichten eines SENT-Sensors, die mit einem Oszilloskop erfasst wurden
(Bild: LeCroy)
SENT ist ein Bussystem für Punkt-zu-Punkt-Verbindungen zwischen einem Sensor und einer Electronic Control Unit (ECU). Der Sensor sendet kontinuierlich Daten über die Verbindung, während die ECU diese empfängt und verarbeitet. Bild 2 zeigt mehrere aufeinander folgende Nachrichten eines SENT-Sensors, die mit einem Oszilloskop erfasst wurden. Es ist schwer zu glauben, dass die unterschiedlichen Informationen sich lediglich durch kurze Impulslängenunterschiede im µs-Bereich unterscheiden. Die Impulslängenunterschiede werden in der sogenannten TickTime angegeben und betragen im gezeigten Beispiel 3 µs.

Zahn, durch Pausenpulse getrennte Pulse

Bei genauerer Betrachtung des Signals in Bild 2 erkennt man, dass eine Botschaft aus 10 negativen Pulsen besteht, die durch einen längeren positiven Pausenpuls getrennt sind. Jede Botschaft beginnt mit einem positiven Synchronisation-Puls (auch SYNC- oder CAL-Puls genannt). Die Dateninhalte der SENT-Nachricht werden über die Zeit, die zwischen zwei negativen Pulsflanken verstreicht, kodiert. Jeder dieser Datenblöcke wird als sogenannter Nibble beschrieben und enthält 4-Bit-Werte. Dies erklärt, wie der Name des Protokolls zustande kommt. Eine „Single-Edge“ ist für die „Nibble-Transmission“ notwendig. Eigentlich müsste man argumentieren, dass es zwei Flanken braucht, um einen Nibble zu übertragen, und das Protokoll deshalb besser DENT genannt werden sollte (D für double). Da aber nach dem Senden des ersten negativen Pulses nur noch ein Puls benötigt wird, hat man sich für SENT entschieden.

Bild 3: Aufbau einer Nachricht, beginnend mit dem SYNC-Puls und dem Pause-Puls zur Trennung der Nachrichten
Bild 3: Aufbau einer Nachricht, beginnend mit dem SYNC-Puls und dem Pause-Puls zur Trennung der Nachrichten
(Bild: LeCroy)
Bild 3 zeigt mithilfe eines zugeschalteten SENT-Decoders den groben Aufbau der Übertragung.

Auswertung der Länge des SYNC-Pulses

In der Decoder-Darstellung wird zuerst die Länge des SYNC-Pulses in grau angezeigt. Dies ist eine sehr wichtige Information, da die Länge des SYNC-Pulses immer 56 TickTimes (TT) entspricht. Aus dieser Information kann die genaue Länge einer einzelnen TT errechnet und damit die nachfolgenden Nibbles richtig interpretiert werden. Im gezeigten Beispiel ist die gemessene SYNC-Zeit 170,60 µs, was bei 56 TTs einer TT Länge von 3,0482 µs entspricht. Gemäß der Spezifikation kann die TT um einen Betrag von 25% vom Nominalwert abweichen. Dies erfordert vom Empfänger, dass er mit diesen Abweichungen klar kommen muss. Die TT kann innerhalb des gleichen Sensors mit der Zeit variieren. Die größten Abweichungen treten aber bei verschiedenen ICs untereinander auf.

Dekodierung der nachfolgenden Nibbles der Nachricht

Bild 4: Dekodierung des ersten Nibbles
Bild 4: Dekodierung des ersten Nibbles
(Bild: LeCroy)
Sobald die möglichst genaue TT-Länge bekannt ist, kann mit der Dekodierung der nachfolgenden Nibbles der Nachricht begonnen werden. Bild 4 zeigt die genaue Dekodierung eines Nibbles dargestellt.

So wird die Nibble-Länge ermittelt

Basierend auf der TT-Länge von 3,0482 µs werden die ersten 4 Bit (Nibble) ausgewertet. Die vom Oszilloskop bestimmte Länge von einer fallenden Flanke bis zur nächsten beträgt 73,52 µs. Teilt man diesen Wert durch die ermittelte TT-Länge, ergibt dies ein Ergebnis von 24,119 Ticks, was auf 24 gerundet werden kann. In der SENT-Spezifikation ist festgelegt, dass ein Nibble eine Mindestdauer von 12 Ticks hat. Dies bedeutet, dass die Wertigkeit eines Nibbles nicht bei Tick 1 beginnt, sondern erst nach der Mindestdauer zu zählen begonnen wird. Wenn eine Nibble-Zeit von 36,5785 µs ermittelt wird, entspricht dies dem Wert „0“ und 36,5785 + 1 TT-Länge dem Wert „1“ und so weiter. Die im Beispiel ermittelte Nibble-Länge entspricht dem Wert „12“ ((Ermittelte Nibble Länge – Mindestlänge)/TT).

Das Status-Nibble wird in gleichgroße Bits aufgeteilt

Im Gegensatz zu Protokollen, die auf der NRZ- oder Manchester-Codierung basieren, kann einem einzelnen Bit-Wert innerhalb eines Nibbles keine Zeit zugeordnet werden. Allerdings wird aus Gründen der Lesbarkeit das so genannte Status-Nibble (erstes Nibble einer Botschaft nach SENT-Spezifikation 2010) in gleichgroße Bits aufgeteilt.

Gruppierung der übertragenen Nibbles

Der letzte Schritt bei der Dekodierung der gesendeten Nachricht besteht in der Gruppierung der übertragenen Nibbles, um aussagekräftige Werte zu bekommen. In unserem Beispiel beim MLX-90809 den Druck und die Temperatur.

(ID:39155410)