Frank (Diskussion | Beiträge) K |
Trekko (Diskussion | Beiträge) K (Atmel Controller Mega48 Mega88 Mega168 wurde nach ATmega48 ATmega88 ATmega168 ATmega328 verschoben) |
||
(21 dazwischenliegende Versionen von 9 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
Diese Controllertypen sind bis auf einige spezielle Funktionen pinkompatibel | 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 9: | 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 18: | 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 27: | 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