Zustandsmaschinen-Design Tool-Support für einfache Applikationsentwicklung
Das Evaluierungskit eZ430 Chronos von Texas Instruments hat die Form einer Sportuhr und dient in diesem Beitrag zur Grundlagenforschung bei der Entwicklung von Zustandsmaschinen. Wie lässt sich mithilfe des IAR-Tools visualSTATE und des TI-Mikrocontrollers MSP430 die Entwicklung ereignisgesteuerter, zustandsbasierter Applikationen vereinfachen?
Anbieter zum Thema
TIs Evaluierungskit basiert auf einer herkömmlichen Sportuhr mit Pulsüberwachung sowie einem 3-Achsen-Beschleunigungs- und Drucksensor. Mithilfe ihrer Funkübertragung kann die Uhr nicht nur als Sportuhr, sondern auch als drahtlose Maus oder zur Wireless-Steuerung von Dia-Fotopräsentationen verwendet werden. Betrachtet man eine gängige Sportuhr auf einer abstrakten Ebene, ist sie ein gutes Beispiel für ein ereignisgesteuertes System, das zu einer bestimmten Zeit in einem von mehreren verschiedenen Modi oder Sub-Modi arbeitet.
Eine Liste abstrakter Ereignisse, die für eine Applikationserstellung auf dieser Plattform interessant ist, lässt sich schnell erstellen:
- Tasterbetätigung: die Uhr verfügt über fünf Bedientasten. Die Original-Firmware reagiert auf deren Betätigung und weist bei längerem Drücken (2 s) zweier Tasten eine Funktion zu. Auch das wiederholte Betätigen wird erkannt und verarbeitet, d.h. ein kontinuierliches Drücken erzeugt eine Reihe von Taster-Events.
- Timer-Events: Eine Reihe von Timern kann in Betrieb sein und periodische Events erzeugen. Eine Stoppuhr benötigt z.B. genaue Timer-Events bei hoher Geschwindigkeit, um das Display aufzufrischen. Auch die Herzfrequenz wird regelmäßig abgefragt – zumindest auf Applikationsebene. Der Datenkommunikationsablauf mit dem Brustgurt ist in einer Reihe proprietärer Bibliotheken abgelegt. Der Ablauf anwenderdefinierter Alarme oder das Überschreiten anwenderseitig festgelegter Grenzwerte der Herzfrequenz kann als abstrakter Event angesehen werden, der einen Einfluss auf das Verhalten der Applikation haben soll.
Ressourcenbeschränkte MCU
Die Uhr bietet verschiedene Betriebsmodi (Zustände), in denen die o.g. Events eine andere Funktion einnehmen können:
- Stoppuhr-Modus
- Zeit und Datum einstellen
- Wake-up-Alarmmodus
- Verschiedene Display-Modi zur Wahl der Displaydarstellung
- Energieverbrauchsschätzung während einer Übung
Eine Anwendung wie diese – mit einer ressourcenbeschränkten MCU – basiert oft auf dem „Fat Interrupt Routine“-Idiom, bei dem der Großteil der Applikationslogik über eine Reihe von Interrupt-Funktionen verteilt wird. So zählt die Haupttimer-Interruptfunktion für die eZ430-Chronos-Originalfirmware ca. 180 Zeilen, einschließlich einzeiliger Kommentare und Leerzeilen. Die Funktion ist für zahlreiche Applikationsmerkmale verantwortlich, indem sie Funktionsaufrufe und die Bearbeitung globaler Daten übernimmt.
(ID:356663)