Embedded Systems 1

06.12.2016

Embedded Systems I Themen am 06.12.16 (ES1_16_V9): Software-Interrupts, Serielle Schnittstellen, C-Programme, Betriebssysteme für die „kleinen“ Atmels  Beachten Sie bitte die zusätzlichen Infos auf Proki und Tafel!

© Ulrich Schaarschmidt FH Düsseldorf, WS 2016/17

Literaturhinweise

(unbewertete Reihenfolge!)

Conrads, Dieter: Datenkommunikation (Verfahren, Netze, Dienste) 3. Aufl., 1996, Friedr. Vieweg & Sohn Verlagsgesellschaft mbH Bermbach, Rainer: Embedded Controller 2001, Carl Hanser Verlag München Wien Schmitt, FJ; von Wendorff, WC; Westerholz, K: Embedded-Control-Architekturen 1999, Carl Hanser Verlag München Wien Beierlein, Thomas; Hagenbruch, Olaf: Taschenbuch Mikroprozessortechnik 2001, Fachbuchverlag Leipzig im Carl Hanser Verlag München Wien 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

2

1

Embedded Systems 1

06.12.2016

Literaturhinweise

(unbewertete Reihenfolge!)

Stein, Erich: Taschenbuch Rechnernetze und Internet 2. Aufl., 2004, Fachbuchverlag Leipzig im Carl Hanser Verlag München Schneider, Uwe; Werner, Dieter: Taschenbuch der Informatik 4. Aufl., 2001, Fachbuchverlag Leipzig im Carl Hanser Verlag München Floyd, Thomas L.: Digital Fundamentals 9.ed., 2006, Pearson/Prentice Hall 06.12.2016

HS-D U.G. Schaarschmidt

Literaturhinweise

3

(unbewertete Reihenfolge!)

Reinhold Orglmeister: http://www.emsp.tu-berlin.de/lehre/ProjektElektronik/tools/AVR_JTAG : http://www.saleae.com/logic/features/?q=i5&gclid=CM2Xx5Hs_6ECFc KT3wodXCOKFQ gadgetpool: http://www.gadgetpool.de/nuke/modules.php?name=News&file=ar ticle&sid=30 JTAG –Emulator: Zur Bewältigung immer aufwendigerer Softwareprojekte bestand der Wunsch nach einem JTAGEmulator für die Fehlersuche. Auf der Webseite von Frank Erdrich (www.uc-projects.com) ist ein DIY JTAG für Atmel Contoller vorgestellt, der für den Einsatz im Labor angepasst wurde. 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

4

2

Embedded Systems 1

06.12.2016

Serielle Schnittstellen  Verfahren:  Asynchrone Verfahren  Synchrone Verfahren

 Betriebsarten:  Vollduplexbetrieb  Halbduplexbetrieb  Simplexbetrieb

 Datenübertragungsverfahren:  Basisbandübertragung  Breitbandübertragung 06.12.2016

HS-D U.G. Schaarschmidt

5

Asynchrone Verfahren  Die Bezeichnung Asynchronverfahren bezieht sich auf die zeitlich willkürliche Übertragung von Zeichenfolgen.  Gleichlauf von Sender und Empfänger gibt es nur für eine begrenzte Schrittzahl.  Geringer Gerätetechnischer Aufwand (intelligente Kommunikationsmodule on Chip);  Nachteil: Uneffektiv bei der Übertragung größerer Datenmengen (Zeitaufwand für Start-StoppSchritte); 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

6

3

Embedded Systems 1

06.12.2016

Asynchrone Byteübertragung

Gadre & Conrads] 06.12.2016

HS-D U.G. Schaarschmidt

7

Asynchrone Byteübertragung

Gadre & Conrads] 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

8

4

Embedded Systems 1

06.12.2016

Synchrone Verfahren Softwarebasis  Bei Datenübertragung nach dem Synchronverfahren werden alle Zeichenschritte unmittelbar nacheinander übertragen. Es gibt keine Start- und Stopp-Schritte. Zeitrastergleichlauf von Sender und Empfänger wird während einer ganzen Zeichenfolge aufrechterhalten.  Absenden eines speziellen Signals vom Sender zum Empfänger, das den Schritttaktgebergleichlauf herstellt;  Synchronisierzeichen, die bei auftretenden Lücken in die Sendefolge eingeschoben werden (Bit-Stuffing);  Hohe Datenübertragungsraten sind möglich;  Stetiger Zeichenfluss; 06.12.2016

