Vorlesung Mikrocontroller

Slides:



Advertisements
Ähnliche Präsentationen
Dauermagnete Bei magnetischen Materialien unterscheidet man Eisenkerne bzw. Weicheisenstücke und Dauermagnete bzw. Hart-magnetische Materialien. Dauermagnete.
Advertisements

TAGUNG DER DEUTSCH-LUSITANISCHEN JURISTENVEREINIGUNG O processo penal português Panorâmica introdutória Der portugiesische Strafprozess ein einführender.
Ach wie gut, daß niemand weiß Der Schutz von Wissen
Herzlich Willkommen bei SIMPLE STABLE BULDING
Adjektivendungen Tabellen und Übungen.
ZWILLING Neuheiten 2008.
Das Hexenkochbuch Nicht Rattenschwänze, Spinnenbein
 Präsentation transkript:

Vorlesung Mikrocontroller Dipl.-Inf. Swen Habenberger WS 09/10

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Inhalt Vorstellung Dozent Vorstellung Kursinhalt Prüfungsmodalitäten Organisatorisches Vorstellung NGW100 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Vorstellung Dozent Diplom-Informatiker Swen Habenberger Studium Universität Mannheim Hauptberuf: Softwareingenieur bei Fa. Ramitek Kontakt: s.habenberger@ramitek.de 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Firma Ramitek Sitz in Grünstadt/Weinstraße Ausgründung Universität Kaiserslautern Fachgebiete Planung und Konstruktion Sensorik und Messtechnik Technische Software Praktikumsplätze, Plätze für Seminar- und/oder Abschlussarbeiten 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Technische Software Programmierung in C# Labview C++ mit MFC C Assembler 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

PumpExpert (Software) 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Elektronik-Entwicklung 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Anlagensteuerung und -überwachung 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Vorstellung Kursinhalt Programmierung eines 32-Bit Mikrocontrollers Programmiersprache C Entwicklungsumgebung: Linux Mikrocontrollerhersteller: Atmel Chip: 32AP7000 Entwicklungsboard: NGW100 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

2 teiliger Aufbau Vorlesung Theorie Was unterscheidet einen 32-Bit von einem 16-Bit oder 8-Bit Prozessor? Wie liest man Datenblätter? Entscheidungskriterien µC Betriebssystem vs. Native-Programmierung Wahl des richtigen Programmierwerkzeugs Atmel-spezifische Eigenheiten Hacking vs. Programmierung 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

