Super Sylphide 進捗状況(13) -- Time Keeper 完成
研究開発中のオートパイロットシステム Super Sylphideの関係で、少し前にGPS受信機からくる時刻情報を中継するモジュール Time Keeperについて記事を書きましたが、この度ようやくファームウェアが完成し機能するようになりましたので、改めて紹介をしたいと思います。
まずはTime Keeperのファームウェアソースを公開したいと思います。このファームウェアは、前の記事で紹介したハードウェア上のF8051F410マイコン上で動作し、コンパイラはsdccを想定しています。実はコンパイル後に気づいたのですが、使用しているフラッシュ領域が8KBとかなり小さく済んだので、フラッシュ低容量バージョンのC8051F412でも動作します。F412の方がDigiKeyではF410よりも100円程度お得です。
ファームウェアの動作概略図をせっかくなので書いてみました(図では上記の事情により、搭載マイコンをC8051F412と表記してあります)。
GPS受信機が電波を捉えられているときは、GPS受信機から出力される時刻情報としての1pps信号、並びに測位データをそのまま後続の機器へ中継します。また電波が途切れたときに備えてTime Keeper自身の時刻情報も更新します。
一方、GPS受信機が電波を捉えてないときには、GPS受信機から1ppsや測位情報が送られてこなくなりますので、GPS受信機に代わって、1ppsや偽測位情報をTime Keeperが発信します。この情報はC8051F410に内蔵のReal Time Clock (RTC)の機能を使って生成されています。
テストケースとして、GPS受信機がはじめ利用可能で、途中数分間に利用不能となり、再度回復した場合(トンネルなど)、ならびに前回電源ON時はGPS受信が可能であったが、今回は電源ON時よりGPSが利用不能であった場合の2つのケースを実施してみましたが、両ケースとも正常に稼動していました。
コメント
コメントする
- 匿名でのコメントは受け付けておりません。
- お名前(ハンドル名可)とメールアドレスは必ず入力してください。
- メールアドレスを表示されたくないときはURLも必ず記入してください。
- コメント欄でHTMLタグは使用できません。
- コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
- コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。
- 投稿ボタンを押してエラーがでなければ、投稿は成功しています。反映されるまでには少し時間がかかります。