esKap24 - Goethe

Werbung
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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
1
2.5. Mikrocontroller-Komponenten
Prinzipieller Aufbau:
Datenbus
Startwertregister
Zähler
(+/-)
interner
Takt Unterbrechung
Steuerung
Takt und
Ausgang
1:n
externer Takt/
Ereignisse
Freigabe
Ausgang
Zählerstandsregister
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2
2.5. Mikrocontroller-Komponenten
Funktionsweisen
 Zählen von Ereignissen
Externer Takt =
zu zählende
Ereignisse
...
Freigabe
...
Zählerstand
0
1
2
3
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
...
Z
3
2.5. Mikrocontroller-Komponenten
 Messen von Zeiten
Interner oder
externer Takt,
z.B. 1MHz
...
Freigabe = zeitlich zu vermessendes Signal
Zählerstand
...
0
1
2
. . . Z-1
Z
T
Verschnitt
Verschnitt
T = Zählerstand  Taktzykluszeit
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
4
2.5. Mikrocontroller-Komponenten
 Erzeugen einmaliger Impulse, einmaliges Wecken
Interner oder
externer Takt,
z.B. 1MHz
...
Freigabe
...
Zählerstand
Ausgabe (a)
Ausgabe (b)
Unterbrechung (c)
Z
Z-1 . . . 2
1 ... 0
...
...
...
T
Wecken
T = (Startwert + 1)  Taktzykluszeit.
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
5
2.5. Mikrocontroller-Komponenten
 Erzeugen mehrmaliger Impulse, mehrmaliges Wecken
Interner oder
externer Takt,
z.B. 1MHz
...
...
Freigabe
...
...
Zählerstand
Ausgabe (a)
Ausgabe (b)
Unterbrechung (c)
Z
Z-1 . . . 2
1
0
Z
Z-1 . . . 2
...
...
...
...
...
...
T
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
1
0
Z
T
6
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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
7
2.5. Mikrocontroller-Komponenten
Quadratur-Decodierung: Drehrichtungs-Erkennung mit
Codierscheibe
Drehrichtung rechts:
L2 wird immer kurz vor L1
aktiv
L2
L1
Drehrichtung links:
L1 wird immer kurz vor L2
aktiv
L1
L2
Rechtsdrehung
Linksdrehung
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
8
2.5. Mikrocontroller-Komponenten
2.5.3.2 Capture- und Compare-Einheit
Einfangen und Vergleichen von Zählerständen
Datenbus
Zähler
eingefangener
Wert
Zähler-Wert
einfangen
(externes
oder internes
Signal)
Capture-Register
Vergleichswert
Compare-Register
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
Zähler hat
Vergleichswert erreicht
(Unterbrechung,
externes Signal)
9
2.5. Mikrocontroller-Komponenten
Einfache Hardware, vielfältige Anwendungen, z.B.:
 Periodisches Wecken
Zähler arbeitet mit Takt konstanter Frequenz FTakt
Bei Erreichen des im Compare-Register gespeicherten Wert
=> Wecksignal
Zeitmessung
Zähler arbeitet mit Takt konstanter Frequenz FTakt
Das zu vermessende Signal fängt den Zählerstand ein
Zwei aufeinanderfolgende Zählerstände kennzeichnen die Zeit
TSignal = |Zn – Zn-1| / FTakt
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
10
2.5. Mikrocontroller-Komponenten
 Frequenzmessung
Das zu vermessende Signal bildet den Zählertakt
Zählerstand wird durch einen Takt konstanter Frequenz FTakt
eingefangen
Zwei aufeinanderfolgende Zählerstände kennzeichnen die
Frequenz des Signals
FSignal = |Zn – Zn-1|  FTakt
Bei viele Anwendungen kann der Zähler mit konstanter Frequenz
betrieben werden => weitere Vereinfachung der Hardware durch:
freilaufenden Zähler (Free Running Counter)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
11
2.5. Mikrocontroller-Komponenten
2.5.3.3 Pulsweitenmodulator
Erzeugung eines Signals konstanter Periode, aber variablem
Tastverhältnis
tges
tPWM
tPWM
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
12
2.5. Mikrocontroller-Komponenten
Realisierung:
Datenbus
Startwert
(Tastverhältnis)
fCLK
Abwärtszähler
Nulldurchgang
S
Q
PWM
FF
R
einstellbarer
Frequenzteiler
fCLK/28
fCLK/210
fCLK/212
fCLK/216
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
geteilte Frequenz
13
2.5. Mikrocontroller-Komponenten
Funtionsweise:
z.B. mit fCLK / 28:
fCLK
...
fCLK/28
PWM
Startwert  fCLK
28  fCLK
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
14
2.5. Mikrocontroller-Komponenten
Anwendungen:
 Leistungssteuerung, z.B. für einen Elektromotor
