HML 087 PROM

OP #6746911
Hallo Community

Da es sich um meinen ersten Post handelt, stelle ich mich hier kurz vor.
Ich arbeite als Fahrzeugelektriker in einem Betrieb welcher sich mit 
sehr alten sowie auch sehr neuen Fahrzeugen herumschlägt. :)
Durch das ich immer wieder mit Elektronik in Berührung komme, bin ich 
irgendwann auf dieses Forum gestossen. Bis jetzt nur als stiller Leser 
und nun als Mitglied.
Meine Erfahrung in Sachen Elektronik besteht aus Ausprobieren und das 
kleine bisschen welches wir über Transistoren, PROMS, Kondensatoren 
etc... in der Schule gelernt habe.
Gerne aber teile ich mein Wissen in Fahrzeug Elektrik, Mechanik, 
Mechatronik etc... :)

Nun zu meiner ersten Frage...

Wir haben momentan einen alten BMW E30 M3 bei uns in der Werkstatt. Bei 
diesem ist der Codierstecker im Kombiinstrument defekt. Dieser kleiner 
Codierstecker hat ein PROM drin mit der Bezeichnung HML 087. Dieses PROM 
scheint defekt sein. Wir konnten ein Ersatz Codierstecker von jemandem 
ausleihen mit welchem das Kombi wieder funktioniert. Nun braucht aber 
der andere seinen Stecker wieder und wir würden gerne das PROM auslesen 
welches funktioniert.

Leider finden wir kein Datasheet mit der Bezeichnung im Internet.
In der Suchfunktion dieses Forums, habe ich dann tatsächlich ein Post 
gefunden bei dem jemand bereits mit dem HML087 gekämpft hat und auch 
Erfolg hatte.
Die Anschlussbelegung dieses HML087 ist:
1- Clk
2- ? (an GND)
3- CS
4- ? (an GND)
5- ? (an GND)
6- SDO
7- ? (an GND)
8- +5V
(Anschlussplan aus dem Forum)
Ich habe das Kombi mal probehalber bei mir am Arbeitsplatz angehängt und 
konnte die Klemmen 31 wie oben beschrieben messen. Auf den Pins 1,6 und 
8 habe ich stets 5V gemessen. Der Pin 3 (CS) hatte keine Spannung 
anliegend.
Da unser Programmiergerät (Elnec Smartprog2) das HML nicht hinterlegt 
hat, können wir dies so nicht auslesen. Tipps wie es trotzdem klappen 
könnte? Es scheint kein Ding der Unmöglichkeit zu sein...
Beni Z. schrieb:

> Wir haben momentan einen alten BMW E30 M3 bei uns in der Werkstatt. Bei
> diesem ist der Codierstecker im Kombiinstrument defekt. Dieser kleiner
> Codierstecker hat ein PROM drin mit der Bezeichnung HML 087.
Vermutung ist serielles EEPROM entweder 93C46 SPI oder 24C02 I2C bzw. 
Verwandte mit mehr Speicher.
Nur Clock an 1 Passt eher nicht.

Jemanden mit Logic-Analyzer suchen und die Impulse beim funktionierenden 
mitschnüffeln?
Ggf. geht auch ein DigiScope mit eingebauter SPI/I2C Dekoderfunktion.

Läuft das Instrument auch ausgebaut auf dem Werkstatttisch oder muss der 
Karren dran hängen?

https://electronics.stackexchange.com/questions/318565/help-to-identify-this-ic-chip

Butzo*aussen
OP
Könnte ich das Prom auf ein kleines Entwicklerboard stecken, mit Kabel 
in das Auslesegerät und ein Prom mit desselben Anschlüssen auswählen und 
so versuchen auszulesen?

Ne, das Kombi funktioniert auch auf dem Arbeitsplatz wen ich die 
entsprechenden Signale draufgebe.
OP
Hallo

Herzlichen Dank für dein Angebot. Wir konnten nun einen Occ. finden für 
unseren Kunden. :)

Die Neugierde ist aber noch immer da.
Habe nun einen günstigen Logic Analyzer bestellt und versuche das ganze 
mal auszulesen, bzw. was muss passieren wen wo welche Spannung anliegt.
Mir ist noch eine Idee durch den Kopf geschossen, muss aber zuerst ein 
paar Teile kaufen dafür. :)
OP
kleines Update... Konnte das mit einem Saleae-Clone auslesen.

Auf dem Eingang 1, CLK
Auf dem Eingang 2, CS
Auf dem Eingang 3, SDO

Irgendwie müsste ich nun diese Daten auf dem SDO ,,rauskitzeln'' können 
wen ich mein Brenner anhänge... Ideen?

