www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ATmega64 vs. ATmega128


Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

soweit ich aus den beiden Datenblätter entnommen habe sind die beiden 
Mikrocontroller ausgangskompatibel. Hat jemand Erfahrungen oder Probleme 
beim Austausch eines ATmega64 gegen einen 128er?

Grüße Hans

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Mega128 ist älter als der Mega64 und hat einige Funktionen nicht, 
die der Mega64 hat. Wenn Du einen Mega64 hast und einen pinkompatiblen 
mit mehr Speicher brauchst, dann nimm lieber einen Mega1281. Der ist 
wenigstens up to date.

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Der Mega128 ist älter als der Mega64 und hat einige Funktionen nicht,
>die der Mega64 hat. Wenn Du einen Mega64 hast und einen pinkompatiblen
>mit mehr Speicher brauchst, dann nimm lieber einen Mega1281. Der ist
>wenigstens up to date.
diese aussage halte ich für falsch.
der mega64 und der mega128 sind aus der gleichen familie und sicher 
kompatibel, während der mega1281 nicht einmal zum mega128 kompatibel ist 
(zumindest was die belegung der register und ein paar andere details 
betrifft).


gruss
gerhard

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> diese aussage halte ich für falsch.
Dann schau doch einfach mal in die Datenblätter! Der Mega64 ist ein 
Derivat des Mega103 und ist deutlich später als der Mega128 
herausgekommen. Genau deshalb ist ja auch der 1281 dem 64 ähnlicher als 
dem 128.

Der OP sucht nach meinem Verständnis einen Ersatz für seinen Mega64, der 
pinkompatibel ist. Und da ist es unsinnig, einen "veralteten" 
Vorgängertypen einzusetzen, wenn es aktuelle µCs gibt, die nicht nur 
pin- sondern auch weitgehend funktionskompatibel sind.

Autor: Hans (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

danke für die schnellen Antworten. Werd mir den vorgeschlagenen 1281 
ansehen.

Wie johnny.m schon richtig schreibt verwende ich momentan den ATmega64 
und muss wegen Mangel an Speicher auf 128kB aufrüsten. Die Platine mit 
der externen Beschaltung kann nicht geändert werden.

Grüße
Hans

Autor: gerhard (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@johnny:
1. der atmega128 war der ersatz für en atmega103 (sonst gäbe es ja auch 
nicht die entspr. fuses im atmega128 oder?).
2. guckst du mal unter 
http://www.avrfreaks.net/index.php?module=Freaks%2... 
und clickst auf den atmega64 und liest die details. da steht dann 
folgender text:

"The ATmega64 has the same feature set as the ATmega128. The main 
difference is half memory size for the non-volatile memories. The SRAM 
size is the same as for the ATmega128."

ich hoffe damit ist alles klar!

gruss
gerhard

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ...The main difference...
Eben nur der Hauptunterschied! Wenn man sich die Datenblätter genauer 
ansieht, stellt man aber fest, dass es noch ein paar weitere 
Unterschiede gibt. Um nur ein Beispiel zu nennen: Der ATMega128 hat 
keine ADC-Auto-Trigger-Möglichkeit, der Mega64 hat das jedoch. Du kannst 
mir das ruhig glauben: Der Mega128 ist älter als der Mega64. Und ich 
gehe davon aus, dass aufgrund der Tatsache, dass es mittlerweile den 
(zum Mega128 pinkompatiblen) Mega1281 gibt, der Mega128 demnächst vom 
Markt verschwinden wird.

Autor: Hauke Sattler (hauke)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Jonny.m

Ich halte deine Aussage für sehr gewagt und zudem an der Frage vorbei.

Es wurde explizit nach Problemem mit der Austaschbarkeit zwischen M64 
und M128 gefagt.

So wie ich das sehe sind der M128 und der M64 BEIDE aus dem M103 
hervorgegangen. BEIDE haben einen M103 Kompatiblitätsmodus. Der M1281 
hat nichts dergleichen.

Weiterhin unterscheiden sich die IO-Register von und M64 und M128 nur an 
zwei Stellen.
1. dem EEPROM Address Register High (EEARH=$1F ($3F))
dies ist beim M128 um ein Bit breiter (weil der M128 mer EEPROM hat)

2. dem ADC Control and Status Register B(ADCSRB=(0x8E))
dies ist beim M128 nicht vorhanden und steuert beim M64 die ADC Auto 
Trigger Quellen.

Wenn ich mir die IO-Register des M1281 ansehe dann kann ich keinerlei 
ähnlichkeiten zu den "alten Megas" erkennen.
Vielmehr hat der M1281 die "neue Mega" Registeraufteilung, und ist daher 
von der Programmstruktur eher mit dem M48/88/168 zu vergleichen.

Die Frage war ja ob man M64 Programme auf M128 (und umgekehrt) portieren 
kann. Ich würde sagen, mit gewissen Einschränkungen sollte es keine 
Probleme geben.

M128 Programme auf M1281 wird ohne Nacharbeit (Sprich neuschreiben des 
Programms) kaum gehen.
Selbst ein einfaches "Hello World" in Assembler auf die serielle 
Schnittstelle wird warscheinlich zum Crash führen. Die UART Ansteuerung 
hat sich sehr geändert, und wurde in den Datenblättern noch nicht 
korrigiert.


Zu Erfahrungen kann ich nur sagen das ich meine M64 Programme auf einem 
M128 Emulator teste, und ich bisher keine Probleme hatte.

cu
Hauke


Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Hauke:
OK, wenn man die Code-Kompatibilität in Augenschein nimmt hast Du sicher 
recht. Ohne Ändern bestimmter I/O-Register-Zugriffe gehts da nicht, auch 
wenn das in C nicht so ein großes Problem wie in Assembler sein dürfte 
(und ich gehe nicht davon aus, dass der OP 64K Flash in Assembler 
vollgeschrieben hat). Wenn es um Code-Portabilität ohne umstricken geht, 
dann ist der Mega128 in der Tat immer noch die einfachste Variante.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.