42
Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Embed Size (px)

Citation preview

Page 1: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung MikrocontrollerTeil 17.1.2008

Dipl.-Informatiker

Swen Habenberger

Page 2: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Organisatorisches

Vorlesungszeiten Mittwoch, 7.45-11.00 Integrierte Übungen

Prüfung Klausur im Mai

Kontakt [email protected]

Folien stehen ab Ende Januar zur Verfügung

Page 3: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Organisatorisches

Literatur Atmel Prozessordatenblätter

Buchempfehlung Bücher sind mit erscheinen bereits veraltet, daher keine

Pflichtlektüre Rechnerorganisation und -entwurf von David A. Patterson, John

L. Hennessy, Arndt Bode, und Wolfgang Karl (20 €) Computerarchitektur. Strukturen - Konzepte - Grundlagen von

Andrew S. Tanenbaum (50 €) Computer Architecture. A Quantitative Approach von John L.

Hennessy und David A. Patterson von Academic Press (45 €)

Fragen und Anregungen sind erwünscht

Page 4: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Page 5: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Überblick

Geschichte des Mikrocontrollers Aufbau und Funktion Mikroprozessor Peripheriekomponenten Datenübertragung

Parallel Seriell

Programmierung eines Mikroprozessors in Assembler

PID-Regler

Page 6: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Was ist ein Mikrocontroller?

Rechenmaschine Beruht auf Mikrochip

Bildet die Reale Welt in ein technische Welt ab Rechnet Bildet die technische Welt wieder in die Reale

Welt ab Heute sind Mikrocontroller omnipräsent

Auto, Waschmaschine, Armbanduhr, Handy, el. Zahnbürste, etc.pp.

Page 7: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Seit wann gibt es Rechenmaschinen?

Abakus ca. 1000 v.Chr. Arabische Welt hat

Grundlagen für die Algebra gelegt

Aryabhata (6. Jh) Rechnet mit 0 Berechnet PI mit 3,1416

Page 8: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Wie ging es weiter?

Gottfried Wilhelm Leibniz 17. Jahrhundert

Mechanischer Rechenautomat

Duales Zahlensystem Matrizen und

Determinanten Infinitesimalrechnung Unterseeboot Begründer der Logik

Page 9: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Industrielle Revolution (19. Jh.)

Jaquard: Lochkarte am Webstuhl

George Boole Boolsche Algebra Aussagenlogik

Hollerith Lochkartenmaschine zur

Volkszählung Wurde 1933 und 1939 in

Deutschland zur Volkszählung eingesetzt

Teil des IBM-Konzerns

Page 10: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Konrad Zuse

Z1-Z4 Z3 erste Turingmaschine

Gleitkommazahlen Grundlagen für IEEE754 Exponent und Mantissendarstellung

Plankalkül Erste Programmiersprache der Welt

Page 11: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Turing

Hat den Enigma-Code entschlüsselt Erfinder des ersten Schachprogamms Turingmaschine Erweitert Gödels Arbeit Erste Computer mit Röhren

Bugs

Page 12: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Eniac

Erster voll digitaler Computer

10x17 m bei 27 t Gewicht 17468 Röhren, 7200

Dioden, 70000 Widerstände

Stromverbrauch: 174 kW

Page 13: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Von-Neumann (1945-1953)

Von-Neumann-Architektur EDVAC-Rechenmaschine Von Neumann-Zyklus

1. FETCH

2. DECODE

3. FETCH OPERANDS

4. EXECUTE

5. (WRITE-BACK)

Page 14: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Transistortechnik

1956 Physiknobelpreis für Mitarbeiter der Bell Labs

Feldeffektransistor (FET) MOSFET, eigentlich MISFET

Bipolartransistor Zuerst aus Germanium Später aus Silizium

Erster europäischer Rechner: Mailüfterl 4x0,5x2,5m groß

Page 15: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Intergrierte Schaltkreise IC

Transistoren werden aus einem Stück Kristall gefertigt Wegfall von Leiterplatten

Patentiert von Texas Instruments 1971 Intel 4004 (1971)

2300 Transistoren

Intel Itanium (2006) 1.700.000.000 Transitoren

Page 16: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Page 17: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Page 18: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Zitate

John C. Edwards, brit. ZukunftsforscherWenn es im Jahre 1879 schon Computer gegeben hätte, würden diese vorausgesagt haben, daß man infolge der Zunahme von Pferdewagen im Jahre 1979 im Pferdemist ersticken würde.

Popular Mechanics, forecasting the relentless march of science, 1949 Computer der Zukunft werden nicht mehr als 1.5 Tonnen wiegen. Thomas Watson, Vorsitzender von IBM, 1943Ich denke, daß es einen Weltmarkt für vielleicht fünf Computer gibt .

Page 19: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Zitate Ken Olson, Präsident, Vorsitzender und Gründer von Digital

Equipment Corp., 1977Es gibt keinen Grund, warum irgend jemand einen Computer in seinem Haus wollen würde.