Grüsse aus der CH
Angehängte Dateien:
OP
Wie meinst du das? Habe das Prom auf eine Entwicklerplatine gesteckt, 
einzelne Drähte zum Auslesegerät gezogen und dann wie ein 93C46 
ausgelesen. Ob das eine gute Variante ist, kann ich nicht sagen, bzw. ob 
ich alle Daten erwischt habe...
OP
Da scheiterts bei mir nun. Hier bräuchte ich nun Hilfe. :)
Was brauche ich hierfür? Ich habe ein paar kleine Microcontroller da.
Attiny 13-20Pu, 8bit DIL8.
Ein Arduino Uno, welches man ja anscheinend mit einem Bootloader in ein 
Programmiergerät umwandeln kann, ist auch vorhanden. Aber wie ich diese 
Spannungssignale umwandle, für das bräuchte ich eine Erklärung oder 
Anleitung.
Gast
Beni Z. schrieb:
> Was brauche ich hierfür? Ich habe ein paar kleine Microcontroller da.
> Attiny 13-20Pu, 8bit DIL8.

Geeignet.


> Ein Arduino Uno, welches man ja anscheinend mit einem Bootloader in ein
> Programmiergerät umwandeln kann, ist auch vorhanden.

Wohl auch geeignet.


Ich muss nachsehen was ich in der Richtung da habe, dann schreib ich dir 
die paar Zeilen. Ich will nur selbst testen können.
OP
Cool, dankevielmal!
Aber... wie bringe ich das nun auf den Attiny (sorry, Laie...) Das mit 
dem Verdrahten habe ich verstanden...

und was für Infos benötigst du nun noch?

Zudem nehme mich jetzt noch Wunder, wie du das gemacht hast? :)
Gast
Beni Z. schrieb:
> Aber... wie bringe ich das nun auf den Attiny

Wie man das mit einem Arduino macht, das must du andere fragen.


> und was für Infos benötigst du nun noch?

Du hast da ein 64-Bit ROM, was der nötige Inhalt ist, das musst du mir 
schon mitteilen. In die Firmwaredatei hab ich AA55AA55AA55AA55 
geschieben, das passt sicher nicht, das diente nur dem Test bei mir.
Gast
Beni Z. schrieb:
> Ich gehe davon aus dass du die genauen Infos möchtest welches das
> Prom
> dem Prozessor weitergibt?

Natürlich.


> Da habe ich legendlich das zweite Bild oben. (das ausgelesene aus dem
> PROM)

Das passt aber nicht zum ersten Bild, und ist auch sonst nicht 
plausibel.
Gast
Also ich kann da folgenden Inhalt ermitteln:

AC 05 00 00 00 A0 1A 7B

Oder als 64-Bit Zahl 7B1AA00000005AC

So werd ichs morgen mal eintragen und gegenkontrollieren.
Gast
So, nach ein paar kleinen Korrekturen scheint es zu passen.

Code ist jetzt: AC 05 00 00 C0 16 1A 7B


Ach ja: den Reset-Pin des ATTINY sollte man noch wie üblich beschalten.
Angehängte Dateien:
Hallo,

ich habe ca. 300x HML087 in meinem Bestand. Über den Inhalt bzw. ob der 
mit Deinem Exemplar identisch ist, kann ich allerdings nicht viel sagen.
Wenn Du einen Versuch machen möchtest, schicke ich Dir gern ein paar 
Exemplare zu.

VG

Andreas
Richard hat sich bereit erklärt, die ICs in seine Warteschleife 
aufzunehmen. Mal sehen, ob sich da neue Erkenntnisse ergeben.

Hersteller könnte vielleicht EM Microelectronic gewesen sein. 
Bedruckung, Lead frame und Verkappung weisen gewisse Parallelen zu 
anderen ICs dieser Firma auf (zumindest zu denen in meinem Bestand).

VG

Andreas

H. H. schrieb:

H. H. schrieb:

So, nach ein paar kleinen Korrekturen scheint es zu passen.

Code ist jetzt: AC 05 00 00 C0 16 1A 7B

Doch noch einen Fehler entdeckt:

AC 05 00 00 A0 16 1A 7B

Guten Tag! Ich entschuldige mich für mein Deutsch, ich lebe in der Ukraine...

Sie haben großartige Arbeit geleistet! Vielen Dank dafür!

Es gibt eine Bitte, wenn möglich, den Quellcode zu teilen. Ich verwende ein Arduino, aber seine Geschwindigkeit ist sehr hoch, und ich kann die gelesenen Daten nicht übertragen (der Analysator sieht nur FF ) ... Für die weitere Arbeit wäre es gut, den Quellcode zu haben, um ihn zu bearbeiten und einzufügen in Attiny13

Wenn es nützlich ist, habe ich Folgendes gelesen (1385364) 9D 05 00 00 60 02 1A 19

Ich entschuldige mich für mein Deutsch, ich lebe in der Ukraine... Sie haben großartige Arbeit geleistet! Vielen Dank dafür! Es gibt eine Bitte, wenn möglich, den Quellcode zu teilen. Ich verwende ein Arduino, aber seine Geschwindigkeit ist sehr hoch, und ich kann die gelesenen Daten nicht übertragen (der Analysator sieht nur FF ) ... Für die weitere Arbeit wäre es gut, den Quellcode zu haben, um ihn zu bearbeiten und einzufügen in Attiny13 Wenn es nützlich ist, habe ich Folgendes gelesen (1385364) 9D 05 00 00 60 02 1A 19

