Forum: Mikrocontroller und Digitale Elektronik ISP Schnittstelle für einen AT89C51RC2/RD2


von J. Hebeler (Gast)


Lesenswert?

Hallo, ich habe einen zum AT89C51RC2/RD2 kompatiblen Flash Speicher.
Diesen will ich jezt über die Serielle Schnittstelle Auslesen und 
Flashen.
Nur finde ich keinen für mich verständlichen Schaltplan dazu.
Es gibt von Atmel zwar ein Evaluations board für diesen IC, nur habe ich 
gerade keine 150€ um mir dieses zu kaufen.
Aus den Datenblättern werde ich nicht schlau, weil die einen die pins 
Miso/Mosi/SCk und die anderen TxD/RxD/RESET erwähnen.
Weiß jemand welche pins ich wie anschließen muss?

Danke im vorraus.

MfG Jochen.

von Matthias (Gast)


Lesenswert?

>Hallo, ich habe einen zum AT89C51RC2/RD2 kompatiblen Flash Speicher.

AT89C51xxx ist ein Mikrocontoller. Dazu ist praktisch jeder FLASH 
(extern) kompatibel zu machen. Außerdem hat der auch einen internen 
FLASH, welche u.a. per ISP (Bootloader) seriell über RxD und TxD, 
programmiert wird. Eine bestimmte, zeitliche H-L Kombination an RST und 
PSEN startet den Bootloader.

>... für diesen IC

Um welchen FLASH-IC geht es überhaupt?

von J. Hebeler (Gast)


Lesenswert?

Also es handelt sich um einen NXP P89CV51RD2
http://www.nxp.com/acrobat_download/datasheets/P89CV51RB2_RC2_RD2_1.pdf

Im Datenblat steht das er zu den 89C51xx Kompatibel ist.

Ich will auch nur den internen Flash auslesen und schreiben.

Ich will diesen ja auch sereill über ISP programmieren.
Ich nehme an dazu muss ich TxD und RxD über Wiederstände an TxD und RxD 
der Sereillen schnittstelle hängen?
Nur das mit RESET und PSEN verstehe ich nicht ganz?
Was soll man da machen und wie?

von Peter D. (peda)


Lesenswert?

Was denn nun, Atmel oder NXP?

Für Atmel benutzt man Flip, für NXP Flashmagic.

Die UART muß über nen MAX202 an den PC angeschlossen werden.


Peter

von J. Hebeler (Gast)


Lesenswert?

Es ist ein NXP... im Datenblatt stand das er zu den 89C51xx kompatibel 
sit und da hab ich die Atmels gefunden.
Also muss ich meinen IC zum Flashen an einen Max232 anschließ und der 
geht dann an die Serielle schnittstelle oder was?

von Matthias (Gast)


Lesenswert?

Hier findest Du alles, was zur ISP-Programmierung notwendig ist:
http://www.flashmagictool.com

Speziell hier:
http://www.flashmagictool.com/assets/resources/ISPHardwareEntryAppNote.pdf

Die Ansteuerung von RST und PSEN kann man auch leicht durch 2 Taster 
realisieren, dann kann RTS und DTR entfallen, was den Adapter 
vereinfacht. Auf keinen Fall den RS232-Pegeltreiber weglassen!

von J. Hebeler (Gast)


Lesenswert?

Also ich muss einfach 2 Taster gegen GND schalten und an RTS und DTR 
schalten und dann funktioniert das doer wie muss ich das machen?

von Matthias (Gast)


Lesenswert?

>Also ich muss einfach 2 Taster gegen GND schalten und an RTS und DTR
>schalten und dann funktioniert das doer wie muss ich das machen?

Du hast es nicht wirklich verstanden...

Also Du musst Dich schon mal mit dem Datenblatt des µC beschäftigen. Da 
steht drin, ob RST H- oder L-aktiv ist. Ist bei div. 8051ern 
unterschiedlich. Ich glaub bei AT89C51RC2 war es H-aktiv.

Dann Taster von RST zu VCC (besser noch 33R in Reihe) und PSEN über 
zweiten Taster zu GND (33R auch hier zu empfehlen).

Zum Start des Bootloaders: Beide Taster gedrückt halten. Dann PSEN 
Taster loslasen, erst kurz danach den RST-Taster loslassen.

Ein fabrikfrischer µC sollte auch sofort mit dem Bootloader starten.

In der Codesammlung findest Du mit Sicherheit Beispielschaltungen. PeDa 
ist der Spezialist hierfür.

von J. Hebeler (Gast)


Angehängte Dateien:

Lesenswert?

Ich hab mal schnell ein Schaltplan gemacht.
Ist das so richtig oder muss ich etwas ändern?
Das mit dem Taster(rechts im Bild) ist warscheinlcih nicht richtig.

von J. Hebeler (Gast)


Angehängte Dateien:

Lesenswert?

