Mikrocontroller – Prolog

Allgegenwärtige Mikro-Kontrolle

Computer und Mikrocontroller steuern Drucker, Maschinen, Lichtzeichenanlagen, elektrische Rollläden und mehr. Insbesondere die Steuerung von Bewegung bedarf einer Positionsrückmeldung, die im einfachsten Fall aus einer gerichteten Bewegung bestehen kann, die bis zum Eintreten eines definierten Ereignisses oder bis zum Erreichen eines unplausiblen Betriebszustandes fortgesetzt wird. Eine Positionsrückmeldung kann durch eines Tasters erfolgen, der im Laufe der Bewegung betätigt wird. Elektrische Rollläden beenden ihre Bewegung, sobald ein Endschalter signalisiert, dass der Rollo das Ende seiner Bewegungsrichtung erreicht hat (also unten bzw. oben ist). Auch wenn an die Stelle mechanischer Taster Lichtschranken treten, Signale sind stets eindeutig und unverzüglich (in Echtzeit) auszuwerten. Die Zeitverzögerung zwischen auftretendem Signal und Reaktion bezeichnet man als Latenz(zeit). Eine minimale Verzögerung (Latenz) ergibt sich in der Technik zum Beispiel durch die Laufzeit elektrischer Signale (selbst die Signalübermittlung durch Licht unterliegt einer minimalen Verzögerung). Technische Systeme erfordern zusätzlich eine Zeitspanne zur Verarbeitung von Signalen und der Umsetzung in eine Signalantwort. Eine Reaktion in Echtzeit beschreibt die zuverlässige Reaktion eines Systems innerhalb einer vorgegebenen minimalen Zeitspanne.

Laut Wikipedia definiert der Duden Echtzeitbetrieb als: „Arbeitsweise einer elektronischen Rechenanlage, bei der das Programm oder die Datenverarbeitung (nahezu) simultan mit den entsprechenden Prozessen in der Realität abläuft.“

Die in Klammern erfolgte Einfügung „nahezu“ lässt sich zudem qualitativ weiter charakterisieren in „harte Echtzeit“ und „feste Echtzeit“.

Beispiel: Auf dem PC laufen Programme im Hintergrund, die den Rechner zu beschäftigen, dass Eingaben scheinbar nicht akzeptiert werden. Moderne Flugzeuge und Autos werden nicht mehr unmittelbar/direkt gesteuert, sondern über eine Elektronik. Bilden Sie Beispiele über die Auswirkung variabler Latenz.

Überlegungen zur minimalen Reaktionszeit (harte Echtzeit).

Gegeben sei ein Mikrocontroller, nennen wir ihn ATmega328P, mit einer Taktung von 16 MHz. Es sei weiter für diesen Controller ein Aufbau gemäß Havard-Architektur (Daten und Befehle in getrennten Speicherbereichen) angenommen, was einen beschleunigten Zugriff und Aufbau im Programmauflauf ermöglicht. Wenn eine Reaktion in Echtzeit gefordert ist kann unter Vernachlässigung aller zusätzlich erforderlichen Zugriffe Datenverarbeitungen eine Reaktion nicht in weniger als einem Takt erfolgen. Somit ist die schnellste zu erwartende Reaktionszeit T mit 1 / Taktfrequenz = 1 / 16 MHz = 0,0625 µs oder 62,5 ns zu erwarten. (MHz sprich Megaherz = 106 Hz; µs = 10-6s; ns = 10-9s)

Ist eine schneller Reaktion unabdingbar (=niedrigere hart Echtzeit), kann nur eine höhere Taktung des Prozessors helfen.

In der Regel ist ein Programmcode ist erforderlich, um die benötigte Reaktion sinnvoll auszuführen, dann beeinflussen Programmaufbau und Speicherzugriffe die Reaktionszeit.

Beispiel: Im Falle eines schweren Unfalls soll das Betriebssystem eines Fahrzeugs die weiteren Schäden begrenzen. Die Befehle zum Abschalten der Einspritzpumpe, Klimaanlage, Servosteuerung, Bremskraftverstärkung …. könnten in einer bestimmten Reihenfolge nacheinander erfolgen, was mit jedem Schritt eine zusätzliche Latenz bewirkt. Es könnte alternativ ein Bitmuster aufgerufen werden, bei denen jedes Bit für die Ansteuerung einer Funktionalität steht. Das automatische Auslösen der Alarmblinkanlage, des Airbags etc. könnten im gleichen Takt / Zyklus ausgelöst werden, wie das Abschalten der Einspritzpumpe. Die Blackbox / der Boardcomputer würde in jedem Fall eine Zeit weiterlaufen und die Vorgänge in ihrer zeitlichen Reihenfolge festhalten.
Was bedeutet „Vollwasserschutz“ bei Waschmaschinen für die Überwachung durch den Mikrocontroller? Für den Versicherungsschutz bedeutet es in der Regel, dass die Waschmaschine auch in Abwesenheit einer beaufsichtigen Person waschen darf. (Aquastop, Basisschutz, Überlaufschutz …)