Frame Payload

Maximal können mit einer Botschaft 254 Nutzbytes (Payload) transportiert werden. Der Parameter Payload Length zeigt die Größe des Payloads in Words an. Die Payload Length weist bei allen im statischen Segment übertragenen Botschaften denselben Wert auf. Diesen muss der Systemdesigner während der Konfigurationsphase festlegen. Da dynamische Botschaften nicht an eine feste Payloadgröße gebunden sind, kann der Payload Length für solche Botschaften unterschiedliche Werte annehmen.

Bei einer im statischen Segment übertragenen Botschaft besteht die Möglichkeit, die ersten zwölf Nutzbytes für die Übertragung des Network Management Vector zu verwenden. Dazu muss der im Header übertragene Payload Preamble Indicator gesetzt werden. Der Network Management Vector steht für die Realisierung des Netzmanagements in einem FlexRay Cluster zur Verfügung.

Wenn der Payload Preamble Indicator bei einer dynamischen FlexRay Botschaft gesetzt ist, dann zeigt dies nicht an, dass der Payload mit einem Network Management Vector startet. Bei einer dynamischen Botschaft wird angezeigt, dass es sich bei den ersten beiden Nutzbytes um den Message Identifier handelt. Mithilfe des Message Identifiers steht dem Systemdesigner eine Möglichkeit zur Verfügung, den Payload näher zu spezifizieren, als mögliche Basis für eine differenziertere Akzeptanzfilterung.

In besonderen Fällen kann der Sender den Payload einer Botschaft ausschließlich mit Nullen übertragen. Ein solcher Fall liegt dann vor, wenn ein FlexRay Controller dem Kommunikationsplan nach eine statische Botschaft übertragen muss, aber der mit der Botschaft korrespondierende Puffer vom Host gesperrt ist. Dies kann z.B. auftreten, wenn der Host in diesem Moment selbst auf diesen Puffer zugreift. Weil der FlexRay Controller nicht auf die Daten im Puffer zugreifen kann, überträgt er die statische Botschaft automatisch als Nullframe. Dabei weist der Null Frame Indicator im Header der Botschaft den Wert „Null“ auf.

Zur Sicherung des Payloads kommt das CRC-Verfahren (CRC: Cyclic Redundancy Check), ein sehr leistungsstarkes Fehlererkennungsverfahren, zum Einsatz. Im Rahmen des CRC-Verfahrens wird auf der Basis des Headers und Payloads und einem, durch die FlexRay Spezifikation definierten, Generatorpolynoms eine CRC-Sequenz berechnet, die dem Header und Payload als Trailer angehängt wird.

Die Checksumme entspricht dann dem Vielfachen des Headers und des Payloads. Der Empfänger der Botschaft erkennt mit sehr hoher Sicherheit einen Übertragungsfehler. Ein Fehler wird dann festgestellt, wenn die Division durch das Generatorpolynom einen Rest ergibt. Bei einer Payload bis zu 248 Bytes garantiert das CRC-Verfahren eine Hamming-Distanz von sechs, für eine größere Payload liegt die Hamming-Distanz bei vier, was zu einer geringeren Fehlererkennungsfähigkeit führt.


Zuletzt geändert: Donnerstag, 26. April 2018, 16:14