Top Banner
Embedded Systems 2 07.11.2018 HS Düsseldorf (c) U.Schaarschmidt 1 Embedded Systems II © Ulrich Schaarschmidt FH Düsseldorf, SS 2018 Themen am 07.11.2018: Atmel‘s ATXmega; DARPA Grand Challenge; RTOS; Wie kommen die Softwarebitmuster als Strommuster zum Schrittmotor? ADC / DAC bei XMegas; GPS zur Navigation. 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
33

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

Mar 24, 2020

Download

Documents

dariahiddleston
Welcome message from author
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.
Transcript
Page 1: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 1

Embedded Systems II

© Ulrich Schaarschmidt

FH Düsseldorf, SS 2018

Themen am 07.11.2018: Atmel‘s ATXmega; DARPA

Grand Challenge; RTOS;

Wie kommen die Softwarebitmuster als Strommuster

zum Schrittmotor? ADC / DAC bei XMegas; GPS zur

Navigation.

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

Page 2: 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

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!

U.G. Schaarschmidt, HS - D 3

Link-/ Literaturhinweise

http://homepage.hispeed.ch/peterfleury/index.html

https://omerk.github.io/lcdchargen/

http://www.sprut.de/electronic/lcd/

https://www.mikrocontroller.net/articles/HD44780

https://www.sparkfun.com/datasheets/LCD/HD44780.pdf

https://www.mikrocontroller.net/articles/AVR-GCC-

Tutorial/LCD-Ansteuerung

07.11.2018 U.G. Schaarschmidt, HS - D 4

Page 3: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 3

Weitere Literaturhinweise

[1] Bolton, William: Bausteine mechatronischer Systeme

3. Aufl. 2004, Pearson Studium (PPT-Folien Kap. 7)

[2] Wiegelmann, Jörg: Softwareentwicklung in C für Mikroprozessoren und Mikrocontroller

(C-Programmierung für Embedded-Systeme)

3. Neu bearb. Und erweit. Aufl. 2004, Hüthig GmbH

[3] Heuer, Stefan; Kern, Thomas: Stanley gegen Hummer

Technology Review, Nr. 11, 2005

07.11.2018 U.G. Schaarschmidt, HS - D 5

Quellenhinweise

www.ganssle.com (besonders /articles)

www.micrium.com

www.nilsenelektronikk.no (proc RT-Kernel)

Siemers, Christian:

Echtzeit-Design für kleine Mikrocontroller

Mechatronik | Embedded Engineering Jahrg. 112 (2004) 11-12 (Carl

Hanser Verlag)

Contiki - The Operating System for Connecting the Next Billion

Devices - the Internet of Things

http://www.sics.se/contiki/

07.11.2018 U.G. Schaarschmidt, HS - D 6

Page 4: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 4

Quellenhinweise

Ganssle, Jack G.:

The Art of Programming Embedded Systems

1992,

Ganssle, Jack G.:

The Art of Designing Embedded Systems

2000,

Ganssle, Jack G. (Hrsg.):

Embedded Systems (World Class Designs)

2007, Butterworth Heinemann

www.rtos-uh.de

www.rtos.irt.uni-hannover.de

07.11.2018 U.G. Schaarschmidt, HS - D 7

Quellenhinweise

LaBrosse, Jean:

Embedded Systems Building Blocks

R&D Books, (ISBN 0-87930-604-1)

Axelson, Jan:

Embedded Ethernet and Internet Complete

ISBN 1-931448-00-0

www.lvr.com

Ganssle, Jack G. (Hrsg.):

The Firmware Handbook

2004, Butterworth Heinemann

www.nbb.cornell.edu/neurobio/land/STUDENTPROJ/2000to2001/

greenblattCOMATOS/ (für ein Minimal-RTOS)

07.11.2018 U.G. Schaarschmidt, HS - D 8

Page 5: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 5

Weitere Literaturhinweise

[4] Gruber, Robin; Grewe, Jan: Mehr Spaß mit Asuro Band 1

1. Aufl. 2005, AREXX Intelligence Centre

[5] Gruber, Robin; Grewe, Jan : Mehr Spaß mit Asuro Band 2

1. Aufl. 2006, AREXX Intelligence Centre

AN (mit Softwareversionen unter derselben AN gezipt):

AVR1001: Getting Started With the XMEGA Event System

AVR1003: Using the XMEGA™ Clock System

AVR1005: Getting started with XMEGA

AVR1305: XMEGA Interrupts and the Programmable Multi-level

Interrupt Controller

07.11.2018 U.G. Schaarschmidt, HS - D 9

Links zu GPS

www.kh-gps.de

http://kanadier.gps-info.de/a-gpsseite.htm

www.kowoma.de/gps

www.quantenwelt.de/technik/GPS/

www.explorermagazin.de/gps/gps.htm

http://rover.wiesbaden.netsurf.de/~hirschgps/gpsrx.htm

www.landscaper.de/GPS_Navigation/GPS_Grundprinzip/gps_grundprinzip.html

www.gpskabel.de/info/gps.htm

http://ivvgeo.uni-muenster.deVorlesung/GPS_Script/Start.html

