Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 2.5. Mikrocontroller-Komponenten 2.5.3 Zeitgeberbasierte.

Ähnliche Präsentationen


Präsentation zum Thema: "Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 2.5. Mikrocontroller-Komponenten 2.5.3 Zeitgeberbasierte."—  Präsentation transkript:

1 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 2.5. Mikrocontroller-Komponenten 2.5.3 Zeitgeberbasierte Einheiten Wichtig für Echtzeitanwendungen Basis für viele Mikrocontroller-Komponenten 2.5.3.1 Zähler und Zeitgeber (Counter and Timer) Grundaufgaben:  Zählen von Ereignissen  Messen von Zeiten  Wecken  Erzeugung von Impulsfolgen

2 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 2 2.5. Mikrocontroller-Komponenten Prinzipieller Aufbau:

3 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 3 2.5. Mikrocontroller-Komponenten Funktionsweisen  Zählen von Ereignissen

4 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 4 2.5. Mikrocontroller-Komponenten  Messen von Zeiten T = Zählerstand  Taktzykluszeit

5 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 5 2.5. Mikrocontroller-Komponenten  Erzeugen einmaliger Impulse, einmaliges Wecken T = (Startwert + 1)  Taktzykluszeit.

6 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 6 2.5. Mikrocontroller-Komponenten  Erzeugen mehrmaliger Impulse, mehrmaliges Wecken

7 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 7 2.5. Mikrocontroller-Komponenten Enthält ein Mikrocontroller mehr als einen Zähler und Zeitgeber, so spricht man von Zähler- und Zeitgeberkanälen Eine Reihe von Anwendungen erfordern mehr als einen solchen Kanal Beispiel: Quadratur-Decodierung

8 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 8 2.5. Mikrocontroller-Komponenten Quadratur-Decodierung: Drehrichtungs-Erkennung mit Codierscheibe Drehrichtung rechts: L2 wird immer kurz vor L1 aktiv Drehrichtung links: L1 wird immer kurz vor L2 aktiv

9 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 9 2.5. Mikrocontroller-Komponenten 2.5.3.2 Capture- und Compare-Einheit Einfangen und Vergleichen von Zählerständen

10 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 10 2.5. Mikrocontroller-Komponenten Einfache Hardware, vielfältige Anwendungen, z.B.:  Periodisches Wecken Zähler arbeitet mit Takt konstanter Frequenz F Takt Bei Erreichen des im Compare-Register gespeicherten Wert => Wecksignal  Zeitmessung Zähler arbeitet mit Takt konstanter Frequenz F Takt Das zu vermessende Signal fängt den Zählerstand ein Zwei aufeinanderfolgende Zählerstände kennzeichnen die Zeit T Signal = |Z n – Z n-1 | / F Takt

11 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 11 2.5. Mikrocontroller-Komponenten  Frequenzmessung Das zu vermessende Signal bildet den Zählertakt Zählerstand wird durch einen Takt konstanter Frequenz F Takt eingefangen Zwei aufeinanderfolgende Zählerstände kennzeichnen die Frequenz des Signals F Signal = |Z n – Z n-1 |  F Takt Bei viele Anwendungen kann der Zähler mit konstanter Frequenz betrieben werden => weitere Vereinfachung der Hardware durch: freilaufenden Zähler (Free Running Counter)

12 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 12 2.5. Mikrocontroller-Komponenten 2.5.3.3 Pulsweitenmodulator Erzeugung eines Signals konstanter Periode, aber variablem Tastverhältnis

13 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 13 2.5. Mikrocontroller-Komponenten Realisierung:

14 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 14 2.5. Mikrocontroller-Komponenten Funtionsweise:

15 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 15 2.5. Mikrocontroller-Komponenten Anwendungen:  Leistungssteuerung, z.B. für einen Elektromotor P Motor = ((t ges - t PWM ) / t ges )  P max Mit Zusatzbeschaltung Primitiver DA-Wandler (diese Wandlungsrichtung ist in Mikrocontrollern seltener vorhanden)

16 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 16 Beispiel: Drehzahlregelung durch einen Mikrocontroller mit Capture und Compare sowie PWM

17 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 17 2.5. Mikrocontroller-Komponenten 2.5.3.4 Watchdog-Einheit Regelmäßige Lebenszeichen vom Prozessorkern, sonst Reset T = Startwert  Zykluszeit Referenztakt

18 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 18 2.5. Mikrocontroller-Komponenten 2.5.3.5 Echtzeit-Ein-/Ausgabeeinheiten (Real-Time Ports) Problem: wird der Zeitpunkt einer Ein- oder Ausgabe durch die Software gesteuert => Software-Jitter durch Unregelmäßigkeiten im Programmablauf (z.B. Unterbrechungen, Bedingungen,...) Beispiel: Jitter-behaftetes Ausgabesignal

19 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 19 2.5. Mikrocontroller-Komponenten Abhilfe: Steuerung der Ein-/Ausgabe durch einen Zeitgeber => Echtzeit-EA

