Transcript
Page 1: 2.5. Mikrocontroller-Komponenten

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

Page 2: 2.5. Mikrocontroller-Komponenten

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

Page 3: 2.5. Mikrocontroller-Komponenten

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)

Page 4: 2.5. Mikrocontroller-Komponenten

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

Page 5: 2.5. Mikrocontroller-Komponenten

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

Page 6: 2.5. Mikrocontroller-Komponenten

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

Page 7: 2.5. Mikrocontroller-Komponenten

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

Page 8: 2.5. Mikrocontroller-Komponenten

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

Page 9: 2.5. Mikrocontroller-Komponenten

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

Page 10: 2.5. Mikrocontroller-Komponenten

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

Page 11: 2.5. Mikrocontroller-Komponenten

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

...

Page 12: 2.5. Mikrocontroller-Komponenten

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

Page 13: 2.5. Mikrocontroller-Komponenten

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

Page 14: 2.5. Mikrocontroller-Komponenten

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}

Page 15: 2.5. Mikrocontroller-Komponenten

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

Page 16: 2.5. Mikrocontroller-Komponenten

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

Page 17: 2.5. Mikrocontroller-Komponenten

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

Page 18: 2.5. Mikrocontroller-Komponenten

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

Page 19: 2.5. Mikrocontroller-Komponenten

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

Page 20: 2.5. Mikrocontroller-Komponenten

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

Page 21: 2.5. Mikrocontroller-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

Page 22: 2.5. Mikrocontroller-Komponenten

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‘

Page 23: 2.5. Mikrocontroller-Komponenten

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

Page 24: 2.5. Mikrocontroller-Komponenten

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

Page 25: 2.5. Mikrocontroller-Komponenten

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

Page 26: 2.5. Mikrocontroller-Komponenten

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

Page 27: 2.5. Mikrocontroller-Komponenten

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)

Page 28: 2.5. Mikrocontroller-Komponenten

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

Page 29: 2.5. Mikrocontroller-Komponenten

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

Page 30: 2.5. Mikrocontroller-Komponenten

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

Page 31: 2.5. Mikrocontroller-Komponenten

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, ...

Page 32: 2.5. Mikrocontroller-Komponenten

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

Page 33: 2.5. Mikrocontroller-Komponenten

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

Page 34: 2.5. Mikrocontroller-Komponenten

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

Page 35: 2.5. Mikrocontroller-Komponenten

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.

Page 36: 2.5. Mikrocontroller-Komponenten

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

Page 37: 2.5. Mikrocontroller-Komponenten

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

Page 38: 2.5. Mikrocontroller-Komponenten

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

Page 39: 2.5. Mikrocontroller-Komponenten

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

Page 40: 2.5. Mikrocontroller-Komponenten

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

Page 41: 2.5. Mikrocontroller-Komponenten

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

Page 42: 2.5. Mikrocontroller-Komponenten

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)

Page 43: 2.5. Mikrocontroller-Komponenten

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

Page 44: 2.5. Mikrocontroller-Komponenten

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

Page 45: 2.5. Mikrocontroller-Komponenten

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 ?

Page 46: 2.5. Mikrocontroller-Komponenten

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

Page 47: 2.5. Mikrocontroller-Komponenten

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

Page 48: 2.5. Mikrocontroller-Komponenten

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

Page 49: 2.5. Mikrocontroller-Komponenten

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


Recommended