Michio Kaku, amerik. Physiker u. Hochschullehrer, Prof. f. theoret. Physik, City University of New YorkWer heute eine Geburtstagskarte bekommt, die beim Aufklappen "Happy Birthday" spielt, hat mehr Rechenleistung in der Hand, als die alliierten Streitkräfte im Jahr 1945 besaßen.

André Kostolany - ungarischer Börsenspekulant (1908 - 1999). DV-Systeme verarbeiten, womit sie gefüttert werden. Kommt Mist rein, kommt Mist raus.

„640K ought to be enough for anybody.“,Angeblich Bill Gates, Gründer von Microsoft, 1981

Page 20: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Intel 4004

Page 21: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Amd Opteron

Page 22: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Fragen ?

Page 23: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Microcontroller Mikrocontroller (µController, µC, MCU) sind Chips, die neben dem

Prozessor auch Peripheriefunktionen auf dem Chip vereinen. Arbeits- und Programmspeicher teilweise oder ganz auf dem Chip

System on a Chip (SoC) Peripheriefunktionen:

Controller Area Network (CAN) Local Interconnect Network (LIN) Universal Serial Bus (USB) Inter-Intergrated Circuit (I²C) Serial Peripheral Interface (SPI) Serielle und Parallele Schnittstellen Ethernet-Schnittstellen PWM-Ausgänge LCD-Controller Analog-Digital-Wandler

Einige Mikrocontroller verfügen auch über programmierbare digitale und/oder analoge Funktionsblöcke.

Page 24: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

AVR32 32-bit Microcontroller AT32AP7000 Reduced power consumption and heat dissipation Reduced CPU clock frequency Higher throughput / MHz Ease of development Well-featured, industry standard development tools and OCD

system Rich instruction set Higher Performance Zero-cycle branches SIMD DSP instructions 186 innovative RISC instructions 7-stage pipeline with parallel out-of-order execution Exceptional code-density reduce cache-misses and increase

throughput

Page 25: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Einteilung von Rechnerarchitekturen

Klassifikation nach Flynn Single Instruction – Single Data Stream (SISD)

Klassischer von Neumann-Rechner

Single Instruction – Multiple Data Stream (SIMD) Vectorrechner

Multi Instruction – Multiple Data Stream (MIMD) Multiprozessorsysteme

Multi Instruction – Multiple Data Stream (MISD) Schwer vorstellbar

Page 26: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

MISD

Systolisches Array

Page 27: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

MIMD

Page 28: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

SIMD

Feldrechner Vektorrechner MMX SSE

Algorithmen müssen angepasst werden

Page 29: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

SISD

Von Neumann Architektur

Page 30: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

SISD

Page 31: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Unterteilung von SISD

Complex Instruction Set Computing (CISC) Viele Befehle Mikroprgramme in einem Befehl Mehrere Register können in einem Befehl bearbeitet

werden 4-10 Taktzyklen pro Befehl

Reduced Instruction Set Computing (RISC) Weniger Befehle Viele Register Einführung von Pipelines

Page 32: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Page 33: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

NGW100

Page 34: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Fragen?

Page 35: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Digitale Logik

Technische Darstellung Logische Darstellung

TTL V.24 Transmissionsfaktor

Boolsche Algebra

Schalt-algebra

0.0 .. 0,8 V 12 ..3 V 0..40 % 0 (falsch) L

2,0 .. 5,0 V -3 .. -12 V 70 .. 100 %

1 (wahr) H

Page 36: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Boolesche Alegbra

AND (*) OR (+) NOT XOR NOR NAND

De Morgansche Regeln

Page 37: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Wichtigste Bausteine

Complementary Metal Oxide Semiconductor (CMOS) Auf einem Substrat sind p-Kanal und n-Kanal

realisiert

NAND Elektrisch: Reihenschaltung USB-Stick

NOR Elektrisch: Parallelschaltung EPROM

Page 38: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Komplementdarstellung

Einer-Komplement Höchstwertiges Bit bestimmt das Vorzeichen Negative Zahl

Rechne Dezimalzahl in Binärzahl um Invertiere alle Bits

Nachteil: Doppelte Darstellung der Null

Zweier-Komplement Negative Zahl

Rechne Dezimalzahl in Binärzahl um Invertiere alle Bits Addiere 1

Page 39: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Darstellung von Zahlen

Mensch: Deziamlsystem (Basis 10)

Computer: Binärsystem (Basis 2)

Zwischenform Hexadezimalsystem (Basis 16)

Page 40: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

BCD-Kodierte Zahlen

4 Bits für eine Zahl zwischen 0 und 9 0000 = 0 1001 = 9

Page 41: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Fliesskommazahlen (IEEE754)

X = S * m * b^e S = Vorzeichenbit (i.A. 1 Bit) M = Mantisse (8 Bit / 11 Bit) E = Exponent ( 23 Bit / 52 Bit ) B = Basis (i.A. 2)

Fliesskommaarithmetik ist nicht trivial Prozessoren besitzen eigene

Fliesskommaeinheiten

Page 42: Vorlesung Mikrocontroller Teil 1 7.1.2008 Dipl.-Informatiker Swen Habenberger

Vorlesung Mikrocontroller

Übung zu Binärdarstellung und Hexadezimalzahlen

Übung zu Fliesskommazahlen