20 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 20 2.5. Mikrocontroller-Komponenten Funktionsweise: Software-Jitter jitter-freies Ausgangssignal

21 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 21 2.5. Mikrocontroller-Komponenten 2.5.4 Speicher Zur Reduktion der Anzahl externer Komponenten enthalten viele Mikrocontroller eine begrenzte Menge Speicher  Flüchtiger Schreib-/Lesespeicher zur Speicherung von Daten  Nichtflüchtiger Festwertspeicher zur Speicherung von Programmen und Konstanten Kleinere Anwendungen können dann vollständig mit dem integrierten Speicher realisiert werden

22 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 22 2.5. Mikrocontroller-Komponenten Anbindung an den Adressraum des Prozessorkerns: Adressdecoder

23 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 23 2.5. Mikrocontroller-Komponenten Adressraum des Mikrocontrollers

24 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 24 2.5. Mikrocontroller-Komponenten Auswahl der Speicherzellen innerhalb des Speichers Als lineare Liste sehr leitungsintensiv (2 m Auswahlleitungen)

25 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 25 2.5. Mikrocontroller-Komponenten Daher besser interne Organisation in Form einer Matrix Minimale Leitungsanzahl bei quadratischer Matrix

26 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 26 2.5. Mikrocontroller-Komponenten Festwertspeicher  Maskenprogrammiert (ROM, Read Only Memory) Inhalt einer Speicherzelle wird bereits durch die Herstellungs- maske des Chips festgelegt (z.B. durch Verbinden oder Nicht- verbinden eines Kreuzungspunktes der Zeilen- und Spalten- auswahlleitungen durch einen Transistor) => Mikrocontroller in Großserienanwendungen  Benutzerprogrammiert (PROM, Programmable Read Only Memory) Benutzer kann den Inhalt einer Speichrzelle einmal ändern, z.B. durch Zerstörung eines Transistors im Kreuzungspunkt => Mikrocontroller in Kleinserienanwendungen

27 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 27 2.5. Mikrocontroller-Komponenten Festwertspeicher  UV-löschbar (EPROM, Erasable Programmable Read Only Memory) Inhalt einer Speicherzelle kann programmiert und durch UV-Licht wieder gelöscht werden (z.B. durch Verbinden oder Nicht- verbinden eines Kreuzungspunktes durch FAMOS-Transistor) => Mikrocontroller in Prototypen- und Kleinserienanwendungen  Variante ohne Quarzglasfenster: OTROM (One Time Programmable ROM) Billigeres Gehäuse, speziell für Kleinserien

28 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 28 2.5. Mikrocontroller-Komponenten Festwertspeicher  Elektrisch löschbar (FlashRAM, EEPROM, Electrically Erasable Programmable Read Only Memory) Inhalt einer Speicherzelle kann programmiert und elekrtisch wieder gelöscht werden (z.B. durch Verbinden oder Nicht- verbinden eines Kreuzungspunktes durch FLOTOX- oder ETOX- Transistor) - FlashRAM kann nur blockweise gelöscht werden - EEPROM kann einzelzellenweise gelöscht werden =>Mikrocontrolleranwendungen mit der Möglichkeit zum Software-Update, Speichern von Konfigurationsdaten

29 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 29 2.5. Mikrocontroller-Komponenten Schreiblesespeicher  statischer Speicher Inhalt der Speicherzelle wird durch ein Flipflop realisiert (schnelle, aber aufwändige Speicherzelle)  dynamischer Speicher Inhalt der Speicherzelle wird durch einen Kondensator realisiert (einfache Speicherzelle, langsamer, periodischer Refresh erforderlich)

30 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 30 2.5. Mikrocontroller-Komponenten Schreiblesespeicher In Mikrocontrollern wird ausschließlich statischer Speicher integriert. Gründe:  kleine Speichergrößen, dynamischer Speicher nicht erforderlich  Refresh-Logik entfällt  statischer Speicher läßt sich einfacher durch eine Batterie puffern (Quasi-Festwertspeicher)  durch Reduktion der Versorgungsspannung läßt sich bei statischen Speichern ein energiesparender Ruhebetrieb realisieren

31 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 31 2.5. Mikrocontroller-Komponenten 2.5.5 Unterbrechungssteuerung Wichtig für Echtzeitanwendungen, schnelle und flexible Reaktion auf Ereignisse 1.Unterbrechung (Interrupt) des aktuellen Programmablaufs 2.Sichern des Zustandes des Prozessorkerns 3.Unterbrechungsbehandlung (Interrupt Service Routine) 4.Wiederherstellen des Zustandes des Prozessorkerns 5.Fortsetzen des unterbrochenen Programmablaufs

32 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 32 2.5. Mikrocontroller-Komponenten