Try using a hex editor on the posted hex file above.

Wf88 schrieb:

Ich entschuldige mich für mein Deutsch, ich lebe in der Ukraine... Sie haben großartige Arbeit geleistet! Vielen Dank dafür! Es gibt eine Bitte, wenn möglich, den Quellcode zu teilen. Ich verwende ein Arduino, aber seine Geschwindigkeit ist sehr hoch, und ich kann die gelesenen Daten nicht übertragen (der Analysator sieht nur FF ) ... Für die weitere Arbeit wäre es gut, den Quellcode zu haben, um ihn zu bearbeiten und einzufügen in Attiny13 Wenn es nützlich ist, habe ich Folgendes gelesen (1385364) 9D 05 00 00 60 02 1A 19

Try using a hex editor on the posted hex file above.

I have try this before add new record to forum and not found anything...

Maybe I'm wrong, but hex editor only display microcontroller firmware in hex, but "AC 05 00 00 A0 16 1A 7B" it's bytes that compiled to firmware.

Oh, sorry. This is an ascii encoded hex file, not a binary image.

You could use notepad editor or similar to find the byte sequence and replace.

If you cant find, writing the c program should be done within a couple of minutes...

Wf88 schrieb:

Oh, sorry. This is an ascii encoded hex file, not a binary image.

You could use notepad editor or similar to find the byte sequence and replace.

If you cant find, writing the c program should be done within a couple of minutes...

No any manipulations with .hex helped me to found and replace target bytes...

It's new for me, I can write some code on python, or some code for ESP8266, ESP32 or Arduino in Arduino IDE, but hard to switch without experience...

I have disassembled hex with AVR studio, but with ASM it's even harder to change :)

I'm sure it's a very simple task on C, but it's hard to solve by switching from the Arduino platform, because syntax is different...

H. H. schrieb:

Andrey N. schrieb:

I'm sure it's a very simple task on C, but it's hard to solve by switching from the Arduino platform, because syntax is different...

I used BASCOM-AVR, much more different...

May I ask you to share project file for BASCOM-AVR? If it's not hard for you... or at least initiation and transferring bytes using SPI pins... Because I don't found how Attiny13 can send bytes through SPI

Much more easy to change only couple bytes and compile program in new IDE, than try to write new one in another new IDE with zero knowledges how ATtiny13 should send bytes to cluster...

Gast

Andrey N. schrieb:

May I ask you to share project file for BASCOM-AVR?

I can send you the source via PM.

If it's not hard for you... or at least initiation and transferring bytes using SPI pins... Because I don't found how Attiny13 can send bytes through SPI

I did not use SPI, but polling.

Kapier es immer noch nicht ganz.

Also du hast ja die Sequenz "AC 05 00 00 00 A0 1A 7B" rausgelesen.

Also: 10101100 - AC 00000101 - 05 00000000 - 00 00000000 - 00 00000000 - 00 10100000 - A0 00011010 - 1A 01111011 - 7B

Aber WO sind da die Werte im LA? Kann mir das wer einzeichnen?

Leider ist meine PN nicht beantwortet worden :-(

Angehängte Dateien:

Gut und schön. LSB zuerst - OK: 1.Byte 10101100 - AC - OK 2.Byte 00000101 - 05 - OK 3.Byte 00000000 - 00 - OK 4.Byte 00000000 - 00 - OK 5.Byte 00000000 - 00 - Ok 6.Byte 10100000 - A0 -> ? Da lese ich: 00010110 also 16 7.Byte 00011010 - 1A -> OK 8.Byte 01111011 - 7B -> OK

Angehängte Dateien:
(Firma: KE)

Hello All,

Hope it is OK to post in English. Great thread, especially the decapping of the IC by Richard K! I searched for persons to do this and finally found one :-).

For me there are some unclear points. Did you people find out which protocol is used? I2C or SPI. It seems 1 data line is used for output, clock and chip select which would suggest SPI. Why no data INPUT is used towards the chip? I would at least expect that an address needs to be requested towards the serial eprom before it can send data.

Bought aftermarket coding plugs to work with 8k rpm tacho and 6 cylinders but the chip has been grind to avoid ID of the chip.

Best regards, Tomba

Gast

Tom schrieb:

I2C or SPI.

Neither, nor. It's a simple shift register.

Why no data INPUT is used towards the chip?

Inputs are clock and reset.

There's no information about programming this vintage EEPROM available.

Gast

Tom schrieb:

Thanks for your quick reply. do you perhaps know which replacement chip is used by others providing new coding plugs on ebay?

Maybe they use the ATtiny13A too. The power supply pins are at same position, and with HV programming it's possible to make a drop in replacement.

(Firma: KE)

I completely missed the ATtiny13A function in this thread, I was thinking it was used to read out the HML 087 chip. Not to be programmed for similar use. It now makes much more sense! Again thanks for your time and explanation.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 5 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.