Advertising:

Bosch ME7.2

From MS4X Wiki

Some of the building blocks that determine what hardware is still plugged into your Me7.2 DME is defined by a unit of code called the ESKONF find an explanation of how the ESKONF equipment identifier list works

First some setup and further context:

The ESKCONF block only pertains to devices that are driven off of 2 or 3 specific "power stage" IC's in the ECU.

Basically these 2 or 3 chips are used to drive some of the things that need 'light' current delivery, but more than purely logic-level (aka near-zero current). Primarily either 'lightweight' solenoids, or, just driving relays that drive other more heavy-duty devices to relieve the current.

However the ECU uses a whole bunch of IC's to drive devices. That is one reason we don't see more devices on this map. There are a number of other chips in the ECU driving devices, and if you're looking for a device that isn't configured with ESKONF then it likely is driven by one of those.

So don't expect to find all 'enable/disable' hardware functions in ESKONF. (There are also some things which rely on these input / outputs that wont just "turn off" by disabling the input/output via ESKONF)

And another tricky/odd bit is that in the doc we have, Bosch/BMW doesn't define the pins for one entire chip. That is whatever is "on" Byte 9 in my table below. The first 8 bytes correlate to 2 Bosch CJ920 chips and sure enough you can find those on the board and would be able to pin-trace them out if you were so inclined. The 3rd chip is supposed to be a Bosch CJ420 (heh - smoke 'em if you got 'em boys), but there appear to possibly be 2 CJ420's on the PCB, so... Odd. It may be that Bosch and BMW are obfuscating some secrets (like they hide a lot of the EWS workings...) but who knows. So we don't know what this CJ420 does exactly... and... how the second CJ420 (#bong.rip.chip) is configured... well we dont know that yet either.

Finally, and more techno-pedantically these bits, if interpreted strictly, dont actually disable the pins, but just disable the diagnosis functions. Now maybe the logic will in fact turn them off if the diag is off, and moreover probably for most people that's all they give a crap about, but, in some cases, it may be that even if these bits are turned off (well... "on" actually but 'turn off diagnosis') then the ECU will still run the logic to activate those pins, and some routine will in fact be turning it on/off as it thinks it is supposed to.... it just won't be diagnosing whether the pin is shorted out or malfunctioning etc.

On to the table...

Notes for interpretation:
  1. For layman readability, this is all "1-based index" aka start counting at "1" like normal humans, and not "0" like programmers/computers do.
  2. In F/R if it says "N/C" aka no-connection, I have shown "--" to keep table more readable/less cluttered. There are literally no output pins on the IC's that correspond to these bit-locations so they will never do anything.
  3. In F/R if it says "?" then I have left that... because... who knows what that means.. but most likely just means "available for future revisions" or "unused pin" (vs no-pin-at-all = NC)
  4. Although some of us recognize German abbrevs for many things now... I have translated the abbreviations to what commonly used US-enthusiast/tech terms or abbrevs are.
  5. Note that a number of 'systems' have multiple devices - i.e. SAI has both the pump and the valve, DMTL has both the valve and the pump (AND the purge valve on the engine actually), etc.
  6. As above - Byte 9 is a mystery, corresponds to a separate IC but none of the connections are defined for us. The "Example" is taken directly from the F/R, and all the Byte-9 'mystery' connections are turned on, oddly, where-as all other "mystery connections" are turned off... hmmm... probably means its important then...

BMW ME7.2 ESKONF Coding, Per F/R:

Bits 7&8 Bits 5&6 Bits 3&4 Bits 1&2 Example From F/R
Byte 1 Evap Purge Valve Injector 6 Injector 3 Injector 1 00 00 00 00
Byte 2 Unused Or (DMTL-H) ! Map Thermostat Injector 8 Unused 11 00 00 11
Byte 3 Electric fan Fuel pump VANOS Solenoid 1 3/2 Changover valve FPR 00 10 00 11
Byte 4 -- -- SAI Pump Unused 11 11 00 11
Byte 5 Injector 7 DMTL-H (or MiL)* Injector 2 Injector 4 00 00 00 00
Byte 6 LDP or DMTL valve Wastegate Injector 5 SAI Valve 00 11 00 00
Byte 7 AC compressor Starter relay VANOS Solenoid 2 Unused 00 00 00 11
Byte 8 -- -- Unused DMTL Pump 11 11 11 11
Byte 9  ???  ???  ???  ??? 00 00 00 00


`*` = for hardwired DMTL MiL (check engine) light, on vehicles without a CAN instrument cluster - aka no BMW's, so this does not apply (F/R says this is for "Morgan" so there must be some Morgan that runs a BMW-style ME7 ECU!?... would make sense though that the Morgan has no instrument cluster therefore needs a hard-wired MiL)

Bit-pair Coding:

What do the 2 bits mean?

The first bit is a "OBD diagnosis" flag, or whether that device triggers an OBD error aka it might throw a 'BMW' error but not show up on the OBD scan. (This, kiddies, is why Cantankerous Ol' Granpa GG always says "Use a real BMW scanner and not that OBD piece of crap!!")

The second bit German->English translates to 'healing test', and its in practice slightly more complicated than this I think, but for practical purposes we can consider it "BMW diagnosis".

So... practically, consider it to be:
First Bit Second Bit
Bit = 0 OBD errors diagnosed BMW errors diagnosed
Bit = 1 OBD diag disabled BMW diag disabled

This is why "00" = fully enabled OBD diagnosis, and "11" = fully disabled diagnosis

Have fun, geeks.