Hallo zusammen. Für ein neues Projekt (RGB Cube) möchte ich endlich mal einen Atmega mit 256kB verwenden. Muss ich da etwas bestimmtes beachten? 1. Verläuft die Grundbeschaltung wie bei kleineren Atmega (z.B. Atmega8)? Das heißt Quarz mit zwei mal 22pF, ISP über MISO MOSI & Co oder gibt es da Unterschiede oder Zusätze, die ich beachten muss? Im Grunde soll der Atmega vernünftig laufen, über ISP (10 poliger Wannenstecker) programmierbar sein und alle PortPins auf Wannenstecker führen. Ich ätze die Platine und frage lieber, bevor ich etwas vergesse :) 2. Gibt es einfache Sprungbefehle ala jmp und call oder ähnlich, mit denen ich in Funktionen und zurück springen kann? Hatte über Probleme mit Adressgrößen und SPrungweiten gelesen... Sonst würde ich einen Atmega mit 128 kB nehmen, wenn das sonst zu aufwendig wird. 3. Ich programmiere den Atmega256xx in Assembler mit AVR Studio 4. Das sollte kein Problem für ACR STudio sein, gell? Blöde frage... Liebe Grüße und vielen Dank, Dirk
@ Dirk (Gast) >Für ein neues Projekt (RGB Cube) möchte ich endlich mal einen Atmega mit >256kB verwenden. Muss ich da etwas bestimmtes beachten? Mehr oder weniger. >1. Verläuft die Grundbeschaltung wie bei kleineren Atmega (z.B. >Atmega8)? Ja. >Gibt es einfache Sprungbefehle ala jmp und call oder ähnlich, mit denen >ich in Funktionen und zurück springen kann? Ja sicher. >Ich programmiere den Atmega256xx in Assembler mit AVR Studio 4. Einen Controller mit 256kB Flash per Assembler programmieren ist nicht sonderlich sinnvoll. Bei solchen Größen nimmt man C. > Das >sollte kein Problem für ACR STudio sein, gell? Blöde frage... In der Tat. MFG Falk
Hallo Falk. Schonmal danke für die ersten Infos. Warum kein Assembler? Komme damit ganz gut klar und weiß gerne, wieviel Takte der Mikrocontroller nun wirklich braucht. Ein großer Teil des Flashspeichers fülle ich ja mit Bilddaten. Die eigentlichen Funktionen und Programmabläufe sind insgesamt vielleicht 1-2 kByte groß. Also so unübersichtlich wird es sicher nicht. Gruß, Dirk
Dirk schrieb: > ISP über MISO MOSI & Co > oder gibt es da Unterschiede oder Zusätze, die ich beachten muss? Das geht da nicht, da werden die UART-Pins verwendet.
Hi >Grundsätzliches zum Atmega256 Einen ATMega256 gibt es nicht. ATMega2560 oder ATMega2561. > ISP über MISO MOSI & Co Kommt auf den ATMega an: ATMega2560 MSIO, MOSI und Co ATMega2561 TXD0, RXD0, SCK MfG Spess
Also mit einem Atmega 2560 sollte ich meine geliebte ISP Schnittstelle nutzen können, gell? Vielen Dank für den Hinweis. Denn 12 Euro sind schon ärgerlich für nenn Controller, der sich dann nicht programmieren lässt. Jetzt kenn ich auch endlich mal einen Unterschied zwischen ATmega2560 und 2561. Dankeschön! Dirk
@ Dirk (Gast) >Warum kein Assembler? Weil man bei 256kB Programm mal fix den Überblick verliert. >Komme damit ganz gut klar und weiß gerne, wieviel >Takte der Mikrocontroller nun wirklich braucht. Braucht man nur selten. Und auch in C kann man im Simulator Takte zählen. >Ein großer Teil des Flashspeichers fülle ich ja mit Bilddaten. Die >eigentlichen Funktionen und Programmabläufe sind insgesamt vielleicht >1-2 kByte groß. Also so unübersichtlich wird es sicher nicht. Dann ist das OK. Wenn gleich man dann möglicherweise mit einem seriellen EEPROM oder Flash besser dran ist. MfG Falk
Vielen Dank Leute für die Hilfe. Sehe mich nun Fit für erste Versuche mit dem Atmega2560. Aber eins interessiert mich noch. Wieso kann der nur einen 16 und keinen 20 MHZ Quarz ab? Der Atmega644 hatte das noch super hinbekommen... MfG,Dirk
Hi >Also mit einem Atmega 2560 sollte ich meine geliebte ISP Schnittstelle >nutzen können, gell? Das ist die ISP-Schnittstelle. Bei den 64-poligen AVRs werden nur statt der MISO/MOSI-Pins, TXD0/RXD0 verwendet. MfG Spess
Dirk schrieb: > Ein großer Teil des Flashspeichers fülle ich ja mit Bilddaten. Auch einmal an einen externen Speicherbaustein gedacht? Dataflash?
Hab noch nie etwas mit externen Datenbausteinen gemacht. Wie krieg ich denn die Daten da hinein? Und wie von da in den Atmega? Am besten wäre natürlich ich packe Bilddaten auf einen USB Stick und schließ den an die Platine (Mikrocontroller) an. Aber wie aufwendig wird das wohl...? Bleib erstmal bei meinen 256kB RiesenFLASH :D Das Projekt hat Baustellen genug. Gruß,Dirk
Dirk schrieb: > Am besten wäre natürlich ich packe Bilddaten auf einen USB Stick und > schließ den an die Platine (Mikrocontroller) an. Aber wie aufwendig wird > das wohl...? Vergiss es. Wenn Du allerdings SD/MMC Karten in Erwägung ziehen würdest, dann wäre sowas möglich. Beispiele dafür findest Du hier im Wiki/in der Codesammlung mehr als genug.
Dirk schrieb: > Am besten wäre natürlich ich packe Bilddaten auf einen USB Stick und > schließ den an die Platine (Mikrocontroller) an. Aber wie aufwendig wird > das wohl...? Das geht nicht, aber eine SD-Card lässt sich leicht auslesen und am PC beschreiben. Ein Dateisystem braucht es da nicht unbedingt.
Hi Warum wird eigentlich die kompliziertere Variante favorisiert. Alles im AVR zu haben ist doch wohl die einfachere Sache. MfG Spess
spess53 schrieb: > ... Alles im AVR zu haben ist doch wohl die einfachere Sache. Solange die Bilddaten da nur einmal rein müssen und sich nicht mehr ändern, hast Du sicher recht. Bei neuen Bilddaten jedesmal den AVR neu flashen zu müssen wäre mir aber auf Dauer zu blöd. Und die Idee mit dem USBStick kam ja schließlich vom TO selber.
So, jetzt hat der Mikrocontroller(Atmega2560) auf jeder Seite einen GND und ein VCC. Muss ich die alle verbinden, oder reicht es, wenn ich Masse und 5V an eine Seite davon lege? Gruß, Dirk
@ Dirk (Gast) >So, jetzt hat der Mikrocontroller(Atmega2560) auf jeder Seite einen GND >und ein VCC. Muss ich die alle verbinden, Ja. > oder reicht es, wenn ich Masse >und 5V an eine Seite davon lege? NEIN! MFG Falk
Hi Und alle VCC-GND-Paare wollen eine Abblockkondensator. MfG Spess
...also immer 100 nF zwischen GND - Vcc ? Danke für die Info! Ich zeichne grad einen Schaltplan. Wenn ich den fertig habe, stell ich ihn mal rein. Wäre super wenn ihr mal drüber guckt. Keine Sorge, kommt nur das nötigste drauf. Schön Schlank... Dirk
Wenn Du Stackoperationen ausführst darauf achten, dass bei Unterprogrammen drei Bytes in den Stack geschoben werden und nicht zwei. AVCC auch anschließen.
Stackoperationen sind doch die einfachen pop und rol Befehle. Muss ich da etwas ergänzen? Avcc auch mit Kondensator gegen Masse? Gruß Dirk
Die Reset Beschaltung habe ich aus einem Fachbuch übernommen. AREF brauche ich doch nur, wenn ich den AD Wandler nutzen will, oder? Will eigentlich nur viele hundert RGB LEDs ein- und ausschaltung :) ...über Schieberegister. Gruß, Dirk
Beim Atmega32 hatt ich mal ein Problem, dass sich ein paar Pinne vom PortC nicht nutzen ließen, da sie auf JTAG eingestellt waren. Habe das nie so richtig verstanden. Gibt es beim ATmgea2560 auch dieses Problem, dass mir an einen einem Port nicht alle Pinne zur Verfügung stehen? Kennt jemand das Problem? Gruß, Dirk
Hi >Beim Atmega32 hatt ich mal ein Problem, dass sich ein paar Pinne vom >PortC nicht nutzen ließen, da sie auf JTAG eingestellt waren. Habe das >nie so richtig verstanden. Gibt es beim ATmgea2560 auch dieses Problem, >dass mir an einen einem Port nicht alle Pinne zur Verfügung stehen? Ja. Aber dort liegt das JTAG-Interface auf PortF. Einfach per JTAG-Fuse oder Software deaktivieren, fertig. MfG Spess
Dirk schrieb: > Kennt jemand das Problem? Ja, beim 2560 sind es die Pins PF4-PF7, steht auf Seite 89 im Datenblatt. Man sollte auch den Rest ab Seite 296 lesen, insbesondere die Seiten 297 und 308. Kurz: Wenn JTAG enebled ist (das ist der default), dann sind diese Pins nicht als IO nutzbar. Disablen kann man JTAG auf zwei Arten, entweder per JTAGEN Fuse oder programmatisch durch Setzen des JTD Bits im MCUCR Register.
Vielen Dank euch. Denke, das kriege ich hin. Wenn ich JTAG per Software im MCUCR Register deaktiviere, ist das dann für immer deaktiviert, auch wenn ich mal ein anderes Programm in den Flash brenne? Oder stellt ein Reset den alten (JTAG aktiv) Zustand wieder her? Fusebits lassen sich nicht per Software setzen, oder? Woher habt ihr soviel Ahnung von Atmegas? WOW! :) Arbeitet ihr beruflich damit? Werden Atmega Mikrocontroller viel in der Wirtschaft eingesetzt oder sind es fast reine Hobby Controller? Mache in einem Monat meinen Abschluss als Elektrotechniker und überlege mich im Bereich Mikrocontroller und Programmierung zu bewerben. Berufe mit AVRs wären natürlich mein Traum! Gruß, Dirk
Dirk schrieb: > Wenn ich JTAG per Software im MCUCR Register deaktiviere, ist das dann > für immer deaktiviert, auch wenn ich mal ein anderes Programm in den > Flash brenne? Nein Dirk schrieb: > Oder stellt ein Reset den alten (JTAG aktiv) Zustand > wieder her? Ja Dirk schrieb: > Fusebits lassen sich nicht per Software setzen, oder? Nein Dirk schrieb: > Woher habt ihr soviel Ahnung von Atmegas? Datenblatt lesen!!! Dirk schrieb: > Arbeitet ihr beruflich damit? Nein
Noch vergessen Dirk schrieb: > Woher habt ihr soviel Ahnung von Atmegas? Foren lesen :) Insbesondere hier und die englische Variante http://www.avrfreaks.net
Hi
>Foren lesen :)
Brauchst du nicht, wenn du die Datenblätter und die AppNotes richtig
liest.
MfG Spess
Dirk schrieb: > Werden Atmega Mikrocontroller viel in der Wirtschaft eingesetzt > oder sind es fast reine Hobby Controller? LOL Hobby Controller. Wenn eine Firma extra für Hobbyisten entwickeln würde, die alle winzigste Stückzahlen kaufen, müssten sie wahrscheinlich dreistellige Beträge für einen Tiny verlangen.
Hi, nochmal eine Frage. Gibt es einen Sockel für SMD mit 100 Pinnen, damit ich den Atmega 2560 nicht anlöten muss? Sollte ich den doch irgendwie verfusen oder anders zerstören, würde ich ungern alle 100 Lötpunkte lösen... Bei Reichelt gibts nur Sockel bis 64 Pin. Was macht ihr denn, wenn ihr so einen großen Mikrocontroller verbaut? Gruß, Dirk
Hi >Gibt es einen Sockel für SMD mit 100 Pinnen, damit ich den Atmega 2560 >nicht anlöten muss? Sollte ich den doch irgendwie verfusen oder anders >zerstören, würde ich ungern alle 100 Lötpunkte lösen... Gibt es schon. Aber den willst du nicht wirklich bezahlen. Sieh dir mal das an: http://www.elk-tronic.de/Products/Adapter/SolderAdapter/SolderAdapter.htm#QFP100 >Bei Reichelt gibts nur Sockel bis 64 Pin. Aber nicht für TQFP. >Was macht ihr denn, wenn ihr so einen großen Mikrocontroller verbaut? Keine Fehler. MfG Spess
Mein größte Sorge sind ja die Fuse Bits. Habe da noch nicht soviel Erfahrung. Will ja auf einen externen 16 Mhz Quarz umstellen und JTAG deaktivieren um alle Ports komplett nutzen zu können. Auch hab ich Angst den Controller zu "grillen" wenn ich so viele Pinne anlöte. Gebe ihm einfach abkühlpausen und werde nochmal Hilfe Schreien wenn ich bei den Fuses bin und genau schreiben, was ich mit den Fusebits bezwecken und wie ich die setze. Wäre total nett, wenn sich das dann jemand mal anschaut, bevor ich den Atmega versaue. Gruß, Dirk
Hi Bist du sicher, das du überhaupt den 100-pol. brauchst? Mit 256k-Flash gibt es auch noch den ATMega2851 im etwas freundlicheren 64-Pin-Gehäuse. MfG Spess
Du meinst ATMega2561, oder? So viele Port Pins sind schon schön :) Ist ja für nenn RGB-Cube mit 8x8x8 LEDs. Will diese mit 8 Ports (64) Leitungen ansteuern. An jeder Leitung noch ein 8bit-Schieberegister um auf die 512 zu kommen. Über den ULN2803 ziehe ich die LEDs dann auf Masse. Über Multiplexing schalte ich dann abwechselnd Spannung an die einzelnen Farbkanäle der RGB LEDs. Dafür nehme ich Mosfets. So der Plan. Hab dann sogar noch ein paar Leitungen für Bedien- oder Anzeigeelemente frei. 86 Portpins sind schon geil :) Will einfach mal was umfangreiches bauen. ...und ja ich weiß, man kann Schieberegister auch kaskadieren. Will 64 Bit nunmal parallel ausgeben. Ist ein paar Takte schneller. Gruß, Dirk
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.