Recent from talks
Nothing was collected or created yet.
SAE J1708
View on WikipediaSociety of Automotive Engineers standard SAE 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.
Description
[edit]The standard defines a 2-wire 18 gauge wire cable that can run up to 130 feet (40 m) and operates at 9600 bit/s. A message is composed of up to 21 characters, unless the engine is stopped and the vehicle is not moving in which case transmitters are allowed to exceed the 21 byte max message length. Messages start with a Message ID (MID) character and finish with a checksum at the end. Characters are transmitted in the common 8N1 format.
The hardware utilized are RS-485 transceivers wired for open collector operation through the use of a pullup and pulldown of the separate data lines. Transmission is accomplished by controlling the driver enable pin of the transceiver. This method allows multiple devices to share the bus without the need for a single master node. Collisions are avoided by monitoring the bus while transmitting the MID to ensure that another node has not simultaneously transmitted a MID with a higher priority.
History
[edit]External links
[edit]SAE J1708
View on GrokipediaOverview
Definition and Purpose
SAE J1708 is an SAE Recommended Practice that defines a bidirectional, serial communication link for connecting microcomputer systems, known as electronic control units (ECUs), in heavy-duty vehicle applications.[5] This standard establishes the foundational protocols for serial data exchange, ensuring compatibility across various vehicle components in demanding operational environments.[2] The primary purpose of SAE J1708 is to enable reliable and efficient data transfer between vehicle modules, such as engines, transmissions, and braking systems, thereby supporting essential functions like vehicle control, performance monitoring, and diagnostic processes.[6] By providing a standardized framework for communication, it addresses the challenges of integrating diverse ECUs from multiple manufacturers, promoting interoperability and reducing system complexity in heavy-duty trucks and buses.[4] This interoperability is critical for maintaining consistent data flow without proprietary adaptations, ultimately enhancing vehicle reliability and serviceability.[2] As the basis for the physical and data link layers, SAE J1708 supports multi-master, asynchronous serial networks designed to withstand the harsh conditions of commercial vehicle use, including vibrations, temperature extremes, and electrical noise.[5] It facilitates a cost-effective approach to networking by leveraging standard electronics, allowing for flexible expansion of vehicle systems while minimizing hardware costs.[2] Often paired with higher-layer protocols like SAE J1587 for defining message content, SAE J1708 ensures that core communication infrastructure remains robust and adaptable for evolving diagnostic and control needs.[6]Scope and Applicability
SAE J1708 applies primarily to heavy-duty on-road vehicles, such as trucks, buses, and trailers, where serial data communication is required between electronic control units (ECUs).[1][2] This standard facilitates bidirectional, low-speed data exchange in commercial vehicle networks, supporting applications like diagnostics and basic information sharing among up to 20 nodes on the bus.[3][7] The scope is strictly limited to wired serial communications over a twisted-pair bus, excluding wireless technologies, high-speed networks, and applications in passenger cars or light-duty vehicles.[1][4] Operating at a nominal baud rate of 9,600 bps, it serves as a robust physical and data link layer for non-safety-critical data transmission, without support for real-time systems that demand faster protocols.[3][8] Designed for the harsh operating environments of commercial vehicles, SAE J1708 withstands electromagnetic interference, mechanical vibration, shock, and temperature extremes ranging from -40°C to +85°C, ensuring reliable performance in on-road heavy-duty scenarios.[1][2] It complements higher-layer protocols like SAE J1587 for diagnostic messaging but does not extend to control functions requiring higher bandwidth or determinism.[3]Technical Specifications
Physical Layer
The physical layer of SAE J1708 establishes the hardware foundation for reliable serial communication in heavy-duty vehicle networks, utilizing differential signaling based on RS-485 principles for enhanced noise immunity and robustness in electromagnetic interference-prone environments.[2][9] Cabling consists of a twisted-pair configuration with signal wires designated as A and B, employing a minimum of one 360° twist per inch (2.54 cm) to minimize electromagnetic interference and crosstalk. The wire gauge is specified as 18 AWG, providing sufficient conductivity for the network while maintaining flexibility; shielding is optional but recommended in high-noise areas to further protect against external disturbances. The maximum bus length is limited to 40 meters to ensure signal integrity without degradation.[2][10][11] The standard connector for diagnostic access is the 6-pin Deutsch type, ruggedized for heavy-duty applications, with pins allocated for A (J1708+), B (J1708-), ground, and power supplies to facilitate connections between electronic control units (ECUs) and service tools. This connector design ensures secure mating and resistance to vibration and corrosion in vehicle under-hood environments.[12][7] The network topology is a linear multi-drop bus, supporting up to 20 nodes in a daisy-chain arrangement without the need for terminating resistors at the ends, as the transceiver biasing provides inherent fail-safe operation and prevents signal reflections. This configuration allows multiple ECUs to share the bus efficiently while simplifying installation in commercial vehicles.[2][9][10] Environmental resilience is addressed through specifications that withstand automotive operating conditions, including a temperature range of -40°C to 85°C and exposure to fluids such as oils, fuels, and coolants without insulation degradation. The cabling and connectors are engineered for durability against vibration, moisture, and chemical contaminants typical in heavy-duty applications.[9][4]Electrical and Data Link Layer
The SAE J1708 standard specifies electrical characteristics compatible with the RS-485 interface, utilizing differential signaling over a twisted-pair medium to ensure reliable transmission in harsh vehicle environments. The minimum differential voltage is 1.5 V for a logic 1 (dominant state) and -1.5 V for a logic 0 (recessive state), with receiver thresholds typically at ±200 mV to detect these levels robustly. The common-mode voltage range spans -7 V to 12 V, accommodating ground shifts between nodes, while open-collector drivers enable multi-master operation by allowing any node to pull the bus lines without contention during idle periods.[2][4][9] Communication occurs at a fixed baud rate of 9600 bits per second in asynchronous serial mode, employing an 8-bit data frame with 1 start bit, no parity, and 1 stop bit (8N1 format), resulting in a bit time of approximately 104.17 µs. This configuration supports up to 20 nodes on a bus length of 40 meters using 18-gauge twisted-pair wiring, with no termination resistors required due to the open-collector design. Timing constraints include a minimum inter-message idle period of 10 bit times and maximum inter-byte gaps of 2 bit times to maintain synchronization across nodes.[2][4][9] At the data link layer, SAE J1708 employs a multi-master architecture with non-destructive bitwise arbitration to manage bus access. Nodes transmit the message identifier (MID) byte starting with the least significant bit, simultaneously monitoring the bus; if a transmitted bit differs from the received bit (indicating a higher-priority message from another node), the transmitting node immediately ceases and retries after the bus becomes idle. This collision detection and resolution mechanism ensures priority-based access without data corruption, with message priorities ranging from 1 (highest) to 8 (lowest) influencing arbitration delays of 0 to 14 bit times (2 bit times per priority level). Messages are limited to a maximum of 21 bytes total, consisting of a 1-byte message identifier (MID), up to 19 data bytes, and a 1-byte checksum. Bus idle is detected through the recessive state when no node drives the lines, facilitating synchronization and error recovery at the link level.[2][4][9] Error handling in SAE J1708 focuses on basic link-layer mechanisms without built-in cyclic redundancy checks (CRC) or advanced integrity verification, deferring comprehensive data validation to higher protocol layers. Collisions are resolved via the arbitration process, and bus faults are detected through idle state monitoring and voltage level discrepancies, prompting nodes to back off and retry. This lightweight approach prioritizes simplicity and real-time responsiveness in multi-node environments, though it relies on overlying standards for robust error correction.[2][4]Applications
Vehicle Network Integration
SAE J1708 functions as the physical and data link layer backbone in heavy-duty vehicle networks, facilitating low-speed serial data exchange among electronic control units (ECUs) such as engine control modules (ECMs), transmission control modules, and anti-lock braking system (ABS) controllers. Operating at a nominal baud rate of 9.6 kbps over a twisted-pair bus based on RS-485 differential signaling, it enables multi-drop communication where multiple ECUs share the same network segment for real-time status updates, command signals, and sensor data sharing. This architecture supports efficient inter-ECU coordination in applications like engine performance monitoring and chassis control, without the higher bandwidth demands of modern protocols.[3][2][8] Node addressing in SAE J1708 networks relies on implicit mechanisms embedded within the message content, where each data packet includes identifiers such as source addresses and parameter IDs to route and filter information among connected devices. This content-based approach allows ECUs to process only relevant messages, minimizing overhead in low-speed environments. The standard supports up to 20 ECUs per bus segment, ensuring scalability for typical heavy-duty configurations while maintaining collision detection and resolution through carrier-sense multiple access with non-persistent collision avoidance.[2][7][3] Integration with vehicle power systems involves direct compatibility with 12V and 24V DC electrical architectures, where all nodes share a common ground reference to prevent potential differences that could disrupt communication. The protocol incorporates provisions for transient protection, including the use of robust transceivers and external components like transient voltage suppressors (TVS diodes) to safeguard against electromagnetic interference and voltage spikes common in automotive settings. This ensures reliable operation across the vehicle's electrical distribution without dedicated power lines for the bus itself.[13][14][15] As a legacy standard, SAE J1708 was widely adopted in pre-2000s heavy-duty trucks for multiplexing signals from sensors and actuators, replacing dedicated wiring with a single serial bus to streamline harness design and reduce overall vehicle weight and assembly costs. This multiplexing capability allowed centralized control of diverse functions, from throttle position to brake pressure, fostering earlier advancements in electronic vehicle management while paving the way for subsequent protocols like SAE J1939.[16][17][18]Diagnostic and Service Tools
SAE J1708 employs a standardized 6-pin Deutsch connector, typically gray in color, for off-board diagnostic access, commonly located under the dashboard near the steering column or in the engine bay to facilitate service tool connections.[7][19] The pin assignments include A for J1708 data link positive, B for data link negative, C for ground, and D for ignition-switched power (battery positive, often fused at 10A), enabling reliable communication while powering external devices.[7] This connector design, prevalent from the early 1990s to the mid-2000s, supports plugging in scan tools for vehicle interrogation without disrupting in-vehicle operations.[7] Diagnostic tools compatible with SAE J1708 often utilize PC-based interfaces through RS-232 to J1708 adapters, such as the Cummins INLINE 6, which connects via a 25-pin serial port to access the data link for parameter reading, fault clearing, and firmware updates.[20] These adapters bridge legacy serial communication to modern PCs, allowing technicians to interface with electronic control units (ECUs) using software like Cummins INSITE for comprehensive service functions.[21] The protocol's UART-based signaling ensures straightforward integration with off-board equipment, though adapters must handle the twisted-pair differential signaling for noise immunity.[4] In fleet operations, SAE J1708 tools are routinely used for fault code retrieval to identify issues in trucks and buses, enabling quick resolution of engine and transmission problems.[22] They also support emissions testing by extracting compliance data from older heavy-duty vehicles, aiding regulatory inspections.[23] For predictive maintenance, diagnostic scans via J1708 help monitor trends in component health, scheduling interventions before failures occur in commercial fleets.[22] Despite its utility, SAE J1708's data rate of 9600 baud imposes limitations on real-time monitoring, making it unsuitable for high-speed applications in modern diagnostics.[8] Consequently, it is frequently supplemented by SAE J1939 in newer vehicles, which offers faster CAN-based communication through a 9-pin connector for enhanced service efficiency.[8]Related Standards
SAE J1587 Protocol
SAE J1587, originally published in 1988 and last revised in September 2002, serves as the application layer protocol layered atop the SAE J1708 serial transport mechanism, standardizing the format and content of messages for diagnostic and operational data exchange in heavy-duty vehicle networks.[24][25] It defines a set of parameter identifiers (PIDs) to represent specific vehicle parameters, such as engine speed (PID 190, reported as an unsigned 16-bit value with 0.25 RPM per bit resolution), engine coolant temperature (PID 110, in degrees Celsius with 1°C per bit), and vehicle speed (PID 84, in km/h with 1 km/h per bit). These PIDs enable consistent interpretation of data across electronic control units (ECUs) from different manufacturers, facilitating interoperability in diagnostics and monitoring.[24][25] The core message structure in SAE J1587 consists of packets limited to a maximum of 21 bytes to align with J1708 constraints, beginning with a 1-byte message identifier (MID) that specifies the source ECU address (ranging from 0 to 255, with values 128-255 typically reserved for ECUs). This is followed by up to 19 bytes of data, which includes 1-2 bytes for a parameter ID (PID) or subsystem ID (SID) to denote the data type or affected component and up to 17-18 bytes encoding the parameter values in a predefined format (e.g., signed or unsigned integers with specified scaling), and concluding with a 1-byte checksum calculated via modulo-255 arithmetic for transmission integrity. Messages may also include proprietary identifiers like proprietary PIDs (PPIDs) or subsystem proprietary PIDs (PSIDs) for vendor-specific extensions, ensuring flexibility while maintaining core standardization. For data exceeding 21 bytes, multi-section messages can be used with PID 192.[4][24][25] Fault reporting in SAE J1587 employs a structured diagnostic trouble code (DTC) format broadcast via dedicated messages, incorporating the MID to identify the reporting ECU, a PID or SID to pinpoint the affected parameter or subsystem, a 1-byte failure mode identifier (FMI) describing the nature of the fault (e.g., FMI 3 indicates voltage above normal or shorted high, while FMI 4 denotes voltage below normal or shorted low), a 1-byte occurrence count tracking fault instances since last reset, and lamp status bits signaling required dashboard indicators (e.g., red stop lamp or amber warning lamp). This scheme allows for up to 31 FMI values per PID/SID, covering electrical, mechanical, and data-related failures, with codes transmitted in response to queries or automatically upon detection to support on-board and off-board diagnostics.[25][26] Data exchange under SAE J1587 primarily follows a request-response model for diagnostics, where a diagnostic tool or ECU sends a targeted inquiry (e.g., using PID 0 with the desired PID, such as 84 for vehicle speed, as the data byte) to elicit detailed responses from addressed nodes, enabling on-demand retrieval of status or configuration data. Complementing this, the protocol supports broadcast messages for efficient sharing of real-time parameters, such as periodic broadcasts of critical PIDs like engine load or fuel rate from the source ECU's MID, which reduce bus traffic while ensuring timely updates across the vehicle network. This dual approach balances diagnostic depth with operational efficiency in multi-ECU environments.[27][24][28]Comparison with SAE J1939
SAE J1708, when paired with the J1587 protocol, employs an RS-485-based serial architecture operating at a fixed baud rate of 9.6 kbps, utilizing twisted-pair wiring for communication and supporting single messages up to 21 bytes in length, with limited multi-section capabilities for longer data using PID 192.[8][29] In contrast, SAE J1939 is built on the Controller Area Network (CAN) 2.0B protocol, leveraging a differential two-wire CAN bus with standardized baud rates of 250 kbps (per J1939-11 and J1939-15) or 500 kbps (per J1939-14), and employs 29-bit extended identifiers structured around Parameter Group Numbers (PGNs) for message identification, enabling variable-length data payloads up to 8 bytes per frame and multi-packet transport for larger datasets reaching 1785 bytes.[30][8] The transition from SAE J1708 to SAE J1939, which gained momentum in the mid-2000s, was driven primarily by the former's limitations in bandwidth and scalability, as the increasing complexity of heavy-duty vehicle powertrains, sensor arrays, and diagnostic requirements outpaced the 9.6 kbps speed and 21-byte message constraint of J1708/J1587 systems.[29][8] J1939 addressed these shortcomings by providing higher data throughput and robust error handling via cyclic redundancy checks (CRC), facilitating multiplexed networking for advanced features like telematics and real-time diagnostics in modern trucks.[30][31] During the transitional period from the early 1990s to the 2010s, many vehicles supported coexistence of both standards through dual-bus configurations, often via a 9-pin Deutsch diagnostic connector where J1708 signals appeared on pins F and G (using the legacy 6-pin layout compatibility), while J1939 utilized pins C and D for CAN high/low lines, allowing diagnostic tools to interface with both legacy and new systems simultaneously.[8][29] While SAE J1708 offers simplicity and lower implementation costs suitable for basic diagnostics in older vehicles, its obsolescence for high-bandwidth applications—such as video integration or advanced driver-assistance systems (ADAS)—highlights J1939's advantages in scalability and reliability, though the latter introduces greater complexity in network management and address claiming.[8][31]| Aspect | SAE J1708 (with J1587) | SAE J1939 |
|---|---|---|
| Physical Layer | RS-485 serial, twisted-pair | CAN 2.0B, differential twisted-pair |
| Baud Rate | 9.6 kbps | 250 kbps or 500 kbps |
| Message Format | Up to 21 bytes, fixed; MID/PID/FMI; limited multi-section | 8 bytes per frame; PGN/SPN/FMI; multi-packet |
| Error Handling | Basic checksum | CRC with network management |
| Scalability | Limited to basic diagnostics | Supports advanced multiplexing and telematics |
