P51XAG30, Flash schreiben 80C51 Struktur

OP (Firma: Kai Weniger) #3504137
Lesenswert?

Hallo zusammen,

ich habe schon mal einen Beitrag zu dem Thema eröffnet, jedoch habe ich 
die falsche Platine erwischt wo das Hex-File rein muß.Jetzt nochmal neu 
mit einem anderen Prozessor P51XAG30 welcher wohl eine 80c51 Struktur 
hat und doppel Flash.

Also nochmal:
es betrifft eine Steuerplatine für eine Sat-Anlage auf unserem 
Wohnmobil, welche sich selbstänig ausrichtet. Beim Versuch eine 
update.hex via RS232 mit dem falschen file->falsche_Hex.S19 
einzuspielen, habe ich das Ding geschrotte.

Normalerweise funktioniert die Programmierung mit dem Flash16.exe 
Programm,
aber nach falscher Dateiauswahl geht nichts mehr. Es kommt kein 
Startbefehl vom Prozessor. Auf dem Screen steht nur : "Ready to program 
flashproms AM29F010 waiting for reset from microcontroller"

Das Board hat zwei Flashs wie im Bild zu sehen. Ich habe mal die Flashs 
ausgelötet und mit einem Programmer ausgelesen, s.h. original_main 01 
und 02.hex. Vor dem einbau werde ich die Dinger sockeln um 
evt.Vorschläge besser in die Flashs reinzubrennen.

In den ausgelesenen Dateien steht wohl nicht viel in den Flashs, sowie 
ich das erkenne, habe leider keine Ahnung von MC und Programmierung.

Meine Frage nun:

Wie kann ich das Ding wieder zu leben erwecken, bzw. wie bekomme ich die 
Update.hex in die Flashs. Brennen wäre möglich aber kommt dann in beide 
die gleiche rein ?

Ist es möglich den Prozessor anzuspupsen, sodas er ein update über RX/TX 
empfängt? s.h. Datenblatt PINs:
Pin35:(EA/VPP/WAIT) Pin33:(ALE/PROG) und Pin:32 (PSEN) wofür die auch 
immer gut sind.

Gibt es ein anderes Programm mit dem ich das Hex-File wieder einspielen 
kann ?

Der Hersteller liefert keinen Support mehr da das Ding schon 10 Jahre 
alt ist.

Ihr seit meine letzte Hoffnung,

und entschuldigung für den Fehler mit dem falschen Board auf dem aber 
auch ein 29F010 welcher gesockelt war, aber das Board mach nur die 
NIT-Auswertung der Satsignale.

LG

Kai

PS:genaue Daten sind im Bild zu sehen Habe gerade ein Fehler entdeckt:
der 22V10Z ist ein  GAL Adressenselektor, Chipselektor.
Angehängte Dateien:
#3504163
Lesenswert?

update.hex sieht wie eine HEX-Datei aus. Der Größe nach sollen 128kBytes 
gefüllt werden.

original_main.hex enthalten nur Müll.

falsche_HEX-Datei.S19 ist keine HEX Datei sondern ein anderes Format, 
vermutlich eine Abart des Motorola S19. Wenn das Update Programm das 
gefressen und programmiert hat, sollte man den Programmierer ...

Da der Prozessor 8 und 16 Bit als Datenbus Breite unterstützt, kann man 
ohne Kenntnis der Schaltung nicht sagen, wie das Update File in die 
beiden Eproms gefüllt werden muss. "Beide das Gleiche" ist mit 
Sicherheit falsch.

Den Prozessor extern wieder zu beleben wird nicht möglich sein.

Der sicherste Weg ist, ein gleiches Gerät zu beschaffen und die Eproms 
zu dublizieren. Das kannst du schaffen.

