Siemens MS43 CAN Bus

From MS4X Wiki
Jump to: navigation, search

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
  • 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
  • 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
  • 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 -