Nun hat es mich auch erwischt. :-( Reichelt bietet den AT90S8535 nicht mehr an. Also muss ich umsteigen, vielleicht auf den Atmega 16L8 DIP. Kann mir jemand kurz sagen, was ich da alles beachten muss? Die Datenblätter sind mit 350 Seiten ziemlich mächtig. Muss ich mich wirklich erst durch den Umstieg auf den mega8535 und dann den Umstieg auf den mega16 fräsen? Muss ich das Layout der Platine anpassen? Bisher hatte ich den 10-pol Connector für das ISP-Teil am Parallelport. Geht das noch so, oder sollte ich auf JTAG gehen und umverdrahten, also am Layout ändern? Ist der Atmega 16L8 DIP eine stromsparende Variante? Sorry für die vielen Fragen. Natürlich kann ich mir selbst alles rausziehen. Aber das dauert . . . Vielleicht könnt Ihr mir ein wenig auf die Sprünge helfen. Neben dem Beruf habe ich nur wenig Zeit. Es wird noch mehr Leute geben, die umsteigen müssen . . .
da ich dein programm nicht kenne kann ich da nichts zu etwaigen änderungen sagen, wobei die chance ist das du wenn du asm benzutzt eher was ändern musst als bei einer hochsprache. auf jtag musst du keinesfalls umsteigen, die haben alle immer noch den isp anschluss das layout der platine musst du eher annpassen weil die pinbelegung abweichen könnte. die erste seite vom m16 dateblatt solltest du trotzdem mal durchgelesen haben :)
Der Umstieg auf den mega8535 fällt wohl leichter. Identische Pin-Belegung und per Fuse-Bit(s) auf S8535 umschaltbar.
Warum nicht zum ATmega8535 wechseln? Der Name impliziert zumindest einen hohen Verwandschaftsgrad, was eventuell einen fast schmerzfreien Umstieg ermöglichen könnte. Dazu gib es auch eine Appnote bei Atmel: AVR086: Replacing AT90S8535 by ATmega8535 http://www.atmel.com/dyn/resources/prod_documents/doc2520.pdf Gruß Ingo
@Tobi: es ist alles in Assembler geschrieben. Also werd ich wohl an der Initialisierung der Register was machen müssen. Und wohl an der Interrupttabelle, weil die beim Mega16 wohl breiter ist. Und das Includefile muss ich ändern auf den mega16. Das JTAG würde ich natürlich schon gerne mal nützen wollen. Zum Debuggen ist das angenehmer. Kann ich den ISP dann trotzdem lassen? Brauche ich den dann überhaupt noch? Ich müsste doch auch über Jtag den Baustein programmieren können. Da müsste ich doch nur ein Kabel bauen. Dummerweise habe ich es nicht bei Olimex bestellt, aber so ein Hexenwerk kann es ja nicht sein . . . Meinst Du, daß die Pinbelegung anders ist. Ich habe das mal ausgedruckt und werde schauen. Danke für den Hinweis. Wenn es doch nur ein Blatt von Atmel zum direkten Umstieg auf den mega16 gäbe . . . Die Zwischenschritte brauche ich doch nicht, die verwirren doch nur. @Wolle: wenn ich muss steige ich lieber gleich auf die zukunftsträchtigeren Jtag-Teile um. TI hat ja auch Jtag. Ich müsste doch das Jtag-Kabel für den MSP verwenden können. Oder? @Ingo: das habe ich mir gerade ausgedruckt und werde es studieren.
Eventuell kär dann noch dieses hier hilfreich: "AVR088: Migrating between ATmega8535 and ATmega16" http://www.atmel.com/dyn/resources/prod_documents/doc2537.pdf Vielleicht kommt man ja mit diesen Dokumenten zusammen vom 90S8535 zum Mega16, wenn auch über der nur virtuellen Zwischenschritt Mega8535. Naja, zumindest sollte man mit den Dokumenten einen Eindruck gewinnen könnne, wie aufwendig das wird und was zu beachten ist. Ich habe sowas mal für Mega8 -> Mega88 -> Mega48 gemacht. Gruß Ingo
@Ingo: Danke für den Hinweis. Beides habe ich ausgedruckt und schau es an. Ich möchte nicht in Etappen upgraden sondern in einem Schritt. Daher wäre halt eine direkte Anleitung besser/schneller gewesen. Nun muss ich mich wohl leider durch Pin-Listen und die ganzen Register kämpfen. Lästig . . . 351 Seiten . . . wer soll das alles im Kopf behalten.
Deshalb meinte ich ja auch "virtueller Zwischenschritt". In meinem Beispiel hab ich mir zunächst aus dem Dokument "AVR094: Replacing ATmega8 by ATmega88" die Sachen rausgesucht, die hier den größeren Schritt vom Mega8 nach Mega88 betreffen. Dann habe ich, weil ich aber den Mega48 verwenden will, mit "AVR095: Migrating between ATmega48, ATmega88 and ATmega168" die Besonderheiten des 48ers herausgesucht. Insgesamt ging das vermutlich schneller, als nur mit den Datenblättern selber als vergleichen und anpassen zu wollen. Kann allerdings beim Schritt vom 90S8535 zum Mega16 auch anders sein, damit hab ich mich noch nicht beschäftigt. Gruß Ingo
ich habe nun die Pinbelegungen verglichen. Sind beide genau gleich. Am Uart muss ich was beachten. Es gibt jetzt wohl ein FIFO. Ich habe nur noch nicht genau begriffen was ich jetzt konkret zu beachten/ändern habe. Ich habe bisher gepollt und auch mit dem Interrupt der ser. SS gearbeitet. Vielleicht kann hier jemand was dazu sagen. Ein paar Bitnamen und Registernamen sind anders. Im PWM-Mode ist einiges anders. PWM nutze ich aber bisher nicht. Clear Timer Counter on Compare match. Da muss ich mal schauen. Ärgerlich klingt die Sache mit dem EEPROM. Bisher lag die Wartezeit bei 2.5ms und nun sollen es 8.4ms sein. Ich kann da keinen Fortschritt erkennen. Da warte ich ja die 3-fache Zeit bei dem neueren Controller . . . Improvement nenne ich das nicht gerade. Wenn ich den JTAG nicht von den Pins her benutzen kann sollte ich ihn wohl abschalten. Also müsste ich die eine Fuse verstellen und mir dazu wohl einen neuen Ponyprog holen. Oder was meint Ihr dazu? Oszillators und Start-up-time ist ein anderes Kapitel. Da braucht man ja bald einen Kurs, bis man das Teil korrekt programmiert bekommt. Ich bin gespannt, ob dann der Nachfolger 1500 Seiten users manual bekommt . . .
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.