HS-D U.G. Schaarschmidt

9

Synchrone Verfahren Softwarebasis  Es werden (größere) Rahmen mit Daten übertragen. Zu Beginn des Rahmens synchronisieren Synchronisationsbits den Empfänger auf den Sender. Die Synchronisation wird während der Übertragung aufrecht erhalten.  Damit die Taktinformation nicht verloren geht (z.B. bei hohem Gleichspannungsanteil auf d. Leitung), muss die Codierung der Daten z.B. mittels NRZCode (Non-Return to Zero) sicher gestellt werden.

06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

10

5

Embedded Systems 1

06.12.2016

Synchrone Verfahren auf Softwarebasis - Takterhalt

[Stein, 2004] 06.12.2016

HS-D U.G. Schaarschmidt

11

Synchrone Verfahren Hardwarebasis  Die Taktgeber von Sender und Empfänger müssen miteinander synchronisiert werden.  Hierfür wird bei einigen Übertragungsverfahren eine „extra“ Taktleitung (zusätzlich) zu der/den Datenleitungen eingerichtet.  Auf der Datenleitung werden die Daten mit dem (gleichmäßigen) Takt auf der Taktleitung synchronisiert übertragen.

06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

12

6

Embedded Systems 1

06.12.2016

Kommunikation Simplex, Halb-Duplex, Semi-Duplex, Voll-Duplex, Full-Duplex,

06.12.2016

HS-D U.G. Schaarschmidt

13

Synchrone Datenübertragung

[Floyd, 2006] 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

14

7

Embedded Systems 1

06.12.2016

Amplitudenmodulation  ASK Amplitude Shift Keying

[Conrads] 06.12.2016

HS-D U.G. Schaarschmidt

15

Frequenzmodulation  FSK Frequency Shift Keying

[Conrads] 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

16

8

Embedded Systems 1

06.12.2016

Phasenmodulation  PSK Phase Shift Keying

[Conrads] 06.12.2016

HS-D U.G. Schaarschmidt

17

Anwendung serieller Verfahren RS – 232, V.24, RS – 422 / 423, RS – 485 SPI, Microwire, ISP, IIC – Bus, I2C-Bus, TWI – Bus, SM-Bus, USI (Atmel-spezifisch)

06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

18

9

Embedded Systems 1

06.12.2016

Standardisierte serielle Interfaces

06.12.2016

HS-D U.G. Schaarschmidt

19

RS – 232 Verbindung zweier AVR (bei SW-Handshake)

[Gadre] 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

20

10

Embedded Systems 1

06.12.2016

