Advertising:

Siemens MS43 CAN Bus

From MS4X Wiki
Revision as of 10:35, 12 February 2021 by Sda2 (talk | contribs) (→‎SMG2 0x43F)
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

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 -