Also, habe aus meinen fehlern gelernt und den Schaltplan modifiziert.
Der Max238 ist ähnlich wie der Max232 nur mit mehr ein/ausgängen, wie 
auf der Schaltung zu erkennen.
Den 74LS125 habe ich aus der beschreibung zum Flash magictool und dient 
dazu Reset und PSEN über die serielle schnittstelle anzusteuren, da mein 
Adapter Idiotensicher sein muss,
Kann sein das das ein bisschen wirr aussieht, will ich jezt aber nicht 
ändern.
Funktioniert das so oder muss ich etwas ändern.
kritik erwünscht.

von Matthias (Gast)


Lesenswert?

Batterie verpolt.

Der MAX238 kriegt keine VCC/GND ab, dürfte nicht funktionieren. Nimm 
doch einfach die Standardbeschaltung aus dem Datenblatt.

µC VCC/GND bestimmt vertauscht? Pin 44 meist VCC, 22 = GND. Dann muß 
wenigsten der Quarz mit den 2 C dran sein (µC arbeitet dynamisch!) und 
der EA-Pin auf VCC liegen.

Hier ein ähnlicher Adapter, zwar für USB, aber Prinzip:
http://www.mikrocontroller.net/wikifiles/5/58/USBPROG-51_Stromlaufplan.pdf

C? für RST mit 10u recht groß, bringt möglicherweise das Timing beim 
Bootloaderstart durcheinander, besser noch ein R100 in Reihe.

von J. Hebeler (Gast)


Angehängte Dateien:

Lesenswert?

Gut, habe das ganze nochmal geändert, habe auch deine änderungen 
berücksichtigt.
Aber ich weiß nciht ganz ob das mit DTR funktioniert(Rs-232 Pin4 <-> 
Max232 Pin 7).

von Matthias (Gast)


Lesenswert?

>Aber ich weiß nciht ganz ob das mit DTR funktioniert(Rs-232 Pin4 <->
>Max232 Pin 7).

Das geht so nicht.

Warum machst Du es Dir für den Anfang so schwer, nimm doch einfach die 2 
Taster-Variante. Dann reicht auch der normale MAX232 aus.

Quarz und EA-Pin Beschaltung fehlt nach wie vor.

von Matthias (Gast)


Lesenswert?

Nachtrag:
http://www.elektronik-bastelecke.de/C51_Hardware_Connections.pdf
Auf Seite 3 ist eine Lösung mit Transitoren und Tastern.

von J. Hebeler (Gast)


Lesenswert?

Ich mache es mir so schwer, da das ganze Idiotensicher sein muss.
Wenn man bei jedem Vorgang erst in einer Bestimmten reinfolge die taster 
Drücken und wieder loslassen muss, dann ist das Umständlich und 
fehleranfällig.
Da gebe ich dann lieber 1€ mehr aus und habe etwas einfacheres in der 
Handhabung.
Schaltung aus der flashmagictool website, ungefähr halt. Hast du glaube 
ich gepostet.
Dort wird kein Quarz erwänt, auch im Datenblatt des ICs wird er nciht 
erwähnt.

Was für ein Quarz sollte das denn sein? 16MHZ, 8MHZ?

von Stephan H. (stephan-)


Lesenswert?

suche hier mal nach Auto-ISP

von Pieter (Gast)


Lesenswert?

moin moin,

@Stephan

Auto-ISP..hau nicht solche Schlagworte raus ;-).

Wie soll der MC ohne Quarz arbeiten und eine Baudrate erkennen?
Halbe Schaltungen funktionieren nun mal nicht.
Auto-ISP setzt eine SW voraus, die das Unterstüzt. Mit 2 Tastern kann 
sogar mit Hyperterminal der Upload erfolgen.

mfg
Pieter

von Matthias (Gast)


Lesenswert?

>Wenn man bei jedem Vorgang erst in einer Bestimmten reinfolge die taster
>Drücken und wieder loslassen muss, dann ist das Umständlich und
>fehleranfällig.

Die 2-Tastervariante ist für mich immernoch die einfachste. Es war 
bisher kein Problem damit umzugehen, das Timing ist unkritisch und die 
ständige Handgymnastik ist auch nicht schlecht;-)

>Dort wird kein Quarz erwänt, auch im Datenblatt des ICs wird er nciht
>erwähnt.

Ohne Quarz geht es garantiert nicht.

von J. Hebeler (Gast)


Angehängte Dateien:

Lesenswert?

So, EA-Pin an VCC nageschlossen, Quarz hinzugefügt.
DTR habe ich über einen zweiten Max232 angeschlossen. Das mag zwar 
umständlich sein, aber man muss berücksichtigen, das ich die Shcaltung 
auhc selber bauen muss und ich kein Geld für einen 4€ IC habe.

von Matthias (Gast)


Lesenswert?

Sieh Dir die gesamte Quarzbeschaltung nochmal genauer an, wird so nicht 
funktionieren....

von J. Hebeler (Gast)


Lesenswert?

Achso, muss ja müssen ja nur schnell die Kondensatoren anderst Plaziert 
werden.
Ist sonst das mit der Ansteuerung der Serielen schnittstelle in Ordnung, 
oder muss da was geändert werden?

