Advertising:

Siemens MS45 CAN Bus (CAN11h): Difference between revisions

From MS4X Wiki
No edit summary
No edit summary
Line 5: Line 5:
Siemens MS45 reads the following messages for operation, if the corresponding module is present in car:
Siemens MS45 reads the following messages for operation, if the corresponding module is present in car:
*[[CAN_Bus_ID_0x43F_EGS1|ARBID 0x43F EGS1 Automatic Transmission]]
*[[CAN_Bus_ID_0x43F_EGS1|ARBID 0x43F EGS1 Automatic Transmission]]
*[[CAN_Bus_ID_0x43F_EGS2|ARBID 0x43F EGS2 Automatic Transmission]]
*[[CAN_Bus_ID_0x???_EGS2|ARBID 0x??? EGS2 Automatic Transmission]]
*[[CAN_Bus_ID_0x613_ICL2|ARBID 0x613 ICL2 Instrument Cluster]]
*[[CAN_Bus_ID_0x613_ICL2|ARBID 0x613 ICL2 Instrument Cluster]]
*[[CAN_Bus_ID_0x615_ICL3|ARBID 0x615 ICL3 Instrument Cluster]]
*[[CAN_Bus_ID_0x615_ICL3|ARBID 0x615 ICL3 Instrument Cluster]]
Line 16: Line 16:


Siemens MS45 sends the following messages:
Siemens MS45 sends the following messages:
*[[Siemens_MS43_CAN_Bus#DME1_0x316|ARBID 0x316 DME1 Engine Control Unit]]
*[[Siemens_MS45_CAN_Bus_(CAN11h)#DME1_0x316|ARBID 0x316 DME1 Engine Control Unit]]
*[[Siemens_MS43_CAN_Bus#DME2_0x329|ARBID 0x329 DME2 Engine Control Unit]]
*[[Siemens_MS45_CAN_Bus_(CAN11h)#DME2_0x329|ARBID 0x329 DME2 Engine Control Unit]]
*[[Siemens_MS43_CAN_Bus#DME3_0x338|ARBID 0x338 DME3 Engine Control Unit]]
*[[Siemens_MS45_CAN_Bus_(CAN11h)#DME3_0x338|ARBID 0x338 DME3 Engine Control Unit]]
*[[Siemens_MS43_CAN_Bus#DME4_0x545|ARBID 0x545 DME4 Engine Control Unit]]
*[[Siemens_MS45_CAN_Bus_(CAN11h)#DME4_0x545|ARBID 0x545 DME4 Engine Control Unit]]





Revision as of 06:47, 23 April 2024

MS45 can operate in two different CAN bus modes. CAN11h and BN2000. This page describes CAN11h which is also used in MS43/MS42 and compatible with those. CAN11h works in 500kb/s baud rate.


Siemens MS45 reads the following messages for operation, if the corresponding module is present in car:


Siemens MS45 sends the following messages:


In addition to that, there are several messages that are not used by the ECU, but still present on the CAN Bus:


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)
    Calculation = HEX * 0.39
  • Byte 2 - N_ENG [LSB]
  • Byte 3 - N_ENG [MSB]
    Engine Speed in rpm
    Calculation = ((HEX[MSB] * 256) + HEX[LSB]) * 0.15625
  • Byte 4 - TQI_CAN
    Indicated Engine Torque in % of C_TQ_STND (based on PVS, N, AMP, TIA ,TCO, IGA, PUC so ip_tqi_pvs__n__pvs)
    Calculation = HEX * 0.39
  • Byte 5 - TQ_LOSS_CAN
    Engine Torque Loss (due to engine friction, AC compressor and electrical power consumption) in % of C_TQ_STND
    Calculation = HEX * 0.39
  • Byte 6 - Bitfield
    • Bit 6 - ERR_AMT_CAN
    • Bit 7 - ERR_AMT_CAN
  • Byte 7 - TQI_MAF_CAN
    Theorethical Engine Torque in % of C_TQ_STND after charge intervention (based on MAF & IGA so ip_tqi_maf__n__maf)
    Calculation = HEX * 0.39

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]
      CAN_LEVEL = CAN bus function level. This is always 0x11 for MS43
      OBD_STEUER = STATE_DIAG_GS (Status of GS diagnosis for feedback to gearbox)
      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
    Calculation = HEX * 0.390625
  • Byte 5 - TPS_CAN
    Accelerator Pedal Position in % of PVS_MAX
    Calculation = HEX * 0.390625
    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

DME3 0x338

Refresh Rate: 1000ms and at signal change

  • Byte 0 - Unused
  • Byte 1 - Unused
  • Byte 2 - STATE_SOF_CAN
    Sport Button Status
    0 = Sport Button On (requested by SMG)
    1 = Sport Button Off
    2 = Sport Button On
    3 = Sport Button Error
    Init: 0x01
  • Byte 3 - Unused
  • Byte 4 - Unused
  • Byte 5 - Unused
  • Byte 6 - Unused
  • Byte 7 - Unused

DME4 0x545

Refresh Rate: 10ms

  • Byte 0 - Bitfield
    • Bit 0 - Unused
    • 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 - Unused
    • Bit 6 - LV_FUC_CAN - Fuel Tank Cap Light
    • Bit 7 - Unused
  • Byte 1 - FCO[LSB]
  • Byte 2 - FCO[MSB]
    Fuel Consumption
  • Byte 3 - Bitfield
    • Bit 0 - Oil Level Indicator LED - Oil consumption
    • Bit 1 - Oil Level Indicator LED - Oil loss
    • Bit 2 - Oil Level Indicator LED - Sensor malfunction
    • Bit 3 - LV_TEMP_ENG - Coolant Overheating Light (c_tco_tmot_sta)
    • Bit 4 - M-Cluster Warm-Up LEDs
    • Bit 5 - M-Cluster Warm-Up LEDs
    • Bit 6 - M-Cluster Warm-Up LEDs
    • Bit 7 - Upshift indicator
  • Byte 4 - TOIL_CAN
    Oil Temperature in °C
    Calculation = HEX - 48°C
    Min: 0x00 (-48°C)
    Max: 0xFE (206°C)
  • Byte 5 - Bitfield
    • Bit 0 - Battery Chargelight (Alpina Roadster Only)
    • Bit 1 - Unused
    • Bit 2 - Unused
    • Bit 3 - Unused
    • Bit 4 - Unused
    • Bit 5 - Unused
    • Bit 6 - Unused
    • Bit 7 - Unused
  • Byte 6 - Oil Level (MSS54HP only)
    Calculation = (HEX - 158) / 10L
    Min: 0x80 || 0xC0 (-3.0L)
    Max: 0xBE || 0xFE (+3.2L)
  • Byte 7 - Bitfield
    • Bit 0 - State Tire Pressure (MSS54 only)
    • Bit 1 - Unused
    • Bit 2 - Unused
    • Bit 3 - Unused
    • Bit 4 - Unused
    • Bit 5 - Unused
    • Bit 6 - Unused
    • Bit 7 - Status Engine Oil Pressure Low