Echtzeit Betriebssysteme Was ein RTOS für Embedded-Anwendungen leistet und was bei der Auswahl zu beachten ist
Ein RTOS kann die steigende Software-Komplexität bewältigen und erlaubt Anwendungen in Echtzeit. Was es bei der Wahl eines RTOS zu beachten gilt, zeigen wir Ihnen im folgenden Beitrag.
Anbieter zum Thema
Die Selektionskriterien für leistungsfähige Mikrocontroller haben sich in den letzten Jahren grundlegend gewandelt: Die Eigenschaften des Bauteils treten in den Hintergrund, im Fokus steht zunehmend die Infrastruktur durch 3rd Parties, das sogenannte Ecosystem.
Deshalb hat Rutronik sein Portfolio längst über die Komponenten hinaus erweitert und bietet zu den Mikrocontrollern auch passende Software, allen voran Echtzeit Multitaskingsysteme (RTOS).
Gründe für die steigende Komplexität der Software
Bei Embedded-Anwendungen verzeichnen innerhalb der Ecosysteme vor allem die Echtzeit-Multitaskingsystemen (RTOS) eine wachsende Beliebtheit. Die Gründe dafür liegen allen voran in der stetig wachsenden Software-Komplexität und in der Forderung nach Echtzeitverhalten der Applikation.
Gründe für die zunehmende Komplexität der Programme sind etwa neue Normen und Gesetze zur Sicherheit, ein steigender Software-Aufwand für die Mensch-Maschine-Schnittstelle wie Touch-Bedienungen oder Grafikdisplays, und die Forderung nach PC-kompatiblen Schnittstellen durch den verstärkten Anschluss von Embedded-Produkten an die PC-Welt.
Die steigende Echtzeit-Forderung resultiert aus dem vermehrten Vordringen elektronischer Systeme in sicherheitsrelevante Bereiche, dem Wunsch nach geringerem Energieverbrauch, der Integration analoger Funktionen in den Mikrocontroller durch die digitale Signalverarbeitung sowie den parallelen Einsatz mehrerer komplexer Schnittstellenprotokolle, darunter auch Echtzeit-Protokolle, wie ProfiNET.
RTOS managt steigende Software-Komplexität und ermöglicht Echtzeitverhalten
Beide Herausforderungen beantworten RTOS: Sie helfen, die steigende Software-Komplexität zu bewältigen und ermöglichen Anwendungen mit Echtzeitverhalten. Im Kern eines RTOS verteilt ein Steuerprogramm, der Scheduler), die CPU-Zeit und damit die Rechenleistung an die verschiedenen Aufgaben (Tasks) nach bestimmten Regeln. Allen Tasks sind in einem Task Control Block bestimmte Eigenschaften zugeordnet, wie die Priorität und der Zustand, in dem sich die Task befindet (Running, Ready, Suspend).
Beim Prioritätsscheduling startet der Scheduler die Task mit der höchsten Priorität, die sich zugleich im Ready-Zustand befindet. Eine eventuell bereits laufende Task wird durch eine mit höherer Priorität unterbrochen (Preemptive Task Scheduling).
Für diese Grundaufgabe benötigt das RTOS einen Timer mit zugehöriger Interrupt Service Routine. Falls vorhanden bietet sich hierfür der Core-Timer einer CPU an, denn damit wird das RTOS einfach portabel für alle Implementierungen dieser CPU. Andernfalls übernimmt ein einfacher Intervalltimer aus dem Peripheralset diese Aufgabe.
Effektivere CPU-Ausnutzung mit RTOS
Nach dem Motto: So oft wie nötig und so selten wie möglich, ordnet ein RTOS die Aufrufintervalle den Tasks individuell zu. Dadurch werden Aufgaben, die mit niedriger Aufruffrequenz arbeiten können, auch entsprechend selten gestartet. Die CPU-Zeit wird nur dort eingesetzt, wo sie wirklich benötigt wird. Das steigert die Effektivität und eröffnet die Möglichkeit, entweder die Taktfrequenz der CPU im Vergleich zu der einer einfachen Superloop zu senken oder sie häufiger in einen Schlafmodus zu versetzen und so Energie zu sparen. Das macht RTOS besonders für batteriebetriebene Geräte äußerst interessant.
Auf der nächsten Seite: Wie die Datenkonsistenz gewahrt bleibt
(ID:30259480)