Embedded Systems (1) - Hochschule Düsseldorf · Embedded Systems 1 29.11.2017 ... Embedded Systems...

27
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

Transcript of Embedded Systems (1) - Hochschule Düsseldorf · Embedded Systems 1 29.11.2017 ... Embedded Systems...

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