The J protocol comes from the Society of Automotive Engineers (SAE) and These standards use the basic description of J and often differ only in. Society of Automotive Engineers standard SAE J is the vehicle bus recommended practice J, ISO and NMEA all share the same high level protocol. Introduction to J (Vector Informatik) · A Comprehensible Guide to J (Book) · SAE J Explained – A Simple Intro ( CSS Electronics). Printable PDF. SAE J is the standard communications network for sharing control and diagnostic information between electronic control.
|Published (Last):||10 August 2005|
|PDF File Size:||2.55 Mb|
|ePub File Size:||11.84 Mb|
|Price:||Free* [*Free Regsitration Required]|
J is set of SAE standards commonly used in diesel-powered applications for communication and diagnostics between application components. The J standard is defined in multiple documents corresponding to five of the seven OSI layers. J describes network management. The goal of this document is not to explain all these standards in detail. For this, please gasics the SAE standards.
J messages are built on top of CAN 2.
Extended frames use a bit identifier instead of the common bit identifier. J defines fields within this bit identifier as shown below. J bit Identifier Fields. The first three bits are the priority field. Zero is the highest priority. The next bit is the Data Page field. This is used to expand the maximum number of possible messages. This is used to determine if the message is intended for a specific device on the network or if the message is intended for the entire network.
If the value of PDU F is less thanthe message is meant for a specific device. If the value is or greater, the message is intended for all devices. The definition of this field is based on value of the PDU F field. This format is referred to as PDU 1. This group extension is used to increase the number of possible broadcast messages. This format is referred to as a PDU 2.
The last eight bits identify the address of the device that transmitted the current message. This is known as the Source Address Field. On standard CAN networks, identifiers are used to uniquely define each message. This concept exists within J as well.
Because the priority and source address fields can change, they are not used for this purpose. Each message in J must have its own unique PGN.
The J standard is responsible for assigning these unique PGNs to standard messages. Each device on the network has to have a unique address ranging from 0 to These addresses are mainly used for PDU 1 messages and requests.
In most cases, these addresses are static and pre-defined by the user. However, the J standard does define a method of dynamic addressing. Requests are used as an example below. Notice in this example that PDU Format is set to Normally, this would be handled as a PDU 1. However, because this is a special message, the device knows to handle the message differently. In this specific case, it knows it has to respond to the originator of the request in a particular format as defined by the J standard.
The J standard allows single messages to have more than eight bytes of data, however, the CAN specification only supports eight byte data transfers.
Therefore, the message must be sent in multiple packets. J defines how to package, send and reassemble these messages within the constraints of the CAN specification. The second is called Connection Mode and is similar to PDU 1 in that it is intended for a specific device. Both transports protocols work in a similar fashion.
They use two special messages to facilitate these multi-packet transfers. The data in a TP. CM message contains connection commands also called Control Bytethe PGN identifier of the multi-packet message and information about how to reconstruct the message. The data of a TP. DT message contains a sequence number in the first byte and uses the remaining seven bytes for the data of the multi-packet message.
As mentioned above, Broadcast Announcement Messages are intended for the entire network. Therefore, no handshaking with other devices is required. The originating device first sends a TP. CM message with a control byte BAM Next the originator starts sending all the data through the TP. DT messages until all the data has been sent.
Introduction to the SAE J Protocol
Below is an example to show the flow of a BAM message. Connection Mode is a peer to peer transfer. Therefore, handshaking and message acknowledgements protoocol used to guarantee successful data transfer. First, the originating devices sends a TP. CM message with a control byte Request to Send This is the originator asking the receiver if it is capable of receiving data.
;rotocol The receiver can then respond in various ways but normally it is with a TP. CM message containing control byte Clear to Send The data of the TP.
CM Clear to Send message contains the current sequence number to transfer as well as the number of TP. The originator then sends TP. DT messages starting at the sequence requested and stops after reaching the number of TP. This process continues until all the data is transferred. The receiving device then has to send a TP.
Here is an example to illustrate a typical Connection Mode message. Connection Mode Data Transfer Example. It is acceptable to send a TP. It is also acceptable to send a TP. This is often used when the receiver thinks the previous TP. DT messages were corrupt. The front panel of this example contains four sections and is pictured below.
Introduction to the SAE J1939 Protocol
The first is labeled Setup. These setting need to be entered before running the example. The next section is labeled Control and Monitoring. This section is used for stopping the VI and viewing any errors that occur.
To the right of these sections is progocol Output section.
Once the program is running, this section is used to send messages. The user enters the appropriate information into the Data to Send cluster and selects Send Message? Prottocol Data array can be more than eight bytes. If it is, the VI will automatically transfer the message over the network using the correct transport protocol type, abstracting any pgotocol between eight byte or less messages and messages greater than eight bytes. This will be discussed in more detail below.
The last section is labeled Input.
J Explained – A Simple Intro ()
This cluster is where new incoming messages are displayed. This does not include messages like requests, address claims, and transport protocol messages. It only includes data messages.
If a data message is greater than eight bytes and is transferred over transport protocol, it will be reconstructed in software discussed below. Once this reconstruction occurs, the message will be displayed like any other standard message. The block diagram of this example can be broken into four sections. For the J specific code, this means creating multiple queue references, clearing any previously used memory and setting the current device address.
The writing messages section contains three loops. These loops are discussed below. This loop is controlled from the front panel.
When the button Send Message? To the user, this is all you gasics to do to output a message. The example will automatically use the correct transport protocol if a message over eight bytes is sent. If you want to output messages from anywhere else in the program, the process is the same. Simply queue that message on Process Outgoing and the example program will take care of the rest.