Author
haminh
View
224
Download
5
Embed Size (px)
1 / 34
Mikrocontrollereine Einfhrung
Florian Schmitt - 16.11.2010
2 / 34
Was sind Mikrocontroller, wozu sind sie ntzlich? Unterschiede und Gemeinsamkeiten mit dem PC Wie funktionieren Mikrocontroller Probleme und Schwierigkeiten Aussicht: Mglichkeiten, zuknftige Entwicklung
Inhalt
3 / 34
Halbleiterchips Prozessor mit vielen Zusatzfunktionen Integrierte Speichermglichkeiten Ein-Chip-Computersystem
Beispiele fr integrierte Funktionen: Einfache Parallelausgnge z.B. zum Steuern Serielle Schnittstellen Ethernet- und USB-Schnittstellen ADC (Analog Digital Converter) Spannungen messen LCD-Controller
Was sind Mikrocontroller?
4 / 34
Was sind Mikrocontroller?
5 / 34
Was sind Mikrocontroller?
6 / 34
Was sind Mikrocontroller?
7 / 34
Programm / Prozessor
Pins
Speicher
Einlesen / Messen
Ausgabe / Steuern
In Speicher schreiben
Aus Speicher lesen
AusgabeEingabe
8 / 34
9 / 34
Port
10100011
5V=1GND=0
163
Port als Eingang
10 / 34
Port B
10100011
5V=1GND=0
163
Port als Ausgang
11 / 34
embedded systems (engl.) Ein elektronischer Rechner, der im technischen Kontext in einem System (Gert) eingebunden ist. Sowohl Mikrocontroller als auch ganze Computer
Aufgaben des Rechners: Schalten, steuern, messen, berwachen, ...
Eingebettete Systeme
12 / 34
Auto Waschmaschine Handy Getrnke- / Kaffeeautomat viele mehr
Beispiele:
13 / 34
Im Grunde enthlt ein Mikrocontroller einen kleinen PC:
Arbeitsspeicher / RAM nichtflchtige Speicher (z.B. Flash, EEPROM) Prozessor Eingabe- und Ausgabefunktionen (Tasten, Display) Netzwerkfunktionen
Vergleich: Mikrocontroller vs. PC
14 / 34
Vergleich: Anwendung
ATMega8-16 PCVerbrauch 0,05 W (5V / 8MHz)
0,01 W (3V / 4MHz)100 W
ProzessortaktWortlnge
16 MHz8 Bit
1 bis 3 Ghz32 Bit / 64 Bit
Architektur Harvard Von-NeumannGre / Mobilitt Klein und leicht Gro und schwer
Fester Speicher 8 kB 80 GB
Ram 1 kB 2-8 GB
Preis 2,40 200-400
Anmerkung: Gegeben sind nicht Maximalwerte sonderngebruchliche Werte.
15 / 34
Vergleich: Einsatzmglichkeiten
C Computer
Datenbanken
Webserver
AufwendigeBerechnungen
Tragbare Gerte (MP3-Player)
Steuerungen
Messstationen
Batteriegerte (Digitalwecker)
Maus,Tastatur,
USB-Stick,Drucker,
CNC-Frse
Home-PC
16 / 34
Vergleich: Architektur
17 / 34
18 / 34
Assembler ist eine Programmiersprache, welche die Maschinensprache eines Prozessors fr den Menschen lesbar macht.
Die Programme laufen sequenziell ab.
Assembler
19 / 34
Assembler wird direkt in Maschinensprache bersetzt
Im Prozessor werden Funktionen durch Zahlenwerte aufgerufen:
Assembler: add r0, r1Maschinencode: 0000.1100.000.00011 Byte - Befehl1 Byte - Wert
Exkurs: Assembler
20 / 34
Assembler: Programmbeispiel
ldir16,90
ldir17,10
addr16,r17
incr17
Veranschaulichung:Bro/Fcher
21 / 34
Assembler: Programmbeispiel
ldir16,90
ldir17,10
addr16,r17
incr17
Veranschaulichung:Bro/Fcher
22 / 34
23 / 34
24 / 34
25 / 34
26 / 34
27 / 34
28 / 34
Mikrocontroller in C programmieren
voidmain(){
DDRD=0b11111111;
while(1){
PORTD=0b11111111;
_delay_ms(1000);
PORTD=0b11111110;
_delay_ms(1000);
}
}
29 / 34
Probleme und Schwierigkeiten Abhngig von Bauart und Hersteller Systemnahe Programmierung: Zugriffsfehler Vorsicht bei zeitkritischen Algorithmen! berlauf: Wert > Wortlnge (> 255) Meist geringere Wortlnge Berechnungen mit groen Zahlen schwierig und zeitintensiv Fehler bei eingebetteten System besonders problematisch
30 / 34
AussichtSensoren knnen leicht vernetzt werden:
Anbindung an groe Netzwerke oder das WWW bertragen der Messwerte an Rechner zur Auswertung Zugriff von mehreren Stellen im Netzwerk
Das ermglicht:
Bessere Steuerungen (Ampeln, Aufzge) Bessere Zugnglichkeit (Stau, Wetterdaten im Web) Systeme werden deutlich flexibler
31 / 34
AussichtAuch in der Experimentalphysik immer wichtiger:
Schnelle, effiziente und sichere Verarbeitung von Messwerten Zugang von verschiedenen Stellen zur berwachung Sensoren knnen auch weitere Daten senden, z.B. ob das Lmpchen einer Lichtschranke defekt ist
32 / 34
AussichtProbleme:
Netzwerke knnen leicht von auen Manipuliert werden Systeme werden komplizierter Fehler in der Programmierung sind fatal Abwgung von Nutzen und Aufwand
33 / 34
AussichtBeispiele:
Fehler durch falsche Zeitberechnung im C Neuer Personalausweis Vernetzte Autos Handyortung
34 / 34
TitelblattGliederungWas sind Mikrocontroller?AVR-ExamplePIC-ExampleBeispielschaltungenArbeitsweisePinbelegung ATMega8Port als EingangPort als AusgangEmbedded SystemsEmbSys ExamplesVergleich: GemeinsamkeitenVergleich: UnterschiedeVergleich: EinsatzVergleich: ArchitekturBlockdiagrammAssemblerAssembler: MaschinencodeAssembler: ProgrammbeispielFolie 21Step Example NotesStep Example 1 Step Example 2Step Example 3Step Example 4Step Example 5Andere ProgrammiersprachenProblemeAussicht IAussicht IIProbleme bei AussichtProblembeispieleFolie 34