2.1 Mikrocontroller - Goethe

Werbung
2. Hardware-Plattformen
Hardware-Plattformen für eingebettete Systeme
2.1 Mikrocontroller
2.2 Systems on Chip (SoC)
2.3 Energiespartechniken
2.4 Java und Java-Prozessoren für eingebettete Systeme
2.5 Mikrocontroller-Komponenten
2.6 Mikrocontroller-Beispiele
2.7 Signalprozessoren
2.8 Signalprozessor-Beispiele
2.9 Analoge Schnittstellen
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
1
2.1 Mikrocontroller
 Mikrocontroller: Mikrorechner auf einem Chip
 Für spezielle Anwendungsfälle zugeschnitten
 Meist Steuerungs- oder Kommunikationsaufgaben
 Anwendung oft einmal programmiert und für die
Lebensdauer des Mikrocontrollers auf diesem ausgeführt
 Anwendungsfelder sind breit gestreut
 Oft unsichtbar in uns umgebenden Geräten verborgen
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2
2.1 Mikrocontroller
Anwendungsfelder für eingebettete Systeme
 im Haushalt





die Steuerung der Kaffeemaschine,
der Waschmaschine,
des Telefons,
 in der Automatisierung
des Staubsaugers,
 das Steuern und Regeln von Prozessen,
des Fernsehers, ...
 das Überwachen von Prozessen,
 das Regeln von Materialflüssen,
 die Steuerung von Fertigungs- und
 in der KFZ Technik
