64-210 Eingebettete Systeme - TAMS
←
→
Transkription von Seiteninhalten
Wenn Ihr Browser die Seite nicht korrekt rendert, bitte, lesen Sie den Inhalt der Seite unten
MIN-Fakultät Fachbereich Informatik 64-210 Eingebettete Systeme https://lernen.min.uni-hamburg.de https://tams.informatik.uni-hamburg.de/ lectures/2020ss/vorlesung/es Andreas Mäder Universität Hamburg Fakultät für Mathematik, Informatik und Naturwissenschaften Fachbereich Informatik Technische Aspekte Multimodaler Systeme Sommersemester 2020 A. Mäder 1 / 26
Info zur Organisation 64-210 Eingebettete Systeme 1. Organisatorisches Vorlesung Übungen Allgemein 2. Literatur A. Mäder 2 / 26
Vorlesung tams.informatik.uni-hamburg.de/lectures/2020ss/vorlesung/es Organisatorisches - Vorlesung 64-210 Eingebettete Systeme . . . dieses Semester ist wegen Corona alles anders I Videomaterial, Foren und die gesamte Organisation sind im MIN-Moodle hinterlegt: https://lernen.min.uni-hamburg.de I eigenständiges Lernen zu Hause ⇒ Screencast Videos im Moodle / auf Lecture2Go I regelmäßige Online-Meetings I Vorlesung: Fr., ab 12:30 I Übung: Di., ab 14:15 und Fr., ab 10:15 I bei Unklarheiten: Fragen in entsprechenden Q&A Foren stellen ⇒ die Antworten bilden dort eine Sammlung „zum Nachlesen“ A. Mäder 3 / 26
Vorlesung (cont.) tams.informatik.uni-hamburg.de/lectures/2020ss/vorlesung/es Organisatorisches - Vorlesung 64-210 Eingebettete Systeme I Vorlesung folgt: „Embedded System Design“ von P. Marwedel I eBook: dx.doi.org/10.1007/978-3-319-56045-8 UHH Campus I Originalmaterial: ls12-www.cs.tu-dortmund.de/daes/de/daes/ mitarbeiter/prof-dr-peter-marwedel/ embedded-system-text-book/slides/ slides-2013.html I diverse gute Lehrbücher — Empfehlungen s.u. A. Mäder 4 / 26
Übungen tams.informatik.uni-hamburg.de/lectures/2020ss/vorlesung/es/uebungen Organisatorisches - Übungen 64-210 Eingebettete Systeme IEinzelarbeit zu Hause, simulativ IBetreuung in Online-Meetings: Di., ab 14:15 und Fr., ab 10:15 Beginn: ab dem 28.04. B spätere Aufgaben: „vor Ort“, an der Hardware Grundidee I praktische Ergänzung zur Vorlesung I Programmieraufgaben mit Mikrocontrollern (und FPGAs) I Anschluss von Sensoren und Aktoren I Kontrollaufgaben (Steuerung durch endlichen Automaten) I Interruptbehandlung I einfache Schnittstellen (seriell, I2 C. . . ) I Kommunikation I ... I spätere Aufgaben bauen auf Vorherigen auf ⇒ fertige Lösungen abspeichern und gut dokumentieren ⇒ automatisierte Tests erstellen A. Mäder 5 / 26
Übungen: Hardwareplattformen µController System Organisatorisches - Übungen 64-210 Eingebettete Systeme I Arduino Due www.arduino.cc A. Mäder 6 / 26
Übungen: Hardwareplattformen (cont.) µController System Organisatorisches - Übungen 64-210 Eingebettete Systeme I Arduino Due www.arduino.cc I Microcontroller AT91SAM3X8E ARM Cortex-M3, 32bit I Clock Speed 84 MHz I Operating Voltage 3,3V I Digital I/O Pin 54 (12 × PWM output) I Analog Input Pins 12 I Analog Outputs Pins 2 (DAC) I SRAM 96 KB (two banks: 64KB and 32KB) I Flash Memory 512 KB I typische Prototypenplatine mit frei belegbaren Ein-/Ausgängen I Anschluss externer Komponenten über Pfostenleisten I sehr große Anzahl fertiger „Shields“ I Sensoren I Aktoren, Motortreiber I Displays I Schnittstellen A. Mäder 7 / 26
Übungen: Hardwareplattformen (cont.) µController System Organisatorisches - Übungen 64-210 Eingebettete Systeme I I/O-Schema LEGEND THE D13 B.27 68 GND Controlled by the 16U2, UNOFFICIAL GND D73 A.21 107 POWER not accessable to the i ARDUINO D72 C.30 103 Negative logic used for CONTROL Due application software D73 and D72 when driving PHYSICAL PIN 2.1mm the LEDs, IE. LOW == ON VIN DUE PORT PIN 7-12v depending SAM3X8E PIN FUNC on current drawn POWER i USB USB BARREL TX RX DIGITAL PIN PROG NATIVE ON TX RX JACK L ANALOG-RELATED PIN PWM PIN RESET RESET PINOUT DIAGRAM SERIAL PIN TDI HIGH-CURRENT PIN TDO GND STOP Absolut e max 130mA GND ATmega16U2 source 15mA, sink 9mA TCK for entire package. MOSI2 LOW-CURRENT PIN TMS SCL1 70 A.18 TWCK0 D71 SCL1 STOP 5V source 3mA, sink 6mA JTAG SDA1 9 A.17 TWD0 D70 SDA1 SCK0 i SCK0 allows LED 3V3 AREF Serial1 to be ICSP used for SPI i General information RESET GND NOT USED 13 68 B.27 TIOB0 D13 PWM13 L ! Pay attention TMS SWDIO IOREF MISO2 12 21 D.8 TIOB8 D12 PWM12 STOP No really TCK SWCLK PAY ATTENTION RESET SCK2 11 20 D.7 TIOA8 D11 PWM11 3V3 RESET2 GND 10 102 C.29 A.28 TIOB7 D10 D77 PWM10 SPI-CS0 ETH-CS 5V DEBUG 9 132 C.21 PWML4 D9 PWM9 (SWD) GND 8 133 C.22 PWML5 D8 PWM8 ! Note duplicate logical pin SCK1 allows Serial2 GND definition (D10/77 and D4/87) to be used for SPI 7 134 C.23 PWML6 D7 PWM7 and connected physical pins VIN (C.29 to A.28 and C.26 to A.29). 6 i A0 D76 SAM3X8E 5 135 C.24 PWML7 D6 PWM6 SCK1 A0 D54 AD7 A.16 78 136 C.25 TIOA6 D5 PWM5 ANALOG IN D74 A1 D55 AD6 A.24 79 A1 4 137 C.26 A.29 TIOB6 D4 D87 PWM4 SPI-CS1 SD-CS TD MISO A.25 108 A2 D56 AD5 A.23 80 A2 3 139 C.28 TIOA7 D3 PWM3 PWM SCK A.27 110 2 A3 D57 AD4 A.22 81 A3 144 B.25 TIOA0 D2 PWM2 RESET A4 D58 A4 TX0 1 2 A.9 UTXD D1 TX0 i COMMUNICATION AD3 A.6 82 Connected to the ATmega16U2 A5 D59 AD2 A.4 83 A5 RX0 0 27 A.8 URXD D0 RX0 i and used for USB programming A6 SPI and communicating with the PC. A6 D60 AD1 A.3 84 D75 TX3 14 17 A7 D61 AD0 A.2 85 A7 D.4 TXD3 D14 TX3 GND RX3 15 18 D.5 RXD3 D15 RX3 RF A8 D62 AD10 B.17 88 A8 MOSI A.26 109 TX2 16 6 A.13 TXD1 D16 TX2 ERASE RD A9 D63 AD11 B.18 89 A9 STOP 5V RX2 17 5 A.12 RXD1 D17 RX2 RK A10 D64 AD12 B.19 90 A10 TX1 18 4 A.11 TXD0 D18 TX1 i TXD2 A11 D65 AD13 B.20 91 A11 RX1 19 3 A.10 RXD0 D19 RX1 CANRX1 DAC0 D66 DAC0 B.15 76 DAC0 SDA 20 86 B.12 TWD1 D20 SDA AD8 i 1k5 pull up DAC1 D67 DAC1 B.16 77 DAC1 SCL 21 87 B.13 TWCK1 D21 SCL AD9 i to 3V3 CANRX D68 CANRX0 A.1 24 CANRX CANTX D69 CANTX0 A.0 23 CANTX WARNING! STOP Applying voltages greater than 3.3v to Unsupported serial port any pin may cause irreversible damage D38 PWML2 C.6 64 116 C.4 PWML1 D36 Could be Serial4 one day? to the circuitry on the DUE board, D40 PWML3 C.8 66 59 C.2 PWML0 D34 including but not limited to destroying D42 PWMH1 A.19 71 32 D.10 D32 the ARM processor. D44 PWMH5 C.19 101 22 D.9 D30 D46 C.17 99 16 D.3 D28 D48 C.15 97 14 D.1 D26 D50 C.13 95 8 A.15 D24 TF i RXD2 SPI-CS2 D52 AD14 B.21 92 1 B.26 TCLK0 D22 52 50 48 46 44 42 40 38 36 34 32 30 28 26 24 22 GND 5V GND 5V 53 51 49 47 45 43 41 39 37 35 33 31 29 27 25 23 CANTX1 D53 PWMH2 B.14 140 7 A.14 D23 TK D51 C.12 94 13 D.0 D25 D49 C.14 96 15 D.2 D27 D47 C.16 98 19 D.6 PWMFI2 D29 GRAY D45 PWMH6 C.18 100 26 A.7 D31 NOMAD www.robgray.com D43 PWML2 A.20 72 55 C.1 D33 PWMH3 C.9 67 60 C.3 PWMH0 = D41 D35 CC BY ND D39 PWMH2 C.7 65 63 C.5 PWMH1 D37 8 Jun 2013 A. Mäder 8 / 26
Übungen: Hardwareplattformen (cont.) µController System Organisatorisches - Übungen 64-210 Eingebettete Systeme I Arduino-IDE / C-Code A. Mäder 9 / 26
Übungen: Hardwareplattformen FPGA-Prototypensystem Organisatorisches - Übungen 64-210 Eingebettete Systeme I Altera DE0-Nano www.terasic.com.tw www.intel.de/content/www/de/de/products/programmable.html I programmierbare Hardware: FPGA I Cyclone IV EP4CE22F17C6N [60 nm Prozess, 2009] I 153 I/O Pins, gesamt 256 Pins I 22 320 LEs ≈ 270 000 Gatter I 594 Kbit (interner) Speicher I 66 HW-Multiplizierer: 18 × 18 bit I 4 PLLs I On-Board Speicher I 32MB SDRAM I 2Kbit I2 C EEPROM I Konfiguration I über USB Schnittstelle I EPCS64: Flash, serielle Konfig. A. Mäder 10 / 26
Übungen: Hardwareplattformen (cont.) FPGA-Prototypensystem Organisatorisches - Übungen 64-210 Eingebettete Systeme I Ein-/Ausgabe I 8 LEDs I 2 Taster I 4 DIP Schalter I Beschleunigungssensor: ADXL 345, 3-Achsen, 13-bit Auflösung I A/D Wandler: ADC128S022, 8-Kanal, 12-bit Auflösung I Erweiterungsstecker I 2 × 40-Pin: 72 I/O Pins + Spannungsversorgung; 5V, 3,3V, Gnd I 26-Pin: 16 I/O Pins + 8 analoge Eingänge A. Mäder 11 / 26
Übungen: Hardwareplattformen (cont.) FPGA-Prototypensystem Organisatorisches - Übungen 64-210 Eingebettete Systeme A. Mäder 12 / 26
Übungen: Hardwareplattformen (cont.) FPGA-Prototypensystem Organisatorisches - Übungen 64-210 Eingebettete Systeme A. Mäder 13 / 26
Übungen: Hardwareplattformen (cont.) FPGA-Prototypensystem Organisatorisches - Übungen 64-210 Eingebettete Systeme Implementationsmöglichkeiten 1. Softwareentwurf I IP-Komponenten (Intellectual Property) Speicher, Busse, I/O-Schnittstellen. . . I 32-bit Prozessor (NIOS II) I Softwareentwicklung: C Programmierung Eclipse + Cross-Compiler 2. Hardwareentwurf: Hardwarebeschreibungssprachen hier: VHDL 3. gemischt: Hardware + Software + IP-Komponenten A. Mäder 14 / 26
Übungen: Hardwareplattformen (cont.) FPGA-Prototypensystem Organisatorisches - Übungen 64-210 Eingebettete Systeme I IP-Komponenten A. Mäder 15 / 26
Übungen: Hardwareplattformen (cont.) FPGA-Prototypensystem Organisatorisches - Übungen 64-210 Eingebettete Systeme I NIOS Prozessor A. Mäder 16 / 26
Übungen: Hardwareplattformen (cont.) FPGA-Prototypensystem Organisatorisches - Übungen 64-210 Eingebettete Systeme I VHDL-Code A. Mäder 17 / 26
Feedback erwünscht Organisatorisches - Allgemein 64-210 Eingebettete Systeme I über die Moodle Foren / E-Mail an mich I Fehler und Ungenauigkeiten in den Folien und Materialien bitte melden I Vorschläge und Hinweise auf Tools, schöne Lehrmaterialien etc. sind immer willkommen! Problem: unterschiedliches Vorwissen! I Voraussetzungen: insbesondere Rechnerstrukturen aber auch: Assemblerprogrammierung, Betriebssysteme, Netzwerke. . . I generell: Interesse an Hardware A. Mäder 18 / 26
Kontakt Organisatorisches - Allgemein 64-210 Eingebettete Systeme Dr. Andreas Mäder E-Mail maeder@informatik.uni-hamburg.de Tel. +49 40 42883 2502 Büro Informatikum, Haus F 317 A. Mäder 19 / 26
Literatur: empfohlene Lehrbücher Literatur 64-210 Eingebettete Systeme [Mar18] P. Marwedel: Embedded System Design – Embedded Systems Foundations of Cyber-Physical Systems. 3rd edition. Springer-Verlag, 2018. ISBN 978–3–319–56043–4 Primärliteratur: Komplette Behandlung des Themas. Buch und Foliensatz sind Vorlage dieser Vorlesung. Die Folien basieren auf der zweiten Auflage des Buchs. Originalmaterial der Vorlesung von Peter Marwedel: ls12-www.cs.tu-dortmund.de/daes/daes/ mitarbeiter/prof-dr-peter-marwedel/embedded-system-text-book/slides/slides-2013.html eBook in der Informatik-Bibliothek: dx.doi.org/10.1007/978-3-319-56045-8 [TH07] J. Teich, C. Haubelt: Digitale Hardware/Software-Systeme – Synthese und Optimierung. 2. Auflage. Springer-Verlag, 2007. ISBN 978–3–540–46822–6 Schwerpunkte: Realisierung eingebetteter Systeme, also Synthese, Scheduling, Bindung von Ressourcen etc. eBook in der Informatik-Bibliothek: dx.doi.org/10.1007/978-3-540-46824-0 A. Mäder 20 / 26
Literatur: empfohlene Lehrbücher (cont.) Literatur 64-210 Eingebettete Systeme [HT10] C. Haubelt, J. Teich: Digitale Hardware/Software-Systeme – Spezifikation und Verifikation. Springer-Verlag, 2010. ISBN 978–3–642–05355–9 Schwerpunkte: Methoden zur Spezifikation eingebetteter Systeme und der (formalen) Verifikation, Simulation etc. eBook in der Informatik-Bibliothek: dx.doi.org/10.1007/978-3-642-05356-6 [VG02] F. Vahid, T. Givargis: Embedded System Design – A Unified Hardware/Software Introduction. John Wiley & Sons, 2002. ISBN 978–0–471–38678–0 Alle Themen im Überblick, etwas älter. Mehrere Exemplare in der Informatik-Bibliothek vorhanden. A. Mäder 21 / 26
Literatur: weitere Lehrbücher Literatur 64-210 Eingebettete Systeme [Brä08] T. Bräunl: Embedded Robotics – Mobile Robot Design and Applications with Embedded Systems. 3rd edition. Springer-Verlag, 2008. ISBN 978–3–540–70534–5 Eigentlich ein „Robotik“-Buch, dient aber als Beispiel, dass die Robotik auf „Eingebetteten Systemen“ aufbaut (Teil 1) eBook in der Informatik-Bibliothek: dx.doi.org/10.1007/978-3-540-70534-5 [Lew13] D. Lewis: Fundamentals of embedded software – with the ARM Cortex-M3. 2nd edition. Pearson Education, 2013. ISBN 978–0–13–291654–7 Schwerpunkt: Software, viel praktische Programmierung in C und Assembler. A. Mäder 22 / 26
Literatur: weitere Lehrbücher (cont.) Literatur 64-210 Eingebettete Systeme [SC17] J. Sanchez, M.P. Canton: Embedded Systems Circuits and Programming. CRC Press, 2017. ISBN 978–1–138–07406–4 Schwerpunkt auf PIC µController, enthält außerdem viele (elektro-) technische Grundlagen. [Wol16] M. Wolf: Computers as Components – Principles of Embedded Computing System Design. 4th edition. Morgan Kaufmann Publishers Inc., 2016. ISBN 978–0–12–805387–4 [Zöb08] D. Zöbel: Echtzeitsysteme – Grundlagen der Planung. Springer-Verlag, 2008. ISBN 978–3–540–76395–6 eBook in der Informatik-Bibliothek: dx.doi.org/10.1007/978-3-540-76396-3 A. Mäder 23 / 26
Literatur: Vertiefung Literatur 64-210 Eingebettete Systeme [BO15] R.E. Bryant, D.R. O’Hallaron: Computer systems – A programmers perspective. 3rd global ed., Pearson Education Ltd., 2015. ISBN 978–1–292–10176–7 Rechnerarchitektur mit Schwerpunkt Software und Systeme, leider nicht ganz billig. Viele C-Programme und Systemprogrammierung. Beispiele anhand Intel x86 Architektur. [TA14] A.S. Tanenbaum, T. Austin: Rechnerarchitektur – Von der digitalen Logik zum Parallelrechner. 6. Auflage, Pearson Deutschland GmbH, 2014. ISBN 978–3–8689–4238–5 Guter Überblick zum Thema Rechnerarchitektur, klares didaktisches Konzept. Java VM, Intel x86, SPARC. Mit jeder Auflage komplett überarbeitet und aktualisiert. A. Mäder 24 / 26
Literatur: Vertiefung (cont.) Literatur 64-210 Eingebettete Systeme [PH16a] D.A. Patterson, J.L. Hennessy: Computer Organization and Design – The Hardware Software Interface: ARM Edition. Morgan Kaufmann Publishers Inc., 2016. ISBN 978–0–12–801733–3 Schönes Lehrbuch von den Entwicklern der RISC/MIPS Prozessoren. [HP17] J.L. Hennessy, D.A. Patterson: Computer Architecture – A Quantitative Approach. 6th edition, Morgan Kaufmann Publishers Inc., 2017. ISBN 978–0–12–811905–1 Die Bibel zum Thema Rechnerarchitektur A. Mäder 25 / 26
Literatur: Arduino Programmierung Literatur 64-210 Eingebettete Systeme [Mar11] M. Margolis: Arduino Cookbook – Recipes to Begin, Expand, and Enhance Your Projects. 2nd edition. O´Reilly, 2011. ISBN 978–1–4493–1387–6 Die Arduino Referenz [McR13] M. McRoberts: Beginning Arduino. 2nd edition. Apress, 2013. ISBN 978–1–4302–5016–6 Praxisnahe Beispiele und Projekte eBook in der Informatik-Bibliothek: dx.doi.org/10.1007/978-1-4302-5017-3 A. Mäder 26 / 26
Sie können auch lesen