Forum: Mikrocontroller und Digitale Elektronik ELV UP2000-Programmer: Probleme beim Programmieren von M27C801


von Johannes B. (jbaiter)


Angehängte Dateien:

Lesenswert?

Ein Kollege und ich haben uns vor kurzem ein Gerät der oben genannten 
Marke gekauft um für ein Projekt an dem wir arbeiten einige EEPROMs der 
Sorte M27C801 [1] zu beschreiben. Betrieben wird er unter Windows XP an 
einem RS232 auf USB Adapter, die Betriebssoftware ist die aktuellste 
Version 1.33 die wir vor einigen Tagen direkt von ELV geschickt bekamen.
Nachdem wir im Programm diese genaue Bezeichnung nicht gefunden hatten 
stellten wir als ROM-Art "27C8001" ein, in der Annahme dass das trotz 
der 0 zu viel das selbe wäre.
Schien auch ganz gut zu klappen, der Leertest lief ohne Fehler durch, 
als wir jedoch versuchten das ROM zu programmieren traten ab etwa 7% 
Fortschritt Fehlermeldungen wie "Keine Antwort von Programmer" und 
"Falsche Anzahl Daten vom Programmer" auf, die wir mit einem Klick auf 
"Retry" wegklickten, was den Programmierer dann dazu bewegte 
weiterzumachen. Beim Vergleichen der geschriebenen Daten mit dem Puffer 
stellte sich dann jedoch heraus dass manche Speicherbereiche (ich 
schätze mal im Größenbereich einiger hundert Byte) entweder garnicht 
(d.h. 0xFF) oder mit falschen Daten beschrieben waren.
Bei der Fehlersuche habe ich mir dann mal die Konfigurationsdatei für 
das 27C8001 angesehen (Bausteine/EPROM 8-Bit/Allgemein/27C8001.up, ich 
habe es mal angehängt) und mit dem Datenblatt verglichen, die 
Pinbelegung schienen alle zu stimmen (der Lesevorgang klappt ja 
scheinbar auch problemlos), nur der Programmier Puls war mit 100μs 
doppelt so hoch wie im Datenblatt angegeben, eine Änderung desselben 
brachte jedoch keine Besserung.

Hat jemand eine Idee was diese Probleme beim Schreiben auslösen könnte 
bzw wie man dem ganzen auf die Schliche kommen könnte? Stellt der RS232 
auf USB Adapter evtl ein Problem dar? Oder gibt es tatsächlich einen 
unterschied zwischen dem 27C8001 und unserem M27C801 (ich konnte leider 
kein Datenblatt zum Vergleich finden)?

----
[1] 
http://www.datasheetcatalog.org/datasheet/stmicroelectronics/4377.pdf

von Frank S. (franksanderdo)


Lesenswert?

Hi Johannes,

also wenn ich mich net vertue, dann zeigt dein 27C8001.up ein par kleine 
Macken:

VPP Pin ist laut Datenblatt vom M27C801 auf 24 nicht auf 28.
Auch die Datenpins sind verschoben!? Zwischen D2 und D3 sollte die Masse 
liegen!
Da stimmt was nicht!!

Hab jetzt nicht alle durchgeschaut, aber die Zuordnung verwirrt mich 
gerade.

An sonsten fält mir auf das Du die falschen Programmierspannungen nutzt:
Laut Datenblatt 12.75 und 6.25. Auch wenn ich nicht glauen mag das die 
0.25V den Kohl fett machen ;-)

Ich tippe da heftigst auf die verschobenen Pins.

Grüße
Frank

von Johannes B. (jbaiter)


Lesenswert?

Hallo Frank, danke erstmal für die zügige Antwort :-)
Die Idee mit den Pins kam mir auch schon, nach einigem 
Dokumentationswälzen des UP2000 kam dann jedoch heraus dass die 
Pinbelegung in den Konfigurationsdateien vom Sockel ausgeht, und da das 
Bauteil unten bündig eingesetzt wird und der Sockel 40 Pins hat erklärt 
sich daraus die Differenz von 4 Pins.
Das mit der Programmierspannung hatte ich vergessen zu sagen, die erste 
habe ich bei meiner kleinen Modifikation auch mit verändert auf 12.75V, 
hat anscheinend nichts gebracht. Laut der UP2000 Dokumentation werden 
als VPP Spannung nur 5V oder 6V unterstützt, über Zwischenwerte konnte 
ich nichts rausfinden, und das auszuprobieren hab ich mich dann 
irgendwie auch nicht getraut. Laut Datenblatt unterstütz das M27C801 ja 
auch "6.25V +/- 0.25V", die 6V sollten damit also noch knapp im Rahmen 
sein.

von Frank S. (franksanderdo)


Lesenswert?

SO ich habe jetzt noch mal gestöbert und gegrübelt:

Die Pinbelegung scheint zu stimmen.
Sorry da habe ich mich verwirren lassen.

Damit bleibt der Verdacht auf falsche Spannung und falscher Programmier 
Algorythmus.

Ich habe aber beim Stöbern gelesen das einige Leute Kummer mit dem 
Programmer hatten. Da hat es offensichtlich Softwareupdates gegeben um 
einige der Sorgen zu beheben ;-)