Produktionsanlagen, ...
 das Motormanagement,
 das Antiblockiersystem,
 das Stabilitätsprogramm,
 die Traktionskontrolle,
 diverse Assistenten, z.B. beim Bremsen, ...
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
3
2.1 Mikrocontroller
2.1.1 Abgrenzung zu Mikroprozessoren
Ein-Chip Mikrorechner mit aufgabenspezifischer Peripherie
Mikrocontroller
Prozessorkern
RAM
ROM
EPROM
EEPROM
Ein/Ausgabesteuerung
Unterbrechungssteuerung
Zähler/Zeitgeber
...
...
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
Takt
Erweiterungsbusschnittstelle
4
2.1 Mikrocontroller
Ziel:
Möglichst wenige externe Bausteine für eine
Steuerungsaufgabe
Idealfall:
Mikrocontroller, Quarz, Stromversorgung sowie ggf.
Treiber und ein Bedienfeld
Beispiel: Fernbedienung
Infrarot-
Mikrocontroller
leuchtdiode
Tastaturmatrix
Quarz
Spannungsversorgung
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
5
2.1 Mikrocontroller
Schalenmodell eines
Mikrocontrollers:
Zähler / Zeitgeber
serielle / parallele
EA Kanäle
Schreib-/Lesespeicher
RAM
Watchdog
A/DWandler
Prozessorkern
EchtzeitKanäle
ROM
PROM
EPROM
Flash
EEPROM
DMA
&
Unterbrechungen
Festwertpeicher
Erweiterungsbus
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
Ruhebetrieb
6
2.1 Mikrocontroller
Prozessorkern:
• prinzipiell kein Unterschied zum Kern eines Mikroprozessors
• Kosten spielen jedoch meist die dominante Rolle
=> einfacher als der Kern eines Mikroprozessors
Varianten:
1. Eigens für den Mikrocontroller entwickelter einfacher Kern
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
7
2.1 Mikrocontroller
2. Verwendung älterer Kerne von Mikroprozessoren
• bewährte Technik, Kompatibilität, reduzierte Kosten
• Leistungsvermögen meist ausreichend
• Modifikationen:
– Stromsparmodus
– kein Cache
– keine virtuelle Speicherverwaltung
=> Reduktion des Stromverbrauchs, Verbesserung des
Echtzeitverhaltens
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
8
2.1 Mikrocontroller
Speicher
• integrierter Festwert- und Schreiblesespeicher
• Aufnahme von Daten und Programmen
• Vorteil: Einsparung von Anschlüssen und Decodierlogik bei
vollständiger interner Speicherung
• Größe und Typ des Speichers unterscheiden oft verschiedene
Untertypen desselben Mikrocontrollers
• z.B. je nach Stückzahl der Anwendung unterschiedlicher Typ des
Festwertspeichers (ROM, PROM, EPROM, EEPROM, FLASH)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
9
2.1 Mikrocontroller
Serielle und parallele Ein-/Ausgabekanäle
• grundlegenden digitalen Schnittstellen eines Mikrocontrollers
• seriell oder parallel
• synchron oder asynchron
AD/DA-Wandler
• grundlegenden analogen Schnittstellen eines Mikrocontrollers
• Anschluss analoger Sensoren und Aktoren
• Auflösung und Wandlungszeit sind die wichtigsten Größen
• AD-Wandler sind häufiger anzutreffen als DA-Wandler
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
10
2.1 Mikrocontroller
Zähler und Zeitgeber
• im Echtzeitbereich ein wichtiges Hilfsmittel
• für eine Vielzahl unterschiedlich komplexer Anwendungen
einsetzbar
Bsp:- Zählen von Ereignissen, Messen von Zeiten kommen mit
einem Zähler bzw. Zeitgeber aus
- Pulsweitemodulation, Frequenz- oder Drehzahlmessung,
Schrittmotorsteuerungen benötigen mehrere Einheiten
=> Die bei Mikrocontrollern verfügbare Bandbreite reicht von
einfachen Up-/Downcountern über Capture-CompareEinheiten bis zu autonomen Zeitgeber-Coprozessoren
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
11
2.1 Mikrocontroller
Watchdog
• „Wachhund“ zur Überwachung der Programmaktivitäten eines
Mikrocontrollers
• Programm muss in regelmäßigen Abständen Lebenszeichen
liefern
• Bleiben diese aus, so nimmt der Wachhund einen Fehler im
Programmablauf an => Reset
Beispiel: Mars Sojourner Mission
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
12
2.1 Mikrocontroller
Echtzeitkanäle
• Echtzeiterweiterung der parallelen E/A-Kanäle
• Kopplung eines parallelen Kanals mit einem Zeitgeber
=> der Ein-/Ausgabezeitpunkt wird von der Hardware und nicht
der Software bestimmt
=> Jitterfreie Ein-/Ausgabe
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
13
2.1 Mikrocontroller
Unterbrechungen (Interrupts)
• Unterbrechung des Programmablaufs bei Ereignissen
• Schnelle, vorhersagbare Reaktion auf Ereignisse
• Insbesondere wichtig bei Echtzeitanwendungen
• Behandlung eines Ereignisses durch eine Interrupt-Service-
Routine
• Mikrocontroller kennen meist externe Unterbrechungsquellen
(Eingangssignale) und interne Unterbrechungsquellen (Zähler,
Zeitgeber, E/A-Kanäle, ...)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
14
2.1 Mikrocontroller
DMA (Direct Memory Access)
• Direkter Datentransfer zwischen Peripherie und Speicher ohne
Beteiligung des Prozessorkerns
• Höhere Datenraten durch spezielle Transferhardware
• Entlastung des Prozessorkerns
• Prozessorkern muss lediglich die Randbedingungen des
Transfers festlegen
• Meist in Mikrocontrollern gehobener Leistungsklasse zu finden
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
15
2.1 Mikrocontroller
Ruhebetrieb (Standby Mode)
• Oft begrenzter Energievorrat oder Wärmeemission bei
Mikrocontroller-Anwendungen
• Ruhebetrieb zur Reduktion des Energieverbrauchs
• Abschaltung nicht benötigter Peripheriekomponenten und
Festwertspeicher
• Erhaltungsspannung am Schreib-/Lesespeicher
• Statische Prozessorkerne erlauben einen Takt von 0 Hz
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
16
2.1 Mikrocontroller
Erweiterungsbus
• Reichen die internen Komponenten eines Mikrocontrollers für
eine Anwendung nicht aus
=> Erweiterungsbus zum Anschluss externer Komponenten
• Ein Bus benötigt viele Anschlüsse (z.B. 16-Bit-Adressen, 8-BitDaten, 4 Steuersignale = 28 Anschlüsse)
=>
– Multiplexing (z.B. Daten-/Adressmultiplexing: Daten und
Adressen teilen sich die gleichen Leitungen)
– Bus muss sich Anschlüsse mit internen
Peripheriekomponenten teilen (Ressourcenkonflikt)
– Stufenweise Reduktion des Adressraums
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
17
2.1 Mikrocontroller
2.1.2 Anwendungsfelder
Beispiel Automatisierungstechnik
Anforderungen: Schnittstellenvielfalt, Echtzeitverhalten,
Zuverlässigkeit, Energieverbrauch, ...
Mikrocontroller werden im wesentlichen dann angewendet, wenn
lokale Intelligenz mit möglichst geringen Aufwand (Kosten,
Platzbedarf, Strombedarf, ...) realisiert werden muß
Anwendungsfelder in der Automatisierung:
• Prozesssteuerung
• Steuerung von Bedienelementen
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
18
2.1 Mikrocontroller
2.1.2.1 Prozesssteuerung
Vor Ort
z
u
a
u
t
o
m
a
t
i
s
i
e
r
e
n
d
e
s
S
y
s
t
e
m
lokale, schnelle
MSR-Einrichtung
mit
Mikrocontroller
Sensoren
Aktoren
räumlich entfernt
Verbindungsnetzwerk
(hierarchisch oder verteilt),
z.B. Feldbusse
lokale, schnelle
MSR-Einrichtung
mit
Mikrocontroller
Sensoren
Aktoren
.
.
.
Sensoren
Aktoren
Prozessleitrechner
(Mikrorechner)
Verbindungsnetzwerk
(hierarchisch oder verteilt),
z.B. Ethernet
Dispositions- &
Visualisierungsrechner
(Mikrorechner)
Prozessleitrechner
(Mikrorechner)
lokale, schnelle
MSR-Einrichtung
mit
Mikrocontroller
Sensor-/AktorProzessebene
ebene
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
System- & Leitebene
Betriebsebene
19
2.1 Mikrocontroller
Messen, Stellen, Regeln
Realisierung schneller Vor-Ort-Meß-, Stell-, und Regeleinrichtungen
• Messen:
 Erfassen von analogen und digitalen Sensordaten
 Umrechnung von elektrischen in physikalische Werte nach
