Super Sylphide 進捗状況(11) -- Time Keeper

つい先日大きな出張が完了したので、オートパイロットシステムSuper Sylphideをサクっと完成させてしまおうと考えています。そのような中、とある試験をGPSが使用不能な環境下で行うことになりそうなので、それに備えた準備をすることになりました。そこで問題となったのが、こちらのオートパイロットシステムで取得したデータと、他のシステムのデータの同期をとるという作業です。

GPSの一般的な使い方であるカーナビなどではあまり取り上げられることがないのですが、実はGPSは手軽な高精度時計として利用することが可能です。詳しい話は専門書に譲りますが、GPSが現在位置を出力する原理は、人工衛星から放出されたGPS電波が地上に到達するまでの時間を計測することから成り立っています。つまり時間や時刻を管理する時計の精度は、GPSの性能を決定する非常に重要なファクターです。実際、GPSの電波を放出している人工衛星には非常に高価な原子時計が何台も搭載されています。そういうわけでGPSは手軽な高精度時計として使用することができます。

今まではGPSが利用可能であったので、気軽に他のシステムによって取得されたデータと同期をとることができました。特に現在使用中のGPSモジュール LEA-4Tは1秒単位のパルス信号(1pps)が取り出せるので、時刻同期用の時計としても重宝していました。ところが今回はGPSが利用できないので、代替手段を考えなければいけません。
そこで代わりのシステムを作ることにしました。その名もTime Keeper。

time_keeper_brd_top.gif
time_keeper_brd_bottom.gif
基板表裏。36 x 21 mm。

使い方はSuper Sylphideにおいて、GPSが載ったボード、並びにそれからの出力を受けとるボードとの間に、このTime Keeperを挿入します。Time Keeperは、GPSが利用可能な間は先ほどの1ppsをそのまま出力します。GPSが使用不能になった場合はTime Keeper内蔵のReal Time Clock (RTC)に切り替えて、1ppsを継続出力します。主電源が落ちてもRTCの動作は保証できるよう、バックアップ電源としてスーパーキャパシタを搭載しました。

例によって現時点でのEagleのファイル(回路図レイアウト)を置いておきます。マイコン兼RTCとしてSilicon LaboratoriesのC8051F410を使っていますが、まだファームウェアは書いていません。

※その後、本体の航法プログラムのROM化が完了しました。
※さらにその後、Time Keeperのファームウェアを公開しました。

October 15, 2007 22:08 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク

コメント

コメントする