3. 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. Mikrocontroller Anwendungsfelder im Haushalt in der Automatisierung 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, ...
3. Mikrocontroller 3.1 Abgrenzung zu Mikroprozessoren Ein-Chip Mikrorechner mit aufgabenspezifischer Peripherie
3. Mikrocontroller Ziel: Möglichst wenige externe Bausteine für eine Steuerungsaufgabe Idealfall: Mikrocontroller, Quarz, Stromversorgung sowie ggf. Treiber und ein Bedienfeld Beispiel: Fernbedienung
3. Mikrocontroller Schalenmodell eines Mikrocontrollers:
3. 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
3. 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
3. 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)
3. 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
3. 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
3. 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
3. 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
3. 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, ...)
3. 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
3. 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
3. 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
3. Mikrocontroller 3.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
3. Mikrocontroller 3.2.1 Prozesssteuerung
3. 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
3. Mikrocontroller Beispiel: Kennline eines Temperatursensors
3. 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
3. Mikrocontroller Beispiel: temperatur- kompensierte Druckmessung
3. Mikrocontroller Stellen: Umrechnung von physikalischen in elektrische Werte nach vorgegebenen Kennlinien Linearisierung nichtlinearer Aktoren Ausgabe digitaler und analoger Steuerdaten an die Aktoren
3. Mikrocontroller Beispiel: Ansteuerung zweier analoger Aktoren
3. Mikrocontroller Wandlungskette beim Messen und Stellen
3. 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
3. 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)
3. Mikrocontroller Ein Regelkreis mit einem Mikrocontroller:
3. Mikrocontroller 3.2.2 Steuerung von Bedienelementen Beispiel: Steuerung eines einfachen Handterminals
3. Mikrocontroller Realisierung: (möglichst wenige externe Komponenten)
3. Mikrocontroller 3.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
3. Mikrocontroller Mikrocontrollerfamilie: Menge von Mikrocontrollern mit gleichem Prozessorkern, aber unterschiedlicher Peripherie und unterschiedlichem Speicher => Anwendungsorientierte, kostenoptimale Lösungen werden möglich
3. Mikrocontroller Beispiel: Motorola Mikrocontrollerfamilien:
3. Mikrocontroller Mitglieder der MC68HC11- Familie:
3. Mikrocontroller Mitglieder der MC683XX-Familie:
3. Mikrocontroller Mitglieder der MC683XX-Familie (fortg.):
3. Mikrocontroller Beispiel: Intel Mikrocontrollerfamilien:
3. Mikrocontroller Namensgebung der MSC51/251 Familie:
3. Mikrocontroller Beispiele: TB87C251SB-16: 251-Familie, 16 MHz, internes EPROM, Plastik DIP, -40 ... + 85 °C TB83C251SB-16: 251-Familie, 16 MHz, internes ROM, Plastik DIP, -40 ... + 85 °C TB80C251SB-16: 251-Familie, 16 MHz, kein interner Festwertsp., Plastik DIP, -40 ... + 85 °C
3. Mikrocontroller StrongARM: ARM Version 4 RISC Prozessorkern Vertreter: • SA110 (obsolet) • SA1100 (obsolet) • SA1110 PXA: ARM Version 5 RISC Prozessorkern Vertreter: • PXA210 • PXA250
3. Mikrocontroller Beispiel: NEC Mikrocontrollerfamilien:
3. Mikrocontroller Beispiel: Infineon Mikrocontrollerfamilien: