44
1 Universitä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

Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

Embed Size (px)

Citation preview

Page 1: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 2: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 3: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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)

Page 4: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 5: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 6: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

...

Page 7: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 8: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 9: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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}

Page 10: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 11: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 12: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 13: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 14: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 15: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 16: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 17: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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‘

Page 18: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 19: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 20: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 21: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 22: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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)

Page 23: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 24: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 25: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 26: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 27: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 28: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 29: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 30: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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.

Page 31: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 32: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 33: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 34: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 35: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 36: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 37: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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)

Page 38: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 39: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 40: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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 ?

Page 41: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 42: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 43: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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

Page 44: Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1 4. Mikrocontroller-Komponenten 4.1 Prozessorkerne Einfache

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