von Pieter (Gast)


Lesenswert?

moin moin,

den 2. MAX brauchst Du nicht, einfach Transi mit R+Schutzdiode, das 
reicht für DTR.

mfg
Pieter

von J. Hebeler (Gast)


Lesenswert?

Also R sowas mit 4,7Kohm, Diode , geht da ne 1N4007 oder ne LED? aber 
was meinst du mit Transi?

von J. Hebeler (Gast)


Lesenswert?

Sry, hab nicht geschaltet. Was für ein Transistor soll das denn sein.
Hab hier noch BC 547C und BC 548C.
Ich nehme mal an der BC 547 wirds tun.

von J. Hebeler (Gast)


Angehängte Dateien:

Lesenswert?

Eine frage habe ich noch.
Mit HIGH LOGIC STATE auf einen Input pin wird ein 5V pegel gemeint, 
oder?

von wisdanoobie (Gast)


Lesenswert?

dem ist korrekt... kann aber auch sein dass dein IC mit 3,3V arbeitet 
das weis ich nicht is bei manchen ICs so kannste aber ganz leicht 
umgehen indem du 2 1N4148 Dioden in reihe an 5V knallst dürften dann so 
3,6V sein das müssste passen aber miss lieber nach

von J. Hebeler (Gast)


Lesenswert?

Also, er abritet mit 5V.
So hab jezt die schaltung gebaut.
Alles genau überprüft, Strohm angeschlossen und mit Compuiter über Com 
verbunden.
Flashmagic gestartet, Com-Port richitg eingestelt, Baudrate auf 9600 und 
dann mla Testweise auf ISP->Read memory.
Aber er meldet mir immer eine fehlermeldung beim verbidnen mit dem IC:

>>Unable to connect at the specified baud rate. Try reducing the baud rate. 
>>Reset the hardware into ISP mode again.

Aber wieso?
Transistor und Diode sind richitg, alles korrekt angeschlossen, Strohm 
liegt überall an, Keine Wackelkontakte oder Kaltlötstellen.

Danke für Hilfe.

von Pieter (Gast)


Lesenswert?

moin moin,

sehe ich da eine 8MHz Quarz???

Damit wird es nichts!
Nimm einfach einen 11,0592Mhz Quarz, das ist eine Standardfrequenz für 
8051.

...Strohm, was ist das?

mfg
Pieter

von Daniel P. (daniel86)


Lesenswert?

Strom kann auch net anliegen, sondern nur fließen. Jetzt wäre ja die 
Frage ich welche Richtung, von + nach - oder von - nach +.
Das einzige was anliegt ist Spannung

von J. Hebeler (Gast)


Lesenswert?

Ok, dann spannung. Diese fließt von + nach - mit 5V.

Was passiert wenn man den CV51 mit einem 16MHZ Quarz betriebt?

von J. Hebeler (Gast)


Lesenswert?

Also, ISP funktioniert jezt, mit 16MHz Quarz.
Der LS125 hat ein wenig Rumgezickt und hat so den ISP-Reset nciht 
ausgeführt.

von Pieter (Gast)


Lesenswert?

moin moin,

schön wenn es nun (endlich) funktioniert.

>>der LS125 hat rumgezickt...

naja, soll keine Mecker sein, ich kenne keine Schaltung für AutoISP die 
den verwendet, 2 Transis sollten als Ersatz reichen -> geht in Richtung 
Schaltungsminimierung.

MfG
Pieter

von J. Hebeler (Gast)


Lesenswert?

JA, iregdnwas hat mit den Pegel an einem eingang nicht gestimmt, ist 
hezt aber gelöst.
Ich habe jezt folgendes problem:
Ich will den IC auslesen, weil ncoh Daten drinn sind, aber Security Bit 
2 ist gesetzt. Wie kann ihc jezt das Bit wieder unsetten ohne die Daten 
zu beschädigen oder zu löschen?
Muss ich einfach nur im Löschen einstellung nichts aktivieren und strat 
drücken?

von J. Hebeler (Gast)


Lesenswert?

Kann mir jemand bei meinem Problem helfen?
wie scahffe ich es die Lese Sperre zu umgehen?
Welche Page muss ich löschen?

Zur Info: Ich habe das recht den Inhalt auszulesen, nur falls ihr denkt 
ich will hier was illegales machen.

von Peter D. (peda)


Lesenswert?

J. Hebeler schrieb:
> Zur Info: Ich habe das recht den Inhalt auszulesen

Ob Du das Recht hast, ist egal, es geht trotzdem nicht.
Warum sollte NXP eine Umgehung eingebaut haben, dann hätten sie sich ja 
das Bit gleich schenken können.

Es gibt aber "Firmen", die machen sowas (>1000,-€).
Ist natürlich nicht offengelegt, wie.


Peter

von J. Hebeler (Gast)


Lesenswert?

mhmm 1000€....
Nagut, ist nicht schlimm.

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.