1 Goethe-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
62
Embed
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 2. Hardware-Plattformen Hardware-Plattformen für.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
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
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
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
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
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
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, ...