Advertising:
Siemens MS43 CAN Bus: Difference between revisions
From MS4X Wiki
(43 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
<div style="float:right;">__TOC__</div> | <div style="float:right;">__TOC__</div> | ||
The CAN Bus on BMWs E46 chassis operates at a speed of 500kb/s | The CAN Bus on BMWs E46 chassis operates at a speed of 500kb/s | ||
=Traction Control= | |||
==ASC1 0x153== | ==ASC1 0x153== | ||
Line 8: | Line 10: | ||
Refresh Rate: 10ms | Refresh Rate: 10ms | ||
=Engine= | |||
==DME1 0x316== | ==DME1 0x316== | ||
Refresh Rate: 10ms | Refresh Rate: 10ms | ||
*'''Byte 0 - Bitfield''' | *'''Byte 0 - Bitfield''' | ||
**'''Bit 0''' | **'''Bit 0 - LV_SWI_IGK''' | ||
**'''Bit 1''' | **:Ignition Key Voltage State | ||
**'''Bit 2''' | **:0 = terminal 15 off detected | ||
**'''Bit 3''' | **:1 = terminal 15 on detected | ||
**'''Bit 4''' | **'''Bit 1 - LV_F_N_ENG''' | ||
**'''Bit 5''' - | **:Crankshaft Sensor State | ||
**'''Bit 6''' | **:0 = no CRK error present | ||
**'''Bit 7''' | **:1 = CRK error present | ||
*'''Byte 1''' | **'''Bit 2 - LV_ACK_TCS''' | ||
*'''Byte 2''' | **:Traction Control State | ||
*'''Byte 3''' | **:0 = either ASC1 was not received within the last 500 ms or it contains a plausibility error | ||
*'''Byte 4''' | **:1 = the ASC message ASC1 was received within the last 500 ms and contains no plausibility errors of the requirements TQI_ASR_CAN / TQI_MSR_CAN | ||
*'''Byte 5''' | **'''Bit 3 - LV_ERR_GC''' | ||
*'''Byte 6''' | **:Gear Change Error State | ||
**:0 = gear change not or partly possible | |||
**:1 = gear change possible | |||
**'''Bit 4 - SF_TQD [0]''' | |||
**'''Bit 5 - SF_TQD [0]''' | |||
**:Charge Intervention State | |||
**:0 = the required intervention can be performed completely or if there is no ASC requirement. | |||
**:1 = the required intervention cannot be performed completely because the IGA retard limit is reached. | |||
**:2 = the required intervention cannot be performed completely because the charge actuators are fully closed (this case is not possible with MTC without break-away mechanism) | |||
**:3 = "limited vehicle dynamics" is active (MTC/ISA error) | |||
**'''Bit 6 - Unused''' | |||
**'''Bit 7 - LV_F_SUB_TQI''' | |||
**:MAF Error State | |||
**:0 = MAF ok | |||
**:1 = MAF error present | |||
*'''Byte 1 - TQI_TQR_CAN''' | |||
*:Indexed Engine Torque in % of C_TQ_STND (including ASR/MSR/ETCU/LIM/AMT/GEAR intervention) | |||
*'''Byte 2 - N_ENG [LSB]''' | |||
*'''Byte 3 - N_ENG [MSB]''' | |||
*: Engine Speed in rpm | |||
*: Calculation = HEX[MSB] * 256 + HEX[LSB] | |||
*'''Byte 4 - TQI_CAN''' | |||
*:Indicated Engine Torque in % of C_TQ_STND (based on PVS, N, AMP, TIA ,TCO, IGA, PUC) | |||
*'''Byte 5 - TQ_LOSS_CAN''' | |||
*:Engine Torque Loss (due to engine friction, AC compressor and electrical power consumption) in % of C_TQ_STND | |||
*'''Byte 6 - TQI_MAF_CAN''' | |||
*:Theorethical Engine Torque in % of C_TQ_STND after charge intervention (based on MAF, IGA) | |||
*'''Byte 7 - Bitfield''' | *'''Byte 7 - Bitfield''' | ||
**'''Bit 0''' | **'''Bit 0 - ERR_AMT_CAN''' | ||
**'''Bit 1''' | **'''Bit 1 - ERR_AMT_CAN''' | ||
==DME2 0x329== | ==DME2 0x329== | ||
Line 34: | Line 63: | ||
*'''Byte 0 - Multiplexed Information''' | *'''Byte 0 - Multiplexed Information''' | ||
**'''Bit 0''' - MUX_INFO | **'''Bit 0''' - MUX_INFO [0] | ||
**'''Bit 1''' - MUX_INFO | **'''Bit 1''' - MUX_INFO [1] | ||
**'''Bit 2''' - MUX_INFO | **'''Bit 2''' - MUX_INFO [2] | ||
**'''Bit 3''' - MUX_INFO | **'''Bit 3''' - MUX_INFO [3] | ||
**'''Bit 4''' - MUX_INFO | **'''Bit 4''' - MUX_INFO [4] | ||
**'''Bit 5''' - MUX_INFO | **'''Bit 5''' - MUX_INFO [5] | ||
**'''Bit 6''' - MUX_CODE | **: MD_NORM = Refactored C_TQ_STND from 0x3FF (0-1023Nm) to 0x3F (0-1008Nm) with decreased resolution of 16Nm | ||
**'''Bit 7''' - MUX_CODE | **'''Bit 6''' - MUX_CODE [0] | ||
**'''Bit 7''' - MUX_CODE [1] | |||
**: 0 = CAN_LEVEL | |||
**: 2 = OBD_STEUER | |||
**: 3 = MD_NORM | |||
*'''Byte 1 - TEMP_ENG''' | *'''Byte 1 - TEMP_ENG''' | ||
*:Engine (Coolant) Temperature in °C | *:Engine (Coolant) Temperature in °C | ||
*:Calculation = (HEX * 0.75) - 48°C | *:Calculation = (HEX * 0.75) - 48°C | ||
*:Init: 0xFF | *:Init: 0xFF | ||
*:Min: 0x01 (-48°C) | |||
*:Max: 0xFF (142.5°C) | |||
*'''Byte 2 - AMP_CAN''' | *'''Byte 2 - AMP_CAN''' | ||
*:Ambient Pressure in hPa | *:Ambient Pressure in hPa | ||
*:Calculation = (HEX * 2) + 598hPa | *:Calculation = (HEX * 2) + 598hPa | ||
*:Init: | *:Init = 0x00 | ||
*:Min = 0x01 (600hPa) | |||
*:Max = 0xFE (1106hPa) | |||
*:Error = 0xFF | |||
*'''Byte 3 - Bitfield''' | *'''Byte 3 - Bitfield''' | ||
**'''Bit 0 - LV_SWI_CLU''' | **'''Bit 0 - LV_SWI_CLU''' | ||
**:Clutch Switch State | **:Clutch Switch State | ||
**:0: | **:0 = released | ||
**'''Bit 1 - LV_LEVEL_IS''' | **:1 = depressed | ||
**:0 | **'''Bit 1 - LV_LEVEL_IS''' | ||
**'''Bit 2 - LV_ACK_CRU_AD_ECU''' | **:Idle Regulator State | ||
**:0: | **:0 = idle above threshold | ||
**'''Bit 3 - LV_ERU_CAN''' | **:1 = idle below threshold | ||
**:0: | **'''Bit 2 - LV_ACK_CRU_AD_ECU''' | ||
**'''Bit 4 - STATE_CRU_CAN | **:Acknowledge of ACC1 CAN Message | ||
**:0 = nACK | |||
**:1 = ACK | |||
**'''Bit 3 - LV_ERU_CAN''' | |||
**:Engine Running State | |||
**:0 = engine stopped | |||
**:1 = engine running | |||
**'''Bit 4 - (STATE_CRU_CAN)??? | |||
**'''Bit 5 - STATE_MSW_CAN [0]''' | **'''Bit 5 - STATE_MSW_CAN [0]''' | ||
**'''Bit 6 - STATE_MSW_CAN [1]''' | **'''Bit 6 - STATE_MSW_CAN [1]''' | ||
**'''Bit 7 - STATE_MSW_CAN [2]''' | **'''Bit 7 - STATE_MSW_CAN [2]''' | ||
**:0 = No Button Pressed (Init Value) | |||
**:1 = Set / Acceleration (tip-up) | |||
**:2 = Deceleration (tip-down) | |||
**:3 = Resume | |||
**:4 = Deactivate (I/O) | |||
**:7 = Error Condition | |||
*'''Byte 4 - TPS_VIRT_CRU_CAN''' | *'''Byte 4 - TPS_VIRT_CRU_CAN''' | ||
*'''Byte 5 - TPS_CAN''' | *'''Byte 5 - TPS_CAN''' | ||
*:Accelerator Pedal Position in % of PVS_MAX | |||
*:Calculation = HEX / 2.56 | |||
*:Init = 0x00 | |||
*:Min = 0x01 (0%) | |||
*:Max = 0xFE (99.2%) | |||
*:PVS Error = 0xFF | |||
*'''Byte 6 - Bitfield''' | *'''Byte 6 - Bitfield''' | ||
**'''Bit 0 - LV_BS''' | **'''Bit 0 - LV_BS''' | ||
**:Brake Switch State | |||
**:0 = brake not actuated | |||
**:1 = brake actuated | |||
**'''Bit 1 - LV_ERR_BS''' | **'''Bit 1 - LV_ERR_BS''' | ||
**'''Bit 2 - LV_KD_CAN''' | **:Brake Switch System State | ||
**'''Bit 3 - STATE_CRU_CAN''' | **:0 = brake switch system OK | ||
**'''Bit 4 - STATE_CRU_CAN''' | **:1 = brake switch system faulty | ||
**'''Bit 5 - STATE_CRU_CAN''' | **'''Bit 2 - LV_KD_CAN''' | ||
**'''Bit 6 - REQ_SHIFTLOCK''' | **:Kick Down State | ||
**'''Bit 7 - REQ_SHIFTLOCK''' | **:0 = kick down not active | ||
**:1 = kick down active | |||
**'''Bit 3 - STATE_CRU_CAN [0]''' | |||
**'''Bit 4 - STATE_CRU_CAN [1]''' | |||
**'''Bit 5 - STATE_CRU_CAN [2]''' | |||
**:0 = LV_CRU_ACT = 0 | |||
**:1 = LV_CRU_ACT = 1, constant drive (or tip-up / tip-down) | |||
**:3 = LV_CRU_ACT = 1, resume | |||
**:5 = LV_CRU_ACT = 1, set / acceleration | |||
**:7 = LV_CRU_ACT = 1, deceleration | |||
**'''Bit 6 - REQ_SHIFTLOCK [0]''' | |||
**'''Bit 7 - REQ_SHIFTLOCK [1]''' | |||
**:0 = no actuation is active | |||
**:3 = actuation ISA, MTC or N_SP_IS is active | |||
*'''Byte 7 - Unused''' | *'''Byte 7 - Unused''' | ||
==DME4 0x545== | ==DME4 0x545== | ||
Line 109: | Line 178: | ||
*'''Byte 7''' - Unused | *'''Byte 7''' - Unused | ||
=Automatic Transmission= | |||
==SSG1 0x43D== | ==SSG1 0x43D== | ||
Refresh Rate: 10ms | Refresh Rate: 10ms | ||
Line 157: | Line 227: | ||
*'''Byte 0 - Bitfield''' | *'''Byte 0 - Bitfield''' | ||
**'''Bit 0''' - GEAR_INFO | **'''Bit 0''' - GEAR_INFO [0] | ||
**'''Bit 1''' - GEAR_INFO | **'''Bit 1''' - GEAR_INFO [1] | ||
**'''Bit 2''' - GEAR_INFO | **'''Bit 2''' - GEAR_INFO [2] | ||
**:Current Active Gear | |||
**'''Bit 3''' - LV_GS - Gear Shift Active | **'''Bit 3''' - LV_GS - Gear Shift Active | ||
**'''Bit 4''' - OBD_F - OBD-relevant DTC Active | **'''Bit 4''' - OBD_F - OBD-relevant DTC Active | ||
Line 166: | Line 237: | ||
**'''Bit 7''' - S_KUPPL / STATE_CC - State Converter Clutch | **'''Bit 7''' - S_KUPPL / STATE_CC - State Converter Clutch | ||
*'''Byte 1 - Bitfield''' | *'''Byte 1 - Bitfield''' | ||
**'''Bit 0''' - GEAR_SEL_DISP | **'''Bit 0''' - GEAR_SEL_DISP [0] | ||
**'''Bit 1''' - GEAR_SEL_DISP | **'''Bit 1''' - GEAR_SEL_DISP [1] | ||
**'''Bit 2''' - GEAR_SEL_DISP | **'''Bit 2''' - GEAR_SEL_DISP [2] | ||
**'''Bit 3''' - GEAR_SEL_DISP | **'''Bit 3''' - GEAR_SEL_DISP [3] | ||
**'''Bit 4''' - STATE_ETCU_OBD | **:Positionswählhebelanzeige | ||
**'''Bit 5''' - STATE_ETCU_OBD | **'''Bit 4''' - STATE_ETCU_OBD [0] | ||
**'''Bit 6''' - STATE_ETCU_OBD | **'''Bit 5''' - STATE_ETCU_OBD [1] | ||
**'''Bit 7''' - STATE_ETCU_OBD | **'''Bit 6''' - STATE_ETCU_OBD [2] | ||
**'''Bit 7''' - STATE_ETCU_OBD [3] | |||
**:OBD-Status Transmission Control Unit | |||
*'''Byte 2 - Bitfield''' | *'''Byte 2 - Bitfield''' | ||
**'''Bit 0''' - SMG_WHL_ANZ - SMG-Wählhebelstellung | **'''Bit 0''' - SMG_WHL_ANZ - SMG-Wählhebelstellung | ||
Line 196: | Line 269: | ||
*'''Byte 6''' - DT_REINF - Drivetrain Reinforcement | *'''Byte 6''' - DT_REINF - Drivetrain Reinforcement | ||
*'''Byte 7''' - TQ_CONV_CAN - Momentaufnahme Getriebe | *'''Byte 7''' - TQ_CONV_CAN - Momentaufnahme Getriebe | ||
==SMG2 0x43F== | |||
The SMG2 CAN message for the E46 chassis CAN is sent from the MSS54 ECU instead of the TCU. | |||
MSS54 has a secondary CAN bus that is completely seperated from the rest of the powertrain and acts as a gateway for the SMG2 unit. | |||
Refresh Rate: 10ms | |||
*'''Byte 0 - Bitfield''' | |||
**'''Bit 0 - DESIRED_GEAR [0]''' | |||
**'''Bit 1 - DESIRED_GEAR [1]''' | |||
**'''Bit 2 - DESIRED_GEAR [2]''' | |||
**: Desired Gear After Shift | |||
**: 0 = Neutral | |||
**: 1 = 1st Gear | |||
**: 2 = 2nd Gear | |||
**: 3 = 3rd Gear | |||
**: 4 = 4th Gear | |||
**: 5 = 5th Gear | |||
**: 6 = 6th Gear | |||
**: 7 = Reverse | |||
**'''Bit 3 - LV_GS''' | |||
**: Gear Shift Active | |||
**: 0 = no | |||
**: 1 = yes | |||
**'''Bit 4 - Unused''' | |||
**'''Bit 5 - GEAR_SEL_AUTO''' | |||
**: Gear Selector Auto Position | |||
**: 0 = no | |||
**: 1 = yes | |||
**'''Bit 6 - STATE_CLUTCH [0]''' | |||
**'''Bit 7 - STATE_CLUTCH [1]''' | |||
**: State Converter Clutch | |||
**: 0 = opened | |||
**: 1 = closed | |||
**: 2 = opening | |||
**: 3 = closing | |||
*'''Byte 1 - Bitfield''' | |||
**'''Bit 0 - GEAR_INFO [0]''' | |||
**'''Bit 1 - GEAR_INFO [1]''' | |||
**'''Bit 2 - GEAR_INFO [2]''' | |||
**'''Bit 3 - GEAR_INFO [3]''' | |||
**: Current Gear Display Information | |||
**: 0 = Clear Screen | |||
**: 1 = 1st Gear | |||
**: 2 = 2nd Gear | |||
**: 3 = 3rd Gear | |||
**: 4 = 4th Gear | |||
**: 5 = Auto / D | |||
**: 6 = Neutral | |||
**: 7 = Reverse | |||
**: 9 = 5th Gear | |||
**: 10 = 6th Gear | |||
**'''Bit 4 - Unused''' | |||
**'''Bit 5 - Unused''' | |||
**'''Bit 6 - Unused''' | |||
**'''Bit 7 - Unused''' | |||
*'''Byte 2 - Bitfield''' | |||
**'''Bit 0''' - GEAL_SEL [0] | |||
**'''Bit 1''' - GEAL_SEL [1] | |||
**'''Bit 2''' - GEAL_SEL [2] | |||
**'''Bit 3''' - GEAL_SEL [3] | |||
**:Gear Selector Indicator | |||
**:0 = Display Off | |||
**:1 = "0" | |||
**:2 = "R" | |||
**:3 = "A+" | |||
**:4 = "A-" | |||
**:5 = "A+/-" | |||
**:6 = "S+" | |||
**:7 = "S+" | |||
**:8 = "S+/-" | |||
**:9 = "+" | |||
**:10 = "-" | |||
**:11 = "+/-" | |||
**:12 = "A" | |||
**:15 = Display Segment Test | |||
**'''Bit 4''' - PRG_INF_ANZ [0] | |||
**'''Bit 5''' - PRG_INF_ANZ [1] | |||
**'''Bit 6''' - PRG_INF_ANZ [2] | |||
**'''Bit 7''' - PRG_INF_ANZ [3] | |||
**:Drive Logic Speed Indicator | |||
**:0 = Drive Logic Indicator Hidden | |||
**:1 = DSC Off Frame Extension Only | |||
**:2 = Standard Frame and Speed 1 | |||
**:3 = Extended Frame and Speed 1 | |||
**:4 = Standard Frame and Speed 2 | |||
**:5 = Extended Frame and Speed 2 | |||
**:6 = Standard Frame and Speed 3 | |||
**:7 = Extended Frame and Speed 3 | |||
**:8 = Standard Frame and Speed 4 | |||
**:9 = Extended Frame and Speed 4 | |||
**:10 = Standard Frame and Speed 5 | |||
**:11 = Extended Frame and Speed 5 | |||
**:12 = Standard Frame and Speed 6 | |||
**:13 = Extended Frame and Speed 6 | |||
**:14 = unused | |||
**:15 = unused | |||
*'''Byte 3 - CHKSM_GEAR_INFO''' | |||
*: Checksum and life counter for current gear shown in cluster display | |||
*: There is a COUNTER with an initialization value of 0x00 | |||
*:: Calculation: | |||
*:: CHKSM_GEAR_INFO = Xor COUNTER, GEAR_INFO | |||
*:: CHKSM_GEAR_INFO = Negate CHKSM_GEAR_INFO | |||
*:: CHKSM_GEAR_INFO = And CHKSM_GEAR_INFO , 0x0F | |||
*:: CHKSM_GEAR_INFO = Lsh CHKSM_GEAR_INFO , 4 | |||
*:: CHKSM_GEAR_INFO = Or CHKSM_GEAR_INFO , GEAR_INFO | |||
*: COUNTER is incremented every time after the CAN message has been sent | |||
*'''Byte 4''' - LNG_ACC | |||
*: Longitudial Acceleration | |||
*: Calculation: (HEX / 10) - 12.7m/s² | |||
*: Min: -12.7m/s² | |||
*: Max: 12.7m/s² | |||
*'''Byte 5 - Bitfield''' | |||
**'''Bit 0 - L_GS [0]''' | |||
**'''Bit 1 - L_GS [1]''' | |||
**: SMG Error State | |||
**: 0 = No Error | |||
**: 3 = Error Active (Gear Of Death) | |||
**'''Bit 2 - Unused (Always 1)''' | |||
**'''Bit 3 - TC_ACT''' | |||
**: Traction Control Intervention | |||
**: 0 = no | |||
**: 1 = yes | |||
**'''Bit 4 - Unused''' | |||
**'''Bit 5 - GONG''' | |||
**'''Bit 6 - DT_REINF [0]''' | |||
**'''Bit 7 - DT_REINF [1]''' | |||
*'''Byte 6 - DT_REINF [2-9]''' | |||
*: Torque Factor On Wheels | |||
*: Calculation = HEX / 2.56 | |||
*: TQ_CLU / TQ_ENG * SMG_I_HA * SMG_I_GEAR / SMG_R_RAD_DYN | |||
*'''Byte 7 - TQ_CLU''' | |||
*: Torque On Clutch | |||
=Instrument Cluster= | |||
==ICL2 0x613== | ==ICL2 0x613== |
Revision as of 10:35, 12 February 2021
The CAN Bus on BMWs E46 chassis operates at a speed of 500kb/s
Traction Control
ASC1 0x153
Refresh Rate: 10ms
ASC3 0x1F3
Refresh Rate: 10ms
Engine
DME1 0x316
Refresh Rate: 10ms
- Byte 0 - Bitfield
- Bit 0 - LV_SWI_IGK
- Ignition Key Voltage State
- 0 = terminal 15 off detected
- 1 = terminal 15 on detected
- Bit 1 - LV_F_N_ENG
- Crankshaft Sensor State
- 0 = no CRK error present
- 1 = CRK error present
- Bit 2 - LV_ACK_TCS
- Traction Control State
- 0 = either ASC1 was not received within the last 500 ms or it contains a plausibility error
- 1 = the ASC message ASC1 was received within the last 500 ms and contains no plausibility errors of the requirements TQI_ASR_CAN / TQI_MSR_CAN
- Bit 3 - LV_ERR_GC
- Gear Change Error State
- 0 = gear change not or partly possible
- 1 = gear change possible
- Bit 4 - SF_TQD [0]
- Bit 5 - SF_TQD [0]
- Charge Intervention State
- 0 = the required intervention can be performed completely or if there is no ASC requirement.
- 1 = the required intervention cannot be performed completely because the IGA retard limit is reached.
- 2 = the required intervention cannot be performed completely because the charge actuators are fully closed (this case is not possible with MTC without break-away mechanism)
- 3 = "limited vehicle dynamics" is active (MTC/ISA error)
- Bit 6 - Unused
- Bit 7 - LV_F_SUB_TQI
- MAF Error State
- 0 = MAF ok
- 1 = MAF error present
- Bit 0 - LV_SWI_IGK
- Byte 1 - TQI_TQR_CAN
- Indexed Engine Torque in % of C_TQ_STND (including ASR/MSR/ETCU/LIM/AMT/GEAR intervention)
- Byte 2 - N_ENG [LSB]
- Byte 3 - N_ENG [MSB]
- Engine Speed in rpm
- Calculation = HEX[MSB] * 256 + HEX[LSB]
- Byte 4 - TQI_CAN
- Indicated Engine Torque in % of C_TQ_STND (based on PVS, N, AMP, TIA ,TCO, IGA, PUC)
- Byte 5 - TQ_LOSS_CAN
- Engine Torque Loss (due to engine friction, AC compressor and electrical power consumption) in % of C_TQ_STND
- Byte 6 - TQI_MAF_CAN
- Theorethical Engine Torque in % of C_TQ_STND after charge intervention (based on MAF, IGA)
- Byte 7 - Bitfield
- Bit 0 - ERR_AMT_CAN
- Bit 1 - ERR_AMT_CAN
DME2 0x329
Refresh Rate: 10ms
- Byte 0 - Multiplexed Information
- Bit 0 - MUX_INFO [0]
- Bit 1 - MUX_INFO [1]
- Bit 2 - MUX_INFO [2]
- Bit 3 - MUX_INFO [3]
- Bit 4 - MUX_INFO [4]
- Bit 5 - MUX_INFO [5]
- MD_NORM = Refactored C_TQ_STND from 0x3FF (0-1023Nm) to 0x3F (0-1008Nm) with decreased resolution of 16Nm
- Bit 6 - MUX_CODE [0]
- Bit 7 - MUX_CODE [1]
- 0 = CAN_LEVEL
- 2 = OBD_STEUER
- 3 = MD_NORM
- Byte 1 - TEMP_ENG
- Engine (Coolant) Temperature in °C
- Calculation = (HEX * 0.75) - 48°C
- Init: 0xFF
- Min: 0x01 (-48°C)
- Max: 0xFF (142.5°C)
- Byte 2 - AMP_CAN
- Ambient Pressure in hPa
- Calculation = (HEX * 2) + 598hPa
- Init = 0x00
- Min = 0x01 (600hPa)
- Max = 0xFE (1106hPa)
- Error = 0xFF
- Byte 3 - Bitfield
- Bit 0 - LV_SWI_CLU
- Clutch Switch State
- 0 = released
- 1 = depressed
- Bit 1 - LV_LEVEL_IS
- Idle Regulator State
- 0 = idle above threshold
- 1 = idle below threshold
- Bit 2 - LV_ACK_CRU_AD_ECU
- Acknowledge of ACC1 CAN Message
- 0 = nACK
- 1 = ACK
- Bit 3 - LV_ERU_CAN
- Engine Running State
- 0 = engine stopped
- 1 = engine running
- Bit 4 - (STATE_CRU_CAN)???
- Bit 5 - STATE_MSW_CAN [0]
- Bit 6 - STATE_MSW_CAN [1]
- Bit 7 - STATE_MSW_CAN [2]
- 0 = No Button Pressed (Init Value)
- 1 = Set / Acceleration (tip-up)
- 2 = Deceleration (tip-down)
- 3 = Resume
- 4 = Deactivate (I/O)
- 7 = Error Condition
- Bit 0 - LV_SWI_CLU
- Byte 4 - TPS_VIRT_CRU_CAN
- Byte 5 - TPS_CAN
- Accelerator Pedal Position in % of PVS_MAX
- Calculation = HEX / 2.56
- Init = 0x00
- Min = 0x01 (0%)
- Max = 0xFE (99.2%)
- PVS Error = 0xFF
- Byte 6 - Bitfield
- Bit 0 - LV_BS
- Brake Switch State
- 0 = brake not actuated
- 1 = brake actuated
- Bit 1 - LV_ERR_BS
- Brake Switch System State
- 0 = brake switch system OK
- 1 = brake switch system faulty
- Bit 2 - LV_KD_CAN
- Kick Down State
- 0 = kick down not active
- 1 = kick down active
- Bit 3 - STATE_CRU_CAN [0]
- Bit 4 - STATE_CRU_CAN [1]
- Bit 5 - STATE_CRU_CAN [2]
- 0 = LV_CRU_ACT = 0
- 1 = LV_CRU_ACT = 1, constant drive (or tip-up / tip-down)
- 3 = LV_CRU_ACT = 1, resume
- 5 = LV_CRU_ACT = 1, set / acceleration
- 7 = LV_CRU_ACT = 1, deceleration
- Bit 6 - REQ_SHIFTLOCK [0]
- Bit 7 - REQ_SHIFTLOCK [1]
- 0 = no actuation is active
- 3 = actuation ISA, MTC or N_SP_IS is active
- Bit 0 - LV_BS
- Byte 7 - Unused
DME4 0x545
Refresh Rate: 10ms
- Byte 0 - Bitfield
- Bit 0 - DDE: Pre-Glow Active
- Bit 1 - LV_MIL - Check Engine Light
- Bit 2 - Unused
- Bit 3 - LV_MAIN_SWI_CRU - CRU_MAIN_SWI
- Bit 4 - LV_ETC_DIAG - EML Light
- Bit 5 - DDE: Boost Control Failure
- Bit 6 - LV_FUC_CAN - Fuel Tank Cap Light
- Bit 7 - DDE: Battery Count
- Byte 1 - FCO - Fuel Consumption LSB
- Byte 2 - FCO - Fuel Consumption MSB
- Byte 3 - Bitfield
- Bit 0 - Oil Level Error LED M5 Cluster
- Bit 1 - Oil Level Warning LED Every Other Cluster
- Bit 2 - Oil Level Error LED M5 Cluster
- Bit 3 - LV_TEMP_ENG - Coolant Overheating Light
- Bit 4 - M-Cluster Warm-Up LEDs
- Bit 5 - M-Cluster Warm-Up LEDs
- Bit 6 - M-Cluster Warm-Up LEDs
- Bit 7 - DDE: Gear Change Request
- Byte 4 - TOIL_CAN - Oil Temperature
- Byte 5 -
- Byte 6 - MSS54HP: Oil Level
- Byte 7 - Unused
Automatic Transmission
SSG1 0x43D
Refresh Rate: 10ms
- Byte 0 - Bitfield
- Bit 0 - GEAR_INFO - Active Gear
- Bit 1 - GEAR_INFO - Active Gear
- Bit 2 - GEAR_INFO - Active Gear
- Bit 3 - LV_GS - Gear Shift Active
- Bit 4 - STATE_AMT - Status Shift Process
- Bit 5 - STATE_AMT - Status Shift Process
- Bit 6 -
- Bit 7 - LV_AMT_ES - Engine Stop Request From SMG TCU
- Byte 1 - Bitfield
- Bit 0 - GEAR_SEL_DISP
- Bit 1 - GEAR_SEL_DISP
- Bit 2 - GEAR_SEL_DISP
- Bit 3 - GEAR_SEL_DISP
- Bit 4 - STATE_AMT_OBD
- Bit 5 - STATE_AMT_OBD
- Bit 6 - STATE_AMT_OBD
- Bit 7 - STATE_AMT_OBD
- Byte 2 - Bitfield
- Bit 0 -
- Bit 1 -
- Bit 2 -
- Bit 3 - LV_CITY
- Bit 4 -
- Bit 5 - LV_HPA
- Bit 6 - bitfield_FD20_20
- Bit 7 -
- Byte 3 - TQI_AMT_CAN
- Byte 4 - TQI_MAF_AMT_CAN
- Byte 5 - Bitfield
- Bit 0 - LV_GP - Gearbox Protection
- Bit 1 -
- Bit 2 - CTR_AMT - Message Counter For AMT TQI Request
- Bit 3 - CTR_AMT - Message Counter For AMT TQI Request
- Bit 4 - CTR_AMT - Message Counter For AMT TQI Request
- Bit 5 - CTR_AMT - Message Counter For AMT TQI Request
- Bit 6 - STATE_CLU_AMT - State SMG Clutch
- Bit 7 - STATE_CLU_AMT - State SMG Clutch
- Byte 6 - TQI_AMT_CPL_CAN
- Byte 7 - N_MAX_AMT_CAN - Engine Speed Limiter Override During Gearshift
EGS1 0x43F
Refresh Rate: 10ms
- Byte 0 - Bitfield
- Bit 0 - GEAR_INFO [0]
- Bit 1 - GEAR_INFO [1]
- Bit 2 - GEAR_INFO [2]
- Current Active Gear
- Bit 3 - LV_GS - Gear Shift Active
- Bit 4 - OBD_F - OBD-relevant DTC Active
- Bit 5 - LV_GP_CAN - Gearbox Protection
- Bit 6 - S_KUPPL / STATE_CC - State Converter Clutch
- Bit 7 - S_KUPPL / STATE_CC - State Converter Clutch
- Byte 1 - Bitfield
- Bit 0 - GEAR_SEL_DISP [0]
- Bit 1 - GEAR_SEL_DISP [1]
- Bit 2 - GEAR_SEL_DISP [2]
- Bit 3 - GEAR_SEL_DISP [3]
- Positionswählhebelanzeige
- Bit 4 - STATE_ETCU_OBD [0]
- Bit 5 - STATE_ETCU_OBD [1]
- Bit 6 - STATE_ETCU_OBD [2]
- Bit 7 - STATE_ETCU_OBD [3]
- OBD-Status Transmission Control Unit
- Byte 2 - Bitfield
- Bit 0 - SMG_WHL_ANZ - SMG-Wählhebelstellung
- Bit 1 - SMG_WHL_ANZ - SMG-Wählhebelstellung
- Bit 2 - Unused
- Bit 3 - Unused
- Bit 4 - Unused
- Bit 5 - PRG_INF_ANZ - Programminformationsanzeige
- Bit 6 - PRG_INF_ANZ - Programminformationsanzeige
- Bit 7 - PRG_INF_ANZ - Programminformationsanzeige
- Byte 3 - TQI_ETCU_CAN - Momenteneingriff der GS bezogen auf das indizierte Motormoment
- Byte 4 - N_ABTR - Abtriebsdrehzahl
- Byte 5 - Bitfield
- Bit 0 - L_GS - Störanzeige
- Bit 1 - L_GS - Störanzeige
- Bit 2 - TCU_TYP - Steuergerätetyp EGS/SMG
- Bit 3 - S_EGW - Schalter Getriebeölthermostat
- Bit 4 - LV_TOIL_GEAR_CAN - Schalter Getriebeölübertemperatur
- Bit 5 - Unused
- Bit 6 - DT_REINF - Drivetrain Reinforcement
- Bit 7 - DT_REINF - Drivetrain Reinforcement
- Byte 6 - DT_REINF - Drivetrain Reinforcement
- Byte 7 - TQ_CONV_CAN - Momentaufnahme Getriebe
SMG2 0x43F
The SMG2 CAN message for the E46 chassis CAN is sent from the MSS54 ECU instead of the TCU.
MSS54 has a secondary CAN bus that is completely seperated from the rest of the powertrain and acts as a gateway for the SMG2 unit.
Refresh Rate: 10ms
- Byte 0 - Bitfield
- Bit 0 - DESIRED_GEAR [0]
- Bit 1 - DESIRED_GEAR [1]
- Bit 2 - DESIRED_GEAR [2]
- Desired Gear After Shift
- 0 = Neutral
- 1 = 1st Gear
- 2 = 2nd Gear
- 3 = 3rd Gear
- 4 = 4th Gear
- 5 = 5th Gear
- 6 = 6th Gear
- 7 = Reverse
- Bit 3 - LV_GS
- Gear Shift Active
- 0 = no
- 1 = yes
- Bit 4 - Unused
- Bit 5 - GEAR_SEL_AUTO
- Gear Selector Auto Position
- 0 = no
- 1 = yes
- Bit 6 - STATE_CLUTCH [0]
- Bit 7 - STATE_CLUTCH [1]
- State Converter Clutch
- 0 = opened
- 1 = closed
- 2 = opening
- 3 = closing
- Byte 1 - Bitfield
- Bit 0 - GEAR_INFO [0]
- Bit 1 - GEAR_INFO [1]
- Bit 2 - GEAR_INFO [2]
- Bit 3 - GEAR_INFO [3]
- Current Gear Display Information
- 0 = Clear Screen
- 1 = 1st Gear
- 2 = 2nd Gear
- 3 = 3rd Gear
- 4 = 4th Gear
- 5 = Auto / D
- 6 = Neutral
- 7 = Reverse
- 9 = 5th Gear
- 10 = 6th Gear
- Bit 4 - Unused
- Bit 5 - Unused
- Bit 6 - Unused
- Bit 7 - Unused
- Byte 2 - Bitfield
- Bit 0 - GEAL_SEL [0]
- Bit 1 - GEAL_SEL [1]
- Bit 2 - GEAL_SEL [2]
- Bit 3 - GEAL_SEL [3]
- Gear Selector Indicator
- 0 = Display Off
- 1 = "0"
- 2 = "R"
- 3 = "A+"
- 4 = "A-"
- 5 = "A+/-"
- 6 = "S+"
- 7 = "S+"
- 8 = "S+/-"
- 9 = "+"
- 10 = "-"
- 11 = "+/-"
- 12 = "A"
- 15 = Display Segment Test
- Bit 4 - PRG_INF_ANZ [0]
- Bit 5 - PRG_INF_ANZ [1]
- Bit 6 - PRG_INF_ANZ [2]
- Bit 7 - PRG_INF_ANZ [3]
- Drive Logic Speed Indicator
- 0 = Drive Logic Indicator Hidden
- 1 = DSC Off Frame Extension Only
- 2 = Standard Frame and Speed 1
- 3 = Extended Frame and Speed 1
- 4 = Standard Frame and Speed 2
- 5 = Extended Frame and Speed 2
- 6 = Standard Frame and Speed 3
- 7 = Extended Frame and Speed 3
- 8 = Standard Frame and Speed 4
- 9 = Extended Frame and Speed 4
- 10 = Standard Frame and Speed 5
- 11 = Extended Frame and Speed 5
- 12 = Standard Frame and Speed 6
- 13 = Extended Frame and Speed 6
- 14 = unused
- 15 = unused
- Byte 3 - CHKSM_GEAR_INFO
- Checksum and life counter for current gear shown in cluster display
- There is a COUNTER with an initialization value of 0x00
- Calculation:
- CHKSM_GEAR_INFO = Xor COUNTER, GEAR_INFO
- CHKSM_GEAR_INFO = Negate CHKSM_GEAR_INFO
- CHKSM_GEAR_INFO = And CHKSM_GEAR_INFO , 0x0F
- CHKSM_GEAR_INFO = Lsh CHKSM_GEAR_INFO , 4
- CHKSM_GEAR_INFO = Or CHKSM_GEAR_INFO , GEAR_INFO
- COUNTER is incremented every time after the CAN message has been sent
- Byte 4 - LNG_ACC
- Longitudial Acceleration
- Calculation: (HEX / 10) - 12.7m/s²
- Min: -12.7m/s²
- Max: 12.7m/s²
- Byte 5 - Bitfield
- Bit 0 - L_GS [0]
- Bit 1 - L_GS [1]
- SMG Error State
- 0 = No Error
- 3 = Error Active (Gear Of Death)
- Bit 2 - Unused (Always 1)
- Bit 3 - TC_ACT
- Traction Control Intervention
- 0 = no
- 1 = yes
- Bit 4 - Unused
- Bit 5 - GONG
- Bit 6 - DT_REINF [0]
- Bit 7 - DT_REINF [1]
- Byte 6 - DT_REINF [2-9]
- Torque Factor On Wheels
- Calculation = HEX / 2.56
- TQ_CLU / TQ_ENG * SMG_I_HA * SMG_I_GEAR / SMG_R_RAD_DYN
- Byte 7 - TQ_CLU
- Torque On Clutch
Instrument Cluster
ICL2 0x613
Refresh Rate: 200ms
- Byte 0 - KM_CTR_CAN - Odometer LSB
- Byte 1 - KM_CTR_CAN - Odometer MSB
- Byte 2 - FTL_CAN - Fuel Tank Level (Bits 0-6)
- Bit 7 - FTL_RES_CAN - Fuel Tank Level Reserve Switch
- Byte 3 - T_REL_CAN - Running Clock LSB
- Byte 4 - T_REL_CAN - Running Clock MSB
- Byte 5 - FTL_CAN_L - Fuel Tank Level Driver Side (Bits 0-5)
- Bit 6 - Unused
- Bit 7 - Unused
- Byte 6 - Unused
- Byte 7 - Unused
ICL3 0x615
Refresh Rate: 200ms
- Byte 0 - Bitfield
- Bit 0 - TQ_ACCIN_CAN - Torque Offset For Air Conditioning Compressor (Bit 0)
- Bit 1 - TQ_ACCIN_CAN - Torque Offset For Air Conditioning Compressor (Bit 1)
- Bit 2 - TQ_ACCIN_CAN - Torque Offset For Air Conditioning Compressor (Bit 2)
- Bit 3 - TQ_ACCIN_CAN - Torque Offset For Air Conditioning Compressor (Bit 3)
- Bit 4 - TQ_ACCIN_CAN - Torque Offset For Air Conditioning Compressor (Bit 4)
- Bit 5 - LV_REQ_TCO_L - Request For Lowest Cooling Temp (c_tco_bol_ect)
- Bit 6 - LV_ACCIN - Air Conditioning Compressor Status (0=off, 1=on)
- Bit 7 - LV_ACIN - Air Conditioning Request
- Byte 1 - Bitfield
- Bit 0 - LV_REQ_HEAT - Increased Heat Request
- Bit 1 - LV_TOW - Trailer Operation Mode
- Bit 2 - LV_LGT - Day / Night Lighting
- Bit 3 - LV_HS - Hood Switch
- Bit 4 - N_ECF - Electric Cooling Fan Level (Bit 0)
- Bit 5 - N_ECF - Electric Cooling Fan Level (Bit 1)
- Bit 6 - N_ECF - Electric Cooling Fan Level (Bit 2)
- Bit 7 - N_ECF - Electric Cooling Fan Level (Bit 3)
- Byte 2 -
- Byte 3 - TAM_CAN - Ambient Temperature
- Byte 4 - Bitfield
- Bit 0 - LV_DOOR - Door Switch
- Bit 1 - LV_HBR - Hand Brake Switch
- Bit 2 -
- Bit 3 -
- Bit 4 -
- Bit 5 - LV_REQ_TCO_L -
- Bit 6 - LV_ACCIN - Air Conditioning Compressor Status (0=off, 1=on)
- Bit 7 - LV_ACIN - Air Conditioning Request
- Byte 5 -
- Byte 6 -
- Byte 7 -