embedded systems (1) - hochschule düsseldorf · embedded systems 1 29.11.2017 ... embedded systems...
Post on 01-Sep-2018
240 Views
Preview:
TRANSCRIPT
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 1
Embedded Systems I
© Ulrich Schaarschmidt
FH Düsseldorf, WS 2017/18
Themen am 29.11.2017: „neue“ Baugruppen (z.B. DMA, Eventsystem, Watchdog,
Pull-Up/Pull-Down, Boot-Speicher)
Bitte OHP-/Tafel-Notizen selbst mitschreiben! ES1d_17_V7
29.11.2017
Embedded Systems ??
Ja, kreative Ingenieure sind auch verspielt
(c) U.G. Schaarschmidt, HS D 2
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 2
Der wahre Dickströmer…
17.05.2017 U.G. Schaarschmidt - HS-D 3
29.11.2017 (c) U.G. Schaarschmidt, HS D 4
Literaturhinweise
Inneltek, nn.:
Atmel AVR XMEGA
Workshop am 05.11.09
Atmel, nn.:
Atmel Traning: XMEGA Basics
Workshop am 05.11.09
Atmel, nn.:
Atmel Training DMAC
Workshop am 05.11.09
Atmel, nn.:
Atmel Traning: XMEGA Event System Hands-on
Workshop am 05.11.09
Atmel, nn.:
AVR_AVR32_ Quick Reference Guide.pdf
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 3
29.11.2017 (c) U.G. Schaarschmidt, HS D 5
Literaturhinweise
Atmel, nn.:
Atmel AVR XMEGA A Manual
Atmel Datenblatt
Atmel, nn.: AVR® XMEGA (TM ) – PMIC Introduction
XMEGA Training: Programmable Multilevel Interrupt Controller
Atmel, nn.:
Getting Started With the XMEGA Event System
Atmel AN AVR1001
Atmel, nn.:
AVR® XMEGA™ – Analog to Digital Converter Introduction
XMEGA Training: Analog to Digital Converter (ADC)
Atmel, nn.: XMEGA-ADC-Hands-on.pdf
Quellenhinweise
Cullen, Gerard; Editor, Staff of Geist Technology:
Low-Cost Web Servers (Web-Enable Almost Anything for Almost
Nothing)
www.geisttek.com
www.atmel.com/dyn/products/datasheets.asp?family_id=682
http://de.wikipedia.org/wiki/Atmel_AVR32
http://www.avrfreaks.net/wiki/
http://www.avrtv.com/2007/06/29/avrtv-special-002/
http://myavr.de/
http://www.t2-project.org/architectures/avr32/?architectures/avr32.html
Tanenbaum, Andrew S.: Computerarchitektur; 5. Aufl. 2006 Pearson
Studium
29.11.2017 (c) U.G. Schaarschmidt, HS D 6
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 4
Spezielle Atmel - Websites
http://www.atmel.com/avr
Selection Guides, Data Sheets and Errata Sheets
Application Notes and Reference Library
Atmel and Third Party ToolsS
Software, User Guides
Consultants, Distributors and Atmel Representatives
http://support.atmel.no
Official Atmel MCU technical support center with FAQ and email notification
service
http://www.avrtv.com
Official AVR podcasts
http://www.avrfreaks.net
AVR Experts Discussion Forum, Selection Guides for Tools and Products, Third
Party Tools Information, FAQs
29.11.2017 (c) U.G. Schaarschmidt, HS D 7
Quellenhinweise
Yiu, Joseph:
The Definitive Guide To ARM Cortex-M0+ Processors
2nd. Ed. 2015, Newnes, Elsevier
Furber, Steve:
ARM – Rechnerarchitekturen für System-on-Chip-Design
Mitp-Verlag Bonn (Pearson Education Ltd.) 2002
www.arm.com
http://www.cs.man.ac.uk/
Gadre, Dhananjay V.; Gupta, Sartak:
Getting Started with TIVA ARM Cortex M4 microcontrollers
(A Lab Manual for TIVA Launch Pad Evaluation kit)
Springer (India) Pvt. Ltd. , 2018
17.05.2017 U.G. Schaarschmidt - HS-D 8
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 5
Literatur – und
Quellnachweise
O.v. Fragstein; S. Kundt:
ARM Cortex
Ausarbeitung im Fach „Prozessor- und Rechnerarchitektur“, 2011
R. Fischer:
ARM Cortex – M- Serie (M0/M0+, M3, M4)
Ausarbeitung im Fach „Prozessor- und Rechnerarchitektur“, 2012
NXP-semiconductor
R. Aydin:
Cortex M0 und Cortex M0+
Ausarbeitung im Fach „Prozessor- und Rechnerarchitektur“, 2013
Nn. Infineon: http://www.infineon.com/KIT_XMC_2GO_XMC1100_V1
17.05.2017 U.G. Schaarschmidt - HS-D 9
Einige Key Benefits
herausgehoben und erläutert
DMA -> Direct Memory Access –
direkter Zugriff auf das Speichersystem
OHNE die CPU zu belasten (d.h., dass
die CPU schlafen (Energie sparen)
oder etwas ganz anderes
machen/rechnen kann).
29.11.2017 (c) U.G. Schaarschmidt, HS D 10
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 6
DMA – direct memory access
29.11.2017 (c) U.G. Schaarschmidt, HS D 11
DMA-Controller
29.11.2017 (c) U.G. Schaarschmidt, HS D 12
[ http://www.atmel.com/products/microcontrollers/avr/xmega_technical_details.aspx ]
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 7
Xmega - Event-System
29.11.2017 (c) U.G. Schaarschmidt, HS D 13
[AVR1005: Getting started with XMEGA]
Event-System
29.11.2017 (c) U.G. Schaarschmidt, HS D 14
8 Event Routing Channels
CPU and DMA independent operation
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 8
AVR® XMEGA
TM – Demo
SRAM
Buffer
Timer Trigger
Event System Event Channel 0 Event Channel 1
... Event Channel 7
PORT
DMA
Trigger
Source
A timer triggers a DMA transfer from a SRAM buffer to
a port in an endless loop without CPU load.
29.11.2017 15 (c) U.G. Schaarschmidt, HS D
Packaging Range 1/2
29.11.2017 (c) U.G. Schaarschmidt, HS D 16
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 9
Packaging Range 2/2
29.11.2017 (c) U.G. Schaarschmidt, HS D 17
AVR XMEGA is delivered in diff. package
options, including fully green versions
29.11.2017 (c) U.G. Schaarschmidt, HS D 18
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 10
Boot-Programmspeicher
29.11.2017
[Schmitt]
(c) U.G. Schaarschmidt, HS D 19
Boot-Programmspeicher
29.11.2017
Externe Programmiereinrichtung:
Im Labor programmieren wir
normalerweise mit einer externen
Programmiereinrichtung (bei uns ein
STK500, AVR-ISP oder JTAG). Das
Programm wird in den Flash-Speicher
bzw. vorbesetzte Daten in das EEPROM
geschrieben. Dies funktioniert für alle
Atmel-AVR-Bausteine. (c) U.G. Schaarschmidt, HS D 20
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 11
Boot-Programmspeicher
29.11.2017
Interne Programmiereinrichtung =
Selbstprogrammierung:
In der AT Mega-Familie gibt es im Programm-
Flash einen extra Bootbereich. Ein dort
untergebrachtes Bootprogramm kann mittels
des SPM-Befehls (Store Program Memory) den
Anwenderprogrammbereich im Flash
programmieren oder modifizieren. Die Größe
des Bootbereichs wird durch Lockbits
(Verriegelung) konfiguriert.
(c) U.G. Schaarschmidt, HS D 21
Watchdog – was ist das?
29.11.2017
[Schmitt]
Ein Watchdog-(Timer; Wachhund) dient dazu,
Fehlerzustände wie z.B. Endlosschleifen abzubrechen
und den MC wie beim Einschalten der
Betriebsspannung bzw. einem Reset neu zu starten.
Dabei wird die Peripherie zurückgesetzt und der auf
Adresse $0000 (Interrupt-Vektortabelle) liegende Befehl
ausgeführt.
Das WDTCR-Register stellt die Wartezeit (Timeout) bis
zum Auslösen des Watchdog-Reset ein, wenn der Timer
nicht vorher mit dem Befehl „WDR“ (Watch Dog Reset)
zurückgesetzt wurde, was in einem „anständigen
Programm regelmäßig gemacht werden muss.
(c) U.G. Schaarschmidt, HS D 22
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 12
Watchdog – was ist das?
29.11.2017
[Schmitt]
(c) U.G. Schaarschmidt, HS D 23
29.11.2017
Watchdog - Register
(c) U.G. Schaarschmidt, HS D 24
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 13
29.11.2017
Watchdog MCU Control /
Status Register
(c) U.G. Schaarschmidt, HS D 25
WDTCR – Watch Dog Timer
Control Register
29.11.2017
[Schmitt]
(c) U.G. Schaarschmidt, HS D 26
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 14
29.11.2017
Watchdog Timer
(c) U.G. Schaarschmidt, HS D 27
29.11.2017
Watchdog Timing
(c) U.G. Schaarschmidt, HS D 28
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 15
29.11.2017 FH-D U.G. Schaarschmidt 29
Entprellung von Taster-Eingängen
sowie PullUp-Widerstände (intern)
Da alle Taster prellen, d.h., dass die geschalteten Kontakte zuerst mit hoher Frequenz ein- und ausschalten, bevor sie eine stabile Lage erreichen (als Öffner oder Schliesser), muss der, im Verhältnis sehr schnell reagierende Prozessor so programmiert werden, dass er nur das gewünschte Signal tatsächlich auswertet. D.h., dass eine Software mithilfe von Zeitschleifen oder Timern mehrfache Taster-Abfragen zusammenzieht.
(c) U.G. Schaarschmidt, HS D 29
(interne) Pull-Up / Pull-
Down-Widerstände
Einsatz von Widerständen um einen Eingang auf einen vordefinierten
Wert zu setzen. Ist ein hohes Potential als „Ruhepotential“ vorgesehen
(Eingang „low-active“), wird der Pull-Up-Widerstand (b) eingesetzt. Ist
der Eingang standardmässig auf niedrigem Potential, spricht man vom
Pull-Down-Widerstand (a).
29.11.2017 (c) U.G. Schaarschmidt, HS D 30
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 16
Firma ARM
(Geschäftsmodell)
Verkauft keine Hardware sondern
lizensiert IP (Intelectual Property),
-> Beschreibung der Hardware z.B. in
VHDL,
Tools zur Programmierung,
Tools zum weiteren Hardwaredesign,
Vergibt die Erlaubnis Chips zu
verkaufen (um daran zu verdienen)
17.05.2017 U.G. Schaarschmidt - HS-D 31
Aufteilung der ARM und
Cortex Leistungsklassen
17.05.2017 U.G. Schaarschmidt - HS-D 32
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 17
Übersicht
Leistungsklassen
Cortex M
Mikrocontroller, geringstmöglicher
Energieverbrauch, trotz 32 bit-Verarbeitung
Cortex R
Real Time Anwendungen,
Cortex A
Application Anwendungen (z.B.
Smartphones , Tablets, etc.)
17.05.2017 U.G. Schaarschmidt - HS-D 33
Architektur – und sonstige
Merkmale
17.05.2017 U.G. Schaarschmidt - HS-D 34
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 18
Verschiedene bekannte
Technologien
17.05.2017 U.G. Schaarschmidt - HS-D 35
ARM Architektur und Erweiterungen
Thumb und Thumb2
ARM Befehlssatz
32 Bit,
Thumb Befehlssatz
16 Bit, es muss von 32 auf 16 Bit Verarb. Umgesch.
Limitierte Operanden / Register / Sprünge,
Geringere Funktionalität,
Höhere Codedichte möglich,
Höhere Performanz bei kleinen Systemen möglich,
Thumb 2 Befehlssatz
Mischt Thumb und ausgewählte ARM-Befehle um
beide Vorteile zu nutzen 17.05.2017 U.G. Schaarschmidt - HS-D 36
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 19
Cortex Mx - Familien
17.05.2017 U.G. Schaarschmidt - HS-D 37
Cortex M - Familie
17.05.2017 U.G. Schaarschmidt - HS-D 38
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 20
Cortex M - Vergleich
17.05.2017 U.G. Schaarschmidt - HS-D 39
² mit Branch Speculation; * Minimalkonfiguration (40nm)
17.05.2017 U.G. Schaarschmidt - HS-D 40
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 21
17.05.2017 U.G. Schaarschmidt - HS-D 41
Leistungsmerkmal Cortex M0+ Cortex M0 Cortex M3 ARM7TDMI-S
Cortex M Merkmale
29.11.2017 (c) U.G. Schaarschmidt, HS D 42
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 22
Cortex M0
17.05.2017 U.G. Schaarschmidt - HS-D 43
Cortex M0
Beispielimplementierung
17.05.2017 U.G. Schaarschmidt - HS-D 44
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 23
XMC 2 GO
10.05.2017 (c) U.G. Schaarschmidt, HS D 45
[Infineon 2014]
XMC 2 GO
The XMC™ 2Go with the XMC1100
Microcontroller is a new budget-priced evaluation
board equipped with an ARM® Cortex®-M0 CPU
running on 32MHz, 64KB Flash and 16KB RAM.
The XMC™ 2Go has a complete set of on-board
devices, including an on-board debugger to
immediately start code development. Build your
own application and gadget with the XMC™ 2Go –
it fits perfectly fine on a breadboard. Or carry the
XMC™ 2Go with you, it’s shaped like a key chain. [http://www.infineon.com/]
10.05.2017 (c) U.G. Schaarschmidt, HS D 46
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 24
XMC 2 GO, Summary of features
XMC1100 (ARM® Cortex™-M0 based),
Flash 64kB, RAM 16kB,
32 MHz CPU Clock, 64 MHz Timer Clock,
On-board J-Link Lite Debugger (Realized with XMC4200 Microcontroller)
Serial Wire Debug (SWD), Single Pin Debug (SPD), UART-to-USB Bridge (virtual COM)
Power over USB (Micro USB),
2 Kanal USIC (UART, SPI, I2C, I2S, LIN), External Interrupts (via ERU),
6 Kanal AD-C (12-Bit Auflösung), 4 * 16 Bit Timer, Real Time Clock,
Random Number Generator,
ESD and reverse current protection
2 x user LED @ P1.0 und P1.1,
Pin Header 2x8 Pins suitable for Breadbord
[http://www.infineon.com/]
10.05.2017 (c) U.G. Schaarschmidt, HS D 47
Blockdiagramm des XMC
2Go Kits
10.05.2017 (c) U.G. Schaarschmidt, HS D 48
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 25
Klein aber oho
10.05.2017 (c) U.G. Schaarschmidt, HS D 49
Aktuelle ARM Prozessoren
17.05.2017 U.G. Schaarschmidt - HS-D 50
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 26
ARM Prozessorarchitektur
17.05.2017 U.G. Schaarschmidt - HS-D 51
Befehlssätze der M-Familie
17.05.2017 U.G. Schaarschmidt - HS-D 52
Embedded Systems 1 29.11.2017
HS Düsseldorf (c) U.Schaarschmidt 27
7. Übungsaufgabe vom
29.11.17
Welche „Features“ aus der „großen“ EDV
wurden zur Leistungssteigerung in die
modernen MCU-Familie eingebaut?
Welche frisch kennengelernten
Leistungsmerkmale sind bei Eingebetteten
Systemen besonders sinnvoll – und
warum?
29.11.2017 (c) U.G. Schaarschmidt, HS D 53
top related