www.nmea.org/pub/0183/index.html

www.nmea.de/nmea0183datensaetze.html

07.11.2018 U.G. Schaarschmidt, HS - D 10

Page 6: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 6

Xmega - Blockschaltbild

07.11.2018 U.G. Schaarschmidt, HS - D 11

Xmega - Eventrouting

07.11.2018 U.G. Schaarschmidt, HS - D 12

Page 7: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 7

Xmega – Event-Netzwerk

07.11.2018 U.G. Schaarschmidt, HS - D 13

Event-Routing Network

07.11.2018 U.G. Schaarschmidt, HS - D 14

Page 8: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 8

XMEGA PMIC – Programmable Multi-

Level Interrupt Controller

Was wir geboten?

3 Interrupt – Levels,

Round-Robin-Abfrage für niedrig priorisierte

Interrupt-Levels,

Programmierbare Priorität für niedrig

priorisierte Interrupts.

07.11.2018 U.G. Schaarschmidt, HS - D 15

XMEGA PMIC – Programmable Multi-

Level Interrupt Controller

Warum Interrupts?

Priorisierung verschiedener Aufgaben,

Reduzierung der Stromaufnahme einer

MCU, so, dass die MCU im LowPower Modus

bleibt, bis ein hierfür vorgesehener Interrupt

sie „aufweckt“,

07.11.2018 U.G. Schaarschmidt, HS - D 16

Page 9: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 9

XMEGA PMIC – Programmable Multi-

Level Interrupt Controller

Wie kommt es zum Interrupt?

Die Bedingung zum Setzen eines Interrupt-Flags

ist erfüllt; z.B. Ein Zähler ist übergelaufen oder

auf Null gekommen; ein Pin hat einen

Pegelwechsel, der überwacht wird;

Der zugehörige Interrupt im Modul ist erlaubt,

Die Interrupt-Priorität (Interrupt-Level)ist im

Interrupt-Controller erlaubt (enabled);

In der CPU sind globale Interrupts erlaubt;

07.11.2018 U.G. Schaarschmidt, HS - D 17

DARPA Grand Challenge

Die DARPA Grand Challenge war ein von der

Technologieabteilung Defense Advanced

Research Projects Agency des US-

amerikanischen Verteidigungsministeriums

gesponserter Wettbewerb für unbemannte

Landfahrzeuge. Mit der Ausschreibung des

Preises sollte die Entwicklung vollkommen

autonom fahrender Fahrzeuge vorangetrieben

werden. Der Wettbewerb wurde 2007 letztmals

ausgetragen.

07.11.2018 U.G. Schaarschmidt, HS - D 18

Page 10: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 10

DARPA Grand Challenge No.1

Die erste Grand Challenge fand am 13. März 2004

im kalifornischen Barstow statt. Die Route hätte durch

die Mojave-Wüste nach Primm unmittelbar hinter der

Grenze zu Nevada führen sollen. Die DARPA setzte eine

Million US-Dollar als Preisgeld für dasjenige Fahrzeug aus,

das als erstes den 150 Meilen (241,4 km) langen Kurs

parallel zum Interstate 15 innerhalb von zehn Stunden

absolviert. Obwohl sich mehr als 100 Teams für den Start

registrierten, gelang es keinem Team, den Kurs

erfolgreic zu absolvieren. Das erfolgreichste Fahrzeug

konnte lediglich 7,4 Meilen (11,9 km) zurücklegen, was

weniger als 5 % der gesamten Strecke ausmacht.

07.11.2018 U.G. Schaarschmidt, HS - D 19

DARPA Grand Challenge No.2

Die zweite Grand Challenge fand vom 8. bis zum 9. Oktober

2005 ebenfalls in der Mojave-Wüste im US-Bundesstaat

Nevada statt, Start und Ziel waren in Primm. Das von der

DARPA gestiftete Preisgeld wurde auf zwei Millionen Dollar

verdoppelt. Für die Teilnahme registrierten sich 195 Teams

aus 36 US-Bundesstaaten und vier weiteren Ländern. Dabei

absolvierten fünf Teams die komplette Strecke von 132,2

Meilen (212,76 km), davon vier Teams innerhalb der

maximalen Zeit von zehn Stunden. Sieger des Rennens war

das von Sebastian Thrun geleitete Team der Stanford

University mit dem modifizierten VW Touareg „Stanley“, der

die Strecke in 6 Stunden, 53 Minuten und 58 Sekunden

bewältigte. 07.11.2018 U.G. Schaarschmidt, HS - D 20

Page 11: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 11

DARPA Grand Challenge

No.3a

Die dritte Grand Challenge fand am 3. November 2007 statt.

Im Unterschied zu den beiden vorherigen Rennen, bei

denen ein Parcours im weitgehend offenen Gelände quer

durch die Wüste absolviert werden musste, fand das dritte

Rennen in bebautem Gebiet einer verlassenen Kaserne des

ehemaligen Air-Force-Stützpunktes George Air Force

Base am Rande des kalifornischen Victorville statt. Hierbei

stand nicht mehr allein das autonome Navigieren im

Vordergrund. Da sich hier alle autonomen Fahrzeuge sowie