Alternativ kannst du nur versuchen, das Update File an der 64k Grenze zu 
splitten und dann untere und obere Hälfte in je eines der Eproms zu 
brennen. Dazu musst du aber wissen, welches Eprom oben und welches unten 
liegt. Und beachte, dass das update.hex Lücken enthält, die du mit 0 
oder 0xff füllen solltest. Ich habe auf die Schnelle nur 2 "Typ 2" 
Records gesehen, die die Zuordnung oben/unten machen. Sollten es mehr 
sein, muss entsprechend intelligent alles vorverarbeitet werden. Bei 
deinen Vorkenntnissen wirst du hier Probleme bekommen, die per Forum 
nicht lösbar sind.
OP (Firma: Kai Weniger) #3504191
Lesenswert?

Georg G. schrieb:
> Ich habe auf die Schnelle nur 2 "Typ 2"
> Records gesehen, die die Zuordnung oben/unten machen

Super danke für die Antwort, höhrt sich ja nach einem Hoffnungschimmer 
an.

Die Flashs sind beschriftet mit 01 und 02. Da das Programm Flash16 heist 
denke ich mal das es 16 Bit ist.

Wenn du das splitten kannst und mir evt. schicken kannst, wäre das doch 
schon mal ein super Versuch, danke danke....

mail: Kai_mehr@yahoo.de

Ps: wie hat der Hersteller die Daten darein bekommen, da die Flashs ja 
nicht gesockelt sind ?
und
es gibt kein Chance ein so seltenes Stück hier in DE zu bekommen da es 
eigentlich nur in USA verkauft wurde.

Kai

Ps: bei Erfolg soll die Mühe auch nicht kostenlos sein.
Gast #3504578
Lesenswert?

Kai Weniger schrieb:
> Ps: wie hat der Hersteller die Daten darein bekommen, da die Flashs ja
> nicht gesockelt sind ?

Die muss er vor dem Bestücken programmiert haben.
Es gibt folgende Versionen des Controllers:
P51XAG30 = ohne ROM
P51XAG33 = mit ROM
P51XAG37 = mit EPROM (UV oder OTP)

Auf Deinem Board ist also der Controller ohne ROM, also war der
Bootloader im Flash.

Hast Du mal versucht in amerikanischen Foren zu suchen / fragen?
Gast #3505092
Lesenswert?

Wie lautet denn die komplette Bezeichnug des P51XA?

Ich glaube dass das Teil auch einen Bootloader im OTP-ROM hat,
weil Flash16 anscheinend den String "?PGM" erwartet.
Der kommt aber in update.bin nicht vor.

Gibt es irgendwelche Jumper auf dem Board mit denen man
den EA-Pin für Boot von Flash/OTP-ROM einstellen kann?

Ausserdem gibt es im Reset-Vector einen Call auf eine Adresse
die nicht in Update-Bin vorhanden ist:

fcall   3:8000h

Es fehlen auch Einstellungen der System-Register.

Das Teil hat zu 99% OTP-ROM..

Sieht man was wenn man ein Terminal-Programm an das Board anschliesst?

PS: Das Sockeln der Flashs stelle ich mir etwas schwierig vor.
Wie willst Du das machen? Heissluft?
Hättest vielleicht erstmal drin lassen sollen..
OP (Firma: Kai Weniger) #3505122
Lesenswert?

rk schrieb:
> komplette Bezeichnug des P51XA

danke für deine Mühe, sie lautet P51XAG30KFA-C21992 .Einen Jumper gibt 
es leider nicht, vom Board kommt leider nichts mehr und wie du schon 
schreibst kam früher ein ?PGM.

Da ich Radio-Fernsehtechniker bin verfüge ich über eine Heissluftstation 
und auch eine IR-Station.Das mit dem löten ist für mich das kleiner 
Problem, aber von den Sachen die die oben schreibst habe ich leider 
keine Ahnung.

Wenn du Jumper brauchst bau ich dir gerne welche dran, nur wo ??

:-)
OP (Firma: Kai Weniger) #3505271
Lesenswert?

rk schrieb:
> Gibt es irgendwelche Jumper auf dem Board mit denen man
> den EA-Pin für Boot von Flash/OTP-ROM einstellen kann?