Grüße
Frank

von Frank S. (franksanderdo)


Lesenswert?

Hallo Johannes,

änder mal die Durchläufe auf 25 und den Progpuls auf 50

Stelle bitt auch scher das dein Datenkabel net zu lang ist und das deine 
Spannugnsversorgnung am Prommer beim Brennen nicht einbricht.

Danach gehen mir leider ohne Oscar / Logicanalyser ein wenig die Ideen 
aus.

Wenn Du eine Beschreibung für die Config Dateien hast schick mir die 
bitte mal.

edit: Ich seh gerade das /G UND /E 0 sein müssen zum lesen.
Kannst Du nachmessen das der das wirklich so macht?
evtl. dann auch prüfen das der /E ordentlich auf 0 pulst beim Brennen 
wärend der /G auf 12V ist.

Grüße
Frank

von Johannes B. (jbaiter)


Angehängte Dateien:

Lesenswert?

Hallo Frank,
Progpuls auf 50 und Durchläufe auf 25 brachten keine Änderung :-/
Das Datenkabel ist knapp 30cm lang, ich denke nicht dass es an der Länge 
liegt.
Wie kann ich denn überprüfen ob die Spannung beim Brennen einbricht? 
Multimeter an die Slots? Selbiges für die Spannung während dem 
Schreiben, einfach Multimeter während dem schreiben an betroffene Pins 
hinhängen?
G und E dürften durchaus 0 sein beim Lesen, da es ja ohne Probleme und 
Fehlermeldungen klappt, nur das Schreiben funktioniert nicht so wie es 
soll.

Wegen Beschreibung für die Config-Dateien, ich hab dir mal die 
UP2000.HLP Hilfe-Datei angehängt (bewege mich grade unter Linux wo es 
scheinbar ein Ding der Unmöglichkeit ist aus den Teilen den Text zu 
extrahieren...). Wenn das aus Copyrightgründen ein Problem darstellt 
kann ich das auch gerne privat per Mail schicken!

von Frank S. (franksanderdo)


Lesenswert?

Hallo Jochen,

Multimeter reicht da wahrscheinlich nicht. Osciloskop haste keines 
vermute ich.
Puh nu wird es langsam schwer.

Ich versuche nachher mal mir die Hilfe anzuschauen.

Grüße
Frank

von Umpa Lumpa (Gast)


Lesenswert?

>die Betriebssoftware ist die aktuellste
>Version 1.33 die wir vor einigen Tagen direkt von ELV geschickt bekamen.

Wo bei ELV hast du da denn angefragt?

Gruß

von Fabian (Gast)


Lesenswert?

Wir haben direkt beim ELV-Service eine Anfrage zu Technischen Fragen 
gesendet. Woraufhin ELV uns diese Software sandte.

Grüße

von Ingolf O. (headshotzombie)


Lesenswert?

Ich würde der Geschichte mit dem seriell-USB-Adapter nicht trauen...
Nimm daher mal alte Hardware mit COM-Port zum Testen.

von Frank S. (franksanderdo)


Lesenswert?

Hallo Johannes,

sorry hat etwas gedauert.
Also die Datei sieht gut aus. (Ja Du sagtest das schon vorher, aber ich 
bin halt manch mal ein Control freak ;-) )

Der UL programmiert zwar nicht 100% wie das Datenblatt es fordert, aber 
das darf eigentlich kein Problem sein. Als Ausgleich für deren MARGIN 
MODE tun wir nachbrennen.

Damit komme ich auch zu Ingolfs Verdacht:
Kann es sein das wir Daten durch den USB Adapter verwursten?
Hast Du einen Rechner mit "alter" Technik zu Verfügung?
Wenn nicht, mit welcher Geschwindigkeit probierst Du gerade? Setz das 
mal auf 9600 runter. Das dauert zwar länger, aber... ;-)

Ach ja und sag bescheid wenn es funkt oder auch wenn nicht ;-)

Grüße
Frank

von Fabian (Gast)


Lesenswert?

Hey,
ich bin zwar nicht Johannes, aber der oben genannte Kollege.
Jeder unserer Versuche wurde mit einer Datenrate von 9600 gebrannt.

Die Idee das der USB zu RS232 Adapter schuld sein kann, kam uns auch 
anfänglich. Wir schauen grad noch herum ob iwer in unserem 
Bekanntenkreis einen älteren PC hat an dem wir das ganze testen können.

Grüße und schonmal danke für die bisherige tolle Hilfe :)

von Frank S. (franksanderdo)


Lesenswert?

Hey,

mal ne blöde frage:
wenn ihr ein Eprom mehrfach brennt (ohne Löschen dazwischen) werden dann 
die fehlerhaften Bytes weniger?

Grüße
Frank

von Fabian (Gast)


Lesenswert?

Wollte nur mitteilen das es wahrscheinlich an dem USB zu RS232 Adapter 
lag.
Haben heute ein Kabel organisiert und einen Eprom ohne Probleme 
beschrieben
Nochmal danke an alle für die Hilfe

Grüße

von Frank S. (franksanderdo)


Lesenswert?

Immer gerne!!

Viel Spass dann jetzt mit den Eproms und dem Brenner ;-)

Grüße
Frank

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.