Laudatio Workshop Entwicklersession zu Gemeinsamkeiten in Forschungsdatenrepositorien
Mikrocontroller - PHYSnet-RZ · PDF file2 / 34 Was sind Mikrocontroller, wozu sind sie...
Transcript of Mikrocontroller - PHYSnet-RZ · PDF file2 / 34 Was sind Mikrocontroller, wozu sind sie...
1 / 34
Mikrocontrollereine Einführung
Florian Schmitt - 16.11.2010
2 / 34
● Was sind Mikrocontroller, wozu sind sie nützlich?● Unterschiede und Gemeinsamkeiten mit dem PC ● Wie funktionieren Mikrocontroller● Probleme und Schwierigkeiten● Aussicht: Möglichkeiten, zukünftige Entwicklung
Inhalt
3 / 34
● Halbleiterchips● Prozessor mit vielen Zusatzfunktionen● Integrierte Speichermöglichkeiten● „Ein-Chip-Computersystem“
Beispiele für integrierte Funktionen:● Einfache Parallelausgänge 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
1 0 1 0 0 0 1 1
5V = 1GND = 0
163
Port als Eingang
10 / 34
Port B
1 0 1 0 0 0 1 1
5V = 1GND = 0
163
Port als Ausgang
11 / 34
● embedded systems (engl.)● Ein elektronischer Rechner, der im technischen Kontext
in einem System (Gerät) eingebunden ist.● Sowohl Mikrocontroller als auch ganze Computer
Aufgaben des Rechners:● Schalten, steuern, messen, überwachen, ...
Eingebettete Systeme
12 / 34
● Auto● Waschmaschine● Handy● Getränke- / Kaffeeautomat● … viele mehr
Beispiele:
13 / 34
Im Grunde enthält ein Mikrocontroller einen kleinen PC:
● Arbeitsspeicher / RAM● nichtflüchtige Speicher (z.B. Flash, EEPROM)● Prozessor● Eingabe- und Ausgabefunktionen (Tasten, Display)● Netzwerkfunktionen
Vergleich: Mikrocontroller vs. PC
14 / 34
Vergleich: Anwendung
ATMega8-16 PC
Verbrauch 0,05 W (5V / 8MHz) 0,01 W (3V / 4MHz)
100 W
ProzessortaktWortlänge
16 MHz8 Bit
1 bis 3 Ghz32 Bit / 64 Bit
Architektur Harvard Von-Neumann
Größe / Mobilität 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 sonderngebräuchliche Werte.
15 / 34
Vergleich: Einsatzmöglichkeiten
µC Computer
Datenbanken
Webserver
AufwendigeBerechnungen
Tragbare Geräte (MP3-Player)
Steuerungen
Messstationen
Batteriegeräte (Digitalwecker)
Maus,Tastatur,
USB-Stick,Drucker,
CNC-Fräse
Home-PC
16 / 34
Vergleich: Architektur
17 / 34
18 / 34
Assembler ist eine Programmiersprache, welche die
Maschinensprache eines Prozessors für 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, r1
Maschinencode: 0000.1100.000.0001
1 Byte - Befehl
1 Byte - Wert
Exkurs: Assembler
20 / 34
Assembler: Programmbeispiel
ldi r16, 90
ldi r17, 10
add r16, r17
inc r17
Veranschaulichung: Büro / Fächer
21 / 34
Assembler: Programmbeispiel
ldi r16, 90
ldi r17, 10
add r16, r17
inc r17
Veranschaulichung: Büro / Fächer
22 / 34
23 / 34
24 / 34
25 / 34
26 / 34
27 / 34
28 / 34
Mikrocontroller in C programmieren
void main() {
DDRD = 0b11111111;
while(1) {
PORTD = 0b11111111;
_delay_ms(1000);
PORTD = 0b11111110;
_delay_ms(1000);
}
}
29 / 34
Probleme und Schwierigkeiten● Abhängig von Bauart und Hersteller● Systemnahe Programmierung: Zugriffsfehler ● Vorsicht bei zeitkritischen Algorithmen!● Überlauf: Wert > Wortlänge (> 255)● Meist geringere Wortlänge – Berechnungen mit großen
Zahlen schwierig und zeitintensiv● Fehler bei eingebetteten System besonders
problematisch
30 / 34
Aussicht
Sensoren können leicht vernetzt werden:
● Anbindung an große Netzwerke oder das WWW● Übertragen der Messwerte an Rechner zur Auswertung● Zugriff von mehreren Stellen im Netzwerk
Das ermöglicht:
● Bessere Steuerungen (Ampeln, Aufzüge)● Bessere Zugänglichkeit (Stau, Wetterdaten im Web)● Systeme werden deutlich flexibler
31 / 34
Aussicht
Auch in der Experimentalphysik immer wichtiger:
● Schnelle, effiziente und sichere Verarbeitung von
Messwerten● Zugang von verschiedenen Stellen zur Überwachung● Sensoren können auch weitere Daten senden, z.B. ob
das Lämpchen einer Lichtschranke defekt ist
32 / 34
Aussicht
Probleme:
● Netzwerke können leicht von außen Manipuliert werden● Systeme werden komplizierter● Fehler in der Programmierung sind fatal● Abwägung von Nutzen und Aufwand
33 / 34
Aussicht
Beispiele:
● Fehler durch falsche Zeitberechnung im µC● Neuer Personalausweis● Vernetzte Autos● Handyortung
34 / 34