PMotor = ((tges - tPWM) / tges)  Pmax
• Mit Zusatzbeschaltung Primitiver DA-Wandler (diese
Wandlungsrichtung ist in Mikrocontrollern seltener vorhanden)
R
PWM-Signal
C
näherungsweise konstantes Ausgangssignal,
Spannung  Tastverhältnis
=RC
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
15
DC-Motor
Encoder
Mikrocontroller
Drehzahlmessung mit Capture-Einheit
Beispiel:
Drehzahl-Impulse
Referenztakt fCLK
Drehzahlregelung durch
Zähler
Capture-Reg.
Drehzahlsteuerung mit PWM-Einheit
einen Mikrocontroller
Startwert
mit Capture und Compare
Wert)
Abwärtszähler
sowie PWM
einstellbarer
Frequenzteiler
S
Q
FF
R
PWM
Regelalgorithmen
Prozessorkern
Speicher
(Programm/
Daten)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
16
2.5. Mikrocontroller-Komponenten
2.5.3.4 Watchdog-Einheit
Regelmäßige Lebenszeichen vom Prozessorkern, sonst Reset
Adressbus
AS
MIO
RW
Rücksetzen
Select = Zähler auf Startwert setzen
Adressdecoder
T = Startwert  ZykluszeitReferenztakt
Nulldurchgang
Watchdog-Zähler
vom/zum
Prozessorkern
Referenztakt
Startwert
Datenbus
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
17
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
D1
D2
D3
D4
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
D5
D6
18
2.5. Mikrocontroller-Komponenten
Abhilfe: Steuerung der Ein-/Ausgabe durch einen Zeitgeber
=> Echtzeit-EA
Ausgabedaten
Zeitgeber
vom/zum
Prozessorkern
Adressdecoder
Datenübernahme
durch
Zeitgeberimpulse
Pufferregister
Datenübernahme
durch
Registerauswahl
Ausgaberegister
Datenbus
Adressbus
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
19
2.5. Mikrocontroller-Komponenten
Funktionsweise:
Zeitgeberimpulse
a) Ausgaberegister,
Ausgabesignal
mit Jitter
b) Pufferregister,
Ausgabesignal
ohne Jitter
D1
D2
D1
D3
D2
D4
D3
D5
D4
D6
D5
D6
Software-Jitter < halbe Taktperiode => jitter-freies
Ausgangssignal
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
20
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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
21
2.5. Mikrocontroller-Komponenten
Anbindung an den Adressraum des Prozessorkerns: Adressdecoder
Adressbus
Adressdecoder
AS
(interprtiert MIO in umgekehrter
Weise wie der Adressdekoder für
Ein-/Ausgabeeinheiten)
MIO
Prozessorkern
RW
Select 1
Schreib/Lesespeicher
Select 2
Festwertspeicher
Datenbus
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
22
2.5. Mikrocontroller-Komponenten
Adressraum des
Mikrocontrollers
Speicher-Adressraum
0
Festwertspeicher
Schreib/Lesespeicher
max. EA (bei gem.
Addressierung
Speicheradresse
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
23
2.5. Mikrocontroller-Komponenten
Auswahl der Speicherzellen innerhalb des Speichers
Adressbus
0 .. n-1
m .. n-1
Adressdecoder
AS
(interprtiert MIO in umgekehrter
Weise wie der Adressdekoder für
Ein-/Ausgabeeinheiten)
MIO
Prozessorkern
Select 1
Select 2
2m Speicherzellen
...
interner Adressdecoder
0 .. m-1
Als lineare Liste sehr leitungsintensiv (2m Auswahlleitungen)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
24
2.5. Mikrocontroller-Komponenten
Daher besser interne Organisation in Form einer Matrix
2m/2 Leitungen (Wortleitungen)
2m Speicherzellen
m-Bit Adresse
quadratische
Speichermatrix
m/2-Bit
Zeilenadresse
Zeilenadress
decoder
2m/2 Leitungen (Bitleitungen)
Select
Spaltenadressdecoder,
Spaltenauswahl
Daten
m/2-Bit Spaltenadresse
Minimale Leitungsanzahl bei quadratischer Matrix
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
25
2.5. Mikrocontroller-Komponenten
Festwertspeicher
 Maskenprogrammiert (ROM, Read Only Memory)
Inhalt einer Speicherzelle wird bereits durch die Herstellungsmaske des Chips festgelegt (z.B. durch Verbinden oder Nichtverbinden eines Kreuzungspunktes der Zeilen- und Spaltenauswahlleitungen 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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
26
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 Nichtverbinden 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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
27
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 Nichtverbinden eines Kreuzungspunktes durch FLOTOX- oder ETOXTransistor)
- FlashRAM kann nur blockweise gelöscht werden
- EEPROM kann einzelzellenweise gelöscht werden
=>
Mikrocontrolleranwendungen mit der Möglichkeit zum
Software-Update, Speichern von Konfigurationsdaten
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
28
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)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
29
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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
30
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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
31
2.5. Mikrocontroller-Komponenten
laufendes Programm
Unterbrechungsanforderung
Unterbrechungsbehandlung
Retten des Prozessorkernstatus auf den Keller
Wiederherstellen
des Prozessorkernstatus
vom Keller
Ende der Unterbrechungsbehandlung
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
32
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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
33
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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
34
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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
35
2.5. Mikrocontroller-Komponenten
Ermittlung der
Startadresse der
Unterbrechungsbehandlung:
Vektor-Interrupt
Unterbrechungssteuerung
im Prozessorkern
Arbeitsspeicher
VektorAdresse
externer Vektor
(z.B.von
externer
Komponente)
x4
+
InterruptVektortabelle
Startadr. Vektor 0
Startadr. Vektor 1
Startadr. Vektor 2
...
VektorbasisRegister
interner Vektor
(z.B. von interner
Komponente oder
Ausnahmesituation)
Startadr. Vektor 255
Interrupt-ServiceRoutine für
Vektor 0
z.B. Vektor = 3
==> 3. Eintrag in Vektortabelle
Interrupt-ServiceRoutine für
Vektor n
==> Startadresse der Interrupt-Service-Routine:
(Vektor-Basisadresse + 3 x 4)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
36
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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
37
2.5. Mikrocontroller-Komponenten
Beispiel: Interruptvektortabelle mit fester Zuordnung von Quelle,
Vektor
Unterbrechungsquelle
Vektor
Priorität
Typ
und
Parallele Ein-/Ausgabe 1
0
nieder
interner Hardware-Interrupt
Ein-/Ausgabe 2
1
“
Priorität Parallele
Serielle Ein-/Ausgabe
2
“
Analog/Digitalwandler 1
Analog/Digitalwandler 2
Analog/Digitalwandler 3
Zeitgeber 1
Zeitgeber 2
Capture & Compare
Externer Interrupt-Eingang 1
Externer Interrupt-Eingang 2
Externer Interrupt-Eingang 3
...
3
4
5
6
7
8
9
10
11
“
“
“
“
“
“
externer Hardware-Interrupt
“
“
Break
...
200
Software-Interrupt
Unbekannter Befehlscode
Division durch 0
Reset
253
254
255
Exception
“
“
hoch
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
38
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 (InterruptController)
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
39
2.5. Mikrocontroller-Komponenten
Externe Steuerung mit variablem Vektor und zentraler Prioritätenund Vektorvergabe
Externe
Komponente
1
P0
Externe
P1
externe
Komponente Unterbrechungs- Prioritäten2
anforderungen
steuerung
Pn
externer
Datenbus
externer
Interrupt
Mikrocontroller
Interrupt
Acknowledge
Externe
Komponente
n
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
40
2.5. Mikrocontroller-Komponenten
Ablauf:
Externe Unterbrechungsanforderung höchster Priorität
Externer Interrupteingang am
Mikrocontroller
Interrupt Acknowledge
Datenbus
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
Vektor
41
2.5. Mikrocontroller-Komponenten
1
Dezentrale Prioritäten- und Vektorvergabe (Daisy Chain)
IEI
Externe
Komponente
1
IEO
IEI
Externe
Komponente
2
IEO
Datenbus
Unterbrechungsanforderungen
...
1
externer
Interrupt
Mikrocontroller
Interrupt
Acknowledge
...
IEI
Externe
Komponente
n
IEI: Interrupt Enable In
IEO: Interrupt Enable Out
IEO
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
42
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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
43
2.5. Mikrocontroller-Komponenten
Mehrfache Registersätze:
Registersatz n
...
Registersatz 3
Registersatz 2
Registersatz 1
Struktur eines Registersatzes
Inhalt des
Programmzähler
Inhalt des
Programmstatuswort
Daten-/Adressregister 1
Daten-/Adressregister 2
...
Daten-/Adressregister m
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
44
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
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
45
2.5. Mikrocontroller-Komponenten
Ereignisbehandlung
auf mehrfädigen
Prozessoren durch
laufender Faden
Ereignis 1
Interrupt Service Threads
Ereignis 2
Faden zur Behandlung
von Ereignis 1
Faden zur Behandlung
von Ereignis 2
Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
46
Herunterladen