05.07.2013 Aufrufe

Diplomarbeit ? Konzeption und Evaluierung eines ... - CES

Diplomarbeit ? Konzeption und Evaluierung eines ... - CES

Diplomarbeit ? Konzeption und Evaluierung eines ... - CES

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Hardwareabstraktion<br />

4.1. Softwarearchitektur<br />

Damit sich der Entwurf der auf dem Sensorknoten laufenden Anwendung quasi vollständig<br />

auf die Programmlogik konzentrieren kann, wird von der Firmware eine große<br />

Menge an Funktionen angeboten, um einfach auf die Hardware des Knotens zugreifen<br />

zu können. Der Zugriff auf die Hardware erfolgt hierbei über normale Funktionsaufrufe.<br />

Um beispielsweise die Spannung der Stromversorgung (<strong>und</strong> somit dem Ladezustand<br />

der Akkus) abzufragen, genügt es, die entsprechende Funktion aufzurufen.<br />

Selbstverständlich kann die jeweilige Anwendung auch direkt auf die Hardware zugreifen,<br />

sofern dies nötig ist.<br />

” Callback“ Mechanismus<br />

Damit die Anwendung nicht ständig aktiv nachfragen muss, ob neue zu verarbeitende<br />

Ereignisse vorliegen, bietet es die Firmware an, für bestimmte Ereignisse eigene Funktionen<br />

2 anzumelden, welche dann aufgerufen werden, wenn das Ereignis auftritt. Da<br />

die Ereignisse überwiegend von der Hardware ausgelöst werden (<strong>und</strong> zwar auch dann,<br />

wenn die CPU in einem Stromsparzustand ist), trägt diese Vorgehensweise auch zum<br />

Energiesparen bei.<br />

Die Firmware verwaltet hierzu eine Liste mit Funktionspointern. Wenn ein Ereignis<br />

auftritt, welches einen ” Callback“ auslösen kann, wird statt des direkten Sprungs auf<br />

den Funktionspointer eine Wrapper-Funktion aufgerufen. Diese überprüft dann, ob das<br />

Sprungziel überhaupt existiert <strong>und</strong> eine gültige ” Callback-Funktion“ ist <strong>und</strong> führt erst<br />

dann den Sprung aus. Über bestimmte Funktionen kann die Anwendung ihre eigenen<br />

Funktionen in diese Liste eintragen lassen. Es ist somit nicht nötig, alle möglichen ” Callbacks“<br />

in der Anwendung zu implementieren. Es müssen nur die von der Anwendung<br />

benötigten Funktionen implementiert <strong>und</strong> registriert werden.<br />

RF Komponente<br />

Da die Ansteuerung des Funkchips von jeder Anwendung benötigt wird (<strong>und</strong> auch von<br />

der Firmware selbst zur Durchführung des kabellosen Softwareupdates), wurde eine<br />

komplette Softwarekomponente zur Konfiguration <strong>und</strong> Verwendung des Funkchips in<br />

der Firmware implementiert.<br />

Die API 3 der Komponente erlaubt es, Pakete mit einer Länge von bis zu 64kByte zu<br />

senden <strong>und</strong> zu empfangen. Ebenfalls unterstützt wird der ” Wake-on-Radio“ Mechanismus<br />

(siehe 3.3.1 <strong>und</strong> 4.3.1). Über die bereits vorgestellte Callback-Schnittstelle kann die<br />

2 Die aufgerufenen Funktionen werden ” Callback-Funktionen“ genannt.<br />

3 API steht für engl. application programming interface, deutsch: ” Schnittstelle zur Anwendungsprogrammierung“.<br />

Im weiteren Sinne wird die Schnittstelle jeder Bibliothek (Library) als API<br />

bezeichnet.<br />

33

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!