Prinzipen und Komponenten Eingebetteter Systeme (PKES) Sebastian Zug Arbeitsgruppe Eingebettete Systeme und Betriebssysteme

Prinzipien und Komponenten eingebetteter Systeme 07.11.2013 Arbeitsgruppe EOS Dr. Sebastian Zug Vorlesung Prinzipen und Komponenten Eingebetteter S...
Author: Dieter Falk
2 downloads 1 Views 1MB Size
Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Vorlesung Prinzipen und Komponenten Eingebetteter Systeme (PKES) (3) Mikrocontroller II

Sebastian Zug Arbeitsgruppe Eingebettete Systeme und Betriebssysteme

1

Prinzipien und Komponenten eingebetteter Systeme Arbeitsgruppe EOS Dr. Sebastian Zug

Mitarbeiter im oTToCAR – Projekt gesucht Ziel: Teilnahme am Carolo-Cup in Braunschweig (7.02.2014) Offene Herausforderung: Paralleles Einparken

07.11.2013

2

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

„Veranstaltungslandkarte“ Fehlertoleranz, Softwareentwicklung Mikrocontroller Architekturen Scheduling

Sensoren

Aktoren

Arithmetik Anwendungen

Kommunikation

Energieversorgung

3

Prinzipien und Komponenten eingebetteter Systeme Arbeitsgruppe EOS Dr. Sebastian Zug

Wie weiter? obligatorisch

fakultativ

Energieversorgung

Interrupts

Takt generator Speicher Resetsystem Digitale I/O

Mikrocontroller

Timer Analoge I/O

07.11.2013

4

Prinzipien und Komponenten eingebetteter Systeme Arbeitsgruppe EOS Dr. Sebastian Zug

Literaturhinweise M. Mitescu I. Susnea Microcontrollers in Practice Springer, 2012 U. Bringschulte, T. Ungerer Mikrocontroller und Mikroprozessoren Springer, 2010

Wikipedia Analog Digital Wandler Atmel Corporation ATmega640/1280/1281/2560/2561 - Datasheet 2012

07.11.2013

5

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Fragen an die Veranstaltung

• • • • • • • • • •

Welche Herausforderung liegt in der Erfassung analoger Signale? Welche Fehler können dabei auftreten? Wodurch unterscheiden sich die ADC-Wandler? Beschreiben Sie den Aufbau eines Flash-Wandlers! Warum ist, bei der sequentiellen Wandlung, ein DAC Voraussetzung für einen ADC? Beschreiben Sie die Aufgabe der Sample-and-Hold Komponenten! Wonach richtet sich die Taktrate, mit der ein analoger Wert erfasst werden sollte? Für welche Aufgaben werden die Timerfunktionen des Mikrocontrollers herangezogen? Wie sind ein Timer grundlegend aufgebaut (Capture&Compare)? Was ist PWM? Welche Arten der PWM Generierung gibt es?

6

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

7

Arbeitsgruppe EOS Dr. Sebastian Zug

Beschaltung digitaler Schnittstellen

Taster bei Benutzung des interen Pullup

Standard Taster Anschluss

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Analoge Schnittstelle 00100110 00101101 00101110 ............... ............... ...............

Wert (v)

wertbezogene Diskretisierung

Zeit (t) zeitliche Diskretisierung

8

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Wandlungskette im Mikrocontroller Digital

Analog

Sensor

Analog Multiplexer Verstärker (Sample and Hold)

Sensor

• • • Sensor

. .

A/D-Wandler

E/AKontrolle

CPU

9

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Parallele Wandlung - Flash Wandler



Vorteil Hohe Geschwindigkeit



Vin Vref

Nachteil Energieverbrauch großer Hardwareaufwand für höhere Auflösungen

Komparatoren

R R

2n zu n Dekoder

Latch

R R

cntrl.

R

10

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Prinzip eines sequentiellen Analog/Digital-Wandlers

Clock

11

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Voraussetzung: DA Wandler

D

Q

d0

Schalter

C Digitale

D

Q

d1

V0 Schalter

Eingabe

Analog Addierer