kann mann mit dem Pin 32:
Program Store Enable:
The read strobe for external program memory. When the microcontroller
accesses external program memory, PSEN
is driven low in order to enable memory devices. PSEN
is only active when external code accesses are performed

oder

Pin 35:
External Access/Wait:
The EA
input determines whether the internal program memory of the
microcontroller is used for code execution. The value on the EA
pin is latched as the external reset
input is released and applies during later execution. When latched as a 
0, external program
memory is used exclusively, when latched as a 1, internal program memory 
will be used up to its
limit, and external program memory used above that point. After reset is 
released, this pin takes on
the function of bus Wait input. If Wait is asserted high during any 
external bus access, that cycle
will be extended until Wait is released. During EPROM programming, this 
pin is also the
programming supply voltage input

evt. was anfangen ?
Angehängte Dateien:
OP (Firma: Kai Weniger) #3505292
Lesenswert?

Nö, ich weiss ja noch nicht mal wofür der gut ist und was da drauf sein 
soll.
Kann ich aber gerne tun wenns weiterhilft, ich mauß nur erst die Sockel 
verbauen die ich morgen geliefert bekomme.

Ps: mir fällt gerade noch ein:
wo das Board noch lief, kam bei dem Update am Anfang noch erase Flash, 
dann programm und dann error.

leer scheinen die Dinger ja zu sein.
Gast #3505338
Lesenswert?

Sieht so aus als würde es auch mit Flash16 klappen wenn die Flashs
erased sind, also alles 0xFF.

Dann geht der Booloader vielleicht in den Prompt.

Auf Deinen Flashs ist aktuell ja Junk drauf.
Welchen Eprommer hast Du denn? GALEP?

Auf PSEN sollten nach dem Reset ein paar Flanken kommen..
OP (Firma: Kai Weniger) #3505399
Lesenswert?

rk schrieb:
> Sieht so aus als würde es auch mit Flash16 klappen wenn die Flashs
> erased sind, also alles 0xFF.
>
> Dann geht der Booloader vielleicht in den Prompt

sowas habe ich mir auch schon überlegt und ich werde sie erstmal 
komplett löschen und dann mal probieren.

Es ist ein PCB5.0E Willem EPROM programmer. Mit dem habe ich schon 
kopien des AM29F010 auf dem anderen Board gemacht und das klappte 
reibungslos.

Nun schau ich erstmal das ich die Sockel darein bekomme, danke, danke, 
danke.

PS: ganz ohne Flashs kam auch kein PGM.
OP (Firma: Kai Weniger) #3508987
Lesenswert?

Hallo nochmal an alle,

habe heute festgestellt, das beim auslesen der Flashs was schief 
gegangen ist, Die Platine war mit einem leichten Film Schutzlack 
überzogen und dadurch haben die Flashs im Eprommer keinen richtigen 
Kontakt gehabt.

Anbei jetzt nochmal die HEX und Bin der beiden Flashs.

Sie sind nicht ganz leer, ich habe an der Stelle 006FC2 und 0X1C000 
Daten gefunden. evt. ist das ja ein Bootloader ????

Kai
Angehängte Dateien:
OP (Firma: Kai Weniger) #3512204
Lesenswert?

so jetzt habe ich die angehängten Dateien mit Bootloader in die Flashs 
gebrannt mit mäßigem Erfolg, und zwar:

Jetzt scheint das Ding schon mal zu booten und macht einen kleinen 
Initialisierungslauf, bleibt stehen und fängt wieder von vorne an. Auf 
dem RS232 Port ist leider mit dem Terminalprogramm nichts zu sehen, kein 
PGM etc.. Mit dem Oszi. kann mann Datenpakete erkenn.

hat jemand noch ne Idee was da noch falsch ist in den Dateien ?
Angehängte Dateien:
Gast #3512486
Lesenswert?

>also mit dem Testprogramm passiert nichts,
>egal in welcher Reihenfolge ich die Chips reinpack.
>die Chips heissen AM29F010B-120 JC und JD, die originalen -90 Jf