vorgegebenen Kennlinien
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
20
2.1 Mikrocontroller
Beispiel: Kennline eines Temperatursensors
Temperatur
Thermofühler
Spannung
T
e
m
p
e
r
a
t
u
r
Thermofühler
[C]
Spannung [mV]
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
21
2.1 Mikrocontroller
• Messen (fortg.):
 Linearisierung von nichtlinearen Sensoren
 Korrektur von Meßfehlern, z.B. Nullpunktfehler, TemperaturDrift, ...
 Datenerfassung von multiplen Sensoren (z.B. Druck,
Temperatur, ...)
 Auswerten der erfassten Daten
 Datenkompression und -weiterleitung
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
22
2.1 Mikrocontroller
Beispiel:
temperaturkompensierte
Druckmessung
PO1
Mikrocontroller
TxD, RxD
zum Leitrechner
AI0
AI1
VCC
Temperatur-Sensor
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
Druck-Sensor
23
2.1 Mikrocontroller
• Stellen:
 Umrechnung von physikalischen in elektrische Werte nach
vorgegebenen Kennlinien
Heizelement
Strom
Heizelement
Temperatur
S
t
r
o
m
[mA]
Temperatur [C]
 Linearisierung nichtlinearer Aktoren
 Ausgabe digitaler und analoger Steuerdaten an die Aktoren
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
24
2.1 Mikrocontroller
Beispiel:
Ansteuerung
zweier analoger
Aktoren
TxD, RxD
Mikrocontroller
zum Leitrechner
AO0
AO1

