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

---
title: "SDL message"
---

packet-beta
0-7: "Header"
8-15: "Length"
16-23: "Address"
24-31: "Checksum"
ByteDescription
HeaderMessage type
LengthTotal length of message
AddressOBD address of param
Checksum8-bit checksum (2’s compliment)

Header breakdown

---
title: "SDL header"
---

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

Scan tool data (FSM)

The following are parameters mentioned in FSM available from scan tools. Note some of them I could not see for my engine on expensive scan tools. Particularly because the parameters mentioned are for o2 variant ECU. Others just weren’t being shown but were present in ECU response.

Note

Parameters that are italic are ones I added myself.

Parameter NameShown on AUTEL scan toolPresent in my prototype
RADIATOR FAN (RADIATOR FAN CONTROL RELAY)NoYes
FUEL CUTNoYes
TP SENSOR VOLT (THROTTLE POSITION SENSOR OUTPUT VOLTAGE)YesYes
BATTERY VOLTAGEYesYes
DESIRED IDLEYesYes
ENGINE SPEEDYesYes
CLOSED THROT POS (CLOSED THROTTLE POSITION)YesYes
PSP SWITCH (POWER STEERING PRESSURE SWITCH)YesYes
COOLANT TEMP (ENGINE COOLANT TEMP.)YesYes
INTAKE AIR TEMP.YesYes
ELECTRIC LOADYesYes
IAC FLOW DUTY (IDLE AIR CONTROL FLOW DUTY)YesYes
THROTTLE POS (ABSOLUTE THROTTLE POSITION)YesYes
A/C SWITCHYesYes
VEHICLE SPEEDYesYes
MAP (INTAKE MANIFOLD ABSOLUTE PRESSURE)YesCalculation needs to be confirmed
IGNITION ADVANCE (IGNITION TIMING ADVANCE FOR NO. 1 CYLINDER)Yesditto
INJ PULSE WIDTH (FUEL INJECTION PULSE WIDTH)YesYes. Need to find accurate calculation
CALC LOAD (CALCULATED LOAD VALUE)NoNo. Can make it work as FSM says it’s fully calculated value. Need to know MAP value and compression of the cylinders
DIS. WITH MIL ONNoNo idea what this is. Fault code present?
Physical throttle positionN/ANot added yet but calculated. Physical throttle position 0-100% by finding the full range of throttle valve and then calculate :)
Operating tempN/ABoolean to show engine is at operating temp using radiator fan range (87C - 100C)

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)