2 teiliger Aufbau Vorlesung Praxis Programmierung in C Linuxprogrammierung Anwendungen Kernel-Erweiterungen Kernel-Modifikationen Socketprogrammierung Steuerung eines µC via Web-Interface Aufbau von Schaltungen 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Webseite http://www.habenberger-soft.de Oder SRH E-Learning-Plattform 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Prüfungsmodalitäten Klausur: 100 Minuten Oder Seminararbeit inklusiver Präsentation Beides Anfang/Mitte März 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Organisatorisches Jeder Teilnehmer soll die gleichen Chancen haben, die selben Resultate zu erzielen. Festlegung Entwicklungsumgebung VMWARE-Image Atmel 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Fragen? 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller NGW100 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Atmel NGW100 Two ethernet connectors 32MB SDRAM 16MB on-board flash Expandable memory through SD or MMC memory cards USB connector JTAG connector for debugging or programming of flash Expansion connectors with 63 general purpose IO or peripheal modules from AP7000 Power system and status LEDs Two user controllable LEDs Footprint for mictor-38 connector for NEXUS emulator 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Atmel NGW100 Informationen http://www.atmel.com/dyn/products/tools_card.asp?tool_id=4102 http://www.avrfreaks.net/wiki/index.php/Documentation:AVR32_General/ http://www.mikrocontroller.net/ http://www.roboternetz.de/ http://www.elektronik-projekt.de/ http://www.avr-praxis.de/ http:// test.avr32linux.org 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Projekte mit NGW100 http://mikrocontroller.jacob-pirna.de/avr_webserver_projekte.html http://www.hoschid.ch/ngw100.html http://www.tec-project.de/ http://blog.muetze1.de/?p=370 http://ngw100.tiddlyspot.com/ http://www.youtube.com/watch?v=7kV7XFPO_es 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Fragen? 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Benchmark Standardisierter Leistungsvergleich von Prozessoren MIP - Meaningless Indicator of Performance Werbetechnischer Blödsinn Meist Vergleich mit einer Referenzmaschine Die relevante Leistung hängt von der tatsächlichen Anwendung ab 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Dhrystone Test Anfang der 80er Jahre entwickelt Referenzmaschine ist VAX11/780 1 VAXMIP = 0,5 MIPS Dhrystone Leistung: 1757 pro Sekunde Wieviel MIPS sind 210 DMIPS? 210 * 0,5 = 105 MIPS 210 * 1757 * 0,5 = 184485 Dhrystones 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Dhrystone Test Test wurde zunächst in Fortran und Cobol entwickelt Später dann nach Ada portiert Heute ist C der Standard Bestandteile: Einfache Integer Operationen Stringoperationen Logische Entscheidungen Speicherzugriffe 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Whetstone Test Hauptsächlich Gleitkomma-Arithmetik Zusätzlich Zugriffe auf Arrays Einfache Integer-Arithmetik Zunächst in Algol, später C und Fortran 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Linpack TOP500.org listet die schnellsten bekannten Rechner der Welt Vergleich anhand von MFLOPs MFLOP: Million Floating Point Operations per Second 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Benchmark Optimierte Compiler für das jeweilige System verbessern die Performance Fast jeder Hersteller bietet optimierte Varianten für seinen Prozessor an Schlechte Programmierung verlangsamt die Performance Da ist Programmiererfahrung und Kenntnisse des Systems gefragt Funktioniert nur wenn das System auch läuft. 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Performance Prozessor besitzt keine Gleitkommaeinheit bzw. numerischen CoProzessor Jede Gleitkommaoperation muss von der CPU ausgeführt werden Mathematische Berechnung mit Gleitkommazahlen führen zu einem dramatischen Geschwindigkeitseinbruch 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller 32bit RISC Was bedeutet die Werbeaussage 32-bit load/store RISC architecture RISC: Reduced Instruction Set Computing 32-Bit: ALU kann 4 Bytes gleichzeitig verarbeiten 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller RISC vs. CISC Complex Instruction Set Computer Die meisten moderen Desktop CPUs sind CISC Prozessoren mit RISC-Coprozessoren und Zerlegung von CISC-Befehlen in RISC-Befehle (Pentium) Reduced Instruction Set Computer Die meisten embedded-Systeme sind RISC-Prozessoren Problemstellung zum Architekturdesign: Welche Maschinenbefehle sollen implementiert sein? Wie viele Register stehen zur Verfügung 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Überlegungen Maschinencode Jeder Befehl braucht einen eindeutigen Operationcode (Opcode) Einfache Prozessoren besitzen meist schon 50-60 Befehle (6 Bit) 15 Register entsprechen 4 Bits Zugrunde liegende Architektur 1, 2 oder 3 Adressmaschinen 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Adressierungsart 1 –Adressmaschine Der Akkumulator wird immer verwendet Mov R1 (Lädt Register 1 in den Akku) Add R2 (Addiert Register 2 zum Wert des Akku) Sto R1 (Speichert das Ergebnis in Register 1) 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Adressierungsart 2 –Adressmaschine Mov R1, Akku (Lädt Register 1 in den Akku) Add R2, Akku (Addiert Register 2 zum Wert des Akku) Sto R1, Akku (Speichert das Ergebnis in Register 1) Add R2, R1 (R1=R1+R2) oder R2 = R1 + R2 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Adressierungsart 3 –Adressmaschine Add R0, R1, R2 R0 = R1 + R2 oder R0 + R1 = R2 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller 32 Bit Byte = 8 Bit Upper Halfword = 16 Bit (2 höchtwertigen Bytes) Lower Halfword = 16 Bit (2 niederwertigsten Bytes) Word = 32 Bit Unterscheidung Big-Endian und Little-Endian 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Operationsmodus Direkt / Unmittelbar Register Indirekt Indiziert Die Anzahl der Bits und der Operationsmodus erfordern weitere bits 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Befehlssatz Opcode Operationsmodus Operanden 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller CISC Unterschiedliche Opcodelänge Wichtige Befehle haben Länge von 2 Byte Unwichtige Befehle haben Länge 3 Byte Extrabefehl zum erkennen von Befehl mit 3 Byte notwendig Dekodierprozess langwierig Keine 3-Register Architekturen Register sind teuer 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Microcode Hardwareinterpreter zwischen Dekoder und Ausführeinheit Ein Befehl wird ggf. in kleine Einzelbefehle zerlegt Dekrementiere Register und Springe falls Ergbnis 0 ist Erfordert 1-10 Takte je nach komplexität des Befehls 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Nutzung von Registern Manche Befehle ermöglichen die implizite Nutzung von Registern Einsparung von Bits beim Befehlssatz in dem bspw. Bei manchen Befehlen mit dem Akku gerechnet wird 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller RISC Nur einfache Befehle Gleichlange Opcode für alle Befehle Ermöglicht den Einsatz von Pipelines, da Bytes 2-4 immer mit Operanden versehen sind Mehr Register Kein Hardwareinterpreter erforderlich 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Architektur AP7 Vom Ansatz RISC-Architektur Hat aber auch CISC-Befehle SIMD-Befehle Befehle für CoProzessor Je mehr Funktionalität auf dem Chip integriert ist, desto eher sind auch Ansätze von CISC zu erkennen 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller

Dipl.-Inf Swen Habenberger - VL Mikrocontroller Fragen? 9. November 2009 Dipl.-Inf Swen Habenberger - VL Mikrocontroller