Download Mikrocontroller-Einstieg mit myAVR

Transcript
Zentraleinheit (CPU, Prozessor), wie wir
sie etwa vom PC her kennen, ist die Ausstattung mit weiteren Bausteinen wie Speicher, analogen und digitalen I/O-Baugruppen, Schnittstellencontrollern, Timern usw.
Natürlich darf man die Rechenleistung
und den Befehlsumfang der kleinen Zentraleinheit eines solchen Controllers nicht
mit der einer PC-CPU vergleichen, für die
Ausführung der für diese Controller spezifischen Aufgaben sind Rechenleistung und
Befehlsumfang (hieraus leitet sich auch der
Begriff RISC-Prozessor ab: Reduced Instruction Set Computer – eingeschränkter
Befehlssatz) jedoch ausreichend. Nur durch
diese Architektur sind MikrocontrollerBaugruppen extrem kompakt (und stromsparend) aufzubauen, man benötigt kaum
Peripherie. Da der Befehlsaufbau mit nur
wenigen, einfach strukturierten Befehlen
(Tabelle 1 am Ende des Artikels zeigt eine
Kurzübersicht aller von den AVR-Mikrocontrollern unterstützten Befehle, hierauf
kommen wir im Verlauf der Serie zurück)
erfolgt, konnte man den Rechnerkern auf
hohe Rechengeschwindigkeit optimieren,
so sind die Controller auch bis hin zu Echtzeitaufgaben einsetzbar. Dazu kommt eine
auf die Controller-Architektur speziell zugeschnittene Programm-Übersetzung und
-Bearbeitung, die die Abarbeitungsgeschwindigkeit von Befehlen nochmals erhöht – RISC-Prozessoren sind VCC
in der Welt der Ein-Chip-Rechner die
schnellsten Prozessoren!
Abbildung 7 zeigt bereits ein komplexeres Bild – den Aufbau unseres ver- GND
wendeten AVR ATmega8. Hier finden AVCC
sich alle besprochenen Baugruppen in
AGND
detaillierter Aufteilung wieder.
AREF
Register, RAM, ROM, Flash …
Wichtig für das Verständnis bei der
späteren Programmierung ist hier noch
der etwas detailliertere Blick in die
Speicherausstattung. Mikrocontroller
verfügen über mehrere Speicherarten,
die jeweils unterschiedliche Aufgaben haben.
Direkt im Kontakt mit dem Prozessorkern, dem Rechenwerk (ALU), verbunden sind die Register. Diese dienen der Verwaltung des Befehlscodes,
sie sind die Operanden und Ergebnisspeicher für die direkten Maschinen-
Bild 6:
Grundaufbau
eines Mikrocontrollers
Zentraleinheit
InterruptController
.......
befehle des Rechenwerks. Die einzelnen
Register haben jeweils bestimmte Aufgaben, wie wir noch im Verlaufe der Programmentwürfe sehen werden. Wichtig zu
wissen ist die Tatsache, dass die Speicherinformationen der Register beim Abschalten
der Betriebsspannung gelöscht sind!
Das sind auch die des SRAM-Datenspeichers. Der dient zur Speicherung der bei der
Abarbeitung von Programmen anfallenden
Programmdaten sowie aller Informationen,
die nicht fest im eigentlichen Programm
des Controllers verankert sind, etwa auch
von außen erfasster bzw. eingegebener oder
zwischengespeicherter Daten. Seine Leseund Schreibzeiten sind sehr kurz, so dass
der SRAM der schnellste Speicher des hier
besprochenen Verbunds ist.
Die dritte Klasse von Speichern sind die
nicht flüchtigen Speicher. Diese kommen
als ROM oder (E)EPROM vor. Sie behalten grundsätzlich einmal hier gespeicherte Informationen, auch bei Abschalten der
Betriebsspannung, und eignen sich so z. B.
für die Speicherung des Betriebsprogramms
eines Controllers, das beim Wiedereinschalten sofort zur Verfügung steht.
Im ROM werden Daten fest gespeichert,
PC 0.....PC 5
PORT C DRIVERS
DATA REGISTER
PORT C
DATA DIR
REG PORT C
8-BIT DATA BUS
ADC
ANALOG MUX
PROGRAM
COUNTER
STACK
POINTER
PROGRAM
FLASH
SRAM
INSTRUCTION
REGISTER
GENERAL
PURPOSE
REGISTERS
INSTRUCTION
DECODER
X
Y
Z
CONTROL
LINES
ALU
INTERNAL
OSCILLATOR
OSCILLATOR
WATCHDOG
TIMER
TIMING AND
CONTROL
XTAL1
XTAL2
RESET
MCU CONTROL
REGISTER
TIMER/
COUNTERS
INTERRUPT
UNITS
EEPROM
STATUS
REGISTER
SPI
DATA DIR
REG PORT B
PORT B DRIVERS
AVR kl-MB.indd 79
COUNTER/
TIMER
Analog-/
DigitalWandler
serielle
Schnittstelle
.......
DATA REGISTER
PORT B
ELVjournal 2/06
EEPROM/
FLASH
Interner
Bus
parallele
I/O
PROGRAMMING
LOGIC
Bild 7:
Blockschaltbild des ATmega8
SRAM
PB 0.....PB 5
UART
DATA REGISTER
PORT D
DATA DIR
REG PORT D
+
-
ANALOG
COMPARATOR
PORT D DRIVERS
PD 0.....PD 7
79
15.03.2006 10:06:08 Uhr