Heizelement
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
Schieber
25
2.1 Mikrocontroller
Wandlungskette beim Messen und Stellen
Messen:
Sensor
Physikalische
Größe
Elektrische
Größe
Stellen:
Aktor
Physikalische
Größe
Kennlinienberechnung,
Linearisierung,
Korrektur
Korrigierter
Digitaler Wert
digitaler Wert
EingabeSchnittstelle
Kennlinienberechnung,
Linearisierung,
Korrektur
Korrigierter
Digitaler Wert
digitaler Wert
AusgabeSchnittstelle
Elektrische
Größe
Aufgabenbereich des Mikrocontrollers
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
26
2.1 Mikrocontroller
Problem:
Zusammenhang von elektrischer Eingangsgröße
und physikalischer Ausgangsgröße oft von
Störgrößen beeinflusst
Beispiel:
Drehzahl eines Motors hängt von der elektrischen
Spannung und der Last ab
Lösung:
Kombination von Messen und Stellen
=> Regeln
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
27
2.1 Mikrocontroller
• Regeln:
 Messen des Istwertes
 Soll-/Istwertvergleich (Regelabweichung)
 Ermittlung der Stellgröße (Regelalgorithmus, z.B. P, PI, PID,
Fuzzy, Neuronal, ..)
=> Rückführung (geschlossener Regelkreis)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
28
2.1 Mikrocontroller
Ein Regelkreis mit einem Mikrocontroller:
Mikrocontroller
Sollwerte
LeitRechner
Istwerte
Regler
(Regelalgorithmus, Stellgrößen
z.B. PI, PID, ...)
Aktoren
Regelstrecke
(zu regelndes
System)
Sensoren
Messgrößen
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
29
2.1 Mikrocontroller
2.1.2.2 Steuerung von Bedienelementen
Beispiel: Steuerung eines
einfachen
Handterminals
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
Soll-Temperatur: 20
Anstiegszeit: 
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
1
2
3
4
5
6
7
8
9
0
+
-
=
30
2.1 Mikrocontroller
Realisierung:
(möglichst
wenige externe
Komponenten)
serieller Port
TxD, RxD
Mikrocontroller
zum Leitrechner
parallele
Eingabeports
paralleler
Ausgabeport
8888888888888
LCD-Anzeige
Tastaturmatrix
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
31
2.1 Mikrocontroller
2.1.3 Leistungsklassen und Familien
Leistungsklasse eines Mikrocontrollers: wird vom Prozessorkern
bestimmt.
Datenbusbreite ist hier ein wesentliches Merkmal
=> 8-Bit-, 16-Bit-, 32-Bit-Mikrocontroller
Anmerkung: bezeichnet bei Mikrocontrollern oft nur die Breite des
internen Datenbusses und der Register
Breite des Erweiterungsbusses meist schmäler
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
32
2.1 Mikrocontroller
Mikrocontrollerfamilie: Menge von Mikrocontrollern mit gleichem
Prozessorkern, aber unterschiedlicher
Peripherie und unterschiedlichem Speicher
=> Anwendungsorientierte, kostenoptimale Lösungen werden
möglich
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
33
2.1 Mikrocontroller
Beispiel: Intel Mikrocontrollerfamilien:
Familie
Intel
8 Bit
MSC51
MSC251
Intel
16 Bit
MSC96
MSC296
Intel
32 Bit
PXA
Festwertspeicher
(KBytes)
Schreiblese
-speicher
(Bytes)
Zeitgeber
(Anzahl)
Serielle
E/A
(Anzahl)
AD-Wandler
(Anzahl x Bit)
Takt
(MHz)
4 - 32
0 - 16
128 - 512
512 - 1024
2-4
4
0-1
1-2
(0-4) x 8
-
12 - 33
16 - 24
32 - 56
-
1K - 1,5K
2K
3
2
1-2
1
(6-8) x (8-10)
-
20 - 50
50
64 - 256K
3 - 11
8 - 10
-
-
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
200 - 520
34
2.1 Mikrocontroller
Namensgebung der MSC51/251 Familie:
X X 8 X C X 1 XX – X
Taktfrequenz in MHz (zB. 16 = 16 MHz)
Peripherie- und Speicher Ausstattung (z.B. BH oder FA oder FB oder ...)
Interner Festwert-Speicher: 3 = nein, 5 = ja
Festwert-Speicher Typ: 0 = keiner/ROM, 3 = ROM, 7 = EPROM
Gehäuse-Form: P = Plastik Dual Inline (DIP), N = Plastik Leaded Chip Carrier (PLCC)
Temperatur-Bereich: leer = 0° bis 70°, T/L = -40° bis +85°, A/B = -40° bis +125°
Namensgebung MCS51 Familie
X X 8 X C 251 XX – X
Taktfrequenz in MHz (zB. 16 = 16 MHz)
Peripherie- und Speicher Ausstattung (z.B. BH oder FA oder FB oder ...)
Interner Festwert-Speicher Typ: 0 = keiner, 3 = ROM, 7 = EPROM
Gehäuse-Form: P = Plastik Dual Inline (DIP), N = Plastik Leaded Chip Carrier (PLCC)
C = Keramik DIP
Temperatur-Bereich: leer = 0° bis 70°, T = -40° bis +85°
Namensgebung MCS251 Familie
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
35
2.1 Mikrocontroller
Beispiele:
TP87C251SB-16:
251-Familie, 16 MHz, internes EPROM,
Plastik DIP, -40 ... + 85 °C
TP83C251SB-16:
251-Familie, 16 MHz, internes ROM,
Plastik DIP, -40 ... + 85 °C
TP80C251SB-16:
251-Familie, 16 MHz, kein interner Festwertsp.,
Plastik DIP, -40 ... + 85 °C
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
36
2.1 Mikrocontroller
PXA:
ARM Version 5 RISC Prozessorkern
Vertreter: • PXA210 (obsolet)
• PXA250 (obsolet)
• PXA26X (obsolet)
• PXA255 (pinkompatibel zu PXA250)
• PXA27X (270, 271, 272)
• PXA29X
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
37
2.1 Mikrocontroller
Beispiel: Atmel Mikrocontrollerfamilien:
Familie
Festwertspeicher
(KBytes)
Atmel
8 Bit
AVR 8
1 - 256
MSC51 komp. 2 - 128
Atmel
32 Bit
AVR 32
ARM
0 - 256
Schreiblese
-speicher
(Bytes)
Zeitgeber
(Anzahl)
Serielle
E/A
(Anzahl)
AD-Wandler
(Anzahl x Bit)
Takt
(MHz)
128 - 8k
256 - 2k
2
2-4
1-2
0-3
(1 - 16) x 10
(0-8) x (8-0)
16 - 20
40 - 60
64k
8K - 96K
6
6-9
10
4-6
1 x 16
8 x 10
133
33-190
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
38
2.1 Mikrocontroller
Die Mitglieder der AVR8 Familie:
ATtiny1X
2X
4X
8X
Grundmodelle mit 1, 2, 4 oder 8 kBytes ROM. Je nach X
unterschiedliche Versionen, z.B. ATtiny11 mit 6 MHz,
ATtiny12 mit 8 MHz und ATtiny13 mit 20 MHz
Taktfrequenz.
ATmega 8X
16X
32X
64X
128X
256X
AT90X
Erweiterte Modelle mit 8 bis 256 kBytes ROM. Je nach X
unterschiedliche Varianten, z.B. ATmega128 mit 4 kBytes
RAM und ATmega1280 mit 8 kBytes RAM
AT94X
Spezialversionen, z.B. AT90CAN128 mit CAN-Bus-Einheit
oder AT90PWM1 mit Pulsweitenmodulator
Enthält programmierbare Logik (FPGA)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
39
2.1 Mikrocontroller
Beispiel: Freescale Mikrocontrollerfamilien (ehem. Motorola):
Familie
Freescale
8 Bit
RS08
HC08
HCS08
Freescale
16 Bit
S12
HC12
HC16
Freescale
32 Bit
MCore
I.MX(ARM)
68k/Coldfire
MPC5XXX
Festwertspeicher
(KBytes)
Schreiblese
-speicher
(Bytes)
Zeitgeber
(Anzahl)
Serielle
E/A
(Anzahl)
AD-Wandler
(Anzahl x Bit)
Takt
(MHz)
1-2
8 - 64
4 - 64
63
256 - 2K
256 - 4K
1
2-8
0-8
0-4
0 -3
(6-24) x (8-10)
(0-16) x 10
10
4-8
8 - 20
16- 512
32 - 130
0-8
2K - 32K
1K - 8K
1K - 4K
1 - 12
8
4, TPU
1-6
2-6
1-2
(8-24) x 10
8 x (8-10)
8 x 10
16 -40
8 - 25
16 - 25
0 - 256
256 - 1024
0 - 256
0 - 1024
8K - 32K
16K - 48K
0 - 32K
26K - 36K
0-4
16
2-16,TPU
7-70,TPU
3
1-4
1 - 3, CP
5-9
(0-8) x 10
(16-32) x 10
(0-16) x 10
(32-40) x 10
16 - 33
40 - 50
16-200
40-400
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
40
2.1 Mikrocontroller
Mitglieder
der 68k/
ColdfireFamilie:
68k
MC68302
MC68306
MC68331
MC68332
MC68336
MC68340
MC68360
MC68376
MC68VZ328 (DragonBall VZ)
MC68SZ328 (DragonBall Super VZ)
Multi-Protokoll-Prozessor,
für
Kommunikationsaufgaben
optimiert,
autonomer Kommunikations-Prozessor
(CP)
Economie-Prozessor,
integrierter
Controller für dynamischen Speicher
Für Steuerungsaufgaben optimierter
Controller, umfangreiche Peripherie
Für Steuerungsaufgaben optimierter
Controller, gegenüber dem 68331
verbesserter
Prozessorkern
und
autonomer
Zeitgeber
Coprozessor
(TPU)
Integrierter SRAM Controller
Integrierter DMA-Controller
Integrierter DMA- und InterruptController
CAN-Bus Interface
Integrierter LCD Controller
Erhöhte Geschwindigkeit, integrierte
DA-Wandler
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
41
2.1 Mikrocontroller
Mitglieder
der 68k/
ColdfireFamilie
(fortg.):
ColdFire
MCF520
MCF525
MCF532
MCF540
MCF548
Hochleistungsmikrocontroller, flexible
Speicherverwaltung,
Ethernetunterstützung
Controller/Decoder für Audioplayer
Mensch-MaschineSchnittstellenunterstützung,
LCD,
Ethernet, USB, Verschlüsselung
Höchste Verarbeitungsleistung (316
MIPS)
Für vernetzte Steuerungsaufgaben,
CAN, Ethernet, USB, Verschlüsselung
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
42
2.1 Mikrocontroller
Beispiel: NEC Mikrocontrollerfamilien:
Familie
NEC
8 Bit
K0S
K0
NEC
16 Bit
K0R
NEC
32 Bit
V850
V850ES
V850E
V850E2
Festwertspeicher
(KBytes)
Schreiblese
-speicher
(Bytes)
Zeitgeber
(Anzahl)
Serielle
E/A
(Anzahl)
AD-Wandler
(Anzahl x Bit)
Takt
(MHz)
1 - 24
8 - 128
128 - 512
512 - 7168
2-4
5-6
0-2
0-5
(0-8) x (8-10)
(4-10) x (8-10)
5 - 10
20
4K - 12K
8
4
16 x 10
20
4K - 24K
6K - 48K
4k - 146k
146k
2 - 12
6 - 11
0 - 24
12
5 - 10
2-4
4-9
4
(12 - 16) x 10
(8 - 24) x 10
(0-24) x (8-10)
8 x 10
20
20
40-150
200
64 - 256
64 - 512
64 - 640
0 - 512
0
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
43
2.1 Mikrocontroller
Beispiel: Infineon Mikrocontrollerfamilien:
Familie
Infineon
8 Bit
C500
C800
XC800
Infineon
16 Bit
C166
XC166
Infineon
32 Bit
TriCore
Festwertspeicher
(KBytes)
Schreiblese
-speicher
(Bytes)
Zeitgeber
(Anzahl)
Serielle
E/A
(Anzahl)
AD-Wandler
(Anzahl x Bit)
Takt
(MHz)
16 - 64
8
8 - 32
256 - 2k
8k
768 – 2k
3-7
3
4
1-2
1
2-3
8 x 10
5x8
8 x 10
20
40
24 - 27
0 - 32
128 - 256
1K - 3K
8k - 12k
1-5
5
2
4
(0-8) x 10
(12 - 16) x 10
24
40
0-6
0-5
(0-32) x (8-12)
96-150
16-1,5M
128K-1,5 M
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
44
2.1 Mikrocontroller
2.1.4 Auswahlkriterien für den Einsatz von Mikrocontrollern
(aus der reichhaltigen verfügbaren Palette)
 Aufgabenstellung
 Messen
 Steuern
 Regeln
 Überwachen
 Mensch-Maschine-Schnittstelle
 Kombination obiger Punkte
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
45
2.1 Mikrocontroller
 allgemeine Leistungsmerkmale
 CISC- oder RISC-Architektur
 Von-Neumann oder Harvard-Architektur
 Wortbreite (4, 8, 16, 32 Bit)
 Adressraum
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
46
2.1 Mikrocontroller
 Architekturmerkmale des Prozessorkerns
