Hallo, Ich habe mir das Buch "Basisbuch Mikrocontroller" von Burkhard Kainka zugelegt (Basiert auf einem Elektor-Artikel aus 2001 od 2002 vom selben Autor) und das darin vorgestellte Elektor-Flashboard für 89S8252 nachgebaut. Nun habe ich, da es keine 8252 mehr gibt, den Nachfolger 89S8253 reingetan. Das sollte problemlos gehen, siehe http://www.b-kainka.de/basismi.htm Nur funktionieren tut's leider nicht. Verwendetes Programm für ISP ist ATMELISP Ver.20050521 von Ulrich Bangert (DF6JB). Zuerst ging nichts (0xFF jedes zweite Byte). Dann habe ich mit den Timings gespielt (Clockdelay 0.01ms, Delay after Byte 6ms) und einmal ein 15 Byte Programm laden können. Danach ein großes probiert (Basic52): ab ca Adr. 0x200 (variierend, mal erst ab 0x2ff, dann wieder ab der 2ten Zeile im Editor) statt der richtigen Werte einfach nur aufsteigende Werte (0x00, 0x01, 0x02 usw) das ganze wiederholend bis zum Speicherende. Irgendwann kam der Zeitpunkt, wo nix mehr ging (auch nicht das miniprogramm) und nur noch 0xFF ausgelesen wurde. Also, neuen Chip rein (habe vorsorglich 5 gekauft). Das ganze spiel von vorne: irgendwann streikt der Chip: 0xFF! ->Speicheroszi her, Messung: Signal absolut sauber, schöner Abstand Datenflanke(MOSI, P1.5) zu Taktflanke(SCK, P1.7). RST sauber und rechtzeitig (100ms) vor ersten Datenbits auf VCC. Trotzdem, wer weiss schon: -> hardware auf steckbrett nachgebaut (mit frischen ICs)-> dasselbe Problem, nur mehr Oberwellen (ca. 0,8Vpp bei Clockfreq) auf den Signalen als bei der gedruckten Schaltung. Kunststück, bei fliegenden Leitungen... Habe über einen Protokollwechsel des ISP-Algorythmus von 8252 zu 8253 gelesen, weiss aber nicht, ob ich das glauben soll, und wenn ja, ob Hr. Bangert das im Programm berücksichtigt hat. Im obigen Link wird behauptet, den 53er erfolgreich getestet zu haben; hier wird von Protokollwechsel gesprochen: Beitrag "Re: Probleme mit Elektor-Flash-Board" Wäre super, wenn U. Bangert hier lesen würde und sich dazu äußern könnte... PS die mit dem Basiskurs "mitgelieferten" Mikroflash.exe (neue Ver) und Mikroflash53 funktionieren auch nicht. System XPpro, alle updates, Athlon X2 3Ghz, Com 1 nativ (kein USBconvertersch**ßzeug) Hoffe, jemand kann helfen; wäre schade die investierte Zeit und das Geld wegschmeissen zu müssen. Ich baue zur not auch gerne eine zweite platine auf (hab eh von allen teilen mehr gekauft, ausser vom SRAM<-schweineteuer) und schicke sie einem Experten... Gruß, Bernd
ich kenne das board nicht aber ISP software gibts ne ganze menge. stellt sich die frage ob die anschlußbelegung stimmt. läßt sich denn mit der beigefügten software ein 89s8253 auswählen ? ansonsten schau mal: http://www.kmitl.ac.th/~kswichit/IspPgm30a/ISP-Pgm30a.html
Nun, DIESE ISP-Software arbeitet mit dem Seriellen Port (Com 1 bis 255 kann man auswählen) UND funktioniert (oder soll funktionieren) mit dem Testsystem von Elektor, das ich nachgebaut habe. Ich möchte ja die Übungen in dem Buch auch alle durchspielen, von Basic bis zum angeschlossenen LCD-Display. Der Vorteil der ISP-Soft, wie es beschrieben wird, ist der, dass man wählen kann, welche RS232-Leitung mit MISO, MOSI, Clock und RST verbunden sind und ob das Signal jeweils invertiert werden soll. Daher kann man die Software theoretisch mit vielen Schaltungen verwenden, sofern diese die o.a. Signale auf eine DB9F-Buchse geführt sind. Die Software ist ausserdem frei und gibt's hier: http://www.elexs.de/modulbus/mbnews/mbnews02/atmelisp.zip Ich möchte 2 Dinge vermeiden: 1. aufgeben und mühsam gebaute hardware schrotten 2. CHIP-Jay spielen (chip in progger, proggen, chip in meine Platine, Übungsergebnis testen). Da hätte ich mir ja gleich einen Parallelprogger gebaut; ist ja Sinn von ISP (IN SYSTEM programming), das Wechseln zu vermeiden Gruß, Bernd
Hallo Bernd, hier ist ein Link zu Ulrich Bangert: http://www.ulrich-bangert.de/index.html MfG Rainer
Hallo Bernd, ich habe wegen Deines Problems mal wieder mein Elektor-Flashboard hervorgekramt um Deine Schwierigkeiten nachzuvollziehen. Ein Programmierversuch mit einem AT89S8252 und der neuesten Atmel ISP-Software von Ulrich Bangert (Vers 20080303) funktionierte problemlos. Dann habe ich einfach den AT89S8252 herausgenommen und den AT89S8253 eingesteckt. Auch hier funktionierte die Programmierung und das Verify einwandfrei. Es mussten auch keine Änderungen an den XTAL-Cs vorgenommen werden. Die serienmäßigen Werte von 22 pF funktionieren offensichtlich auch. Deinem ausführlichen und gut recherchierten Bericht nach bist Du offensichtlich kein Anfänger mehr und hast dich mit dem Problem schon ausführlich auseinandergesetzt. Deshalb will ich auch nicht alle üblichen Anfängertipps weitergeben. Aber Checke mal folgende Dinge ab: - Ist die Spannungsversorgung korrekt und richtig gepolt? - Ist unter "Parameter" der richtige Com-Port ausgewählt (Du arbeitest ohne USB-RS232 Adapter wie du geschrieben hast)? Aber auch mit USB-RS232 Adapter müsste es funktionieren, aber schnarchlangsam, da bei USB nur alle 1 ms ein Frame gesendet wird. - Ist unter "Parameter" der AT89S8253 selektiert? - Ist unter "Parameter" die richtige Hardware selektiert (DK7JD für das Elektor Flash-Board)? Andernfalls stimmen die Leitungszuordnungen nicht. - Als Baud Rate habe ich 9600 eingestellt. - Achtung! Benutze ein normales (ungekreuztes) Rs232-Kabel, also KEIN sog. Nullmodem-Kabel! - Schließe das Programmierkabel an Comm2 auf dem Flash-Board an. - Ist im Buffer der gewünschte Hex-File geladen? - Wenn all diese Punkte beachtet sind, dann sollte mit der Betätigung des Redo-Knopfes Dein Programm in den Flash des AT898253 geladen werden. - Ein anschließendes Verify sollte dann auch keine Fehler liefern. mit freundlichen Grüßen Lothar
Hallo Lothar! > Deinem ausführlichen und gut recherchierten Bericht > nach bist Du offensichtlich kein Anfänger mehr und hast dich mit dem > Problem schon ausführlich auseinandergesetzt. Danke für die Blumen :) Ja, ich arbeite (sporadisch) schon länger mit 8051er Derivaten. Habe sogar ein eigenes Entwicklungssystem auf USB Basis entwickelt (Bootloaderprogramm; PSEN auf low bei RST# dann kann man über USB proggen). Na ja, entwickelt hat eigentlich der Andreas Schibilla, nämlich seinen USB-progger, von ihm habe ich mir das Laden per USB gekupfert. Das ganze habe ich dann zu einem modularen Entwicklungssystem weiterentwickelt, mit ansteckbaren Modulen für analoge Ein- u Ausgänge, digitale E/A, Display, I2C... ach was ich schweife ab Das jetztige Board habe ich gebaut, um die Übungen aus meinem neuen Buch komfortabel ohne große Anpassungen durchzuführen - und auch weil ich so richtig gerne baue! > - Ist die Spannungsversorgung korrekt und richtig gepolt? ja > - Ist unter "Parameter" der richtige Com-Port ausgewählt (Du arbeitest > ohne USB-RS232 Adapter wie du geschrieben hast)? Aber auch mit > USB-RS232 Adapter müsste es funktionieren, aber schnarchlangsam, da > bei USB nur alle 1 ms ein Frame gesendet wird. > ja-sonst würde ich am oszi wohl nichts sehen > - Ist unter "Parameter" der AT89S8253 selektiert? jep > - Ist unter "Parameter" die richtige Hardware selektiert (DK7JD für > das Elektor Flash-Board)? Andernfalls stimmen die Leitungszuordnungen > nicht. wie bereits im o-posting beschrieben, liefern MOSI und SCK ein sinnvolles Signal - mit DSO am Chip-pin selbst abgegriffen > - Als Baud Rate habe ich 9600 eingestellt. wird wurscht sein oder? Hat ja nur mit dem Terminal was zu tun, nix mit ISP?!? > - Achtung! Benutze ein normales (ungekreuztes) Rs232-Kabel, also KEIN > sog. Nullmodem-Kabel! siehe sinnvolles Signal > - Schließe das Programmierkabel an Comm2 auf dem Flash-Board an. dto > - Ist im Buffer der gewünschte Hex-File geladen? ja - und selbst wenn nicht (0xFF), würde Verify nicht failen, wenn alles ok > - Wenn all diese Punkte beachtet sind, dann sollte mit der Betätigung > des Redo-Knopfes Dein Programm in den Flash des AT898253 geladen > werden. leider nein - nur 0xFF wird ausgelesen. Da P1 auch nicht blinkt (eg das programm nicht läuft) scheint es nicht nur ein Lesefehler zu sein... > - Ein anschließendes Verify sollte dann auch keine Fehler liefern. leider doch. Ich habe jetzt auch - nachdem ich von U. Bangert gelesen habe, dass er auf einem P II 400 entwickelt hat - die timings extrem hochgesetzt. Nach einer Ewigkeit spannungsgeladenen Wartens leider wieder nix. Bin auch schon bei Chip 5 von 5 angelangt -> Schätze, ich muss mir nun doch einen Parallelprogger zulegen/bauen - ich habe den Verdacht, dass vielleicht wegen zu schnellem ISP der Chip die Befehle falsch verstanden hat und daraus Lock-Bits gemacht hat... trotzdem danke für die Anregungen, mfG Bernd
Hallo Bernd, hast du die aktuellste Version von ATMELISP installiert? MfG Rainer
> hast du die aktuellste Version von ATMELISP installiert?
ja, ich habe mich bei dir noch gar nicht für den Link bedankt, Rainer.
Was ich hiermit nachhole: danke!
Hatte bisher die Version aus 2005, jetzt die 2008er Version. Leider
bleibt mein Problem unverändert. Ich würde ja auf einen Hardware-Fehler
tippen, doch ich habe exakt nach den Elektor-Plänen nachgebaut, jedes
Signal gemessen und auch die Waveforms an den entsprechenden Port-Pins
passen (Speicheroszi). Dann habe ich, um Fehler restlos auszuschließen,
das Ganze (natürlich nur die ISP-relevanten Teile der Schaltung, nicht
auch den Adresslatch und den SRAM) auf einem Steckbrett nachgebaut -
wieder ohne Erfolg.
Gruß, Bernd
Hallo Bernd, was Du da auf USB-Basis gemacht hast könnte mich interessieren. Programmiere gerade selbst an einem USB-Progger Dongle, weil ich mir demnächst ein neues Notebook zulegen will und die haben ja keine LPT und/oder RS232-Schnittstelle mehr :-( Die Oberfläche mache ich in VB6. Das ganze ist schon recht weit gediehen, aber eben noch nicht fertig. Aber jetzt wieder zu Deinem Problem: > - Ist im Buffer der gewünschte Hex-File geladen? > ja - und selbst wenn nicht (0xFF), würde Verify nicht failen, wenn alles > ok Ja stimmt, die Baud-Rate betrifft nur das Terminal. > leider doch. Ich habe jetzt auch - nachdem ich von U. Bangert gelesen > habe, dass er auf einem P II 400 entwickelt hat - die timings extrem > hochgesetzt. Nach einer Ewigkeit spannungsgeladenen Wartens leider > wieder nix. Bin auch schon bei Chip 5 von 5 angelangt -> Schätze, ich > muss mir nun doch einen Parallelprogger zulegen/bauen - ich habe den > Verdacht, dass vielleicht wegen zu schnellem ISP der Chip die Befehle > falsch verstanden hat und daraus Lock-Bits gemacht hat... Wenn es am Timing liegen würde, sollte es auch bei mir nicht gehen, da ich ein sehr schnelles System verwende. Wenn der Chip gelockt wäre, so sollte das auch kein Problem sein, da der Schreibschutz durch ein Erase aufgehoben wird. Bei jedem Schreibvorgang über Redo wird höchstwahrscheinlich vorher von AtmelISP automatisch ein Erase gemacht. Bei meinem Board gibt es da jedenfalls keine Probleme. Habe es gerade eben ausprobiert. Möglicherweise schwingt der Quarz nicht korrekt. Hast Du einen Grundwellenquarz eingebaut, da Oberwellenquarze möglicherweise ein Anschwingproblem haben. Ich habe da schon schlechte Erfahrungen gemacht und mir deshalb ein paar Standardquarze ausgetestet, von denen ich weiß, daß sie funktionieren. Ansonsten werde ich Dir bei Deinem Problem jetzt kaum mehr weiterhelfen können, da mir die Ideen ausgegangen sind. Da bleibt m.E. nur noch ein Hardwareproblem als Ursache übrig. Falls Du aber die original Platine von Elektor verwendet hast, sollte es da keine Probleme geben. Bei mir hatte jedenfalls alles auf Anhieb funktioniert als ich es vor Jahren aufgebaut hatte. mit freundlichen Grüßen Lothar
> Möglicherweise schwingt der Quarz nicht korrekt. Hast Du einen > Grundwellenquarz eingebaut, da Oberwellenquarze möglicherweise ein > Anschwingproblem haben. Ich habe da schon schlechte Erfahrungen gemacht > und mir deshalb ein paar Standardquarze ausgetestet, von denen ich weiß, > daß sie funktionieren. Also, mein Quarz ist ein 11,0592 MHZ von Conrad. Hier das Datenblatt: http://www2.produktinfo.conrad.com/datenblaetter/150000-174999/155238-da-01-en-QUARZ_11_0592MHZ_HC49.pdf allerdings habe ich 22pF verbaut, wie im Schaltplan von Elektor, und nicht 18pF wie im Datenblatt angegeben. Ob es das sein kann?!? Wäre echt krass, zumal ich von der Ausbildung in Erinnerung habe, dass es bei den Anschwingkondensatoren nicht sooo genau ist (nimmst du 33pF, des passt scho) Ich sehe schon wieder Versandkosten auf mich zukommen, wegen ein paar Quarzen grr in Ö kriegt man echt nix auf dieser "Insel der Seligen" - und Ihr schimpft über eure vermeintliche Servicewüste kopfschüttel Und wenn ich mir was aus DE schicken lasse kostet das ungeschaut mal locker 15 EUR Versand Gruß Bernd
Hallo Bernd, moeglicherweise kannst du mit diesem "Brenner" die Bausteine auf Funktion testen. http://dybkowski.net/elka/ispprog_en.html
Nachtrag: Aehnliches projekt http://www.ikalogic.com/isp.php (was die Bastelkiste hergibt :-) MfG Rainer
Hallo Bernd, das mit dem Quarz ist ein heißes Eisen. Man kann nicht generell sagen, wieviel pF ein bestimmter Quarz als Kapazität braucht, da dieser Wert IMMER im Zusammenhang mit dem Schwingkreis zu sehen ist, in dem der Quarz arbeitet. Zu den 22 pF kommen ja auch noch die Kapazitäten deiner Steckbrett-Kontakte, bzw. Deines Platinenlayouts dazu. Der Quarz sollte ohnehin so dicht als möglich an den CPU-Pins montiert werden. Hier erinnere ich mich, daß Atmel für den AT89S8252 ca. 22 pF für den Quarz vorgeschlagen hat, die auch im Flash-Board verbaut sind. Der AT89S8253 dagegen ist im Oszillatorbereich von Atmel geändert worden und benötigt meiner Erinnerung nach nur 5 pF mit +- 5 pF Toleranz für einen korrekten Betrieb, d.h. du könntest die beiden 22 pF Kondensatoren mal entfernen und schauen ob es funktioniert. Bei mir funktioniert es jedenfalls mit den eingebauten 22 pF Kondensatoren. Daß die Bauteilversorgung in Österreich so suboptimal ist, ist natürlich bedauerlich. Ich habe jedenfalls das Glück, daß ein sehr gut sortierter Elektronikladen in meiner Nähe ansässig ist. Das ist sehr hilfreich, da man mal ganz auf die Schnelle das eine oder andere Teil holen kann ;-)) Noch ein Wort zu dem Vorschlag, einen anderen Brenner (z.B. am LPT-Port) mit anderer Software zu benutzen. Das ist ein zweischneidiges Schwert, denn auch hier berichten andere Forumsteilnehmer von großen Problemen. Es gibt hier im Forum Threads dazu. Suche mal nach AT89S8253 hier im Forum. Allerdings habe ich mit dem vorgeschlagenen Programm auch schon erfolgreich gearbeit. In diesem Fall müsstest Du aber noch noch einen ISP-Anschluß an Dein Flash-Board anfrickeln. aber wie ich Dir schon geschildert habe, die AtmelISP-Software von Ulrich Bangert funktioniert genauso gut. Grüße Lothar
@ Lothar: > was Du da auf USB-Basis gemacht hast könnte mich interessieren. > Programmiere gerade selbst an einem USB-Progger Dongle, weil ich mir > demnächst ein neues Notebook zulegen will und die haben ja keine LPT > und/oder RS232-Schnittstelle mehr :-( > Die Oberfläche mache ich in VB6. Das ganze ist schon recht weit > gediehen, aber eben noch nicht fertig. guckst du hier: http://www.andinet.de/technik/elektronik/usb_programmer/usb_programmer.php Geniales Projekt, war der Anstoss für mein Modulares Entwicklungssystem - meine Mechatronikermeisterarbeit, für die ich eine Auszeichnung und bestes Projekt bekommen habe. Ich denke, es müsste eigentlich keine große Sache sein, die Hardware (=anderen ZIF-Sockel verbauen, PIN-Belegung fürs Proggen) und die Firmware (Programmieralgorythmus -> Datenblattstudium) anzupassen, da die Quellen frei sind. Ich würde das gerne machen! Willst du mitmachen? Ich bin nämlich nicht sooo erfahren in PC-Programmierung (also VB usw; C geht ein wenig, nur habe ich noch nie was mit Oberflächen, sprich Windows gemacht) Gruß, Bernd
Hallo Bernd, Danke für Dein Mitmachangebot. Ich werde mich mal anhand des Links in die Materie einlesen und mich dann über diesen Thread melden. Was macht Dein Problem? Hast Du neue Erkenntnisse? Wäre nett, wenn Du bei Erfolg eine Rückmeldung liefern würdest. Ich persönlich tippe jetzt auf ein Hardware- oder ein Quarzproblem. Bei der Softwarebedienung hast Du ja einen Fehler ausgeschlossen, da die Signale Deiner Meinung nach beim messen richtig anliegen. Ich selbst habe mein System nochmal getestet und es funktioniert mit der Konfiguration auf DK7JD und der Auswahl des AT89S8253 ohne Probleme und ohne Änderung an irgendwelchen Timingeinstellungen. Grüße, Lothar
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.