C V1

D

Q

V Analoger Ausgang

d n-1

Schalter

C Latch

Vn-1 V= d

Clock

n-1

•V +d •V + . . . . + d1• V1 + d 0 • V0 n-1 n-2 n-2

12

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

13

Arbeitsgruppe EOS Dr. Sebastian Zug

Varianten sequentieller Wandler – Zählverfahren



Vorteil sehr hohe Auflösungen möglich schaltung einfach umsetzbar – kritisches Element DAC/Komperator



Nachteil Variierende Wandlungsdauer langsam Analog IN

SpannungsKomparator +

Latch n-Bit- DAC n-Bit Digitalwert

n-Bit- Zähler Takt

Reset

S

R

Q

Q

Clock Start

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

14

Arbeitsgruppe EOS Dr. Sebastian Zug

Varianten sequentieller Wandler – sukzessive Approximation/Wägeverfahren



Vorteil Gleiche Wandlungsdauer



Nachteil

Spannungsbereich

Eingangsspannung

7 111

111 6 110 110 5

101

101

4 100 3

011

2

010

100 011 010

1 001 001

0 000 1

2

3

Wandlungsschritte

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

15

Arbeitsgruppe EOS Dr. Sebastian Zug

Transferfunktion eines idealen 3-Bit ADC

Binärcode 111 110 101 100 011

Q analoger Eingang

ADC

d2 d1 d0

010 001 000 0,0 0,5 1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0 5,5 6,0 6,5 7,0 7,5 8,0 8,5 9,0

Spannung (V)

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

16

Arbeitsgruppe EOS Dr. Sebastian Zug

Fehler bei der Wandlung Binärcode

Offset- und Verstärkungsfehler

111

Verst. Fehler 110

101 100

resultierender Gesamtfehler

011 010 001

Offset Fehler

000 0,0 0,5 1,0 1,5 2,0 2,5 3,0 3,5 4,0 4,5 5,0 5,5 6,0 6,5 7,0 7,5 8,0 8,5 9,0

Spannung (V)

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Fehlertypen

• • • • •

Quantisierungsfehler sind bedingt durch die Auflösung des Wandlers Offsetfehler ergeben sich aus einer Abweichung der Referenzspannung und führen zu einem konstanten Fehler. Verstärkungsfehler im Analog-Digitalwandler wirken einen wertabhängigen Fehler. Der Linearitätsfehler ist die Abweichung von der Geraden. Linearitätsfehler lassen sich nicht abgleichen. Missing Codes kommen als Kombination nie vor, weil zum Beispiel ein Flashwandler wegen einer Temperaturabhängigkeit vor dem anderen schaltet.

17

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Parameter eines Analog-Digitalwandlers

• • • • • •

Auflösung Messdauer Leistungsaufnahme, Schwankungen bei der Versorgungsspannung (interne Referenz vorhanden) Unipolare/Bipolare Messungen, Zahl der Eingänge Ausgangsinterface Rauschverhalten

18

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

19

Arbeitsgruppe EOS Dr. Sebastian Zug

Wie schnell soll ich messen?

Anforderungen:

AD-Conv./sek

Conv.-Zeit [ms]

Temperaturmessung im Heizkessel Abstandsmessung bei mobilem Roboter Audio in CD Qualität Webcam (1024 x 768x30)

1 100 40000 23592960

1000000 10.000 100 0,01

Erkenntnis: Maßgeblich ist die Dynamik des beobachteten Systems

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

20

Arbeitsgruppe EOS Dr. Sebastian Zug

Sample & Hold

Sample VOUT

VIN VOUT Hold

VOUT

VIN

ts

ta

ts

ts : „Sample“ ta :„Hold“

t

Prinzipien und Komponenten eingebetteter Systeme Arbeitsgruppe EOS Dr. Sebastian Zug

Wie häufig sollte ich denn messen? Wenn ein kontinuierliches Signal, das keine Frequenzkomponenten hat, die über einer Frequenz fc liegen mit einer Häufigkeit von 2fc abgetatstet wird, kann das Originalsignal aus den gewonnenen Punkten unverzerrt rekonstruiert werden.

