Recent Posts
Under Development: SAE J1708 to UART Breakout Board For Embedded Systems
Posted by
onSAE J1708 is a standard used for serial communications between ECUs on a heavy duty vehicle and also between a computer and the vehicle. With respect to Open System Interconnection model (OSI), J1708 defines the physical layer. Common higher layer protocols that operate on top of J1708 are SAE J1587 and SAE J1922. The protocol is maintained by SAE International.
For more information on the topic see also A Brief Introduction to SAE J1708 and J1587.
We at Copperhill Technologies are in the process of developing an SAE J1708 to UART Breakout Board, whose PCB design is already finished (see image above). The size of the board is 1" x 2". The J1708 connection (J1708+ and J1708-) is managed per a two-contact terminal block, while the power supply (5VDC) and UART RX/TX signals are provided through a header pin strip.
SAE J1708 is basically an RS485 hardware interface without the typical 120 ohm termination resistors. In typical applications, a half-duplex RS485 transceiver chip is used to connect to the bus. In order to avoid collisions, J1708 protocol rules dictate that the device must monitor the data bus while transmitting the first byte (MID) of its message.
SAE J1708 uses an RS-485 transceiver that connects the serial transmit data to the enable line of the driver rather than to the data line. This means that the driver is effectively switching directions on every bit. This is similar to the CAN Bus technology, in which one of the bit values is "dominant" and the other is "recessive".
The logic of each node is supposed monitor the recessive bits of the MID byte to determine whether any other node is transmitting a dominant bit at that time. If it detects this condition, the other node has a higher-priority message, and this node should immediately drop out and retry its message later.
So, connecting the UART transmit to the DE instead of the DI pin is the key as shown in the image above (picture borrowed from the SAE J1708 specs).
In addition to the hardware, we will also provide C source code for various embedded systems, such as the Arduino and Raspberry Pi platforms. The code will demonstrate the reception and transmission of SAE J1708 data frames, and a modification for other embedded platforms should be easy to accomplish. A J1708/1587 protocol stack software is in the planning but is currently not on high priority.
We are waiting for the first prototype, and after successful test, we will start the production of the board. The release date we are targeting is roughly July of 2018. For more information on the production progress, please feel free to contact us.