EDC15P+


Inhaltsverzeichnis


Bilder

Die unten aufgeführten Bilder der ECU sollen dazu dienen, eine Vorstellung davon zu bekommen, um welche ECU es sich handelt. Des Weiteren könnten sie helfen, wenn nach einem zu schnellen Zerlegen bzw. Auslöten die Frage nach der Bauteilanordnung im Raum steht. Die meist gestellte Frage in diesem Zusammenhang ist:
"Wo ist Pin 1?". Die gezeigten Fotos können nicht alle Revisionsstände der Steuerung abdecken, darum sollten sie eher als Beispielbilder gesehen werden.


Oben


Unten


Anschluss


Platine oben


Platine unten


Prozessor Position


EEPROM Position



Pinbelegung


Slot Pin Beschreibung Bemerkung
T81 1 Zündung KL15 (geschaltetes Plus)
T81 2 Zündung KL15 (geschaltetes Plus)
T81 4 Masse/GND KL31 (Fahrzeugmasse)
T81 5 Masse/GND KL31 (Fahrzeugmasse)
T81 6 CAN-Low High-Speed-CAN (500 kbit/s) (nicht für Diagnose)
T81 7 CAN-High High-Speed-CAN (500 kbit/s) (nicht für Diagnose)
T81 16 K-Line
T81 37 Dauerplus KL30 (Dauerplus)


Memory

Hardware:

Hardware Name
µController B59388
EEPROM ST24C04

Layout:

Type method R/W Memory starting from Memory size (Byte) Comment
Flash ext.Prog 0x0 0x80000 512KB
EEPROM ext.Prog 0x0 0x200 512Byte


EEPROM dump setup


In order to catch data losses, the data is stored redundantly.



OMI function:

//Only supported when ECU use WFS3.
unsigned int getOmi_1(void)
{
  return dump[0x1B0];
}

unsigned char getOmi_2(void)
{
  return dump[0x1DE];
}
...

//omi On  -> omiByte = 0x73;
//omi Off -> omiByte = 0x60;
void setOmi_1(unsigned char omiByte)
{
  dump[0x1B0] = omiByte;
}

void setOmi_2(unsigned char omiByte)
{
  dump[0x1DE] = omiByte;
}



WFS-Code:

//Only supported when ECU use WFS3.
unsigned short getWFSLogin_1(void)
{
  return dump[0x12F] * 0x100 + dump[0x12E];
}

unsigned short getWFSLogin_2(void)
{
  return dump[0x161] * 0x100 + dump[0x160];
}



Mileage of engine control unit:

//Some ECUs do not use this, then the bytes always have the value 0x00.
unsigned long getKM_1(void)
{
  return ( ((dump[0x1C2] & 0x0F ) * 0x1000000)  +  dump[0x1C1]  * 0x10000  +  dump[0x1C0]  * 0x100  +   dump[0x1BF] ) * 10; //unit meter
}

unsigned long getKM_2(void)
{
  return ( ((dump[0x1F0] & 0x0F ) * 0x1000000)  +  dump[0x1EF]  * 0x10000  +  dump[0x1EE]  * 0x100  +   dump[0x1ED] ) * 10; //unit meter
}


Beispiel Dump Download


Es gibt jede Menge verschiedene Datenstände für die ECU. Dies ist nur ein Beispiel.