Advertising:

Siemens MS45 CAN Bus (BN2000): Difference between revisions

From MS4X Wiki
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
MS45 can operate in two different CAN bus modes. CAN11h and BN2000. This page describes the BN2000 mode that is used in e6x version of the MS45. Later ECU's like MSV70, MSV80 and MSD80 in e6x and e9x chassis use same protocol. CAN speed is 500kb/s.
MS45 can operate in two different CAN bus modes. CAN11h and BN2000. This page describes the BN2000 mode that is used in e6x version of the MS45. Later ECU's like MSV70, MSV80 and MSD80 in e6x and e9x chassis use same protocol. CAN speed is 500kb/s.
Siemens MS45 reads the following messages for operation, if the corresponding module is present in car:
*[[CAN_Bus_ID_0x???|ARBID 0x??? DREHMOMENT_ANF_ACC adaptive cruise control (ACC)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? STAT_ARS anti roll stabilization (ARS)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? DREHMOMENT_ANF_AFS active front steering (AFS)]]
*[[CAN_Bus_ID_0x130|ARBID 0x130 Terminal_status car access system (CAS)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? CODIERUNG_PM car access system (CAS)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? FAHRZEUGMODUS SZM]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? CTR_CRASH_SWO_EKP SZM]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? DREHMOMENT_ANF_DSC traction control system (DSC)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? GESCHWINDIGKEIT traction control system (DSC)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? GESCHWINDIGKEIT_RAD traction control system (DSC)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? STAT_DSC traction control system (DSC)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? DREHMOMENT_ANF_EGS transmission control unit (EGS)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? GETRIEBEDATEN transmission control unit (EGS)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? GETRIEBEDATEN_2 transmission control unit (EGS)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? DREHMOMENT_ANF_SSG automated manual transmission (AMT)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? GGetriebedaten transmission control unit (AMT)]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? WAERMESTROM_KLIMA IHKA]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? A_TEMP_RELATIVZEIT Kombi]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? BOS_RUECKSTELLUNG Kombi]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? KILOMETERSTAND Kombi]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? STAT_KOMBI Kombi]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? POWERMGMT_BATTERIESPANNUNG Power-Modul]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? POWERMGMT_LADESPANNUNG Power-Modul]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? BEDIENUNG_TEMPOMAT SZ-Lenksäule]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? LENKRADWINKEL SZ-Lenksäule]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? STAT_GANG_RUECKWAERTS LM]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? STAT_EKP EKP]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? PRGG_CCTR K_CAN: CCC_GW, M_ASK]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? PM_STANDVERBRAUCHER K_CAN/PT_CAN:]]
*[[CAN_Bus_ID_0x???|ARBID 0x??? ANFORDERUNG_E_LÜFTER K_CAN/PT_CAN:]]
Siemens MS45 sends the following messages:
*[[Siemens_MS45_CAN_Bus_(BN2000)#ANFRAGE_0x???|ARBID 0x??? ANFRAGE]]
*[[Siemens_MS45_CAN_Bus_(BN2000)#DISP_CC_MSG_EXT_0x???|ARBID 0x??? DISP_CC_MSG_EXT]]
*[[Siemens_MS45_CAN_Bus_(BN2000)#DISP_CC_MSG_0x???|ARBID 0x??? DISP_CC_MSG]]
*[[Siemens_MS45_CAN_Bus_(BN2000)#BOS_MELDUNG_0x???|ARBID 0x??? BOS_MELDUNG]]
*[[Siemens_MS45_CAN_Bus_(BN2000)#TORQUE_1_0x0A8|ARBID 0x0A8 TORQUE_1]]
*[[Siemens_MS45_CAN_Bus_(BN2000)#TORQUE_2_0x0A9|ARBID 0x0A9 TORQUE_2]]
*[[Siemens_MS45_CAN_Bus_(BN2000)#TORQUE_3_0x0AA|ARBID 0x0AA TORQUE_3]]
*[[Siemens_MS45_CAN_Bus_(BN2000)#ENGINE_RPM_0x322|ARBID 0x322 ENGINE_RPM]]
*[[Siemens_MS45_CAN_Bus_(BN2000)#ENGINE_1_0x1D0|ARBID 0x1D0 ENGINE_1]]
*[[Siemens_MS45_CAN_Bus_(BN2000)#GESCHWINDIGKEIT_TEMPOMAT_0x200|ARBID 0x200 GESCHWINDIGKEIT_TEMPOMAT]]
*[[Siemens_MS45_CAN_Bus_(BN2000)#WAERMESTROM_MOTOR_0x1B6|ARBID 0x1B6 WAERMESTROM_MOTOR]]
*[[Siemens_MS45_CAN_Bus_(BN2000)#POWERMANAGEMENT_BATTERIESPANNUNG_0x???|ARBID 0x??? POWERMANAGEMENT_BATTERIESPANNUNG]]
*[[Siemens_MS45_CAN_Bus_(BN2000)#POWERMANAGEMENT_VERBRAUCHERSTEUERUNG_0x???|ARBID 0x??? POWERMANAGEMENT_VERBRAUCHERSTEUERUNG]]
====TORQUE_1 0x0A8====
Refresh Rate: 10ms
*'''Byte 0 - CHK_SUM_TORQ_1_DME'''
**: 0x00 - 0xFF = Checksum TORQUE_1
*'''Byte 1 - Torque and alive counter'''
**'''Bit 0 - ALIV_TORQ_1_DME[0]'''
**'''Bit 1 - ALIV_TORQ_1_DME[1]'''
**'''Bit 2 - ALIV_TORQ_1_DME[2]'''
**'''Bit 3 - ALIV_TORQ_1_DME[3]'''
*: 0x00 - 0x0E = TORQUE_1 counter
**'''Bit 4 - TORQ_AVL[0]'''
**'''Bit 5 - TORQ_AVL[1]'''
**'''Bit 6 - TORQ_AVL[2]'''
**'''Bit 7 - TORQ_AVL[3]'''
*'''Byte 2 - TORQ_AVL'''
*: 0x00 - 0x800 = torque actual-value
*: Calculation = HEX * 0.5 (NOTE! Signed-value)
*'''Byte 3 - Torque status and torque actual-value for ETCU'''
**'''Bit 0 - ST_TORQ_AVL[0]'''
**'''Bit 1 - ST_TORQ_AVL[1]'''
**'''Bit 2 - ST_TORQ_AVL[2]'''
**'''Bit 3 - ST_TORQ_AVL[3]'''
*: 0x00 - 0x0F = status torque actual-value
**'''Bit 0 - TORQ_AVL_DMEE[0]'''
**'''Bit 1 - TORQ_AVL_DMEE[1]'''
**'''Bit 2 - TORQ_AVL_DMEE[2]'''
**'''Bit 3 - TORQ_AVL_DMEE[3]'''
*'''Byte 4 - TORQ_AVL_DMEE'''
*: 0x00 - 0x800 = torque actual-value for ETCU
*: Calculation = HEX * 0.5 (NOTE! Signed-value)
*'''Byte 5 - Bitfield'''
**'''Bit 0 - ECU_INTV_IMME[0]'''
**'''Bit 1 - ECU_INTV_IMME[1]'''
**'''Bit 2 - ECU_INTV_IMME[2]'''
**'''Bit 3 - ECU_INTV_IMME[3]'''
**'''Bit 4 - ST_DMEA_SWO[0]'''
**'''Bit 5 - ST_DMEA_SWO[1]'''
**'''Bit 6 - RCPT_ACC_SWO_SYS_DME[0]'''
**'''Bit 7 - RCPT_ACC_SWO_SYS_DME[1]'''
*'''Byte 6 - Bitfield'''
**'''Bit 0 - ST_RCPT_ENG_ACC[0]'''
**'''Bit 1 - ST_RCPT_ENG_ACC[1]'''
**: 0x00 = Status ok
**: 0x01 = Plausibility/activity error
**: 0x02 = Timeout error
**: 0x03 = No ACC installed (B_acc = FALSE)
**'''Bit 2 - ST_RCPT_ENG_ARS[0]'''
**'''Bit 3 - ST_RCPT_ENG_ARS[1]'''
**: 0x00 = Status ok
**: 0x01 = Plausibility/activity error
**: 0x02 = Timeout error
**'''Bit 4 - ST_RCPT_ENG_DSC[0]'''
**'''Bit 5 - ST_RCPT_ENG_DSC[1]'''
**: 0x00 = Status ok
**: 0x01 = Plausibility/activity error
**: 0x02 = Timeout error
**'''Bit 6 - ST_RCPT_ENG_EGS[0]'''
**'''Bit 7 - ST_RCPT_ENG_EGS[1]'''
**: 0x00 = Status ok
**: 0x01 = Plausibility/activity error
**: 0x02 = Timeout error
*'''Byte 7 - Bitfield'''
**'''Bit 0 - ST_OBD_CTFN_GRB[0]'''
**'''Bit 1 - ST_OBD_CTFN_GRB[1]'''
**'''Bit 2 - ST_OBD_CTFN_GRB[2]'''
**'''Bit 3 - ST_OBD_CTFN_GRB[3]'''
**'''Bit 4 - ST_OBD_CTFN_GRB[4]'''
**: 000** = No freeze frame saved in the master
**: 001** = Freeze frame managed for master
**: 010** = Freeze frame managed for EGS
**: 101** = Freeze frame managed for DME links
**: ***1* = Driving cycle
**: ****1 = Warm up cycle
**: 11111 = Invalid signal
**'''Bit 5 - ST_CT_BRPD_DME[0]'''
**'''Bit 6 - ST_CT_BRPD_DME[1]'''
**'''Bit 7 - ST_CT_BRPD_DME[2]'''
====TORQUE_2 0x0A9====
Refresh Rate: 10ms
====TORQUE_3 0x0AA====
Refresh Rate: 10ms
====ENGINE_1 0x1D0====
Refresh Rate: 10ms

Latest revision as of 09:27, 5 June 2024

MS45 can operate in two different CAN bus modes. CAN11h and BN2000. This page describes the BN2000 mode that is used in e6x version of the MS45. Later ECU's like MSV70, MSV80 and MSD80 in e6x and e9x chassis use same protocol. CAN speed is 500kb/s.

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



Siemens MS45 sends the following messages:

TORQUE_1 0x0A8

Refresh Rate: 10ms

  • Byte 0 - CHK_SUM_TORQ_1_DME
    • 0x00 - 0xFF = Checksum TORQUE_1
  • Byte 1 - Torque and alive counter
    • Bit 0 - ALIV_TORQ_1_DME[0]
    • Bit 1 - ALIV_TORQ_1_DME[1]
    • Bit 2 - ALIV_TORQ_1_DME[2]
    • Bit 3 - ALIV_TORQ_1_DME[3]
    0x00 - 0x0E = TORQUE_1 counter
    • Bit 4 - TORQ_AVL[0]
    • Bit 5 - TORQ_AVL[1]
    • Bit 6 - TORQ_AVL[2]
    • Bit 7 - TORQ_AVL[3]
  • Byte 2 - TORQ_AVL
    0x00 - 0x800 = torque actual-value
    Calculation = HEX * 0.5 (NOTE! Signed-value)
  • Byte 3 - Torque status and torque actual-value for ETCU
    • Bit 0 - ST_TORQ_AVL[0]
    • Bit 1 - ST_TORQ_AVL[1]
    • Bit 2 - ST_TORQ_AVL[2]
    • Bit 3 - ST_TORQ_AVL[3]
    0x00 - 0x0F = status torque actual-value
    • Bit 0 - TORQ_AVL_DMEE[0]
    • Bit 1 - TORQ_AVL_DMEE[1]
    • Bit 2 - TORQ_AVL_DMEE[2]
    • Bit 3 - TORQ_AVL_DMEE[3]
  • Byte 4 - TORQ_AVL_DMEE
    0x00 - 0x800 = torque actual-value for ETCU
    Calculation = HEX * 0.5 (NOTE! Signed-value)
  • Byte 5 - Bitfield
    • Bit 0 - ECU_INTV_IMME[0]
    • Bit 1 - ECU_INTV_IMME[1]
    • Bit 2 - ECU_INTV_IMME[2]
    • Bit 3 - ECU_INTV_IMME[3]
    • Bit 4 - ST_DMEA_SWO[0]
    • Bit 5 - ST_DMEA_SWO[1]
    • Bit 6 - RCPT_ACC_SWO_SYS_DME[0]
    • Bit 7 - RCPT_ACC_SWO_SYS_DME[1]
  • Byte 6 - Bitfield
    • Bit 0 - ST_RCPT_ENG_ACC[0]
    • Bit 1 - ST_RCPT_ENG_ACC[1]
      0x00 = Status ok
      0x01 = Plausibility/activity error
      0x02 = Timeout error
      0x03 = No ACC installed (B_acc = FALSE)
    • Bit 2 - ST_RCPT_ENG_ARS[0]
    • Bit 3 - ST_RCPT_ENG_ARS[1]
      0x00 = Status ok
      0x01 = Plausibility/activity error
      0x02 = Timeout error
    • Bit 4 - ST_RCPT_ENG_DSC[0]
    • Bit 5 - ST_RCPT_ENG_DSC[1]
      0x00 = Status ok
      0x01 = Plausibility/activity error
      0x02 = Timeout error
    • Bit 6 - ST_RCPT_ENG_EGS[0]
    • Bit 7 - ST_RCPT_ENG_EGS[1]
      0x00 = Status ok
      0x01 = Plausibility/activity error
      0x02 = Timeout error
  • Byte 7 - Bitfield
    • Bit 0 - ST_OBD_CTFN_GRB[0]
    • Bit 1 - ST_OBD_CTFN_GRB[1]
    • Bit 2 - ST_OBD_CTFN_GRB[2]
    • Bit 3 - ST_OBD_CTFN_GRB[3]
    • Bit 4 - ST_OBD_CTFN_GRB[4]
      000** = No freeze frame saved in the master
      001** = Freeze frame managed for master
      010** = Freeze frame managed for EGS
      101** = Freeze frame managed for DME links
      ***1* = Driving cycle
      ****1 = Warm up cycle
      11111 = Invalid signal
    • Bit 5 - ST_CT_BRPD_DME[0]
    • Bit 6 - ST_CT_BRPD_DME[1]
    • Bit 7 - ST_CT_BRPD_DME[2]

TORQUE_2 0x0A9

Refresh Rate: 10ms

TORQUE_3 0x0AA

Refresh Rate: 10ms

ENGINE_1 0x1D0

Refresh Rate: 10ms