1 / 46

ESI Einführung

ESI Einführung. Embedded System Implementation. Vertiefungsmodul im 6. Semester für die Studiengänge ET, ME und SI Voraussetzungen: DT, TIn1 + TIn2, MC, ESE und C-Programmierung Organisation ESI: 2 Dozierende Hans Gelke : ARM Prozessoren Praktikum 1 : ARM (Gelk)

lynn
Télécharger la présentation

ESI Einführung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ESI Einführung

  2. Embedded System Implementation Vertiefungsmodul im 6. Semester für die Studiengänge ET, ME und SI Voraussetzungen: DT, TIn1 + TIn2, MC, ESE und C-Programmierung Organisation ESI: 2 Dozierende Hans Gelke: ARM Prozessoren Praktikum 1: ARM (Gelk) Hans Käser: Grundlagen und Entwicklung von Embedded Systemen, Programmierung, Embedded PC Systeme Praktikum 2: Embedded PC (Ksha)

  3. Inhalt Modul ESI • Einführung (Gelk) • ARM Systeme (Gelk)  Praktikum 1 ARM Radio • Programmierung und Hardware nahe Software (Ksha) • Embedded PC Systeme (Ksha)  Praktikum 2 JRex ePC • Entwurf und Realisation von Embedded System (Ksha)

  4. Semesterprogramm

  5. Lernziele und Leistungsvereinbarung • Unterschiede Embedded System  Universalrechner • Vorgehensweise bei der Entwicklung von Embedded System • Besonderheiten der ARM Architektur (IP = Intellectual Property) • Praktische Umsetzung an Embedded PC System und ARM System Für Modulnote und Credits sind notwendig: • 2 Kurzprüfungen 45 Minuten  2 Noten • Teilnahme und Mitarbeit im Praktikum  Praktikumsnote • Erfahrungsnote = (Note K1 + Note K2 + Praktikumsnote) / 3 • Modulendprüfung 90 Minuten  M-Prüfungsnote • Modulnote = (Erfahrungsnote + 2*M-Prüfungsnote) / 3

  6. Umgang und Erwartungen • Lernen bedeutet Fehler machen  Fragen sind erwünscht • Unterstützung bei Fragen und Problemen im Labor  Assistenten • Anwesenheit und Pünktlichkeit in Theorie und Praktikum • Aufmerksamkeit und Mitarbeit im Unterricht • Ordnung und Sauberkeit im Labor: Kein Essen und Trinken  Fragebogen und Laborgruppe bitte mit Namen und Studiengang

  7. 1. Einführung in Embedded Systems Was sind eingebettete Systeme?

  8. Merkmale und Eigenschaften von Embedded Systems Embedded System: Prozess („reale Welt“) und Bediener im Zentrum • Rechner (HW+SW) ist oft unsichtbar in das System (Gerät) integriert • Spezialisierung: Mikrocontroller mit speziellem Programm (Firmware) • Zuverlässigkeit und Robustheit • Systemumfeld bestimmt die Anforderungen an das ES • Echtzeitanforderungen (Realtime) • Ausfallsicherheit • Batteriebetrieb • Oft kein Lademedium (Disk)  Firmware in ROM / Flash • Spezielle Entwicklungswerkzeuge notwendig • Prozessorwahl ist von zentraler Bedeutung

  9. 2. Bedienkonzepte Entwicklung: • GUI (Graphical User Interface) … PARC, Apple, OSF/Motiv, Windows • MMI (Man Machine Interaction) …  Embedded Systems • Ergonomie • Ben Shneiderman: Designing the User Interface Wichtige Aspekte: • Ziele guter Bedienkonzepte • MMI: Man Machine Interaction (auch Man Machine Interface) • Ein-/Ausgabe Elemente • Prototyping

  10. Beispiel eines guten Benutzerinterfaces: TwoTimer von Tissot • Digitaluhren mit Zusatzfunktionen mit vier Knöpfen  Bedienung? • Tissot TwoTimer wird nur mit einer „konventionellen“ Krone bedient! • Die sechs Funktionen können mit dem einzigen Bedienungselement „Krone“ bedient werden  Anzeigeflag als Feedback • Konsistente Bedienungsphilosophie der Krone: vorwärts/rückwärts, langsam/schnell, „ausziehen“ (set) und „eindrücken“ (start/stop/reset) … einen guten Start ins letzte Semester …

  11. ARM Systeme Geschichte und Architekturen der ARM Prozessoren

  12. Ablauf

  13. Leistungsnachweise • Elektronisches Multiple Choice Quiz am 14.4.2010 • ARM Radioprojekt muss am 7.4.2010 (G1/G3) bzw. 14.4.2010 (G2) vorführbereit sein. • Von den Vorschläge für ein Benutzerinterface darf abgewichen werden, es müssen aber alle Features unterstützt werden • Anstelle einer Dokumentation eine Power Point Präsentation auf Lap Top • Beschreibung der Haupt Statemachine • Flussdiagramme der Hauptfunktionen • Welche Softwaremodule (c-Dateien) wurden verwendet • Welche Subroutinen gibt es und was sind ihre Funktionen • Kurzbedienungsanleitung • Abgesetzte Modulendprüfung in den Prüfungswochen • Übungen zu den Lektionen befinden sich im www

  14. Inhalt der Heutigen Vorlesung • Geschichte der ARM Prozessoren • ARM7 und Cortex-M3 Ausstattungsmerkmale

  15. ARM Geschichte • 1980 Acorn Computer entwickelt den ATOM Heimcomputer basierend auf den Motorola 6502 8-bit Prozessor. • 1983 begann Acorn mit dem Acorn Risc Machine Projekt . Architektur für dem ARM1 als Coprozessor zum BBC Micro. Chip Hersteller war VLSI Technologie. • 1990 gründen Acorn und Apple Computer die ARM LTD, mit je 43%. VLSI ist Investor und Lizenznehmer (VLSI wird 1999 von Philips [heute NXP] gekauft). • 1998 geht ARM Holdings an die Börse. • 1999 wird ARM Holdings von Acorn Computer abgetrennt.

  16. BBC Micro 1982

  17. ARM verkauft keine Prozessorensondern Intellektual Property (IP)

  18. Beispiel: Mobil Phone IC mit ARM7 core ARM7

  19. Beispiele für den Einsatz des ARM • Die meisten Mobiltelephone haben mindestens einen Prozessor von ARM(IPhone hat 3 ARM Prozessoren mit 600MHzIPhone 3G Cortex A9) • MP3 Spieler • PDAs wie PALMTreo • Navigationssysteme • Game Boy Advance • DECT Telephone • TV Set Top Boxen

  20. Warum hat sich ARM bei embedded Produkten als Standard durchgesetzt • Geringer Stromverbrauch (ARM 7 TDMI 0.1mW/MHz) • Gute Rechenleistung und Real Time Verhalten • Bekannte Schnittstellen (AMBA Bus Standard). Modularer Aufbau möglich. • Softwareinvestitionen auf ganze Prozessorfamilie einsetzbar. • Kompakter Softwarekode. 32-bit und 16-bit Befehle • Niedrige Kosten. Mikrocontroller von ST ab $1.-

  21. Produkte die ARM anbietet • Hardware IP – synthetisierbares RTL oder Macrozellen • Prozessor Cores (Arm7, ARM9, ARM11, Caches) • Eingebettete Debugging Hardware (ETM) • Direct Memory Access Controller (DMA) • Peripherals (SDRAM Controller, UART, Card Interface) • Java Accelerator, MP3 Codec • Software • -Audio Codecs • -MPEG2 encoder • System On chip design tools (SOC) • - Debugger und C-Assembler • - Entwicklungsysteme (Keil gehört zu ARM) • - Testbenches zur Design Verifizierung • - Beispielprogramme • Software und Hardware ConsultingMehr unter: www.arm.com/products

  22. ARM Entwicklung und Lizenznehmer • 1987: ARM2 • 1989: ARM3 • 1991: ARM6 • 1993: ARM7 • 1995: ARM8 • 1997: ARM9 • 1998: ARM10 • 2002: ARM11 • 2005: ARM Cortex Analog Devices Apple Atmel Conexant Freescale (ehemals Motorola) HTC Corporation HP IBM Infineon Intel (XScale) Luminary Micro Motorola NEC NetSilicon Nintendo NXP (ehemals PhilipsSemiconductors) Oki Palm Samsung Sony STMicroelectronics Texas Instruments Toshiba Zilog

  23. (Stand November 2008) ARM Prozessor Cores

  24. Unterscheidungsmerkmale

  25. Vorbereitung auf das Praktikum Ein Keil uVision4 Projekt einrichten

  26. Dateistruktur der Projekte

  27. Keil uVision 4

  28. Scan Chain JTAGPort JTAG-controller USB ULINK2 ARM Core PC Scan Flip-Flops LPC2138 Keil ULINK 2

  29. Keil ULINK2 und ULINK-ME

  30. Funktionen des Startup Code Startup Code • Definieren der Exception Vektoren • Konfigurieren der Stack Pointer • Konfigurieren der Systemperipherie(einstellen der Chip-Selects, Speicher Waitstates, I/O etc.) Ist abhängig von der Systemperipherie jedes einzelnen Bausteins und wird als Default beim Aufsetzen des Projektes kopiert.

  31. Linken aller Source Dateien

  32. Anleitung für das erste Praktikum

  33. Takt Erzeugung ARM7 Core Core Teil InterruptController SRAM/Flash System Teil Bus/Systeme A/D – D/AConverter I2C/SPIController General Purpose I/O UART Pulse Width Modulator Real TimeClock NXP LPC2138 wie in den Übungen benutzt

  34. Target Hardware für Praktikum MCB2130 Radioplatine SCL Radio TEA5764 SDA JTAG INTx ARM LPC2138 P0.15 GPIO 0.15 P0.12 CS LCD display P0.6 SID MOSI SOD P0.5 MISO P0.7 EINT0 ENA P0.1 EINT2 Drehgeber IOPIN0.13 P0.13 ENB P1.16, P1,17, P1.18 Tastatur P1.19, P1,23

  35. PINSEL0 Register GPIO Port0.5 00 P0.5 MISO (SPI0) 01 Match0.1 (Timer 0) 10 AD0.7 11 LPC Ausgangspad Bit 11 u. 10 von PINSEL0 Register

  36. PINSEL0 Beschreibung ausUM10120 (LPC2138) Datenblatt

  37. 31 31 31 31 31 31 16 16 16 0 0 0 General Purpose I/O Register im LPC2138 GPIO-1 GPIO-0 I0 PIN I0 PIN 31 16 31 0 I0 SET I0 SET I0 CLR I0 CLR I0 DIR I0 DIR … P1.31 P1.18 P1.17 P1.16 … P0.0 P0.31 P0.2 P0.1

  38. IODIR Register

  39. Beispielprogramm LED Lauflicht int main(void) { unsigned int delay; unsigned int flasher = 0x00010000; // define locals IODIR1 = 0x00FF0000; // set all ports to output while(1) { for(delay = 0;delay<0x10000;delay++) //simple delay loop { ; } IOCLR1 = ~flasher; //clear output pins IOSET1 = flasher; //set the state of the ports flasher = flasher <<1; //shift the active led if(flasher&0x01000000) flasher = 0x00010000; //Increment flasher //led and test for } //overflow }

  40. Übung 1 Im Radioprojekt soll Pin 0.15 als Ausgang und auf Log 1 gesetzt werden, damit der Verstärker aus der Stummschaltung gebracht wird. Bestimmen Sie die Werte für die Register: PINSEL0 = 0x IODIR0 = 0x IOCLR0 = 0x IOSET0 = 0x Ausschnitt aus IO Registern: Ausschnitt aus Pinsel Register: Ausschnitt aus IODIR Register:

  41. Ansteuern der SPI Schnittstelle

  42. SPI (Serial Peripheral Interface) zwischen ARM und LCD-Display ARM P0.4 SCLK P0.5 MISO CharacterDisplay P0.6 MOSI P0.12 SSEL SPI Master SPI Slave

  43. Übermittlung von Daten im SPI

  44. Display Routine Temporärer String zum Zwischenspeichern des Textes 1 Zeile hat 20 Buchstaben + SPI Synchronization String char tempstring[21]; sprintf(tempstring,“hello world“); sendLine2Display(n, tempstring) Zeile 1-4 Sendet Zeile über SPI an LCD

  45. Variablen in Display Routine Temporärer String zum Zwischenspeichern des Textes 1 Zeile hat 20 Buchstaben + SPI Synchronization String char tempstring[21]; int count = 0 ; sprintf(tempstring,“Zählerwert: %d Runden“, count); sendLine2Display(n, tempstring) Zeile 1-4 Sendet Zeile über SPI an LCD

More Related