Welche Befehlsarten stehen zur Verfügung/werden benötigt ?
 Lade- und Speicher-Operationen
 logische & arithmetische Operationen
 Multiplikation & Division
 Schiebeoperationen, Barrel-Shifter
 Bit-Testoperationen
 Gleitkomma-Operationen
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
47
2.1 Mikrocontroller
 Architekturmerkmale des Prozessorkerns (fortg.)
Welche Adressierungsarten sind erforderlich?










Unmittelbar
Direkt
Register
Registerindirekt
Registerindirekt mit Autoinkrement, Autodekrement
Registerindirekt mit Verschiebung
Indiziert
Indiziert mit Verschiebung
Relativ
komplexere Adressierungsarten
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
48
2.1 Mikrocontroller
 Architekturmerkmale des Prozessorkerns (fortg.)
Welche Datenformate werden benutzt ?
 Ganzzahlen (16, 32, 64 Bit)
 Gleitkommazahlen (32, 64, 80 Bit)
 Einzelbit-Datentypen
 Zeichen und Zeichenketten
 Felder
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
49
2.1 Mikrocontroller
 Speichermerkmale
 Wieviel Programm- und Datenspeicher benötigt die
Anwendung?
 Reicht die Größe des internen Daten- und
Programmspeichers?
 Ist ein externer Busanschluss vorhanden?
 Was ist die max. externe Speichergröße?
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
50
2.1 Mikrocontroller
 Peripheriemerkmale
