Info

Suzuki Serial Data Line (SDL) is:

  • proprietary
  • bi-directional
  • one-wire
  • wired to pin-9 of SAE J1962
  • used for ICM communication (if immobilizer equipped)
  • baud rate of 7812 (common) or 15625

It fits the definition of being a K-line.

I have talked about how it’s wired in my baleno.

SDL message format

Note

Mermaid doesn’t allow showing bit 0 on right, so all diagrams are shown such that bit 0 = MSB.

---
title: "SDL message (bit 0 is MSB)"
---

packet-beta
0-7: "Header"
8-15: "Length"
16-23: "Data"
24-31: "Checksum"
ByteDescriptionBytes
HeaderMessage type1 byte
LengthTotal length of message1 byte
DataOBD address(es) of param0-252 bytes
Checksum8-bit checksum (2’s compliment)1 byte

Header breakdown

---
title: "SDL header (bit 0 is MSB)"
---

packet-beta
0-3: "Module type"
4-7: "Request type"

Module type

NibbleType
1ECM
2ABS[1]
8Immobilizer

Request type

NibbleRequest
0ID
3Read data
4Write/Erase data
5Actuation
8 | 9Immobilizer

OBD addresses (Baleno G13 w/o O2 sensor)

The ECU is provided OBD addresses which it then maps into memory using a lookup table. I’m going off by what I found online because I don’t have a test bench and can only work on my daily driver live.

AddressParameterComments
0x00FAULT_CODES_1Current fault codes 1
0x01FAULT_CODES_2Current fault codes 2
0x02FAULT_CODES_3Stored fault codes 1
0x03FAULT_CODES_4Stored fault codes 2
0x04RPM_HIGHRPM high byte
0x05RPM_LOWRPM low byte
0x06TARGET_IDLEDesired idle
0x07VSSVehicle speed
0x08ECTEngine Coolant temperature
0x09IATIntake air temperature
0x0ATPS_ANGLEThrottle valve angle using TP sensor
0x0BTPS_VOLTAGETP sensor voltage
0x0DINJ_PULSE_WIDTH_HIGHInjector pulse width high byte
0x0EINJ_PULSE_WIDTH_LOWInjector pulse width low byte
0x0FIGNITION_ADVANCEIgnition advance commanded by ECM
0x10MAP_SENSORManifold absolute pressure
0x11BAROMETRIC_PRESSUREBarometric pressure reported from ECM
0x12ISCIACV duty cycle
0x13LONG_TERM_FUEL_TRIM128 fixed. Makes sense as 0.0% in range 0-255 and my car is w/o o2 variant
0x14SHORT_TERM_FUEL_TRIMditto
0x15CURRENT_FUEL_TRIMditto
0x16BATTERY_VOLTAGEBattery voltage reported from ECM
0x19RADIATOR_FAN0 OFF, 128 ON.
0x1ASTATUS_FLAGSbit-1: PSP switch
bit-2: AC switch
bit-4: closed throttle position switch
bit-6: Tail-light/defogger swtich
0x20FAULT_CODES_5AUTEL scanner queries this when reading DTC
0x21FAULT_CODES_6ditto

Successor

The next protocol that came after SDL was also proprietary called SDL-KWP. Major difference between SDL and all subsequent protocols was that they all were wired to pin-7 of SAE J1962.


[1]: Not tested myself as my car doesn't have ABS

Sources: Rhinopower website (web archive)