Super Sylphide 進捗状況(13) -- Time Keeper 完成

研究開発中のオートパイロットシステム Super Sylphideの関係で、少し前にGPS受信機からくる時刻情報を中継するモジュール Time Keeperについて記事を書きましたが、この度ようやくファームウェアが完成し機能するようになりましたので、改めて紹介をしたいと思います。

まずはTime Keeperのファームウェアソースを公開したいと思います。このファームウェアは、前の記事で紹介したハードウェア上のF8051F410マイコン上で動作し、コンパイラはsdccを想定しています。実はコンパイル後に気づいたのですが、使用しているフラッシュ領域が8KBとかなり小さく済んだので、フラッシュ低容量バージョンのC8051F412でも動作します。F412の方がDigiKeyではF410よりも100円程度お得です。

ファームウェアの動作概略図をせっかくなので書いてみました(図では上記の事情により、搭載マイコンをC8051F412と表記してあります)。

time_keeper.gif

GPS受信機が電波を捉えられているときは、GPS受信機から出力される時刻情報としての1pps信号、並びに測位データをそのまま後続の機器へ中継します。また電波が途切れたときに備えてTime Keeper自身の時刻情報も更新します。
一方、GPS受信機が電波を捉えてないときには、GPS受信機から1ppsや測位情報が送られてこなくなりますので、GPS受信機に代わって、1ppsや偽測位情報をTime Keeperが発信します。この情報はC8051F410に内蔵のReal Time Clock (RTC)の機能を使って生成されています。

テストケースとして、GPS受信機がはじめ利用可能で、途中数分間に利用不能となり、再度回復した場合(トンネルなど)、ならびに前回電源ON時はGPS受信が可能であったが、今回は電源ON時よりGPSが利用不能であった場合の2つのケースを実施してみましたが、両ケースとも正常に稼動していました。

November 13, 2007 23:26 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク

コメント

コメントする