Author
mirjam-schlesselman
View
107
Download
3
Embed Size (px)
1Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.1 Prozessorkerne
Einfache RISC- oder CISC Prozessorkerne
Benötigen wenig Fläche
Verhalten und Eigenschaften sind wohl bekannt
Im Low-Cost-Bereich oft einfache 8-Bit-Kerne ohne Pipeline
=> einfacher Aufbau
=> sehr einfache zeitliche Vorhersagbarkeit
2Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Beispiel:
Befehl Taktzyklen
LOOP: IN A,(10) 2LD (IX),A 5INC IX 2DEC B 2JNZ LOOP 5
Gesamt: 16
bei einer Taktfrequenz von 10 MHzAusführungszeit pro Schleifendurchlauf: 16 / 10 MHz = 1,6 sec
3Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Je komplexer ein Prozessorkern, desto schwerer wird die Vorhersage des Zeitverhaltens
Pipeline => Pipeline-Konflikte
Cache => Cache Misses
Spekulation => Fehlspekulation
In Echtzeitsystemen interessiert die Worst Case Execution Time (WCET)
Aufwändige Analysen sind erforderlich (und nicht immer möglich)
4Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Zur Einsparung von Speicher
bei einfachen Mikrocontrollern:
Verkürzte Adressierung zur
Verkürzung der Befehle
Gesamtadressraum64 KBytes
Teiladressraum1 KByte
16 Bit AdresseBefehls-code
BBBBBBBB AAAAAAAA AAAAAAAA
10 Bit AdresseBefehls-code
BBBBBBAA AAAAAAAA
3 Byte Befehl 2 Byte Befehl, kurze Adresse
5Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Zusätzlich: • kurze Befehlscodes für die am häufigsten benutzten Befehle
• längere Befehlscodes für seltene Befehle
Besonders bei einfachen Mikrocontrollern ist Speicher meist eine knappe Ressource und muss optimal genutzt werden
Der Prozessorkern kann dies durch die genannten Maßnahmen unterstützen
6Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.2 Ein-/Ausgabeeinheiten
Bindeglied des Mikrocontrollers zur Umwelt
analog/digital
seriell/parallel
Übertragungsraten
Übertragungsformate
Übertragungsaufwand
...
7Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.2.1 Anbindung an den Prozessorkern
Speicher- und EA-Adressraum
EA-Adressraum Speicheradressraum
Isolierte Adressierung Gemeinsame Adressierung
Speicher
parallele EA
serielle EA
DA-Wandler
0
max.EA-Adresse
0
max.Speicheradresse
Speicher
parallele EA
serielle EA
DA-Wandler
0
max.Speicheradresse
8Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Vorteile „isolierte Adressierung“:
klare Trennung von Speicher- und Ein-/Ausgabezugriffen
Speicheradressraum wird nicht durch EA-Einheiten reduziert
schmälere Ein-/AusgabeadressenVorteile „gemeinsame Adressierung“:
Homogenität
keine speziellen Befehle zur Ein-/Ausgabe erforderlich
Alle Speicher-Adressierungsarten können auch zur Ein-/Ausgabe benutzt werden
9Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Adressraumbedarf unterschiedlich komplexer EA-Einheiten
Adressraum
Adresse m parallele EA-Einheit 1Datenkanal
Datenkanal
Steuerkanal
Statuskanal
Adressen n
n+1
n+2
serielle EA-Einheit 1}
10Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Physikalische Anbindung durch Adressdecoder
Prozessor- kern
internerDatenbus
Adressdecoder
Ein-/Ausgabe-einheit 1
Ein-/Ausgabe-einheit 2
Ein-/Ausgabe-einheit n
interner Adressbus
MIO
RW
Select 1
Select 2
Select n. . .
. . .
AS
Mikrocontroller
11Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Zur Anpassung unterschiedlicher Datenübertragungsraten von Prozessorkern und EA-Einheiten : Synchronisation
Von Seiten der EA-Einheit:
Software-Synchronisation
Hardware-Synchronisation
12Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Daten Daten Daten Daten
XOFF
Daten Daten Daten Daten
XON
Ein-/Ausgabe-einheit
Peripherie-Gerät
vom/zum Prozessorkern
Adressbus
Datenbus
Steuerbus
Ausgabedaten
Eingabedaten
Ausgabedaten (von E/A-Einheit)
Eingabedaten (vom Gerät)
Software-Synchronisation: Beispiel XON/XOFF
13Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Hardware-Synchronisation: Beispiel RTS/CTS
CTS
RTS (von E/A-Einheit)
CTS (vom Gerät)
Ausgabedaten (von E/A-Einheit)
RTS
RTS: request to sendCTS: clear to send
Ein-/Ausgabe-einheit
Peripherie-Gerät
vom/zum Prozessorkern
Adressbus
Datenbus
Steuerbus
Ausgabedaten
14Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Von Seiten des Prozessorkerns: Auswertung mit Polling oder Interrupt
Programm
Programmschleife:
Abfrage des Statuskanals,Warten in der Schleife biszur Freigabe
Datenübertragung durchführen
Polling ProgrammUnterbrechung,Freigabe
Unterbrechung,Freigabe
Unterbrechungsbehandlung,Datenübertragung durchführen
Unterbrechungsbehandlung,Datenübertragung durchführen
Unterbrechungen
15Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.2.2 Digitale parallele Ein-/Ausgabeeinheiten (parallele IO-Ports)
Charakteristika:
Anzahl parallel übertragener Bits (meist Zweierpotenz)
Ein-/Ausgaberichtung
Übertragungsgeschwindigkeit
Der meist hohen Übertragungsgeschwindigkeit steht ein großer Bedarf an Anschlüssen gegenüber
=> meist teilen sich die parallelen EA-Einheiten eines Mikrocontrollers die Anschlüsse mit anderen Komponenten
16Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Einfache parallele Eingabeeinheit:
Select
RW
MIO
zumProzessorkern
Daten von einemexternen Gerät
CS OE
&
Adressdecoder
Adressbus
Datenbus
Treiber
AS
17Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Einfache parallele Ausgabeeinheit:
Select
D0 ... D7
RW
MIO
vomProzessorkern
Daten zu einemexternen Gerät
CS OE
&
Adressdecoder
Adressbus
Datenbus
Treiber
AS
‘1‘
18Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Einfache bidirektionale Einheit:
Select
D0 ... D7
RW
MIO
vom/zumProzessorkern
Daten von/zu einemexternen Gerät
OE DIR
Adressdecoder
Adressbus
Datenbus
Treiber
AS
19Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.2.3 Digitale serielle Ein-/Ausgabeeinheiten (serielle IO-Ports)
Grundprinzip:
Ausgaberegister
Schieberegister
Takterzeugung
Eingaberegister
Schieberegister
Takterzeugung
parallele Daten parallele Daten
serielle Daten
Sender Empfänger
20Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Wichtige Begriffe:
Schrittgeschwindigkeit (Schritttakt)
Anzahl übertragener Informationen / Sekunde (Baud, Baudrate)
Übertragungsgeschwindigkeit
Anzahl übertragener Bits / SekundeÜbertragungsgeschw. = Schrittgeschw. * Übertragungsbreite
oder allgemeiner:
Übertragungsgeschw. = Schrittgeschw. * ld(Anzahl Übertragungszustände)
Bei bitserieller Übertragung: Schrittgeschwindigkeit =
Übertragungsgeschwindigkeit
21Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.2.3.1 Asynchrone Übertragung
Nach jedem übertragenen Zeichen wird synchronisiert
0 1 2 n-2 n-1 P...1
0
Startbit Stoppbit(s)Datenbits Parität
Daten
Sendetakt
Empfangstakt
Synchronisation
22Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
=> Zeichensynchronisation
keine hohen Anforderungen an die Taktgenauigkeit
Sende und Empfangstakt dürfen sich um maximal 1/2 Tarktperiode pro Zeichen verschieben
durch häufige Synchronisation geringe Datenraten
Vereinbarung zwischen Sender und Empfänger:
Schrittgeschwindigkeit (z.B. 4800, 9600, 19200, ... Baud) Anzahl der Datenbits pro Zeichen (5 – 8) Parität (gerade oder ungerade) Anzahl der Stoppbits (üblicherweise 1, 1,5 oder 2)
23Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.2.3.2 Synchrone Übertragung
Rahmensynchronisation
SYNC SYNC STX Daten Daten ETX BCC. . .
a. Zeichenorientierte Übertragung, Zeichen z.B. im 8-Bit-ASCII-Code
Zeichen Zeichen Zeichen Zeichen Zeichen Zeichen Zeichen
Flag Adresse Steuerfeld FCS FlagDaten
n Bitsm Bits o Bits p Bits q Bits r Bits
b. Bitorientierte Übertragung z.B. HDLC
Höhere Übertragungsgeschwindigkeit, höhere Anforderungen an den Takt
24Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.2.3.3 Komponentenaufbau
Select 1
Select 2Select 3
Select 4
Handshake (optional)
Handshake (optional)
RWMIO
vom/zumProzessorkern
Adressdecoder
Adressbus
Datenbus
AS Senderegister Schieberegister
Sendesteuerung
Empfangsregister Schieberegister
Empfangssteuerung
Statusregister
Steuerregister
serielle Sende-
leitung
serielle Emp-fangsleitung
25Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.2.3.4 Verbindungstechniken
Serielle Punkt-zu-Punkt-Verbindung (Peer to Peer)
Partner1
Sendeleitung
Empfangsleitung
Partner2
Empfangsleitung
Sendeleitung
26Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Verbindungsbusse
Beispiel: SPI (Serial Peripheral Interface, Motorola)
MISO MOSI
Partner 1
SS SCK
MISO MOSI
Partner 2
SS SCK
MISO MOSI
Partner n
SS SCK
als Masterprogrammiert
als Slaveprogrammiert,nicht selektiert
als Slaveprogrammiert,
selektiert
Sende-/Empfangstakt
0 0 1
serieller Sende-/Empfangs-Bus
Andere serielle Busse: RS485, USB, ...
27Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.2.3.5 Serielle Datencodierungen
Man-chester
0 1 0 1 1 1 0 0
Takt
Binär-ziffer
NRZ
FM
MFM
VHigh
VLow
VHigh
VLow
VHigh
VLow
VHigh
VLow
T D T D T D T D T D T D T D T D
28Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
NRZ (Non Return to Zero)
Einfach, leichter Verlust der Taktsynchronität bei
aufeinanderfolgenden Einsen oder Nullen
=> wird hauptsächlich bei asynchroner Übertragung genutzt FM (Frequency Modulation)
Takterhaltende Codierung, Voranstellen eines Taktbits
0 1 0 1 1 1 0 0 Daten1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 FMT D T D T D T D T D T D T D T D
29Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
MFM (Modified Frequency Modulation)
Halbiert den Aufwand von FM durch bedingtes Voranstellen
eines Taktbits.
Taktbit nur, wenn aktuelles und voriges Datenbit beide nicht 1
0 1 0 1 1 1 0 0 Daten0 0 0 1 0 0 0 1 0 1 0 1 0 0 1 0 MFMT D T D T D T D T D T D T D T D
30Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Manchester Biphase
Wird z.B. bei Ethernet benutzt
Signalpegel wechselt grundsätzlich bei jeder Taktflanke
Stimmt der resultierende Wert nicht mit dem Bitwert überein:
=> zweiter Wechsel
0 1 0 1 1 1 0 0 Daten0 0 1 1 0 0 1 1 0 1 0 1 0 0 1 0 Manch.
31Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.2.4 Analoge Ein-/Ausgabeeinheiten
zur Verarbeitung durch den Prozessorkern müssen analoge in digitale Signale gewandelt werden
Select 1
Select 2
n-Bit-Digital-wert
RWMIO
vom/zumProzessorkern
Adressdecoder
Adressbus
Datenbus
AS analogesAusgabesignal
Digital/Analog-Wandler
(n Bit)
Analog/Digital-Wandler
(n Bit)
analogesEingabesignal
32Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Wandlungsfunktion:
bei n Bit Auflösung
=> Aufteilung in 2n Schritte
ULSB = (Umax – Umin) / 2n
Digital/Analog-Wandlung
U = (Z ULSB) + Umin
Analog/Digital-Wandlung
Z = (U – Umin) / ULSB Z
U
2n-10
Umin
Umax
ULSB
1
33Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Beispiel: Umax = 5 V, Umin = 0 V, 12-Bit-Wandlung
=> ULSB = 1,221 mV
Wichtigste Kriterien für die Auswahl eines Wandlers
Auflösung (n Bit)
Spannungsbereich (Umin - Umax)
Wandlungszeit
Wandlungsfehler
34Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.2.4.1 Digital/Analog-Wandlung
R/2R-Widerstandsnetzwerk
2R2R 2R 2R 2R
R R R
R
=Uref
Uref Uref/2 Uref/4 Uref/8
Iref = Uref/R
Ik-
+ U
z3 z2 z1 z0
ca. 0V
0 1 0 0 01 1 1
Blindschiene
Ausgangsschiene
- R Ik
35Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Funktion des Wandlers:
Ik = z3 (Uref / 2R) + z2 (Uref / 4R) + z1 (Uref / 8R) + z0 (Uref / 16R)
Für den Operationsverstärker gilt näherungsweise:
U = -R Ik
Daraus folgt:
U = - (z3 (Uref / 2) + z2 (Uref / 4) + z1 (Uref / 8) + z0 (Uref / 16)) = - (z3 23 + z2 22 + z121 + z020) Uref / 24
= - Z Uref / 24
oder für n Bit: U = - Z Uref / 2n
36Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Statische Wandlungsfehler:
NichtlinearitätFehler Fehler
a) Nullpunktfehler b) Vollausschlagsfehler c) Nichtlinearität
37Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Nullpunktfehler durch Addition einer Konstanten (auf analoger oder digitaler Seite) behebbar
Vollausschlagfehler durch Multiplikation mit einer Konstanten
behebbar
Nichtlinearität ist nicht korrigierbar und reduziert die verfügbare
Auflösung
Besonders schwerwiegend: Monotoniefehler
Ausgabe eines niedrigeren Wertes trotz Erhöhung des
Eingangswertes
Entsteht z.B. im R/2R Netzwerk, wenn durch Widerstandstoleranzen: Ik(0111) > Ik(1000)
38Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Dynamische Fehler:
Glitches durch Wettläufe im Umschaltzeitpunkt, z.B. bei
0111 1111 1000
Abhilfe: Abtast-/Halteglied (Sample and Hold)
-
+
-
+
C
S
Ua
Ue
Verstärkungsfaktor 1
Verstärkungsfaktor 1
39Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
4.2.4.2 Analog/Digital-Wandlung
Prinzipielle Wandlungsverfahren:
Parallelverfahrensehr schnell, hoher HW-Aufwand
Wägeverfahrenmittel schnell, mittlerer HW-Aufwand
• Zählverfahren (Dual Slope)langsam, geringer HW-Aufwand, störunempfindlich
40Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Beispiel: das Wägeverfahren
wandelt n Bits in n Schritten
-
+U
Abtast-/Halteglied
Komparator
Zeitsteuerung
Digital/Analog-Wandler
=Uref
Z
Ug(Z)
Z
Z
Ug(Z) U ?
41Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Ablauf:
sukzessive Aproximation
1 1 0 0 1 0 1 1
Schritt1 2 3 4 5 6 7 8
U
Ug(Z)
Ug(11111111)
z7 z6 z5 z4 z3 z2 z1 z0
Z = 11001011Wandlerfunktion:
Z = 2n U / Uref
= U / ULSB
42Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Statische Fehler:
Quantisierungsrauschen
systematischer Fehler,
bedingt durch die begrenzte
Auflösung
=> Abweichung des treppenförmigen vom tatsächlichen
stufenlosen Analogsignal
Quantisierungsfehler
Z
U
+ ½ ULSB
- ½ ULSB
ULSB
43Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Durch die Gleichverteilung des Eingangssignals gehorcht die Abweichung statistischen Gesetzen => Rauschen
Rauschamplitude:
Faustformel für das Signal/Rauschverhältnis in Dezibel:
SR 1.8 dB + n 6 dB
Beispiele: 8 Bit Auflösung 49.8dB12 Bit Auflösung 73.8dB16 Bit Auflösung 97.8dB
UeffU LSB
12
44Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer
4. Mikrocontroller-Komponenten
Dynamische Fehler
Amplitudenänderung des Eingangssignals über die Wandlungszeit
besonders kritisch beim Wägeverfahren, da hier die
empfindlichen niederwertigen Bits zuletzt gewandelt werden
Eine Schwankung um mehr als 1/2 ULSB macht bereits das
niederwertigste Bit unbrauchbar
Abhilfe: Abtast-/Halteglied
Takt-Jitter (Aperturfehler)
Schwankung der Taktrate bei periodischer Abtastung analoger
Signalverläufe