RS – 232 Verbindung zweier AVR (bei HW-Handshake

06.12.2016

HS-D U.G. Schaarschmidt

21

RS – 422A Verbindung zweier AVR

[Gadre] 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

22

11

Embedded Systems 1

06.12.2016

RS – 422 Verbindung zweier AVR - Oszillogramm

[Gadre] 06.12.2016

HS-D U.G. Schaarschmidt

23

RS – 422A Verbindung Symmetrische Schnittstelle (CCITT V.11); Datenraten bis 10 Mbit/s bei bis zu 13m; Datenraten von 100kBit/s bei Leitungslängen von max. 1300m möglich; Mit speziellen Treiberbausteinen bis zu 10 Empfänger an einem Sender möglich;

06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

24

12

Embedded Systems 1

06.12.2016

RS – 485A – Verbindung mehrerer Einheiten

[Gadre] 06.12.2016

HS-D U.G. Schaarschmidt

25

RS – 485A – Verbindung mehrerer Einheiten  Wird multplex (mehrere Sender und Empfänger an einem gemeinsamen Leitungspaar) betrieben (Erweiterung der RS 422A);  Je nach verwendeter Bausteinfamilie können 32, 128 oder 256 Teilnehmer verbunden werden;  Symmetrische Signale mit bis zu 10 Mbit/s;  Bis zu 1200m Übertragungsentfernung;  Differenzspannung > 200mV;  -7 ...+12 V Gleichtaktspannung auf der Leitung zulässig;  120 Ohm Leitungsimpedanz (verdrillte 2-Draht-Leitung);  60 Ohm Lastwiderstand; Eingangsimpedanz der Empfänger > 12kOhm;  Ausgangskurzschlußstrom max 150mA gegen Masse, max 250mA gegen -7 ... 12V; [TB Mikroprozessortechnik] 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

26

13

Embedded Systems 1

06.12.2016

SPI - Bus

[Gadre] 06.12.2016

HS-D U.G. Schaarschmidt

27

IIC – Bus, TWI – Bus, I²C-Bus

[Gadre] 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

28

14

Embedded Systems 1

06.12.2016

IIC – Bus, TWI – Bus, I²C-Bus

[Gadre] 06.12.2016

HS-D U.G. Schaarschmidt

29

JTAG (USB Anschluss auf Basis des FTDI FT2232)  USB to JTAG Interface von Hubert Högl, Schaltplan  USB JTAG Interface für usbprog und OpenOCD von Benedikt Sauter (Zurzeit gibt es Bausätze für 22 EUR. Der Adapter ist ein Universaladapter der mit verschiedenen Firmwares zu verschiedenen Geräte werden kann. Pläne, Quelltexte usw... Open Source!!!)  Amontec JTAGkey, JTAGkey-Tiny  EKK-LM3S811 von LMI. Auf dem Testboard ist ein "on-board" JTAGAdapter, der zu Ansteuerung des LM3S811 auf dem Board genutzt wird, aber auch an externe Controller angeschlossen werden kann. (Alle LMI Testboards verfügen über den JTAG Ein- und Ausgang.)  ARM-USB-OCD von Olimex  Xverve Signalyzer Tool 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

30

15

Embedded Systems 1

06.12.2016

JTAG-ICE MkII (Pinout des Steckers 20-pol)            

Auf Evaluation-Boards verschiedener Hersteller (z. B. Atmel, IAR, Keil, Olimex) ist die JTAGSchnittstelle über einen 20-poligen Wannenstecker (2*10, Raster 2,54mm) herausgeführt. 1 Vcc 2 NC 3 nTRST 4 GND 5 TDI 6 GND 7 TMS 8 GND 9 TCK 10 GND 11 GND 12 GND 13 TDO 14 GND 15 NRESET/nSRST 16 GND 17 NC 18 GND 19 NC 20 GND Daneben existiert noch eine weniger gebräuchliche aber dokumentierte Variante mit 14 Polen (2*7). Bei fertigen Geräten, für die keine Schaltpläne vorliegen, muss man sich die herstellerspezifische Anschlussbelegung anhand des Datenblatts des verwendeten Controllers und mittels Messgerät selbst ermitteln.

06.12.2016

HS-D U.G. Schaarschmidt

31

Programmentwicklung und Debugging Übliche Verfahren: Simulation des Programmcodes auf einem Host-PC; „Crash and burn“ (Neuprogrammierung, Änderung, Fehlerbeseitigung, bis es funzt); Debugging mithilfe eines Target-Monitors; In-Circuit-Emulation; 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

32

16

Embedded Systems 1

06.12.2016

Warum ein BS auf einer MCU?  Eigentlich z.T. aus den gleichen Gründen wie auf einer Workstation. Treiber für die On-Chip-Peripherie müssen nicht von jedem Programmierer neu entwickelt werden. Es gibt ein API (Application Programmer‘s Interface), das die Programmierung abstrahiert.  Ein Realzeit-Kernel vereinfacht die Einhaltung der zeitlichen Restriktionen für die „Modulentwickler“. 06.12.2016

HS-D U.G. Schaarschmidt

33

Multitasking vs Multiuser Präemptives oder kooperatives (nichtpräemptives) Multitasking? Timer-Interruptsystem ; Unterschiedliche Prioritäten der Betriebssystem-Module (Systemkern – Kernel) und der Nutzer-Tasks (unterprivilegierte Prozesse); 06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

34

17

Embedded Systems 1

06.12.2016

COrnell Miniature ATmel Operating System (COMATOS) Realzeit Betriebssystem (RTOS – Real Time Operating System); 2 Versionen (Assembler, C) Atmel AT90S8515 (8k Flash, 512 Byte SRAM, 512 Byte EEPROM, 1*8Bit Timer, 1*16 Bit Timer, jeweils mit programmierbarem Vorteiler [Prescaler], Watchdog mit eigenem On-Chip-Oszillator) 06.12.2016

HS-D U.G. Schaarschmidt

35

9. Übungsaufgabe Comatos – what the hell is it? Welche Art von BS? Wieviele Tasks sind möglich? Welche grundlegenden Funktionen, die uns als Programmierer helfen, erkennen Sie?

06.12.2016

HS Düsseldorf

(c) U.Schaarschmidt

HS-D U.G. Schaarschmidt

36

18