zusätzliche, von Menschen gesteuerten Autos, im

Stadtverkehr befanden, mussten hier auch die normalen

Vorfahrtsregeln beachtet werden.

07.11.2018 U.G. Schaarschmidt, HS - D 21

DARPA Grand Challenge

No.3b

Für das Team, das als erstes einen 60 Meilen

langen und in drei Missionen unterteilten

Parcours innerhalb von weniger als 6 Stunden

absolviert, wurde von der DARPA ein Preisgeld

von insgesamt 3,5 Millionen US-Dollar

ausgeschrieben. Die drei ersten Teams, die das

Ziel in kürzester Zeit erreichen und die wenigsten

Abzüge wegen Regelverletzungen vorzuweisen

haben, erhalten 2 Millionen, 1 Million bzw.

500.000 US-Dollar.

07.11.2018 U.G. Schaarschmidt, HS - D 22

Page 12: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 12

DARPA Grand Challenge

No.3c

Die DARPA Urban Challenge 2007 hat das Team

Tartan Racing gewonnen, auf den zweiten Platz

kommt das Stanford Racing Team und auf den

dritten Platz das Team VictorTango. Die

deutschen Finalteilnehmer Team AnnieWay (Uni

Karlsruhe) und CarOLO (TU Braunschweig)

schieden im Verlauf des Rennens aufgrund

technischer Schwierigkeiten (AnnieWay:

vermutlich Rechnerfehler; CarOLO: Verbogene

Sensorik nach Kollision mit dem Team MIT) aus.

07.11.2018 U.G. Schaarschmidt, HS - D 23

DARPA Grand Challenge

[3]

07.11.2018 U.G. Schaarschmidt, HS - D 24

Page 13: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 13

DARPA Grand Challenge

[3] 07.11.2018 U.G. Schaarschmidt, HS - D 25

DARPA Grand Challenge

[3] 07.11.2018 U.G. Schaarschmidt, HS - D 26

Page 14: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 14

Deutsches Team 2007

aus Süddeutschland

07.11.2018 U.G. Schaarschmidt, HS - D 27

Deutsches Team (Caroline)

aus Braunschweig (TU BS)

07.11.2018 U.G. Schaarschmidt, HS - D 28

Page 15: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 15

Deutsches Team 2007 aus

Berlin (FU Berlin)

07.11.2018 U.G. Schaarschmidt, HS - D 29

Warum ein

Betriebssystem?

Definierte Schnittstellen der

Anwenderprogramme zur Hardware und

zum Benutzer-Interface;

Der Scheduler des Betriebssystems

ermöglicht Multitasking- und

Multiuserbetrieb;

Die Treiber für alle Hardware-Geräte-/

Module sind implementiert;

07.11.2018 U.G. Schaarschmidt, HS - D 30

Page 16: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 16

SYSTEMDIENSTE

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

Page 17: 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

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

Page 18: 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

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

Page 19: 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

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

Page 20: 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

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

Page 21: 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

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

Page 22: 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

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

Page 23: 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

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

Page 24: 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

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

Page 25: 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

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

Page 26: 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

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.

Beispiel:

255-(5+5*16), 255-(9+6*16), 255-(10+10*16),255-(6+9*16) entsprechen binär:

Inv(0101 0101 1001 0110 1010 1010 0110 1001)

= (1010 1010 0110 1001 0101 0101 1001 0110)

07.11.2018 U.G. Schaarschmidt, HS - D 52

Page 27: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 27

Aatis-Schrittmotor

Wicklungswiderstand 100 Ohm,

2 Phasen- unipolarer Schrittmotor

Schrittwinkel (Vollschritt) 7,5 Grad,

Motorspannung 18V;

07.11.2018 U.G. Schaarschmidt, HS - D 53

07.11.2018 U.G. Schaarschmidt, HS - D 54

Page 28: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 28

07.11.2018 U.G. Schaarschmidt, HS - D 55

Schrittmotor - Prinzip

[1]

07.11.2018 U.G. Schaarschmidt, HS - D 56

Page 29: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 29

Feinschritte

[1]

07.11.2018 U.G. Schaarschmidt, HS - D 57

Leistungskurve

Schrittmotor

[1]

07.11.2018 U.G. Schaarschmidt, HS - D 58

Page 30: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 30

Bipolarer SM

[1]

07.11.2018 U.G. Schaarschmidt, HS - D 59

H-Schaltung für Bipolaren SM

[1]

07.11.2018 U.G. Schaarschmidt, HS - D 60

Page 31: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 31

Unipolarer SM

[1]

07.11.2018 U.G. Schaarschmidt, HS - D 61

Schrittmotor - Prinzip

[1]

07.11.2018 U.G. Schaarschmidt, HS - D 62

Page 32: 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

Embedded Systems 2 07.11.2018

HS Düsseldorf (c) U.Schaarschmidt 32

Ansteuerung für 4 – Phasen

Schrittmotor

[1]

07.11.2018 U.G. Schaarschmidt, HS - D 63

Die GPS-Engine EM-401

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

Page 33: 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

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?

07.11.2018 U.G. Schaarschmidt, HS - D 66