Einführung und Überblick über SAE J1939

Dieser Artikel soll Ingenieuren einen kurzen Überblick über das SAE J1939-Protokoll und die Funktionsweise von J1939-Netzwerken geben. Weitere Informationen, einschließlich Quellcode, CPU-Benchmarks, Protokollspezifikationen und eine Präsentation zu J1939, finden Sie unter unserem Link am Ende dieses Artikels.

SAE J1939 ist das Standard-Kommunikationsnetzwerk für den Austausch von Steuer- und Diagnoseinformationen zwischen elektronischen Steuergeräten (ECUs), die sich in schweren Nutzfahrzeugen und Nutzfahrzeugen befinden. Beispiele für solche Fahrzeuge sind Schulbusse, Betonmischer, Militärfahrzeuge und Sattelzugmaschinen. Aufgrund seiner Popularität und seines Erfolgs wurde es von der Landwirtschaft (ISO 11789) und der Schifffahrtsindustrie (NMEA2000) übernommen.

SAE J1939 wird seit 18 Jahren verwendet und ersetzt SAE J1587/J1708, das bisherige Standard-Kommunikationsnetzwerk für schwere Nutzfahrzeuge und Nutzfahrzeuge. J1587/J1708 wird seit 27 Jahren verwendet, und seit dem Jahr 2011 verwenden einige OEMs immer noch sowohl J1587/J1708- als auch J1939-Netzwerke.

J1939-Übersicht:

SAE J1939 ist ein High-Level-Kommunikationsprotokoll, das auf einem Controller Area Network (CAN)-Bus arbeitet. J1939 legt genau fest, wie Informationen (zB Motordrehzahl) zwischen elektronischen Steuergeräten eines Fahrzeugs ausgetauscht werden.

Es definiert Priorität, Größe, Skalierung, Offset und Übertragungsrate der Daten. J1939 gibt beispielsweise die Radgeschwindigkeit mit einer Standardpriorität von 2, einer Größe von 16 Bit, einer Auflösung von 1/256 km/h, einem Offset von 0 und einer Übertragungsrate von 20 ms an.

Der Standard definiert weitere Aspekte, darunter wie große Nachrichten fragmentiert und wieder zusammengesetzt werden, Nachrichten-Timeouts, Netzwerkgeschwindigkeit, die physikalische Schicht und wie Anwendungen, nicht Steuergeräte, Netzwerkquelladressen erfassen.

J1939-Meldungen:

J1939-Nachrichten werden durch ihre Parameter Group Number (PGN) definiert und identifiziert, die eine eindeutige Nummer ist, die jeder Nachricht zugewiesen wird. Die PGN dient zur Identifizierung der Nachricht und ihrer Daten. Normalerweise enthält eine Nachricht eine Gruppe von Parametern, von der der Name Parametergruppennummer stammt. Manchmal enthält eine Nachricht jedoch einen einzelnen Parameter. Ein Beispiel für einen einzelnen Parameter ist die Fahrzeugidentifikationsnummer oder VIN, die in einer einzigen Nachricht, die über mehrere CAN-Datenrahmen fragmentiert ist, gesendet wird.

Die überwiegende Mehrheit der Nachrichten enthält eine Gruppe von Parametern. Ein gutes Beispiel dafür ist PGN 65,134, die „High Resolution Wheel Speed“-Meldung. Diese Nachricht enthält 4 Parameter: “Vorderachse – Radgeschwindigkeit links”, “Vorderachse – Radgeschwindigkeit rechts”, “Hinterachse – Radgeschwindigkeit links” und “Hinterachse – Radgeschwindigkeit rechts”.

Insgesamt gibt es im Standard 8.672 PGNs. Und da noch ein ungenutztes reserviertes Bit vorhanden ist, ist eine zukünftige Erweiterung noch möglich.

J1939-Parameter:

J1939-Parameter werden durch ihre Suspect Parameter Number (SPN) definiert und identifiziert, die eine eindeutige Nummer ist, die jedem Parameter zugewiesen wird. Zum Beispiel hat der oben erwähnte Parameter “Vorderachse – linke Radgeschwindigkeit” einen SPN von 1.592. Der Zweck des SPN besteht darin, einen bestimmten Parameter zu identifizieren, ohne seine Textdarstellung von “Vorderachse – linke Radgeschwindigkeit” verwenden zu müssen.

Eine Verwendung des SPN besteht darin, wenn ein Fehler auftritt und eine Fehlermeldung übertragen wird, enthält der Datenteil der Fehlermeldung den SPN von 1.592. Diese Methode ermöglicht es der empfangenden Controller-Anwendung, genau zu wissen, was fehlgeschlagen ist, ohne die Textdarstellung senden zu müssen. Es ist wichtig zu beachten und ein weit verbreitetes Missverständnis, dass der SPN nicht unter normalen Betriebsbedingungen verwendet wird.

J1939-Nachrichtengrößen:

J1939 hat drei verschiedene zulässige Nachrichtengrößen: 3 Byte, 8 Byte und variable Länge. Die überwiegende Mehrheit der J1939-Nachrichten ist 8 Byte lang. Die Länge von 8 Byte kommt daher, dass der größte einzelne CAN-Datenrahmen 8 Byte Daten enthält. Das vollständige Packen einzelner CAN-Datenrahmen erhöht die Effizienz der Netzwerkbandbreite durch Minimierung der Nachrichtenanzahl. Um den damit verbundenen Overhead von CAN-Datenrahmen im Detail zu verstehen, lesen Sie die CAN-Spezifikation, die Sie auf unserer J1939-Software Seite.

Nachrichten mit variabler Länge sind Nachrichten mit einer Länge von 9 bis 1.785 Byte. Diese Nachrichten sind zu groß, um in einen einzelnen CAN-Datenrahmen zu passen, und müssen vom Sender fragmentiert und vom Empfänger wieder zusammengesetzt werden. Dieser Prozess des Fragmentierens und Wiederzusammensetzens von Nachrichten ist als “Transportprotokoll” bekannt und ist Schicht vier im OSI-Sieben-Schichten-Modell. Das “Transportprotokoll” wird durch das Dokument J1939-21 definiert.

Es gibt nur eine Nachricht mit einer Länge von drei Bytes, und zwar PGN 59.904, die die “Anfrage”-Nachricht ist. Mit der Nachricht “Request” werden PGNs angefordert, die eine Übertragungsrate von “on request” haben. Beispielsweise hat die Fahrzeugidentifikationsnummer (FIN) eine Übertragungsrate von „auf Anfrage“. Daher ist die VIN im J1939-Netzwerk niemals vorhanden, es sei denn, eine ECU sendet eine “Request”-Nachricht, die die PGN für die VIN-Nachricht enthält.

J1939-Physische Schichten:

Es gibt zwei definierte physikalische Schichten, J1939-11 und J1939-15, wobei eine dritte physikalische Schicht, J1939-14, entworfen wurde. Diese Spezifikationen der physikalischen Schicht enthalten eine große Menge an Informationen. Die häufigsten Punkte von Interesse für Ingenieure sind: maximale Backbone-Länge, maximale Stub-Länge, maximale Anzahl von Steuergeräten, minimale und maximale Spannungspegel für das Netzwerk, minimale und maximale Bitzeit sowie minimale und maximale Anstiegsgeschwindigkeit für Signalübergänge.

J1939-11 spezifiziert ein abgeschirmtes verdrilltes Kabelpaar mit einer maximalen Backbone-Länge von 40 Metern. Es verwendet einen dreipoligen Anschluss und ermöglicht bis zu 30 Knoten. Es hat eine Bitzeit von 4,00 uns mit einer Toleranz von 0,05%.

J1939-14 ist eine neue physikalische Schicht, die sich derzeit im Entwurfsprozess befindet. Der Hauptzweck dieser Spezifikation besteht darin, die Netzwerkgeschwindigkeit von 250 Kbit/s auf 500 Kbit/s zu verdoppeln. Obwohl es sich bei dieser Spezifikation noch um einen Entwurf handelt, gab es ab 2010 Schwerlastfahrzeug-OEMs, die sie in ihren Fahrzeugen implementierten.

J1939-15 spezifiziert eine reduzierte physikalische Schicht, die eine kostengünstigere Version der -11-Schicht ist. Es verwendet ein ungeschirmtes verdrilltes Adernpaar mit einer maximalen Backbone-Länge von 40 Metern. Es verwendet einen zweipoligen Anschluss im Gegensatz zu drei Stiften für -11 und ermöglicht bis zu 10 Knoten. Es hat auch eine Bitzeit von 4,00 uns mit einer Toleranz von 0,05%.

J1939-Spezifikationen:

J1939 Fahrzeugnetzwerk für serielle Steuerung und Kommunikation

J1939-01 Steuer- und Kommunikationsnetzwerk für On-Highway-Ausrüstung

J1939-02 Steuerung und Kommunikation von land- und forstwirtschaftlichen Geländemaschinen Machine

J1939-03 Implementierungshandbuch für die On-Board-Diagnose

J1939-05 Marine Z-Antrieb und Innenbordmotor mit Funkenzündung On-Board-Diagnose

J1939-11 Physical Layer – 250.000 Bit/s, Twisted Shielded Pair

J1939-13 Externer Diagnosestecker Diagnostic

J1939-14 Physical Layer, 500K Bit/s

J1939-15 Reduzierte physikalische Schicht, 250.000 Bit/s, Un-Shielded Twisted Pair (UTP)

J1939-21 Sicherungsschicht

J1939-31 Netzwerkschicht

J1939-71 Fahrzeuganwendungsschicht

J1939-73 Anwendungsschicht – Diagnose

J1939-74-Anwendung – Konfigurierbares Messaging

J1939-75 Anwendungsschicht – Stromaggregate und Industrie

J1939-81 Netzwerkmanagement

J1939-82-Konformität – Lkw und Bus

J1939-84 OBD-Kommunikations-Konformitätstests – schwere Nutzfahrzeuge Heavy



Quelle von JR Simma

Kommentar verfassen