Frank (Diskussion | Beiträge) |
Trekko (Diskussion | Beiträge) K (Atmel Controller Mega48 Mega88 Mega168 wurde nach ATmega48 ATmega88 ATmega168 ATmega328 verschoben) |
||
| (23 dazwischenliegende Versionen von 9 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
| − | === | + | Diese Controllertypen sind bis auf einige spezielle Funktionen pinkompatibel |
| + | |||
| + | ===ATmega8=== | ||
*ATMega AVR 8-16 PDIP | *ATMega AVR 8-16 PDIP | ||
*Gehäuse: DIL-28 | *Gehäuse: DIL-28 | ||
| Zeile 7: | Zeile 9: | ||
*RAM: 1K | *RAM: 1K | ||
*I/ O: 23 | *I/ O: 23 | ||
| + | *Betriebsspannung: 4.5 - 5.5V, bzw. 2,7 - 5.5V in L Version (max. 8 MHz) | ||
| − | === | + | ===ATmega48=== |
*ATMega AVR 48-20 PDIP | *ATMega AVR 48-20 PDIP | ||
*Gehäuse: DIL-28 | *Gehäuse: DIL-28 | ||
| Zeile 16: | Zeile 19: | ||
*RAM: 512 Byte | *RAM: 512 Byte | ||
*I/ O: 23 | *I/ O: 23 | ||
| + | *Betriebsspannung: 2.7 - 5.5V ; 1.8 -5.5 in "V" Version | ||
| − | === | + | ===ATmega88=== |
| + | *ATMega AVR 88-20 PDIP | ||
| + | *Gehäuse: DIL-28 | ||
| + | *MHz: 20 | ||
| + | *Flash: 8 kByte | ||
| + | *EEProm: 512 Byte | ||
| + | *RAM: 1024 Byte | ||
| + | *I/ O: 23 | ||
| + | *Betriebsspannung: 2.7 - 5.5V ; 1.8 -5.5 in "V" Version | ||
| + | |||
| + | ===ATmega168=== | ||
*ATMega AVR 168-20 PDIP | *ATMega AVR 168-20 PDIP | ||
*Gehäuse: DIL-28 | *Gehäuse: DIL-28 | ||
| Zeile 25: | Zeile 39: | ||
*RAM: 1 kByte | *RAM: 1 kByte | ||
*I/ O: 23 | *I/ O: 23 | ||
| + | *Betriebsspannung: 2.7 - 5.5V ; 1.8 -5.5 in "V" Version | ||
| + | |||
| + | ===ATmega328=== | ||
| + | *ATMega AVR 168-20 PDIP | ||
| + | *Gehäuse: DIL-28 | ||
| + | *MHz: 20 | ||
| + | *Flash: 32 kByte | ||
| + | *EEProm: 1 kByte | ||
| + | *RAM: 2 kByte | ||
| + | *I/ O: 23 | ||
| + | *Betriebsspannung: 1.8 - 5.5V | ||
http://www.roboternetz.de/wiki/uploads/Main/pinbelegungmega8_168.gif | http://www.roboternetz.de/wiki/uploads/Main/pinbelegungmega8_168.gif | ||
| + | |||
| + | === Unterschiede zwischen ATmega8 und ATmega88 === | ||
| + | |||
| + | Der Mega88 ist zwar nicht als Ersatz für den Mega8 entwickelt worden, kann aber auf Grund der | ||
| + | Pin-Kompatibilität sehr leicht in bestehenden Schaltungen ersetzt werden. | ||
| + | Einige Besonderheiten müssen dabei bei der Programmierung berücksichtigt werden, denn die Lage vieler IO-Register, und teils der offizielle Name, hat sich geändert. Einige der IO-Register sind nicht mehr per In/OUT ansprechbar, so dass ggf. etwas längerer Code entsteht. | ||
| + | |||
| + | Die wichtigsten Verbesserungen des ATmega88 gegenüber dem ATmega8 im Überblick: | ||
| + | |||
| + | *Schnellere Taktfrequenz bis 20MHz | ||
| + | *Geringerer Energieverbrauch | ||
| + | *Schnellere EEPROM Schreibzugriffe | ||
| + | *On-Chip Deggugging möglich mit DebugWire (über den RESET Pin) | ||
| + | *Pin Change Interrupt auf allen Eingangs Pins | ||
| + | *1.1V kalibrierte Referenzspannung im ADC gegenüber 2.56V beim Mega8; (Signalspannungen sind leichter teilbar als multiplizierbar) | ||
| + | *Timer 0,2 erweitert um PWM und Compare Einheit | ||
| + | *Ausgabe des Systemtaktes auf einen I/O Pin möglich | ||
| + | *USART statt UART | ||
| + | *Programmierbarer Teiler für den Takt | ||
| + | |||
| + | === ATmega88A, ATmega88PA === | ||
| + | Dies sind neue leicht verbesserte Versionen: | ||
| + | * noch geringerer Stromverbrauch | ||
| + | * 32 kHz Oszillator Mode mit weniger Amplitude | ||
| + | * keine separate Version für niedrige Spannung mehr | ||
| + | Für den ATmega168 existieren ebenfalls verbesserte Versionen. Der ATmega328 hingegen entspricht bereits dem Entwicklungsstand des ATmega168A, so dass hiervon keine A-Version existiert. | ||
| + | |||
| + | === Unterschiede zwischen ATmega48, ATmega88, ATmega168 und ATmega328 === | ||
| + | |||
| + | Die Unterschiede beschränken sich im wesentlichen auf den internen Speicher: | ||
| + | |||
| + | {| {{Blauetabelle}} | ||
| + | | | ||
| + | |'''ATmega48''' | ||
| + | |'''ATmega88''' | ||
| + | |'''ATmega168''' | ||
| + | |'''ATmega328''' | ||
| + | |- | ||
| + | |FLASH(bytes) | ||
| + | |4096 | ||
| + | |8192 | ||
| + | |16384 | ||
| + | |32768 | ||
| + | |- | ||
| + | |EEPROM(bytes) | ||
| + | |256 | ||
| + | |512 | ||
| + | |512 | ||
| + | |1024 | ||
| + | |- | ||
| + | |SRAM(bytes) | ||
| + | |512 | ||
| + | |1024 | ||
| + | |1024 | ||
| + | |2048 | ||
| + | |- | ||
| + | |Boot Sector Größe(bytes) | ||
| + | |n.v | ||
| + | |256..2048 | ||
| + | |256..2048 | ||
| + | |256..2048 | ||
| + | |- | ||
| + | |FLASH Page Größe(bytes) | ||
| + | |64 | ||
| + | |64 | ||
| + | |128 | ||
| + | |256 | ||
| + | |} | ||
==Siehe auch== | ==Siehe auch== | ||
* [[Atmel]] | * [[Atmel]] | ||
| − | + | * [[AVR]] | |
| + | * [[HEX Beispiel-Dateien für AVR]] | ||
| + | * [[RN-Mega8]] - Bauanleitung für geeignetes Entwicklungsboard | ||
| + | * [[RN-MiniControl]] - Bauanleitung für geeignetes Entwicklungsboard | ||
[[Kategorie:Microcontroller]] | [[Kategorie:Microcontroller]] | ||
[[Kategorie:Grundlagen]] | [[Kategorie:Grundlagen]] | ||
[[Kategorie:Elektronik]] | [[Kategorie:Elektronik]] | ||
Aktuelle Version vom 1. Juni 2012, 19:33 Uhr
Diese Controllertypen sind bis auf einige spezielle Funktionen pinkompatibel
Inhaltsverzeichnis
ATmega8
- ATMega AVR 8-16 PDIP
- Gehäuse: DIL-28
- MHz: 16
- Flash: 8
- EEProm: 512
- RAM: 1K
- I/ O: 23
- Betriebsspannung: 4.5 - 5.5V, bzw. 2,7 - 5.5V in L Version (max. 8 MHz)
ATmega48
- ATMega AVR 48-20 PDIP
- Gehäuse: DIL-28
- MHz: 20
- Flash: 4 kByte
- EEProm: 256 Byte
- RAM: 512 Byte
- I/ O: 23
- Betriebsspannung: 2.7 - 5.5V ; 1.8 -5.5 in "V" Version
ATmega88
- ATMega AVR 88-20 PDIP
- Gehäuse: DIL-28
- MHz: 20
- Flash: 8 kByte
- EEProm: 512 Byte
- RAM: 1024 Byte
- I/ O: 23
- Betriebsspannung: 2.7 - 5.5V ; 1.8 -5.5 in "V" Version
ATmega168
- ATMega AVR 168-20 PDIP
- Gehäuse: DIL-28
- MHz: 20
- Flash: 16 kByte
- EEProm: 512 Byte
- RAM: 1 kByte
- I/ O: 23
- Betriebsspannung: 2.7 - 5.5V ; 1.8 -5.5 in "V" Version
ATmega328
- ATMega AVR 168-20 PDIP
- Gehäuse: DIL-28
- MHz: 20
- Flash: 32 kByte
- EEProm: 1 kByte
- RAM: 2 kByte
- I/ O: 23
- Betriebsspannung: 1.8 - 5.5V
http://www.roboternetz.de/wiki/uploads/Main/pinbelegungmega8_168.gif
Unterschiede zwischen ATmega8 und ATmega88
Der Mega88 ist zwar nicht als Ersatz für den Mega8 entwickelt worden, kann aber auf Grund der Pin-Kompatibilität sehr leicht in bestehenden Schaltungen ersetzt werden. Einige Besonderheiten müssen dabei bei der Programmierung berücksichtigt werden, denn die Lage vieler IO-Register, und teils der offizielle Name, hat sich geändert. Einige der IO-Register sind nicht mehr per In/OUT ansprechbar, so dass ggf. etwas längerer Code entsteht.
Die wichtigsten Verbesserungen des ATmega88 gegenüber dem ATmega8 im Überblick:
- Schnellere Taktfrequenz bis 20MHz
- Geringerer Energieverbrauch
- Schnellere EEPROM Schreibzugriffe
- On-Chip Deggugging möglich mit DebugWire (über den RESET Pin)
- Pin Change Interrupt auf allen Eingangs Pins
- 1.1V kalibrierte Referenzspannung im ADC gegenüber 2.56V beim Mega8; (Signalspannungen sind leichter teilbar als multiplizierbar)
- Timer 0,2 erweitert um PWM und Compare Einheit
- Ausgabe des Systemtaktes auf einen I/O Pin möglich
- USART statt UART
- Programmierbarer Teiler für den Takt
ATmega88A, ATmega88PA
Dies sind neue leicht verbesserte Versionen:
- noch geringerer Stromverbrauch
- 32 kHz Oszillator Mode mit weniger Amplitude
- keine separate Version für niedrige Spannung mehr
Für den ATmega168 existieren ebenfalls verbesserte Versionen. Der ATmega328 hingegen entspricht bereits dem Entwicklungsstand des ATmega168A, so dass hiervon keine A-Version existiert.
Unterschiede zwischen ATmega48, ATmega88, ATmega168 und ATmega328
Die Unterschiede beschränken sich im wesentlichen auf den internen Speicher:
| ATmega48 | ATmega88 | ATmega168 | ATmega328 | |
| FLASH(bytes) | 4096 | 8192 | 16384 | 32768 |
| EEPROM(bytes) | 256 | 512 | 512 | 1024 |
| SRAM(bytes) | 512 | 1024 | 1024 | 2048 |
| Boot Sector Größe(bytes) | n.v | 256..2048 | 256..2048 | 256..2048 |
| FLASH Page Größe(bytes) | 64 | 64 | 128 | 256 |
Siehe auch
- Atmel
- AVR
- HEX Beispiel-Dateien für AVR
- RN-Mega8 - Bauanleitung für geeignetes Entwicklungsboard
- RN-MiniControl - Bauanleitung für geeignetes Entwicklungsboard