Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U....
-
Upload
odila-weppler -
Category
Documents
-
view
111 -
download
1
Transcript of Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U....
1Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
2Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
3Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
im Haushalt die Steuerung der Kaffeemaschine, der Waschmaschine, des Telefons, des Staubsaugers, des Fernsehers, ...
in der KFZ Technik das Motormanagement, das Antiblockiersystem, das Stabilitätsprogramm, die Traktionskontrolle, diverse Assistenten, z.B. beim Bremsen, ...
in der Automatisierung das Steuern und Regeln von Prozessen, das Überwachen von Prozessen, das Regeln von Materialflüssen, die Steuerung von Fertigungs- und Produktionsanlagen, ...
Anwendungsfelder für eingebettete Systeme
4Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
2.1.1 Abgrenzung zu Mikroprozessoren
Ein-Chip Mikrorechner mit aufgabenspezifischer Peripherie
Mikrocontroller
. . . . . .
Prozessor-kern RAM
ROMEPROM
EEPROM
Ein-/Ausgabe-steuerung
Unter-brechungs-steuerung
Zähler/Zeit-geber Erweiterungs-
busschnittstelle
Takt
5Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
Mikrocontroller
Tastaturmatrix Quarz Spannungsversorgung
Infrarot-
leuchtdiode
6Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Schalenmodell einesMikrocontrollers:
Prozessor-kern
Schreib-/Lesespeicher RAM
Festwertpeicher
ROM Flash PROM EPROM EEPROM
Zähler / Zeitgeber serielle / parallele EA Kanäle
A/D- Wandler
Watch-dog
Echtzeit- Kanäle
DMA & Unter- brech- ungen
Erweiterungs- bus Ruhebetrieb
7Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
8Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
9Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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)
10Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Serielle und parallele Ein-/Ausgabekanäle
• grundlegende digitale Schnittstellen eines Mikrocontrollers
• seriell oder parallel
• synchron oder asynchronAD/DA-Wandler
• grundlegende analoge 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
11Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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-Compare-Einheiten bis zu autonomen Zeitgeber-Coprozessoren
12Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
13Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
14Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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, ...)
15Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
16Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
17Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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-Bit- Daten, 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
18Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
19Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
2.1.2.1 Prozesssteuerung
lokale, schnelleMSR-Einrichtung
mitMikrocontroller
Sensoren
Aktoren
lokale, schnelleMSR-Einrichtung
mitMikrocontroller
Sensoren
Aktoren
lokale, schnelleMSR-Einrichtung
mitMikrocontroller
Sensoren
Aktoren
.
.
.
Prozessleitrechner(Mikrorechner)
Prozessleitrechner(Mikrorechner)
Dispositions- &Visualisierungs-
rechner(Mikrorechner)
Verbindungsnetzwerk(hierarchisch oder verteilt),z.B. Feldbusse
Verbindungsnetzwerk(hierarchisch oder verteilt),z.B. Ethernet
Vor Ort räumlich entfernt
zu
automatisierendes
System
Sensor-/Aktor-ebene
Prozess-ebene
System- & Leit-ebene
Betriebs-ebene
20Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
21Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Temperatur
[C]
Spannung [mV]
Thermofühler
Temperatur SpannungThermo-
fühler
Beispiel: Kennline eines Temperatursensors
22Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
• Messen (fortg.):
Linearisierung von nichtlinearen Sensoren Korrektur von Meßfehlern, z.B. Nullpunktfehler, Temperatur- Drift, ... Datenerfassung von multiplen Sensoren (z.B. Druck, Temperatur, ...) Auswerten der erfassten Daten Datenkompression und -weiterleitung
23Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Beispiel:temperatur-kompensierteDruckmessung Mikrocontroller
Temperatur-Sensor Druck-Sensor
zum Leitrechner
TxD, RxD
AI0 AI1
VCC
PO1
24Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
• Stellen:
Strom
[mA]
Temperatur [C]
Heizelement
TemperaturHeiz-
elementStrom
Linearisierung nichtlinearer Aktoren Ausgabe digitaler und analoger Steuerdaten an die Aktoren
Umrechnung von physikalischen in elektrische Werte nach vorgegebenen Kennlinien
25Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Beispiel:Ansteuerung zweier analogerAktoren
Mikrocontroller
Heizelement Schieber
zum Leitrechner
TxD, RxD
AO0 AO1
26Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Wandlungskette beim Messen und Stellen
Aufgabenbereich des Mikrocontrollers
PhysikalischeGröße
ElektrischeGröße
Digitaler Wert Korrigierterdigitaler Wert
SensorEingabe-
Schnittstelle
Kennlinienberechnung,Linearisierung,
Korrektur
PhysikalischeGröße
ElektrischeGröße
Digitaler WertKorrigierterdigitaler Wert
AktorAusgabe-
Schnittstelle
Kennlinienberechnung,Linearisierung,
Korrektur
Stellen:
Messen:
27Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
28Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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)
29Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Ein Regelkreis mit einem Mikrocontroller:
Aktoren
Mikrocontroller
SensorenIstwerte
-
Regler(Regelalgorithmus,z.B. PI, PID, ...)
Regelstrecke(zu regelndes
System)Stellgrößen
Messgrößen
Sollwerte
Leit-Rechner
30Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
2.1.2.2 Steuerung von Bedienelementen
Beispiel: Steuerung eines einfachenHandterminals
Soll-Temperatur: 20Anstiegszeit:
A
G
M
S
Y
5
+
B
H
N
T
Z
6
-
F
L
R
X
4
0
D
J
P
V
2
8
C
I
O
U
1
7
=
E
K
Q
W
3
9
31Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Realisierung:
(möglichstwenige externeKomponenten)
Mikrocontroller
zum Leitrechner
TxD, RxD
8888888888888
Tastaturmatrix
LCD-Anzeige
parallelerAusgabeport
paralleleEingabeports
serieller Port
32Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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-MikrocontrollerAnmerkung: bezeichnet bei Mikrocontrollern oft nur die Breite des internen Datenbusses und der Register
Breite des Erweiterungsbusses meist schmäler
33Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Mikrocontrollerfamilie:Menge von Mikrocontrollern mit gleichem Prozessorkern, aber unterschiedlicher Peripherie und unterschiedlichem Speicher
=> Anwendungsorientierte, kostenoptimale Lösungen werden möglich
34Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Beispiel: Intel Mikrocontrollerfamilien:
Familie Festwert- speicher (KBytes)
Schreiblese -speicher (Bytes)
Zeit- geber
(Anzahl)
Serielle E/A
(Anzahl)
AD-Wandler (Anzahl x Bit)
Takt (MHz)
Intel 8 Bit
MSC51 4 - 32 128 - 512 2 - 4 0 - 1 (0-4) x 8 12 - 33 MSC251 0 - 16 512 - 1024 4 1 - 2 - 16 - 24 Intel 16 Bit
MSC96 32 - 56 1K - 1,5K 3 1 - 2 (6-8) x (8-10) 20 - 50 MSC296 - 2K 2 1 - 50 Intel 32 Bit
PXA - 64 - 256K 3 - 11 8 - 10 - 200 - 520
35Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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 = jaFestwert-Speicher Typ: 0 = keiner/ROM, 3 = ROM, 7 = EPROMGehä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 = EPROMGehäuse-Form: P = Plastik Dual Inline (DIP), N = Plastik Leaded Chip Carrier (PLCC) C = Keramik DIPTemperatur-Bereich: leer = 0° bis 70°, T = -40° bis +85°
Namensgebung MCS251 Familie
36Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
37Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
38Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Beispiel: Atmel Mikrocontrollerfamilien:
Familie Festwert- speicher (KBytes)
Schreiblese -speicher (Bytes)
Zeit- geber
(Anzahl)
Serielle E/A
(Anzahl)
AD-Wandler (Anzahl x Bit)
Takt (MHz)
Atmel 8 Bit
AVR 8 1 - 256 128 - 8k 2 1 - 2 (1 - 16) x 10 16 - 20 MSC51 komp. 2 - 128 256 - 2k 2 - 4 0 - 3 (0-8) x (8-0) 40 - 60 Atmel 32 Bit
AVR 32 - 64k 6 10 1 x 16 133 ARM 0 - 256 8K - 96K 6 - 9 4 - 6 8 x 10 33-190
39Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
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
AT90X
Spezialversionen, z.B. AT90CAN128 mit CAN-Bus-Einheit oder AT90PWM1 mit Pulsweitenmodulator
AT94X Enthält programmierbare Logik (FPGA)
40Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Beispiel: Freescale Mikrocontrollerfamilien (ehem. Motorola):Familie Festwert-
speicher (KBytes)
Schreiblese -speicher (Bytes)
Zeit- geber
(Anzahl)
Serielle E/A
(Anzahl)
AD-Wandler (Anzahl x Bit)
Takt (MHz)
Freescale 8 Bit
RS08 1 - 2 63 1 - - 10 HC08 8 - 64 256 - 2K 2 - 8 0 - 4 (6-24) x (8-10) 4 - 8 HCS08 4 - 64 256 - 4K 0 - 8 0 -3 (0-16) x 10 8 - 20 Freescale 16 Bit
S12 16- 512 2K - 32K 1 - 12 1 - 6 (8-24) x 10 16 -40 HC12 32 - 130 1K - 8K 8 2 - 6 8 x (8-10) 8 - 25 HC16 0 - 8 1K - 4K 4, TPU 1 - 2 8 x 10 16 - 25 Freescale 32 Bit
MCore 0 - 256 8K - 32K 0 - 4 3 (0-8) x 10 16 - 33 I.MX(ARM) 256 - 1024 16K - 48K 16 1 - 4 (16-32) x 10 40 - 50 68k/Coldfire 0 - 256 0 - 32K 2-16,TPU 1 - 3, CP (0-16) x 10 16-200 MPC5XXX 0 - 1024 26K - 36K 7-70,TPU 5 - 9 (32-40) x 10 40-400
41Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Mitgliederder 68k/Coldfire-Familie:
68k MC68302
Multi-Protokoll-Prozessor, für Kommunikationsaufgaben optimiert, autonomer Kommunikations-Prozessor (CP)
MC68306
Economie-Prozessor, integrierter Controller für dynamischen Speicher
MC68331
Für Steuerungsaufgaben optimierter Controller, umfangreiche Peripherie
MC68332 Für Steuerungsaufgaben optimierter Controller, gegenüber dem 68331 verbesserter Prozessorkern und autonomer Zeitgeber Coprozessor (TPU)
MC68336 Integrierter SRAM Controller MC68340 Integrierter DMA-Controller MC68360 Integrierter DMA- und Interrupt-
Controller MC68376 CAN-Bus Interface MC68VZ328 (DragonBall VZ)
Integrierter LCD Controller
MC68SZ328 (DragonBall Super VZ)
Erhöhte Geschwindigkeit, integrierte DA-Wandler
42Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Mitgliederder 68k/Coldfire-Familie(fortg.):
ColdFire MCF520 Hochleistungsmikrocontroller, flexible
Speicherverwaltung, Ethernetunterstützung
MCF525 Controller/Decoder für Audioplayer MCF532 Mensch-Maschine-
Schnittstellenunterstützung, LCD, Ethernet, USB, Verschlüsselung
MCF540 Höchste Verarbeitungsleistung (316 MIPS)
MCF548 Für vernetzte Steuerungsaufgaben, CAN, Ethernet, USB, Verschlüsselung
43Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Beispiel: NEC Mikrocontrollerfamilien:Familie Festwert-
speicher (KBytes)
Schreiblese -speicher (Bytes)
Zeit- geber
(Anzahl)
Serielle E/A
(Anzahl)
AD-Wandler (Anzahl x Bit)
Takt (MHz)
NEC 8 Bit
K0S 1 - 24 128 - 512 2 - 4 0 - 2 (0-8) x (8-10) 5 - 10 K0 8 - 128 512 - 7168 5 - 6 0 - 5 (4-10) x (8-10) 20 NEC 16 Bit
K0R 64 - 256 4K - 12K 8 4 16 x 10 20 NEC 32 Bit
V850 64 - 512 4K - 24K 2 - 12 5 - 10 (12 - 16) x 10 20 V850ES 64 - 640 6K - 48K 6 - 11 2 - 4 (8 - 24) x 10 20 V850E 0 - 512 4k - 146k 0 - 24 4 - 9 (0-24) x (8-10) 40-150 V850E2 0 146k 12 4 8 x 10 200
44Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Beispiel: Infineon Mikrocontrollerfamilien:
Familie Festwert- speicher (KBytes)
Schreiblese -speicher (Bytes)
Zeit- geber
(Anzahl)
Serielle E/A
(Anzahl)
AD-Wandler (Anzahl x Bit)
Takt (MHz)
Infineon 8 Bit
C500 16 - 64 256 - 2k 3 - 7 1 - 2 8 x 10 20 C800 8 8k 3 1 5 x 8 40 XC800 8 - 32 768 – 2k 4 2 - 3 8 x 10 24 - 27 Infineon 16 Bit
C166 0 - 32 1K - 3K 1 - 5 2 (0-8) x 10 24 XC166 128 - 256 8k - 12k 5 4 (12 - 16) x 10 40 Infineon 32 Bit
TriCore 16-1,5M 128K-1,5 M 0 - 6 0 - 5 (0-32) x (8-12) 96-150
45Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
46Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
allgemeine Leistungsmerkmale
CISC- oder RISC-Architektur
Von-Neumann oder Harvard-Architektur
Wortbreite (4, 8, 16, 32 Bit)
Adressraum
47Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
48Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
49Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
50Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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?
51Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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, ...
52Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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.
53Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Weitere technische Merkmale
Taktfrequenz
Taktzyklen pro Befehl
Möglichkeit zum Anschluss langsamer Peripherie
Energiebedarf
Abwärme
Stromspar-Modus
54Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Ökonomische Merkmale
Preis
Verfügbarkeit
Produktpflege
Kundenunterstützung (Support)
55Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
2.1.5 Softwareentwicklung
In der Regel:
Cross-Development
Versions-Verwaltung
Editor
Übersetzer
Binder
integrierteEntwicklungs-umgebung
Quelldateien
freigegebene Quelldateien
geänderte Quelldateien
Objekt-Dateien
Ausführbare Datei
Entwicklungssystem: PC Zielsystem:Mikrocontroller
Anwendungsprogramm
Download
DebuggerTestSymbole
56Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Da die Entwicklung bis auf den letzen Schritt auf einem leistungsfähigen PC stattfindet
=> die Entwicklungsumgebung ist zunächst ähnlich zur PC-
Programmentwicklung:
Versionsverwaltung, Editoren, Übersetzer, Debugger
Es gibt jedoch Unterschiede!
57Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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)
58Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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)
59Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
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
60Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Beispiel einer
Memory Map 4 KByte Festwertspeicher
3 KByte Schreib-/Lesespeicher
E/A-Adressbereich
unbelegt
unbelegt
0
0FFF
8000
8BFF
FE00
FFFF
Code,Größe 3217 Bytes
Einsprungadresse 0
Daten,Größe 625 Bytes
Stack, Größe 325 Bytes
Peripherie
61Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Laden und Testen
– Simulator auf dem Entwicklungssystemgrober 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 Monitorendgültige Zielumgebung, Programm im
Festwertspeicher (ext. Programmieren oder Flash-Code-Loader),
Ladezeiten lang, Test schwierig
62Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.1 Mikrocontroller
Download o. Programmieren von int.oder ext. EPROMs, Flash-RAMs, ...
Download,z.B. über serielleSchnittstelle
Contr. Debug-Monitor
HW-Interface
PC-Interface
Test-Hardware
Mikrocontroller
Ziel-Hardware
Mikrocontroller-Testsystem
Mikrocontroller-Zielsystem
Mikrocontroller-Simulator(Software)
Entwicklungs-PC