Siemens MS43 DME

From BMWeb Wiki

Siemens MS43
UnitEngine computer (DME)
CarsE46 six-cylinders, 2001-2003
CPUInfineon C167
Software readMS430069
Gearbox messages0x43D AMT1, 0x43F EGS1
Faults covered134, 129

The engine computer of the 2001-2003 E46 six-cylinders. This page covers its side of an automated gearbox: the 0x43D frame, fault 134, and how it learns which gearbox it has. Read from software MS430069 with a stock calibration.

CAN messages

The DME's message objects fix what it can hear. Anything else on the bus is ignored, under any name. firmware

DirectionIdentifiers
Receives0x43F EGS1 (automatic), 0x613 and 0x615 (cluster), 0x153 and 0x1F3 (DSC), 0x43D AMT1 (automated manual), 0x1F5 (steering angle)
Sends0x316, 0x329, 0x545

Which gearbox it thinks it has

The DME is not coded for a gearbox and never reads the vehicle order. It learns the variant from the bus and keeps it.

  • One bit is all diagnostics show. ECU_CONFIG's EGS_VORHANDEN and GE_VORHANDEN are the same bit (response byte 3, mask 0x10): a CAN gearbox is present. Nothing in the diagnostic description says whether it is an automatic or an automated manual, and no job writes it. BMW data
  • With 0x43F on the bus it learns a CAN gearbox; take 0x43F away, clear the learned variants with ADAPT_VARIANTEN_LOESCHEN, and after a power cycle the bit reads 0 again. field report
  • Once learned it is kept until ADAPT_VARIANTEN_LOESCHEN clears it. field report

Fault 134

"SSG-Eingriff unplausibel" is three monitors under one code. The fault-type byte says which. BMW data

TypeTextOBD
0x7DSSG-Eingriff unplausibel: the frame's state is impossibleP1670
0x7ESSG-Moment unplausibel: the torque request does not fitP1653
0x7FTimeout Message Counter: the alive counter stoppedP1654

A missing 0x43D is a different fault, 129 "Timeout SSG-Botschaft". So 134 means the frame arrives and its content is rejected.

The freeze frame stores STATE_AMT (0x8F), STATE_ERR_AMT (0x90), the DME's own torque TQI (0x91) and the gearbox's torque TQI_AMT (0x92). The two torques are stored at 4.01176 Nm per bit, which is the freeze frame's scale, not the frame's. BMW data

STATE_ERR_AMT

One routine writes it every 10 ms from the last 0x43D. The fault sets after about 0.2 s in an error state. firmware

ValueCause
0x00Plausible
0x01No shift flagged, but STATE_AMT is not 0, or the torque byte is 10 Nm or more
0x11Shift flagged with STATE_AMT 0 and byte 0 bit 7 clear
0x10Shift flagged, STATE_AMT 0, bit 7 set, but torque above 0 or road speed above about 15 km/h
0x20Shift state held too long: state 1 or 3 over 2.3 s, state 2 over 5.8 s
0x21State 1 or 3: requested torque more than 60 Nm above actual for over 0.35 s
0x22State 2: clutch field 3 for over 0.2 s
0x30Byte 6 checksum wrong
0x40Frame missing
0x50Counter unchanged for 0.25 s

Other values, such as 0x48, are not written by this routine.

The 0x43D frame

As the DME reads it. firmware

ByteBitsMeaning
00-2Gear
03LV_GS, shift in progress
05-6STATE_AMT, the shift state (read as (byte0 >> 5) & 3)
07Checked together with LV_GS, see 0x10 and 0x11 above
3allRequested torque, absolute, 1.5625 Nm per bit (400 Nm full scale)
50LV_GP, gearbox protection: invokes the road-speed limit c_vs_max_amt
52-5Alive counter, one step per frame
56-7Clutch state
6allChecksum: 0xFF - min(0xFF, byte3 + counter)

When no shift is in progress

Every 10 ms. This clears fault 134 with the engine off and running. field report

  • Byte 0: gear in bits 0-2, LV_GS 0, STATE_AMT 0.
  • Byte 3: 0x00. A "neutral" 0xFF reads as about 398 Nm and gives a permanent 0x01.
  • Byte 5: the counter in bits 2-5, the clutch state in bits 6-7.
  • Byte 6: 0xFF minus the counter, since byte 3 is 0.

During a shift

  • Byte 0 = gear | 0x08 | (STATE_AMT << 5), with STATE_AMT 1, 2 or 3. LV_GS and STATE_AMT go up together and down together; LV_GS on its own is never valid.
  • Byte 3 = the torque wanted, never more than 60 Nm above what the engine makes for longer than 0.35 s.
  • Byte 6 recomputed every frame.
  • Finish inside 2.3 s in states 1 and 3, 5.8 s in state 2, and in state 2 do not report clutch state 3 for more than 0.2 s.

See also

  • Diagnostics and the K line - How the E46-era units talk on the K line, what their answers mean, and what the cables and adapters in between can carry