In meinem XA51-Board war für 22.1184 MHz ein AM29F040-55 drin
und es läuft auch mit einem AT49F512-90, aber 120 ns?
Sind die /CE Pins auf GND?

Hast Du jetzt mal gecheckt ob die Address-Pins und /CE /OE /WE
der beiden Sockel untereinander Verbindung haben?
Und die Daten-Pins Verbindung zum XA51 haben?
OP (Firma: Kai Weniger) #3512506
Lesenswert?

rk schrieb:
>>also mit dem Testprogramm passiert nichts,
>>egal in welcher Reihenfolge ich die Chips reinpack.
>>die Chips heissen AM29F010B-120 JC und JD, die originalen -90 Jf
>
> In meinem XA51-Board war für 22.1184 MHz ein AM29F040-55 drin
> und es läuft auch mit einem AT49F512-90, aber 120 ns?
> Sind die /CE Pins auf GND?
>
> Hast Du jetzt mal gecheckt ob die Address-Pins und /CE /OE /WE
> der beiden Sockel untereinander Verbindung haben?
> Und die Daten-Pins Verbindung zum XA51 haben?

Hab ich noch nicht, werde ich aber morgen machen.Die Daten Pins sind die 
mit DQ0-7 oder A0-16 ? an welche Eingänge des Prozessors gehen die ?

soll ich evt. einfach doch mal die Original Flashs mit 90ns 
überschreiben anstatt der 120ns Flashs die ich jetzt drin habe, oder 
doch noch lieber liegen lassen als Reserve ? ausgelesen sind sie ja 
jetzt.
#3512727
Lesenswert?

Eproms sind eigentlich bei Raumtemperatur immer schneller als angegeben. 
Aber ein Test mit den originalen Teilen kann nicht schaden. Die sind ja 
eh verflasht.

Ich würde alle Lötstellen an den Eproms mit einer Lupe kontrollieren, 
vorher am besten mit Isopropanol die Reste von Flussmittel entfernen.

Wenn an der seriellen Schnittstelle Signale erscheinen, kann man mit 
einem Terminal Programm die gängigen Baudraten durchprobieren. Eventuell 
hilft die Meldung dann weiter.
(Firma: 100nF 0603 X7R) #3512737
Lesenswert?

Der Benutzer 'kaimehr' hat Ihnen die folgende Nachricht geschickt:
====================================
Hallo,
bitte schauen Sie sich mal meinen weiter Thread an, evt. können Sie da
weiterhelfen:
Beitrag "80C320 programmieren, bzw update einspielen"
MfG
Kai Weniger
====================================

Bitte nicht die Leute direkt anschreiben, nur weil sie auch versucht 
haben zu helfen.
Wenn ich hätte weiter helfen können, hätte ich es getan.
Aber ich habe echt keine Zeit, mich in den P51XAG30 einzuarbeiten.
Das Ding ist mir viel zu exotisch.
OP (Firma: Kai Weniger) #3513493
Lesenswert?

rk schrieb:
> Sind die /CE Pins auf GND?
nein

> Hast Du jetzt mal gecheckt ob die Address-Pins und /CE /OE /WE
> der beiden Sockel untereinander Verbindung haben?
/CE ja /OE ja /WE nein

> Und die Daten-Pins Verbindung zum XA51 haben?

DQ 0-7 gehen alle u.a. an den XA51 und haben Verbindung.

Habe nochmals alles gesäubert und mir unter einem Stereomikroskop die 
Lötstellen angeschaut, alles OK.
OP (Firma: Kai Weniger) #3516271
Lesenswert?

Hallo nochmal an alle,

Dank der mithilfe von rk(Gast) läuft die Schüssel wieder einwandfrei, 
Ursache war nun eine fehlende GND Verbindung und das die 
Originalbeschriftung an der Schüssel für RX/TX vom Hersteller falsch 
bedruckt wurde (vertauscht).

Danke nochmal an alle die sich mit um das Problem gekümmert haben.Ohne 
das Forum hier wäre das Ding schrott gewesen.

Kai...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren