Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

ESI Einführung.

Ähnliche Präsentationen


Präsentation zum Thema: "ESI Einführung."—  Präsentation transkript:

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 Geschichte und Architekturen der ARM Prozessoren
ARM Systeme Geschichte und Architekturen der ARM Prozessoren

12 Ablauf Semester Woche Vorlesung 1 Einführung ESI 2
Vorlesung fällt aus, Praktikum findet statt 3 ARM Architektur: - Register - Exception - ARM Befehlssätze 4 Software Entwicklung: - ARM und Thumb Compiler - Entwicklungstools - Interrupts 5 Philips LPC Systemperipherie: - Flash Memory, Bootloader/Startup Code Timer Counter 6 - Externe Speicher - Andere Prozessoren mit ARM

13 Leistungsnachweise Elektronisches Multiple Choice Quiz am 14.4.2010
ARM Radioprojekt muss am (G1/G3) bzw (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 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 Prozessoren sondern Intellektual Property (IP)

18 Beispiel: Mobil Phone IC mit ARM7 core

19 Beispiele für den Einsatz des ARM
Die meisten Mobiltelephone haben mindestens einen Prozessor von ARM (IPhone hat 3 ARM Prozessoren mit 600MHz IPhone 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.- Stromverbrauch ARM 7 TDMI verbraucht nur 0.1mW/MHz im 0.13u Prozess. Statisches Design, keine Taktsignale nötig, der Prozessor kann im Standby Modus abgeschaltet werden. Gute Rechenleistung und Real Time Verhalten: Effiziente 32-bit RISC Architektur und schnelle Interrupt Verarbeitung Offene Architektur: Bekannte Schnittstellen (AMBA Bus Standard) ermöglichen einfaches Anschliessen von anderen wieder verwendbaren IP-Blöcken. Modularer Aufbau möglich. Softwareinvestitionen. Die selbe Software kann auf unterschiedlichen ARM Plattformen wieder verwendet werden. Kompakter Softwarekode. Der ARM Befehlssatz basiert auf 32-Daten Bits. Zusätzlich verfügt ARM über einen Zweiten Befehlssatz, der nur 16-bit Datenbreite hat (Thumb) und damit Speichergrösse spart. Niedrige Kosten. Man bekommt einen NXP LPC schon ab $5.-

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 Consulting Mehr unter:

22 ARM Entwicklung und Lizenznehmer
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 Philips Semiconductors) Oki Palm Samsung Sony STMicroelectronics Texas Instruments Toshiba Zilog

23 (Stand November 2008) ARM Prozessor Cores

24

25 Unterscheidungsmerkmale
Typ Processor Ver Pipe-line Cache MMU DSP Java Befehls-satz Embedded ARM7TDMI v4 3 nein Thumb ARM Cortex-M1 v7 Thumb-2 Cortex-M3 MPU Cortex-R4 8 ja Thumb-2 ARM Application ARM926E-S v5 5 ARM1136J-S v6 Cortex-A8 13

26 Ein Keil uVision4 Projekt einrichten
Vorbereitung auf das Praktikum Ein Keil uVision4 Projekt einrichten

27 Dateistruktur der Projekte

28 Keil uVision 4

29 Keil ULINK 2 ULINK2 PC USB JTAG- controller ARM Core Scan Chain
Scan Flip-Flops JTAG Port LPC2138

30 Keil ULINK2 und ULINK-ME

31 Funktionen des 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.

32 Linken aller Source Dateien

33 Anleitung für das erste Praktikum

34 NXP LPC2138 wie in den Übungen benutzt
ARM7 Core Pulse Width Modulator A/D – D/A Converter Interrupt Controller Real Time Clock I2C/SPI Controller UART SRAM/Flash Bus/Systeme Takt Erzeugung General Purpose I/O Core Teil System Teil

35 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 P0.5 SOD 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

36 Bit 11 u. 10 von 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

37 PINSEL0 Beschreibung aus UM10120 (LPC2138) Datenblatt

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

39 IODIR Register

40 Beispielprogramm LED Lauflicht
int main(void) { unsigned int delay; unsigned int flasher = 0x ; // 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&0x ) flasher = 0x ; //Increment flasher //led and test for } //overflow

41 Ü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:

42 Ansteuern der SPI Schnittstelle

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

44 Übermittlung von Daten im SPI

45 Display Routine char tempstring[21];
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

46 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


Herunterladen ppt "ESI Einführung."

Ähnliche Präsentationen


Google-Anzeigen