Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
SAE J2809-2017 defines the proprietary serial data link protocol used for diagnostics on Honda Anti-lock Brake System (ABS) and Vehicle Stability Assist (VSA) ECUs. This standard is intended to be implemented alongside SAE J2534-2 to enable enhanced pass-thru programming and diagnostics. By specifying communication setup, message structure, data protection, and error handling, SAE J2809 ensures reliable and efficient diagnostic interactions in automotive environments.
The protocol is designed for ABS or VSA ECUs in specific Honda vehicles. It operates over a single bidirectional K-line (ISO 9141) and uses a master-slave architecture. Key entities include:
The protocol supports an Acknowledge/No Acknowledge (ACK/NAK) system for flow control, as shown below:
| Request Title | Request Meaning | Control Unit Response |
|---|---|---|
| 0x09 | Acknowledge | Returns ACK with number of messages = 1 |
| 0x0A | No Acknowledge | Requests repeat of last message |
🔍 Design Insight: The protocol’s two-level hierarchy (telegrams containing multiple messages) allows complex diagnostic sessions—such as actuator testing or reading fault memory—to be structured logically, while the active byte-wise handshake ensures immediate error detection at the hardware level.
Initiating a diagnostic session requires the tester to stimulate the ECU using an address-specific word on the K-line. The ECU then enters setup mode and proceeds through a defined synchronization sequence (sync byte, key bytes, complement exchange). The timing for this process must adhere to strict parameters:
| Description | Parameter | Minimum | Maximum |
|---|---|---|---|
| Idle line before stimulation | t0 | 10 ms | ∞ |
| Correct stimulation → sync byte | t1 | 200 ms | 400 ms |
| Sync byte → key byte 1 | t2 | 20 ms | 200 ms |
| Key byte 1 → key byte 2 | t3 | 1 ms | 200 ms |
| Key byte 2 → complement of key byte 2 | t4 | 1 ms | 200 ms |
| Retry of sync byte after failed complement | t5 | 200 ms | 1 s |
| Key byte 2 → ECU identification | t6 | 1 ms | 200 ms |
| Byte-to-byte spacing within a message (transmitter byte → receiver complement) | t7 | 1 ms | 40 ms |
| Receiver timeout if ETX missing (before accepting retry) | t8 | N/A | 80 ms |
| End of message → start of next message | t9 | 1 ms | 2 s |
These timings ensure robust initial handshaking and prevent bus lock-ups. Errors during setup (e.g., missing ECU response) must be handled per Section 6.3, typically by resetting the line and retrying.
Each message follows a fixed structure: Length Byte (number of bytes excluding itself and complement), Message Counter, Message Title, Message-Specific Bytes, and an End Byte (ETX). Data protection is provided by a complement byte after the ETX: the receiver inverts each byte sent and returns it as a handshake. The transmitter checks these complemented values to detect faults.
⚠️ Common Mistake: Failing to correctly generate or verify the complement byte is a frequent source of communication failures. The receiver must return an inverted copy of every byte except ETX, and the transmitter must validate each complement before proceeding. Skipping this step can lead to undetected data corruption and session aborts.
Error handling during normal communication (Section 7.3) includes retrying messages after a complement mismatch or timing violation. The Telegram Structure (Section 7.4) groups several messages into a complete diagnostic transaction, such as “Read Fault Memory” or “Actuator Test”.
The tester transmits a specific address word (the “stimulation” pattern) over the K-line to wake the ECU. After an idle time t0, the ECU responds with a synchronization byte, followed by key bytes and their complements to establish a secure connection.
A message is a single atomic transmission with a fixed format. A telegram is the complete set of messages exchanged during one diagnostic function (e.g., a request telegram followed by a response telegram). The protocol uses telegrams to orchestrate higher-level procedures.
The standard explicitly states it should be used in conjunction with SAE J2534-2. The pass-thru interface abstracts the vehicle’s communication protocol, allowing off-the-shelf diagnostic tools to send SAE J2809 messages without needing a dedicated hardware interface. This enables standardized programming and flash reprogramming of Honda ABS/VSA ECUs.
If the complement handshake fails or a timing parameter is violated, the receiver may request a retry (NAK) or the transmitter can resend the message. Persistent errors cause the diagnostic session to be aborted. Detailed error handling procedures are defined in Sections 6.3 (setup) and 7.3 (normal communication).