Forum: Mikrocontroller und Digitale Elektronik ATmega16 auf ATmega32 upgraden


von Martin (Gast)


Lesenswert?

Ich möchte meine Schaltung von ATmega16 auf ATmega32 upgraden.

Die beiden MC sind doch 100% Pin kompatibel, oder?
Als Compiler verwende ich den gcc, hier muss ich doch im Makefile nur 
bei MCU das atmega16 in atmega32 ersetzen.
Dann noch die Konfigurationsbits wie bei ATmega16 nun auch bei ATmega32 
setzen und fertig.

Oder muss ich da noch irgendetwas anderes beachten?

von Johannes M. (johnny-m)


Lesenswert?


von Dietmar E (Gast)


Lesenswert?

Wenn schon Umstieg, warum dann nicht gleich ATMega644, der ist auch 
pin-kompatibel. Das sind nur 3,50 EUR Unterschied, dafür gibt es doppelt 
so viel Speicher (Flash, RAM, EEPROM), mehr Geschwindigkeit, mehr Timer 
und ein paar andere Vorteile.

von Dietmar E (Gast)


Lesenswert?


von Fred (Gast)


Lesenswert?

Hi,

pinkompatibel sind die Mega16 und Mega32, aber pass auf Dein Programm 
auf. Die Prioritäten der Interrupts sind auch bei gleichem Gehäuse und 
gleichem Pin-Layout manchmal unterschiedlich (z.B. hier).
Gruß

Fred

von Martin (Gast)


Lesenswert?

Hey,

das ging ja schnell...  Danke.

Mit dem ATmega644 muss ich mal näher beschäftigen, den hatte ich noch 
gar nicht auf meinem Schirm.

Martin

von neuer (Gast)


Lesenswert?

und laufen mit 20mhz....

von Jörn P. (jonnyp)


Lesenswert?

Tatsächlich 20 Milliherz??

von Werner B. (Gast)


Lesenswert?

> Tatsächlich 20 Milliherz??
Ja

Aber...
Da ist der Umstieg nicht mehr so einfach wie vom Mega16 auf Mega32.
Register sind umbenannt, Bits liegen in anderen Registern etc.
Gibts aber eine Appnote von ATMEL was man zu beachten hat.
Wenn Du die 64kB Flash nicht brauchst ... lass es lieber.
Für Neuentwicklungen aber zu empfehlen.

Werner

von Carbolo C. (carbolo)


Lesenswert?

Jörn Paschedag wrote:
> Tatsächlich 20 Milliherz??

und ich schlage mich immer mit dem Prescaler rum :-))))) Wo kann man die 
Teile kaufen???

Nach kurzer Umrechnerei kam ich auf einen Takt pro 50 Sekunden!! Da soll 
man sagen, die AVR's seien hektisch :-))))))))))))))))))

Gruss: Carbolo

von Fred (Gast)


Lesenswert?

Hi,

also die Umbenennerei der Register ist relativ harmlos, zumindest für 
Assembler Fans. z.B. die Bezeichnung der Port Register ist ja in der 
include Datei des jeweiligen Prozessors hinterlegt. Wenn im Code also 
irgendwas mit PortA kommt, dann sollte der Assembler automatisch das 
richtige Register finden und verwenden. Von C, Bascom oder anderen 
Sprachen habe ich zwar wenig Ahnung, aber da sollte es doch ähnlich 
laufen.
Gruß

Fred

von Martin (Gast)


Lesenswert?

Für mein neues Layout überlege ich nun, anstatt von ATmega16 auf 
ATmega32 gleich auf ATmega128 zu wechseln. Wäre zwar ziemlich 
überdimensioniert aber auf die paar Euro kommt es mir nicht an.

Wie schaut es dort mit dem Upgrade aus?
Bei Atmel habe ich nur die Unterschiede zwischen ATmega64 und ATmega128.
http://www.atmel.com/dyn/resources/prod_documents/doc2539.pdf


Die Priorität der Interruptquellen ist mir egal, wichtiger ist die 
gleiche Bezeichnung der Register. Wie sieht es dort aus? Was muss ich 
zusätzlich zu dem Upgrade von ATmega32 nun bei ATmega128 beachten?

von SichAmKopfKratzt (Gast)


Lesenswert?

Martin,

steht alles im Datenblatt......

von Dietmar E (Gast)


Lesenswert?

> anstatt von ATmega16 auf ATmega32 gleich auf ATmega128 zu wechseln

Dir ist klar, dass es den nicht im DIL40-Gehäuse gibt (pinkompatibel), 
sondern nur als SMD-Version (TQFP 64 / MLF 64)?

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.