Anzahl der:









parallelen E/A-Kanäle
seriellen E/A-Kanäle
Interrupt-Eingänge
Zähler/Zeitgeber
A/D-Wandler
D/A-Wandler
DMA-Controller
Echtzeitkanäle
speziellen Peripherie wie CAN, I2C, ...
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
51
2.1 Mikrocontroller
 Merkmale zur Ereignisbehandlung
 die Anzahl der Unterbrechungseingänge,
 eine Prioritäten-Steuerung bei mehrfachen Unterbrechungen,
 frei wählbare oder starre Prioritäten,
 das Sperren einzelner Unterbrechungen und
 die Reaktionszeit auf eine Unterbrechung.
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
52
2.1 Mikrocontroller
 Weitere technische Merkmale
 Taktfrequenz
 Taktzyklen pro Befehl
 Möglichkeit zum Anschluss langsamer Peripherie
 Energiebedarf
 Abwärme
 Stromspar-Modus
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
53
2.1 Mikrocontroller
 Ökonomische Merkmale
Preis
Verfügbarkeit
Produktpflege
Kundenunterstützung (Support)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
54
2.1 Mikrocontroller
2.1.5 Softwareentwicklung
In der Regel:
Quelldateien
Versions-Verwaltung
freigegebene Quelldateien
Cross-Development
integrierte
Entwicklungsumgebung
Editor
geänderte Quelldateien
Übersetzer
Objekt-Dateien
Symbole
Binder
Test
Debugger
Anwendungsprogramm
Ausführbare Datei
Entwicklungssystem: PC
Download
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
Zielsystem:
Mikrocontroller
55
2.1 Mikrocontroller
Da die Entwicklung bis auf den letzen Schritt auf einem
leistungsfähigen PC stattfindet
=>
die Entwicklungsumgebung ist zunächst ähnlich zur PCProgrammentwicklung:
Versionsverwaltung, Editoren, Übersetzer, Debugger
Es gibt jedoch Unterschiede!
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
56
2.1 Mikrocontroller
 Programmiersprachen
