Embedded Systems 2 - ei.hs-duesseldorf.de · Embedded Systems 2 07.11.2018 HS Düsseldorf (c) U.Schaarschmidt 4 Quellenhinweise Ganssle, Jack G.: The Art of Programming Embedded Systems
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Bitte beachten Sie auch Ihre Tafel-/Proki-Mitschriften.
ES218-V3
ACHTUNG: Abgabe
Praktikumsvorbereitungen
Im letzten Praktikum haben einige Studierende nicht
einmal ihre Unterlagen während des Praktikums
durchgearbeitet – und statt dessen herumgesessen
und geklönt.
1. Rechtzeitig die nächsten Praktikumsunterlagen
holen!
2. Fragen in den Unterlagen beantworten und zum
Praktikum mitbringen.
3. Gut vorbereitet zum Praktikum gehen!
4. Wenn nicht verfällt der Termin
Nachholtermin, wenn verfügbar… 07.11.2018 U.G. Schaarschmidt, HS - D 2
Embedded Systems 2 07.11.2018
HS Düsseldorf (c) U.Schaarschmidt 2
07.11.2018
Übungsaufgabe 2
Software-Management-Systeme
Recherchieren Sie unterschiedliche (open source bzw. freie) Software-Management-Systeme (auch Versions-Kontroll-Systeme genannt) und versuchen eine Gegenüberstellung der signifikanten Unterscheidungsmerkmale!
Betriebsmittelzuweisung: Speicher, CPU, Drucker, Tastatur, etc.
Speicher-Management: Zuteilung von Hauptspeicher an die
Tasks, ggf. Auslagerung momentan nicht benötigter
Speicherbereiche, evtl. Garbage Collection;
I/O-Zugriff
Verwaltung der Ablaufeinheiten (Tasks) Einrichten und löschen,
Prioritätenvergabe, Zeitvergabe.
Kooperation der Tasks untereinander (Intertask-kommunikation)
über Messages, Semaphoren, Events;
Netzwerkdienste;
Zeitsteuerung;
Interruptsteuerung;
07.11.2018 U.G. Schaarschmidt, HS - D 31
Task
Einzelner Auftrag für einen Rechner,
Z.B. Druckerspooler, eMail-Client,
Tatstatureingabe, Bildschirmausgabe,
07.11.2018 U.G. Schaarschmidt, HS - D 32
Embedded Systems 2 07.11.2018
HS Düsseldorf (c) U.Schaarschmidt 17
Task-Parameter-Block
Speicherbereich, in dem die wichtigen
Daten für die (Weiter-) Arbeit einer Task
gespeichert und immer aktualisiert
werden.
07.11.2018 U.G. Schaarschmidt, HS - D 33
Timer / Timeschedule
Zentraler Zeittakt für alle Tasks,
Abgeleitete Zeiten für, individuelle Zeiten
für Tasks (mit Zählfunktion),
07.11.2018 U.G. Schaarschmidt, HS - D 34
Embedded Systems 2 07.11.2018
HS Düsseldorf (c) U.Schaarschmidt 18
Wieso nützt ein RTOS (Real
Time Operating System)?
Kleinere, überschaubare Programmodule,
Interrupt-orientiert,
Setzt auf getesteten Treiber-Routinen auf,
Nutzt Kommunikationsmechanismen des OS,
ermöglicht einen einfacheren Test neuer
Programmodule (Tasks),
Managt das Zusammenspiel der Tasks,
07.11.2018 U.G. Schaarschmidt, HS - D 35
Steuerung der Tasks
(Zustandsübergänge)
07.11.2018
Preemtiv: Rechnenede Task kann von anderen Tasks
verdrängt werden. Eine nicht preemptive Task kann nur
freiwillig (durch Vertagung) die CPU freigeben.
Prioritätsgesteuert: Verdrängung der rechnenden Task
Erfolgt aufgrund höherer Priorität einer wartenden Task.
Zeitscheibengesteuert: Jede Task erhält eine
bestimmte Rechenzeit, nach der sie von der nächsten
wartenden Task verdrängt wird (evtl. in Kombination mit
Prioritätssteuerung).
U.G. Schaarschmidt, HS - D 36
Embedded Systems 2 07.11.2018
HS Düsseldorf (c) U.Schaarschmidt 19
Task-Zustandssteuerung
07.11.2018 U.G. Schaarschmidt, HS - D 37
Was ist Realzeit (RealTime)?
HARD-RealTime
Die für die Aufgabenstellung
geforderte Zeitschranke
darf unter keinen
Umständen überschritten
werden! Ansonsten ist
das Gerät unbrauchbar.
ABS, Airbag, lebenswichtige
Medizintechnik.
SOFT-RealTime
Eine Zeitschranke ist zwar
vorgesehen, muss aber
nicht zwanghaft
eingehalten werden.
Videorekorder, MP3Player,
07.11.2018 U.G. Schaarschmidt, HS - D 38
Embedded Systems 2 07.11.2018
HS Düsseldorf (c) U.Schaarschmidt 20
07.11.2018
RTOS Begriffe
Subsumtion
Beschreibt die Art und Weise, wie zwischen mehreren Ebenen bedingter Verhalten entschieden wird.
Bei der Subsubtionsarchitektur werden die Verhalten bei der Entwicklung des Steuerungssystems so definiert, dass niederwertigere Verhalten bei Auslösen von höherwertigen Verhalten deaktiviert werden.
U.G. Schaarschmidt, HS - D 39
07.11.2018
RTOS Begriffe
Arbitration
Ist der Vorgang, der darüber entscheidet,
welches Verhalten vorrang hat, wenn
mehrere sich gegenseitig ausschliessende
Verhalten ausgelöst werden.
U.G. Schaarschmidt, HS - D 40
Embedded Systems 2 07.11.2018
HS Düsseldorf (c) U.Schaarschmidt 21
07.11.2018
RTOS Begriffe
Preemtives System
BS, die ihre Tasks aktiv verdrängen
können.
Ressourcenverteilung durch das BS.
Zeitverhalten gut abschätzbar, da
deterministisches Verhalten.
U.G. Schaarschmidt, HS - D 41
07.11.2018
RTOS Begriffe
Non-Preemtives System
Systeme, die Tasks nicht selbst „verdrängen“ können, sondern darauf angewiesen sind, dass sich die Tasks selbst in den „wartenden“ Zustand begeben.
Die Tasks müssen „kooperativ“ sein.
„Einfache“ Ressourcenverteilung durch das BS, da kooperatives System:
Durch eine Blockade (nicht terminierende Berechnung) einer Task wird das gesamte System lahmgelegt.
U.G. Schaarschmidt, HS - D 42
Embedded Systems 2 07.11.2018
HS Düsseldorf (c) U.Schaarschmidt 22
Xmega ADC –
Voraussetzungen / Hilfen
Atmel AVR XMEGA – Basics Hands-On
AVR1300 - Using the XMEGA ADC
AVR1505 – Application Note:
XMEGA training – ADC
XMEGA – ADC Introduction.pdf - XMEGA
Training: Analog to Digital Converter (ADC)
AVR1302: Using the XMEGA Analog
Comparator
AVR1301: Using the XMEGA DAC
07.11.2018 U.G. Schaarschmidt, HS - D 43
07.11.2018
Features
12 bit, 2Msps ADC
Single or continuous conversion modes
8 or 12 bits accuracy SW selectable
- 8 bit result has 2.5 us propagation delay
- 12 bit result has 3.5 us propagation delay
Connected to Event System
Connected to DMA Controller
Built-in gain calibration
Internal and External reference voltages
Interrupt/event on compare result
Interrupt if lower or equal
Interrupt if higher or equal
Interrupt/event on conversion complete
XMEGA Analog to Digital - Converter
U.G. Schaarschmidt, HS - D 44
Embedded Systems 2 07.11.2018
HS Düsseldorf (c) U.Schaarschmidt 23
Die ADC - Kanäle und ihr
Pipelining
07.11.2018
[XMEGA – ADC Introduction]
U.G. Schaarschmidt, HS - D 45
XMEGA ADC – pipelining 4
virtual channels
07.11.2018
4 virtual ADC channels
8 – 12 external single-ended channels per ADC
8 x 4 external differential channels per ADC
4 internal channels
VCC, Band gap, Temperature, DAC output
1x, 2x, 4x, 8x, 16x, 32x or 64x gain
Synchronous sampling in dual ADC devices
U.G. Schaarschmidt, HS - D 46
Embedded Systems 2 07.11.2018
HS Düsseldorf (c) U.Schaarschmidt 24
XMEGA ADC – pipelining 4
virtual channels (1/3)
07.11.2018
[AVR1300]
U.G. Schaarschmidt, HS - D 47
XMEGA ADC – pipelining 4
virtual channels (2/3)
07.11.2018
[AVR1300]
U.G. Schaarschmidt, HS - D 48
Embedded Systems 2 07.11.2018
HS Düsseldorf (c) U.Schaarschmidt 25
XMEGA ADC – pipelining 4
virtual channels (3/3)
07.11.2018
[AVR1300]
U.G. Schaarschmidt, HS - D 49
Signed or unsigned?
07.11.2018
[AVR1300]
U.G. Schaarschmidt, HS - D 50
Embedded Systems 2 07.11.2018
HS Düsseldorf (c) U.Schaarschmidt 26
Multiplexer - Settings
Differential Input
Differential Input with Gain Stage
Single-ended Input
Internal Input
07.11.2018 U.G. Schaarschmidt, HS - D 51
Kommentar zum
Schrittmuster in Stepper.c
255- vor den jeweiligen Werten in den Klammern (2 Nibble, je Motor eines) bedeutet Negation des Klammerinhalts. Die *16 nach jedem 2. Nibbel soll heissen, dass dieses Nibble 4-fach nach links geschiftet wird.
Die Serielle Schnittstelle arbeitet mit TTL-Pegeln, kann ohne V.24-Pegelanpassung mit der ser. Schnittstelle z.B. des Butterfly (Atmel Eval_Board mit ATmega168) verbunden werden.
Das verwendete Protokoll ist NMEA0183.
Der Datentransfer geschieht mit 4.800 bit/s; 1 Byte (Dateneinheit); 1 Stoppbit; Kein Paritybit.
07.11.2018 U.G. Schaarschmidt, HS - D 64
Embedded Systems 2 07.11.2018
HS Düsseldorf (c) U.Schaarschmidt 33
Zusammenschaltung von
GPS-Modul und Butterfly
07.11.2018 U.G. Schaarschmidt, HS - D 65
Übungsaufgabe 2 (aus
Vorlesung 3)
Was unterscheidet das Event-System vom Interrupt-System der Xmega-Familie?