Multitasking mit AVR-RISC-Controllern
Autoren
Mehr zum Buch
Das Buch stellt anhand praktischer Beispiele für die Atmel-8-Bit-Controller mehrere Ansätze für Multitasking-Programme vor. Ausgehend von der Lösung mit einer einfachen Programmschleife werden Multitasking- und Echtzeitkonzepte erläutert – bis hin zur Entwicklung eines echtzeitfähigen, prioritätsgesteuerten, präemptiven Tasking-Systems. Die Ausführungen der verschiedenen Konzepte erfolgen anhand durchgehender Beispiele. Dabei wird zunächst immer die grundlegende Idee vorgestellt, die dann mithilfe der praktischen Beispielen konkretisiert und in einem anschließenden Blick auf die Details vertieft wird. Aufbau des Buchs: Multitasking, Kontext, Real-Time & Co. Begriffliche Erklärungen und grundlegende Mechanismen. Experimentierumgebung Beschreibung der Hard- und Software. AVR-Controller in C programmieren Besonderheiten bei der Programmierung von AVR-Controllern. Multitasking, die Erste: Die Minimalversion Klassischer Ansatz zum Multitasking unter komplettem Verzicht auf einen Scheduler und dem Versuch, alles über Interrupts und eine große Programmschleife zu realisieren. Betrachtung verschiedener Scheduler mit wachsender Komplexität in Theorie und Praxis. Multitasking, die Zweite: Ein Scheduler im Eigenbau Darstellung der Funktionsweise eines einfachen prioritätsgesteuerten Schedulers für zyklische Funktionen. Multitasking, die Dritte: Kooperation ist gefragt Zeigt die Funktionsweise eines kooperativen Schedulers auf der Basis von Dunkels' Protothreads. Multitasking, die Vierte: Präemptives Tasking Vorstellung eines vollständig prioritätsgesteuerten RTOS-Schedulers mit Präemption. Aus dem Inhalt: Kooperatives Round Robin und präemptives Scheduling Multitasking und Echtzeitfähigkeit Hard- und Software für die Programmentwicklung Serielle Schnittstelle initialisieren, Daten senden und empfangen AD-Wandler initialisieren und analoge Spannungswerte einlesen Timer2 als PWM konfigurieren RTC-Drehzahlregler mit Tachogenerator u. m. Scheduler: im Eigenbau und praktischer Einsatz Adam Dunkels' Protothreads COS-Drehzahlregler mit Drehgeber und Hardware-PWM Protothreads: Makros machen's möglich Taskliste, Semaphoren, FIFO, Scheduler und Speicherbedarf Präemptives Tasking und die Idee dahinter Semaphoren: gemeinsam genutzte Ressourcen schützen RTOS: Teste die Möglichkeiten RTOS-Drehzahlregler mit Drehgeber und Hardware-PWM Interface-Schaltung für zwei Gleichstrommotoren mit Drehgeber Pin-Belegung des benutzten Evaluation-Boards Softwaremodule und Beispielprogramme