64-210 Eingebettete Systeme - TAMS

Die Seite wird erstellt Elina Wegner
 
WEITER LESEN
64-210 Eingebettete Systeme - TAMS
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
64-210 Eingebettete Systeme - TAMS
Info zur Organisation
                        64-210 Eingebettete Systeme

1. Organisatorisches
      Vorlesung
      Übungen
      Allgemein
2. Literatur

A. Mäder                                     2 / 26
64-210 Eingebettete Systeme - TAMS
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
64-210 Eingebettete Systeme - TAMS
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