Universität Karlsruhe - Prof. Dr. U. Brinkschulte Universität Augsburg - Prof. Dr. Th. Ungerer 1...

Preview:

Citation preview

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

Recommended