320 likes | 548 Views
Microcontroller. Dipl.-Inf. Swen Habenberger Vorlesung 16.11.2009. Inhalt. Theorie Wiederholung Begriffe 1. Vorlesung Computerarchitekturen Bussysteme Praxis Erste Schritte mit dem NGW 100 Kommunikationstest des NGW100 Erste Schritte Entwicklungsumgebung. Eckdaten Vorlesung.
E N D
Microcontroller Dipl.-Inf. Swen Habenberger Vorlesung 16.11.2009
Inhalt • Theorie • Wiederholung Begriffe 1. Vorlesung • Computerarchitekturen • Bussysteme • Praxis • Erste Schritte mit dem NGW 100 • Kommunikationstest des NGW100 • Erste Schritte Entwicklungsumgebung Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Eckdaten Vorlesung • Powerpoint-Folien • http://www.habenberger-soft.de • Prüfungsleistung • Klausur: 100 Minuten • Anfang/Mitte März • Fragen fast ausschliesslich zum Theorieteil der Vorlesung • Prüfungsvorbereitung in Form eines Fragenkatalogs Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
1. Kurzumfrage • Überlege 5 Kriterien, welche du für die Auswahl eines µC als die wichtigsten ansiehst • Ordne die Kriterien der Wichtigkeit nach • Schreibe die Kriterien auf ein Blatt und gib es dem Dozenten Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Wiederholung Begriffe • Benchmark • Dhrystone • Whetstone • Architektur • RISC • CISC • Adressierungsarten • 1-Adressmaschine • 2- Adressmaschine • 3- Adressmaschine Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Programmierung • Jede Software besteht aus einem oder mehreren Befehlen • Wie verarbeitet und interpretiert der µC diese Befehle? • Fest gelegte Reihenfolge des Ablaufs der Verarbeitung jedes einzelnen Befehls • Übersetzung von • Hochsprache in Assembler • Assembler in Instructioncode (Hexcode) • Instructioncode in Microcode Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Von-Neumann-Zyklus • Der Prozess der Befehlsverarbeitung in einem µC geschieht mit Hilfe des von-Neumann-Zyklus • FETCH • DECODE • FETCH OPERANDS • EXECUTE • UPDATE PROGRAM COUNTER (PC) • Jeder neue Befehl durchläuft diesen Zyklus Dipl.-Inf Swen Habenberger - VL Mikrocontroller
Instruction Set • Jeder Prozessor besitzt eine gewisse Anzahl an Befehlen • Arithmetische Befehle (ADD, MUL, DIV) • Logische Operationen (AND, OR, NOT) • Daten Operationen (LOAD/STORE) • Sprung Operationen (JMP, BEQ, CALL) • Diese Befehle sind als Schaltungen (Microcode) im Prozessor realisiert Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Aufbau Befehl • Operationcode • Jeder Befehl ist durch eine eindeutige Bitfolge kodiert • Häufig bis 128 Befehle (AVR32: 256) • Operand1 bis Operand 3 • Die Anzahl der Operanden hängt von der Architektur und vom Befehl ab • RET (0 Operanden) • JMP Adresse (1 Operand) • MOVE #2, Adresse • ADD OP1, OP2, OP3 Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Mögliche Operanden • Immediate Operand • Memory Direct • Register Direct • Register Indirect • Register Indirectwith Offset • Register Indirectwith Scale Factor • Register Indirectwith Offset and Scale Factor Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Orthogonaler Instruction Set • Jeder Befehl kann jeden Typ von Daten mit jeder Adressierungsart des Prozessors verwenden • Keine 2 Befehle haben die gleiche Funktion • Fast orthogonal: • Die meisten Befehle können alle Adressierungsarten benutzen • Dies bewirkt, dass es z.B. für ADD-Befehle mehrere Operationcodesexistieren Dipl.-Inf Swen Habenberger - VL Mikrocontroller
Von-Neumann-Zyklus • Der Prozess der Befehlsverarbeitung in einem µC geschieht mit Hilfe des von-Neumann-Zyklus • FETCH • DECODE • FETCH OPERANDS • EXECUTE • UPDATE PROGRAM COUNTER (PC) • Jeder neue Befehl durchläuft diesen Zyklus Dipl.-Inf Swen Habenberger - VL Mikrocontroller
AP7 Microcontroller Aufbau Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Computerarchitekturen • Alle Microcontroller (Computersysteme) lassen sich einer von 2 Architekturen zu ordnen: • Von-Neumann-Architektur • Harvard-Architektur Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Von-Neumann Architektur Dipl.-Inf Swen Habenberger - VL Mikrocontroller
Harvard-Architektur Dipl.-Inf Swen Habenberger - VL Mikrocontroller
Harvard Architektur • Befehlsspeicher ist physisch vom Datenspeicher getrennt • Vorteil: • Daten können parallel zu den Befehlen geschrieben und gelesen werden • Keine Überschreibung des Programmspeichers durch Daten • Nachteil: Ungenutzter Programmspeicher kann nicht genutzt werden Dipl.-Inf Swen Habenberger - VL Mikrocontroller
Vorteile / Nachteile • Befehlswortbreite kann unabhängig von der Datenwortbreite gewählt werden • Unterschiedliche Adressbreiche für Befehle und Daten erfordern spezielle Compiler und Programmieraufwand Dipl.-Inf Swen Habenberger - VL Mikrocontroller
Fragen? Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Erste Schritte mit dem NGW100 • Kommunikationsmöglichkeiten • RS232 • USB • TCP/IP • Programmiermöglichkeiten • JTAG • Programme „installieren“ Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Kommunikation RS232 • Möglichkeit via Hyperterminal Daten von und an das NGW100 zu schicken. • Steuerung des NGW100 via RS232 • Möglichkeit der Ansteuerung eines weiteren Gerätes vom NGW100 aus • Alle Ausgaben von Linux(NGW100) werden via RS232 ausgegeben • Funktioniert (fast) immer Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Kommunikation USB • Das NGW100 verfügt über einen USB-B Anschluss • USB-B steht nur im „Slave“-Modus zur Verfügung, d.h. es kann selbst keine Verbindung zu einem anderen USB-Gerät aufbauen • Häufigster Anwendungszweck: • SD-Karte als Datenaustauschmedium • Funktioniert nur wenn auch USB-Gerät angeschlossen ist Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Kommunikation via TCP/IP • Telnet • SSH • FTP • HTTP • In dieser Vorlesung wird die TCP/IP-Kommunikation am häufigsten eingesetzt werden • Einfache Terminalsoftware Windows: • Putty Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Telnet / SSH • Einfache textorienierte Kommunikation • SSH ist verschlüsselt und daher sicherer als Telnet • Im Normallfall sollte ssh verwendet werden um eine abhörsichere Leitung zu benutzen • Telnet ist aber für unseren Anwendungsfall völlig ausreichend • Auf Grund der mangelnden Verschlüsselung arbeitet das Telnet-Protokoll schneller Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
FTP / HTTP • File Transfer Protocol (FTP) ermöglicht den Transport von Dateien zwischen 2 Kommunikationspartnern • Hypertext Transfer Protocol (http) ermöglicht die Übermittlung von Webseiten Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Fragen? Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Übungsaufgabe • Führe die nachfolgenden Übungsaufgaben aus • Setup NGW100 • Erste Anwendung des NGW100 Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Übungsaufgabe • Erstes selbstgeschriebenes Programm NGW100 Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Datentransfer auf NGW100 • Via FTP wird das Programm auf das NGW100 gespielt • Via Telnet wird das Programm ausgeführt Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Datentransfer auf NGW100 • Öffnen einer Konsole • Cd avr32studio • Cdworkspace • Cdhallowelt • CdDebug • ftp 10.0.0.1 • Puthallowelt.elf • Quit Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller
Ausführen eines Programmes auf NGW10 • Öffnen einer Konsole • telnet 10.0.0.1 • ./hallowelt.elf Dipl-Inf. Swen Habenberger 16.11.2009 – VL Microcontroller