ZHAW-Logo OAPA-Logo TAT-Logo
zurück  
Diplomarbeit 2004 (DA04): Arbeits-Archiv
 
DA Sln 04/3 - IDOCAS Client-Server Protokoll fur Datenbank-Update
Studierende: Roman Blochliger, bloecrom
  Silvan Stucki, stucksil

Betreuer: Hans Scheitlin, seil

Dem Projekt IDOCAS liegt die Entwicklung eines intelligenten, verteilten Hindernis- und Kollisionswarnsystems fur die zivile Luftfahrt zu Grunde, welches auf GPS basiert. Das System ermoglicht die Warnung vor Kollisionen mit anderen Flugzeugen wie auch vor festen Hindernissen. Voraussetzung fur zuverlassige Warnungen ist eine aktuelle Hindernisdatenbank, welche sich uber Funk updaten lasst.

Ziel dieser Arbeit war es, ein speziell auf diese Anwendung zugeschnittenes, gesichertes, Multi-User-fahiges Protokoll zu entwickeln und zu implementieren. Wahrend die Hardware fur den Client bereits existierte, sollte fur den Server eine Hardware gebaut werden, welche es ermoglicht ein Nordic nRF905-Funkmodul an einen PC anzuschliessen.

Das entwickelte Protokoll arbeitet nach dem Prinzip des TDMA (Time Division Multiple Access), welches einem Server erlaubt annahernd gleichzeitig mehrere Clients uber einen Funkkanal zu bedienen.

Die Client-Hardware besteht aus einem Texas Instruments MSP430 Mikro-Controller und einem nRF905 Funkmodul. Die Server-Hardware besteht aus einem PC und einem uber RS-232 angeschlossenem MSP430 mit einem nRF905.

Die Protokoll-Software des Clients ist, mit der ICC430-Entwicklungsumgebung, in C geschrieben. Die Software lauft auf einem Mikro-Controller ohne Betriebsystem und wurde als State-Machine implementiert. Die State-Machine wird immer durchlaufen, ohne zu blockieren. Wahrend das Protokoll warten muss, wird einer zusatzlich zum Protokoll laufenden Applikation dadurch ermoglicht CPU-Zeit zu erhalten.

Die Protokollsoftware des Servers lauft auf einem PC mit Windows XP. Das Protokoll ist so implementiert, dass die Applikation mit Threads mehrfach auf den Funkkanal zugreifen kann. Dieser wird durch Semaphoren geschutzt, wodurch gewahrleistet wird, dass jeweils nur ein Thread auf den Kanal zugreifen kann. Die Software ist mit MS Visual Studio 6 in C implementiert worden.

zurück