Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

2. Hardware-Plattformen

Ähnliche Präsentationen


Präsentation zum Thema: "2. Hardware-Plattformen"—  Präsentation transkript:

1 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

2 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

3 2.1 Mikrocontroller Anwendungsfelder für eingebettete Systeme
im Haushalt die Steuerung der Kaffeemaschine, der Waschmaschine, des Telefons, des Staubsaugers, des Fernsehers, ... in der Automatisierung das Steuern und Regeln von Prozessen, das Überwachen von Prozessen, das Regeln von Materialflüssen, die Steuerung von Fertigungs- und Produktionsanlagen, ... in der KFZ Technik das Motormanagement, das Antiblockiersystem, das Stabilitätsprogramm, die Traktionskontrolle, diverse Assistenten, z.B. beim Bremsen, ...

4 2.1 Mikrocontroller 2.1.1 Abgrenzung zu Mikroprozessoren
Ein-Chip Mikrorechner mit aufgabenspezifischer Peripherie

5 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

6 2.1 Mikrocontroller Schalenmodell eines Mikrocontrollers:

7 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

8 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

9 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)

10 2.1 Mikrocontroller Serielle und parallele Ein-/Ausgabekanäle
grundlegende digitale Schnittstellen eines Mikrocontrollers seriell oder parallel synchron oder asynchron AD/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

11 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

12 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

13 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

14 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, ...)

15 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

16 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

17 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

18 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

19 2.1 Mikrocontroller Prozesssteuerung

20 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

21 2.1 Mikrocontroller Beispiel: Kennline eines Temperatursensors

22 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

23 2.1 Mikrocontroller Beispiel: temperatur- kompensierte Druckmessung

24 2.1 Mikrocontroller Stellen:
Umrechnung von physikalischen in elektrische Werte nach vorgegebenen Kennlinien Linearisierung nichtlinearer Aktoren Ausgabe digitaler und analoger Steuerdaten an die Aktoren

25 2.1 Mikrocontroller Beispiel: Ansteuerung zweier analoger Aktoren

26 2.1 Mikrocontroller Wandlungskette beim Messen und Stellen

27 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

28 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)

29 2.1 Mikrocontroller Ein Regelkreis mit einem Mikrocontroller:

30 2.1 Mikrocontroller 2.1.2.2 Steuerung von Bedienelementen
Beispiel: Steuerung eines einfachen Handterminals

31 2.1 Mikrocontroller Realisierung: (möglichst wenige externe
Komponenten)

32 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

33 2.1 Mikrocontroller Mikrocontrollerfamilie: Menge von Mikrocontrollern mit gleichem Prozessorkern, aber unterschiedlicher Peripherie und unterschiedlichem Speicher => Anwendungsorientierte, kostenoptimale Lösungen werden möglich

34 2.1 Mikrocontroller Beispiel: Intel Mikrocontrollerfamilien:

35 2.1 Mikrocontroller Namensgebung der MSC51/251 Familie:

36 2.1 Mikrocontroller Beispiele:
TP87C251SB-16: 251-Familie, 16 MHz, internes EPROM, Plastik DIP, °C TP83C251SB-16: 251-Familie, 16 MHz, internes ROM, Plastik DIP, °C TP80C251SB-16: 251-Familie, 16 MHz, kein interner Festwertsp., Plastik DIP, °C

37 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

38 2.1 Mikrocontroller Beispiel: Atmel Mikrocontrollerfamilien:

39 2.1 Mikrocontroller Die Mitglieder der AVR8 Familie:

40 2.1 Mikrocontroller Beispiel: Freescale Mikrocontrollerfamilien (ehem. Motorola):

41 2.1 Mikrocontroller Mitglieder der 68k/ Coldfire- Familie:

42 2.1 Mikrocontroller Mitglieder der 68k/ Coldfire- Familie (fortg.):

43 2.1 Mikrocontroller Beispiel: NEC Mikrocontrollerfamilien:

44 2.1 Mikrocontroller Beispiel: Infineon Mikrocontrollerfamilien:

45 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

46 2.1 Mikrocontroller allgemeine Leistungsmerkmale
CISC- oder RISC-Architektur Von-Neumann oder Harvard-Architektur Wortbreite (4, 8, 16, 32 Bit) Adressraum

47 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

48 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

49 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

50 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?

51 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, ...

52 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.

53 2.1 Mikrocontroller Weitere technische Merkmale Taktfrequenz
Taktzyklen pro Befehl Möglichkeit zum Anschluss langsamer Peripherie Energiebedarf Abwärme Stromspar-Modus

54 2.1 Mikrocontroller Ökonomische Merkmale Preis Verfügbarkeit
Produktpflege Kundenunterstützung (Support)

55 2.1 Mikrocontroller 2.1.5 Softwareentwicklung In der Regel:
Cross-Development

56 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!

57 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)

58 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 Jahren für den PC entwickelt wurden, können hier interessant werden (zu dieser Zeit hatten PCs etwa den Speicherumfang heutiger Mikrocontroller)

59 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

60 2.1 Mikrocontroller Beispiel einer Memory Map

61 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

62 2.1 Mikrocontroller


Herunterladen ppt "2. Hardware-Plattformen"

Ähnliche Präsentationen


Google-Anzeigen