- Früher Assembler
- heute meist C, nur zeitkritische Teile in Assembler
- bei leistungsfähigeren Mikrocontrollern auch C++, erfordert
aber mehr Ressourcen und erzeugt mehr Dynamik
- Java in der Regel zu ressourcen-intensiv
- Es existieren jedoch einige Forschungsbemühungen in diese
Richtung (siehe später)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
57
2.1 Mikrocontroller
 Speicherbedarf
- hier liegt ein wesentlicher Unterschied zur
Programmentwicklung auf dem PC
- bei Mikrocontrollern ist Speicher eine knappe Ressource
- Übersetzer optimieren meist in Richtung Speicherbedarf
(selten Geschwindigkeit)
- Speichersparende Algorithmen sind gefragt
- Algorithmen, die vor 10-20 Jahren für den PC entwickelt
wurden, können hier interessant werden (zu dieser Zeit hatten
PCs etwa den Speicherumfang heutiger Mikrocontroller)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
58
2.1 Mikrocontroller
 Adressfestlegung beim Binden
- bei PCs: dynamische Adressfestlegung zur Laufzeit
- nur so können mehrere Programme gleichzeitig bearbeitet
werden
- bei Mikrocontrollern: statische Festlegung der Adressen beim
Binden (Locator)
- Die Adressen müssen an das Speicherabbild (Memory Map)
des Mikrocontrollers angepasst werden:
 Programm -> Festwertspeicher
 Daten -> Schreiblesespeicher
 Erste Programm-Instruktion, Interrupttabellen, ... , müssen
