Inhaltsverzeichnis | 10 |
Vorwort | 18 |
Prolog | 22 |
Spannungsversorgung der Schaltungen | 24 |
Sicherheitshinweise | 26 |
Embedded Systems | 28 |
1.1 Einführung | 28 |
1.1.1 Design von Embedded Systems | 30 |
1.1.2 Hardware für Embedded Systems | 31 |
1.2 Embedded Linux | 33 |
1.3 Was man fur¨ Embedded Linux benötigt | 35 |
1.4 Linux booten | 40 |
1.4.1 Den Kernel booten | 41 |
1.4.2 System V-Init | 43 |
1.5 Entwicklungsumgebung | 45 |
1.6 Hardwarezugriffe | 47 |
1.7 Grafikausgabe | 48 |
1.8 Linux ganz klein | 52 |
Die eigene Linux-Distribution | 58 |
2.1 Einführung | 58 |
2.2 Das Root-Dateisystem bauen | 60 |
2.2.1 Konfiguration des Kernels | 61 |
2.2.2 Kompilation des Kernels | 62 |
2.2.3 Installation des Kernels | 62 |
2.2.4 Root-Dateibaum erstellen | 64 |
2.2.5 Aufbau des Verzeichnisbaums | 66 |
2.2.6 CD-ROM brennen | 73 |
2.2.7 Inhalt von ISO-Dateien ändern | 78 |
2.2.8 Live-CD auf die Schnelle | 79 |
2.3 Weitere Wege zur eigenen Distribution | 80 |
E/A-Programmierung | 82 |
3.1 Compiler und Bibliotheken | 83 |
3.2 Prozesse und Signale | 85 |
3.2.1 Prozesse | 86 |
3.2.2 Signale | 93 |
3.2.3 Prozesskommunikation mit Pipes | 101 |
3.2.4 Programme schlafen legen | 105 |
3.3 User-Mode-Programmierung | 106 |
3.3.1 Programme mit Root-Rechten ausstatten | 106 |
3.3.2 UID und GID | 107 |
3.3.3 Zugriff auf E/A-Ports im User-Space | 109 |
3.4 Device-Treiber | 112 |
3.4.1 Das Device-Konzept | 112 |
3.4.2 Konzept der Gerätetreiber | 115 |
3.4.3 Kernel-Module | 117 |
3.4.4 Portbereiche reservieren | 120 |
3.4.5 Dateifunktionen implementieren | 121 |
3.4.6 Daten von Treiberinstanzen | 130 |
3.4.7 IO-Control | 131 |
Standard-PC-Schnittstellen | 134 |
4.1 PC-Schnittstellen | 134 |
4.2 Die serielle Schnittstelle | 135 |
4.2.1 Die serielle PC-Schnittstelle | 136 |
4.2.2 Die RS232C-Schnittstelle (V.24) | 140 |
4.2.3 Die RS422-Schnittstelle | 142 |
4.2.4 Die RS485-Schnittstelle | 143 |
4.2.5 Die Stromschnittstelle(TTY) | 145 |
4.2.6 Programmierung mit C | 147 |
4.2.7 Programmierung mit Perl | 158 |
4.3 Die parallele Schnittstelle | 159 |
4.3.1 Hardware der parallelen Schnittstelle | 160 |
4.3.2 Port-Typen | 166 |
4.3.3 Programmierung der parallelen Schnittstelle | 168 |
4.3.4 Die Parapin-Bibliothek | 171 |
4.3.5 Ansprechen der Schnittstelle in Perl | 174 |
4.4 Der Joystick-Port | 175 |
4.5 Der interne Lautsprecher | 179 |
4.6 Die Tastaturschnittstelle | 182 |
4.7 Die USB-Schnittstelle | 184 |
4.7.1 USB-Hardware | 185 |
4.7.2 USB-Geräte für Linux | 188 |
Chip-Schnittstellen | 192 |
5.1 Die SPI-Schnittstelle | 192 |
5.2 Der I2C-Bus | 194 |
5.3 Der 1-Wire-Bus | 195 |
Digitale Ein- und Ausgabe | 198 |
6.1 TTL und CMOS koppeln | 198 |
6.2 Eingangs-Interface-Schaltungen | 199 |
6.3 Taster und Schalter | 200 |
6.3.1 Kontaktprellen | 200 |
6.3.2 Tastatur-Interfaces | 201 |
6.3.3 Reed-Kontakte und Hall-Schalter | 203 |
6.3.4 Optokoppler | 206 |
6.4 Ausgangs-Interface-Schaltungen | 207 |
6.4.1 Verstärker-ICs | 208 |
6.4.2 Feldeffekt-Transistoren | 210 |
6.4.3 IGBTs | 212 |
6.4.4 Optokoppler | 213 |
6.4.5 Ansteuerung von Wechselspannungsverbrauchern | 213 |
6.4.6 Halbleiter-Relais | 215 |
6.4.7 Relais | 217 |
6.4.8 Jogdial einmal anders | 228 |
Motorsteuerung | 230 |
7.1 Einführung | 230 |
7.2 Entstörung | 231 |
7.3 Motoren steuern mit einer H-Brücke | 232 |
7.3.1 H-Brücke (H-Bridge) mit diskreten Bauteilen | 232 |
7.3.2 H-Brücke mit integrierten Schaltungen | 235 |
7.4 Drehzahlsteuerung mittels PWM | 239 |
7.5 Servosteuerung | 242 |
7.5.1 Der FT 639 | 244 |
7.5.2 Der MIC 800 | 250 |
7.6 Schrittmotoren | 252 |
7.6.1 Arbeitsprinzip von Schrittmotoren | 253 |
7.6.2 Ansteuerung eines Schrittmotors | 254 |
7.6.3 Kenngrößen eines Schrittmotors | 257 |
7.6.4 Schrittmotor-Interface | 258 |
7.6.5 Beschleunigung und Verzögerung | 262 |
Anzeigen und Displays | 266 |
8.1 LED-Anzeigen | 266 |
8.2 Displays | 272 |
8.2.1 LCD- und OLED-Grundlagen | 273 |
8.2.2 Displaytypen | 275 |
8.2.3 Zeichenadressierung | 276 |
8.2.4 Anschluss des LC-Displays | 277 |
8.2.5 Ansteuerung von LCDs | 280 |
8.2.6 Eigene Zeichen definieren | 284 |
8.2.7 Initialisierung des Displays | 286 |
8.2.8 Display-Software | 287 |
8.3 LCD für Warmduscher | 290 |
8.4 Grafikdisplays | 291 |
Fernschalten | 296 |
9.1 Infrarot-Fernsteuerung | 296 |
9.2 Funk-Fernsteuerung | 300 |
9.3 Fernsteuerung per Mobiltelefon | 305 |
Digitale Fotosensoren | 310 |
10.1 Fotohalbleiter | 311 |
10.1.1 Fotoelemente und Fotodioden | 311 |
10.1.2 PIN-Dioden | 312 |
10.1.3 Fototransistoren | 312 |
10.1.4 Fotowiderstände | 313 |
10.2 Lichtschranken | 313 |
10.2.1 Exkurs: Timerbaustein NE555 | 314 |
10.2.2 Lichtschranken mit Gleichlicht | 316 |
10.2.3 Lichtschranken mit Wechsellicht | 319 |
10.3 Optische Abstands-Sensoren | 323 |
10.3.1 Abstandssensor IS471F | 323 |
10.3.2 Abstände per Infrarot messen | 324 |
Die analoge Welt | 328 |
11.1 Analogschaltungen | 328 |
11.1.1 Kondensatoren | 329 |
11.1.2 Festwiderstände | 330 |
11.2 Operationsverstärker-Grundlagen | 330 |
11.2.1 Operationsverstärker-Grundschaltungen | 331 |
11.2.2 Operationsverstärker-Kenngrößen | 333 |
11.2.3 Differenzverstärker | 335 |
11.3 Die Digital-Analog-Wandlung | 338 |
11.3.1 Digital-Analog-Wandler | 338 |
11.3.2 Realisierung von D/A-Wandlern | 340 |
11.4 Die Analog-Digital-Wandlung | 344 |
11.4.1 Das Abtasttheorem | 344 |
11.4.2 Analog/Digital-Wandler | 346 |
11.4.3 Sample-and-Hold-Schaltung | 348 |
11.4.4 Konversionsfehler | 348 |
11.4.5 Realisierung von A/D-Wandlern | 349 |
Messung von Spannung, Strom und Widerstand | 356 |
12.1 Präzisions-Widerstands-Vorteiler | 357 |
12.2 Widerstandsmessung | 361 |
12.3 Messbrücke | 362 |
Sensoren | 366 |
13.1 Potentiometer als Weg- oder Winkelsensoren | 367 |
13.2 Temperatursensoren | 367 |
13.2.1 Heißleiter | 367 |
13.2.2 Kaltleiter | 368 |
13.2.3 Platin-Temperaturmesswiderstand | 370 |
13.2.4 Halbleiter-Temperatursensoren | 371 |
13.2.5 Temperaturmessung mit Thermoelementen | 377 |
13.2.6 Temperaturmessung mit Quarzen | 380 |
13.3 Druck- und Kraftsensoren | 380 |
13.3.1 Dehnungsmessstreifen | 381 |
13.3.2 Folien-Kraftsensoren | 383 |
13.3.3 Drucksensoren | 384 |
13.4 Beschleunigungs-Sensoren | 390 |
13.5 Kompass-Sensoren | 392 |
13.6 Kapazitive Sensoren (Feuchtesensoren) | 395 |
13.7 Schallsensoren | 400 |
13.8 Gassensoren | 410 |
13.9 Messung von Radioaktivität | 419 |
13.9.1 Der Geigerzähler | 420 |
13.9.2 Geigerzähler-Schaltungstechnik | 422 |
13.9.3 Software zum Zählen der Impulse | 425 |
13.10 Spezielle Fotosensoren | 426 |
13.10.1 Licht-Spannungs-Wandler | 426 |
13.10.2 Farbsensoren | 426 |
13.11 Bewegungsmelder | 429 |
13.11.1 Infrarot-Bewegungsmelder | 429 |
13.11.2 Radar-Bewegungsmelder | 430 |
13.12 Kameraüberwachung | 432 |
Datenauswertung | 434 |
14.1 Messfehler | 434 |
14.2 Filterung von Messwerten | 435 |
14.3 Statistische Verarbeitung von Messwerten | 437 |
14.3.1 Tabellarische und graphische Darstellung | 437 |
14.3.2 Mittelwert, Varianz, Standardabweichung, Standardfehler | 440 |
14.3.3 Minimum, Maximum, Median, Modalwert | 442 |
14.3.4 Aufrufbeispiel | 443 |
14.3.5 Lineare Regression | 443 |
14.4 Grafik-Tools für die Messwert-Darstellung | 446 |
14.4.1 Gnuplot | 448 |
14.4.2 LabPlot | 450 |
14.4.3 Datendarstellung mit MRTG | 451 |
Anhang | 454 |
A.1 Literatur | 454 |
A.2 Links | 456 |
A.3 Bezugsquellen | 458 |
Stichwortverzeichnis | 460 |