Über die Bedeutung des Namens "AVR" gibt es viele Ansichten, laut Atmel ist jedoch der Name bedeutungslos.
Die Architektur im Überblick:
Die Architektur ist eine 8-Bit Harvard-Architektur, das heisst, es gibt getrennte Speicher für Programmcode. Den so genannten "FLASH-ROM" und Daten "RAM". Bei der Programmierung hat das den Nachteil, das sich Konstanten aus dem "Flash-Rom" nicht mit dem gleichen Code laden lassen wie die Daten aus dem "RAM". Abgesehen davon ist der Aufbau des Controllers sehr übersichtlich und birgt meiner Ansicht nach nur wenig Fallstricke.
- 32 größtenteils gleichwertige Register
- 3 Pointerregister
- ca 110. Befehle, die meist 1-2 Taktzyklen dauern
- Taktfrequenzen bis 20 Mhz sind möglich
- Betriebsspannung von 1,8 - 5,5V
- Speicher:
- 1 bis 256 kB Flash-ROM
- 0 bis 4 kG EEPROM
- 0 bis 16 kB RAM - Pheriperie: Analog/Digital (AD) Wandler, 8 und 16 Bit-Timer mit PWM, SPI, i²c (TWI), UART, Analog-Komperator, Watchdog, externer SRAM
- JTAG bei den größeren ATmegas zur In-System-Debugging
- debugWire bei den neueren AVRs
Die AVRs können untereinander mit dem SPI, I²C (Atmel nennt das TWI), UART, RS485, CAN, Ethernet untereinander Kommunizieren.
Die schnelleren Kommunikationswege sind jedoch RS485 mit 2,5mbps, CAN, TWI und SPI.
Wem mal die Ausgabe/Eingabeports (I/Os) nicht ausreichen, kann auf so genannten "Port-Expander" zurück greifen.
Ein AVR ist immer ein Ports aufgeteilt und hat je Port 8 Ausgänge, PORTA, PORTB, PORTC, PORTD u.s.w Jeweils gepinnt von I/O 0-7.
Warum die Ports am Mikroprozessor knapp werden? Wenn bsp. ein LCD-Display im 8-Bit Modus angesteuert werden soll, sind da die Datenleitungen (D0-D7) schon mal weg, dann Fehlen noch die Steuerleitungen.
Coming Soon.


Bereiche