an die richtige Stelle gelegt werden
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
59
2.1 Mikrocontroller
Beispiel einer
0
Code,
Größe 3217 Bytes
Einsprungadresse 0
Memory Map
4 KByte Festwertspeicher
0FFF
unbelegt
8000
8BFF
Daten,
Größe 625 Bytes
3 KByte Schreib-/Lesespeicher
Stack, Größe 325 Bytes
unbelegt
FE00
Peripherie
FFFF
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
E/A-Adressbereich
60
2.1 Mikrocontroller
 Laden und Testen
– Simulator auf dem Entwicklungssystem
grober Test, da Zeitverhalten anders und Zielperipherie nicht
vorhanden
– Test auf dem Zielsystem mittels Download und Monitor
näher am Zielsystem (Zeitverhalten, Peripherie), immer noch
komfortables Testen, Monitor verändert aber Systemverhalten
(Initialisierungen, Speichertypen, ...)
– Test auf dem Zielsystem ohne Monitor
endgültige Zielumgebung, Programm im Festwertspeicher
(ext. Programmieren oder Flash-Code-Loader), Ladezeiten
lang, Test schwierig
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
61
2.1 Mikrocontroller
Entwicklungs-PC
MikrocontrollerSimulator
(Software)
Download,
z.B. über serielle
Schnittstelle
Download o. Programmieren von int.
oder ext. EPROMs, Flash-RAMs, ...
PC-Interface
MikrocontrollerTestsystem
Mikrocontroller
Contr.
DebugMonitor
MikrocontrollerZielsystem
HW-Interface
Ziel-Hardware
Test-Hardware
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
62
Herunterladen