2.5. mikrocontroller-komponenten
DESCRIPTION
2.5. Mikrocontroller-Komponenten. 2.5.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 - PowerPoint PPT PresentationTRANSCRIPT
1Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
2.5.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
2Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
3Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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)
4Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Befehlholen
Befehldekodieren
Operandenholen
Befehlausführen
Ergebnisspeichern
Takt 2Takt 1 Takt 3 Takt 4 Takt 5 Takt 6
Befehlholen
Befehldekodieren
Operandenholen
Befehlausführen
Ergebnisspeichern
Befehlholen
Befehldekodieren
Operandenholen
Befehlausführen
Ergebnisspeichern
Takt 7 ...
Befehl 3
Befehl 2
Befehl 1
. . .
Befehlsverarbeitung in einer Pipeline: Beispiel fünfstufige Pipeline
5Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Befehlholen
Befehldekodieren
Bef
ehls
fens
ter
Zuo
rdnu
ngse
inhe
it
Operandenholen
Operandenholen
Befehlausführen
Befehlausführen
Rüc
kord
nung
sein
heit
Ergebnisspeichern
Beispiel superskalare Pipeline bei High-End-Prozessorkernen
6Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Prozessor-kern
> 1GByte50 ns
10 - 100 Mbyte20 - 30 ns
Daten Code
0,25 - 1 Mbyte2 - 10 ns
8 - 64 kByte< 1 ns
Register
Hauptspeicher
Third - Level - Cache
Secondary-Level-Cache
50 - 500 GByte 10 - 20 ms
virtuelleSpeicherverwaltung
2 kByte0,5 - 0,1 ns
First -Level-Cache
Festplatte
Speicherhierarchie bei High-End- Prozessorkernen
7Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
predict taken(0)
predict not taken(1)
taken
taken
not takennot taken
predict stronglytaken (00)
taken
taken
not taken
predict weakly taken (01)
predict strongly not taken (11)
not taken
predict weaklynot taken (10)
not taken not taken
taken taken
a) Ein–Bit-Präditkor
b) Zwei–Bit-Präditkor
Sprungspekulation: Beispiel Ein-Bit- und Zwei-Bit-Prädiktor
8Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
LD A,(2000)
INC B
SUB A,B
JZ 10000
Gesamt
5
3
3
4
15
Best=Worst
KeinePipeline
Benötigte Anzahl TaktzyklenProgramm
2.5. Mikrocontroller-Komponenten
Best- und Worst-Case Ausführungszeiten verschiedener Mikroarchitekturen
1+4
1
1+1
1+3
12
1
1
1+1
1
5
Best
1+4
1
1+1
7
15
Worst
1+4
1
1+1
1
9
Best
1+4
1
1+1
7
15
WorstBest=Worst
Pipeline, Cache,Spekulation
Pipeline,Spekulation
EinfachePipeline
Resultierende Echtzeitproblematik bei High-End- Prozessorkernen mit diesen Techniken
9Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
10Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
11Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
2.5.2 Ein-/Ausgabeeinheiten
Bindeglied des Mikrocontrollers zur Umwelt
analog/digital
seriell/parallel
Übertragungsraten
Übertragungsformate
Übertragungsaufwand
...
12Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
2.5.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
13Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
14Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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}
15Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
16Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Zur Anpassung unterschiedlicher Datenübertragungsraten von Prozessorkern und EA-Einheiten : Synchronisation
Von Seiten der EA-Einheit:
Software-Synchronisation
Hardware-Synchronisation
17Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
18Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
19Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
20Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
2.5.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
21Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Einfache parallele Eingabeeinheit:
Select
RW
MIO
zumProzessorkern
Daten von einemexternen Gerät
CS OE
&
Adressdecoder
Adressbus
Datenbus
Treiber
AS
22Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Einfache parallele Ausgabeeinheit:
Select
D0 ... D7
RW
MIO
vomProzessorkern
Daten zu einemexternen Gerät
CS OE
&
Adressdecoder
Adressbus
Datenbus
Treiber
AS
‘1‘
23Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
24Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
2.5.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
25Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
26Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
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
27Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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)
28Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
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
29Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
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
30Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Verbindungstechniken
Serielle Punkt-zu-Punkt-Verbindung (Peer to Peer)
Partner1
Sendeleitung
Empfangsleitung
Partner2
Empfangsleitung
Sendeleitung
31Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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, ...
32Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
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
33Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
34Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
35Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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.
36Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
2.5.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
37Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
38Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
39Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
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
40Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
41Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
Statische Wandlungsfehler:
NichtlinearitätFehler Fehler
a) Nullpunktfehler b) Vollausschlagsfehler c) Nichtlinearität
42Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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)
43Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
44Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. Mikrocontroller-Komponenten
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
45Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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 ?
46Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
47Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
48Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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
49Goethe-Universität Frankfurt am Main – Lehrstuhl für Eingebettete Systeme - Prof. Dr. U. Brinkschulte
2.5. 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