Diese minimale Abtastrate wird als Nyquist Rate bezeichnet

07.11.2013

21

Prinzipien und Komponenten eingebetteter Systeme Arbeitsgruppe EOS Dr. Sebastian Zug

Analog-Digital-Wandlers auf AtMega 2560

• 10-Bit Auflösung • bis zu 15 KSps • 16 Kanäle • Eingangsverstärker • Störungensreduzierung mittles Schlafmodus

07.11.2013

22

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Zeitverhalten

• •



Eine Wandlung dauer 13 Taktzyklen der ADC-Clock. Die Sample-and-Hold Schaltung „fixiert“ die anliegende Spannung nach 1.5 Takten. Zu diesem Zeitpunkt werden Änderungen an den Konfigurationsregistern übernommen.

23

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Komperator - Funktion

+ if AIN0 > AIN1 { =1 }

-

ACME: Analog Multiplexer Enable ADEN: ADC Enable ACBG: AC Bandgap Select ACIE: AC Interrupt Enable

ACIS1/0 : AC Interrupt Mode Select ACO: AC Output ACI: AC Interrupt Flag ACIA: AC Input CapTure Enable

24

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Zusammenfassung ADC







Analoge Werte, die kontinuierlich in der Zeit- und Wertdomäne sind, werden in zeit- und wertdiskrete Repräsentationen gewandelt. Dadurch entstehen entsprechende Wandlungsfehler. Eine Wandlung erfolgt durch Vergleich des analogen Wertes mit einem bekannten Referenzwert. Der digitale Referenzwert wird häufig durch ein binäres Suchverfahren erzeugt (successive approximation) und durch einen Digital-Analog-Wandler entsprechend umgesetzt. Gesteuert wird die Wandlung durch Kontrollregister, in denen die entsprechende Konfiguration, der Anstoß zur Wandlung und die Fertigstellung reflektiert werden.

25

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

26

Arbeitsgruppe EOS Dr. Sebastian Zug

Timer - Motivation #include #define F_CPU 1000000UL #include

Busy-Waiting





void loop() { sensorValue = analogRead(sensPin); result=Process(sensor); if (result>100) digitalWrite(ledPin, HIGH); else digitalWrite(ledPin, LOW); _delay_ms (1000); }



Nachteil der Implementierung: Die Verzögerung der Verarbeitung wird nicht berücksichtigt. Der Prozessor läuft permanent mit voller Leistung.

Timerfunktionen sollten soweit wie Möglich in Hardware umgesetzt werden.

Prinzipien und Komponenten eingebetteter Systeme Arbeitsgruppe EOS Dr. Sebastian Zug

Aufgaben der Timer

• • • •

Zählen von Ereignissen Messen von Zeiten, Frequenzen, Phasen, Perioden Erzeugen von Intervallen, Pulsfolgen, Interupts Überwachen von Ereignissen und definition von Zeitstempeln

07.11.2013

27

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Capture-and-Compare Einheit interrupt request

Capture-Register system clock

internal timers

edge select

÷ 2n

Port Port timer select MUX

external timing sources

Counter

Counter Controller activate Min / Max

Capture – Funktionalität: Generation von Zeitstempeln

interrupt request

28

Prinzipien und Komponenten eingebetteter Systeme Arbeitsgruppe EOS Dr. Sebastian Zug

Capture-and-Compare Einheit

Compare-Register system clock

÷ 2n

match Digital Comparator

internal timers

timer select MUX

external timing sources

Port

Counter

Counter Controller activate Min / Max

Compare – Funktionalität: Generation von Zeitintervallen, PWM

interrupt request

07.11.2013

29

Prinzipien und Komponenten eingebetteter Systeme

07.11.2013

Arbeitsgruppe EOS Dr. Sebastian Zug

Anwendung: Timerinterrupts Compare-Register

12 Digital Comparator

0 .....16

Clock

Counter Controller

interrupt request

0/ 16

Periode Timerinterrupt:

p=16 pw=12

match/clear Zähler