33 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 33 2.5. Mikrocontroller-Komponenten Unterschiede zum Unterprogrammaufruf  eine Unterbrechung wird von einem Ereignis ausgelöst, ein Unterprogrammaufruf durch das Programm  Unterbrechungen treten völlig asynchron auf => meist umfangreicheres Sichern des Prozessorkernstatus erforderlich  die Startadresse ist bei Unterprogrammaufrufen im Programm gegeben, bei Unterbrechungen muß sie aus dem Ereignis heraus ermittelt werden Die Unterbrechungssteuerung koordiniert der Ablauf einer Unterbrechung => Bindeglied zwischen Prozessorkern und Ereignis

34 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 34 2.5. Mikrocontroller-Komponenten Unterbrechungsquellen:  Unterbrechung durch interne Komponente (internal HW Interrupt) z.B. ausgelöst durch eine der bereits besprochenen Mikrocontroller-Komponenten (EA-Schnittstellen, Zähler, Zeitgeber,...)  Unterbrechung durch externe Komponente (external HW Interrupt) sog. Interrupt-Eingänge des Mikrocontrollers ermöglichen auch externen Komponenten einen Unterbrechungswunsch

35 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 35 2.5. Mikrocontroller-Komponenten Unterbrechungsquellen:  Ausnahmesituation im Prozessorkern (Exception, Trap) Behandlung außergewöhnlicher Fehlersituationen, z.B. ungültiger Befehlscode, Division durch 0, Seitenfehler,...  Unterbrechung durch das laufende Programm (SW Interrupt) häufig genutzt, um Betriebssystemfunktionen aufzrufen und auszuführen

36 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 36 2.5. Mikrocontroller-Komponenten Ermittlung der Startadresse der Unterbrechungs- behandlung: Vektor-Interrupt

37 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 37 2.5. Mikrocontroller-Komponenten  Die Zuordnung von Vektor und Komponente kann variabel oder fest sein.  Bei einfachen Mikrocontrollern findet man meist eine feste Zuordnung  Zur gleichzeitigen Behandlung mehrere Unterbrechungen: Vergabe von Prioritäten  Auch hier ist eine variable oder eine feste Zuordnung möglich  Zusätzlich: Unterbrechungen können maskiert werden. In diesem Fall werden Anforderungen der zugehörigen Quelle ignoriert

38 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 38 2.5. Mikrocontroller-Komponenten Beispiel: Interruptvektortabelle mit fester Zuordnung von Quelle, Vektor und Priorität

39 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 39 2.5. Mikrocontroller-Komponenten  Variable Zuordnung erlaubt eine größere Flexibilität, insbesondere bei einer höheren Anzahl externer Unterbrechungsquellen.  Bei fester Zuordnung benötigt jede externe Quelle einen eigenen Unterbrechungseingang oder die Unterbrechungsbehandlung muss durch Abfrage der Komponenten die Quelle herausfinden  Bei variabler Zuordnung können sich mehrere Quellen einen Eingang teilen, die Identifikation und die Prioritätenvergabe erfolgt über den Vektor  Aber: größerer Hardwareaufwand wird erforderlich (Interrupt- Controller)

40 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 40 2.5. Mikrocontroller-Komponenten Externe Steuerung mit variablem Vektor und zentraler Prioritäten- und Vektorvergabe

41 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 41 2.5. Mikrocontroller-Komponenten Ablauf:

42 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 42 2.5. Mikrocontroller-Komponenten Dezentrale Prioritäten- und Vektorvergabe (Daisy Chain)

43 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 43 2.5. Mikrocontroller-Komponenten Die Reaktionszeit auf Unterbrechungen ist eine wichtige Größe bei Echtzeitanwendungen. Das Sichern des Prozessorkernstatus kann einige Zeit in Anspruch nehmen (wenn viele Register gesichert werden müssen) Einige Mikrocontroller verfügen daher über mehrfache Registersätze zur Verbesserung dieser Reaktionszeit Der Status des Prozessorkerns muss dann nicht mehr gesichert werden. Es wird einfach auf einen neuen Registersatz gewechselt. => schneller Kontextwechsel

44 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 44 2.5. Mikrocontroller-Komponenten Mehrfache Registersätze:

45 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 45 2.5. Mikrocontroller-Komponenten Prozessorkerne mit mehrfachen Registersätzen: Vorstufe zu mehrfädigen Prozessorkernen Mehrfache Registersätze:  jeder Registersatz enthält einen Speicherplatz für PC und PSW  PC und PSW sind aber nur einmal vorhanden => mehrere Kontexte können gespeichert werden Mehrfädiger Prozessorkern:  mehrfach vorhandene PCs und PSWs  meist Befehle mehrerer Kontexte gleichzeitig in der Pipeline => mit mehreren Kontexten kann gearbeitet werden

46 Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 46 2.5. Mikrocontroller-Komponenten Ereignisbehandlung auf mehrfädigen Prozessoren durch Interrupt Service Threads


Herunterladen ppt "Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte 1 2.5. Mikrocontroller-Komponenten 2.5.3 Zeitgeberbasierte."

Ähnliche Präsentationen


Google-Anzeigen