外部端子があるおかげでハイパーターミナルを使って、GPSからのメッセージのタイミングを直接見られるようになりました。
今日ポジションフィックスしたのちに1PPSの発光状況とスマホの時報117を比べてみたところ、正秒のタイミングは合っているものの、時刻表示は1秒遅れでした。
GPGGAメッセージ中の時刻に受信後1秒足す演算を行っているのでプログラムのバグかと一瞬疑いましたが、ターミナルに出ている時刻文字列自体1秒遅れでした。
プログラム中では時刻を受信した割り込みの中で最長48us後には1秒加算が終わっています。4800bpsなので1文字受信は2ms毎で、正確には時刻文字列後の区切り文字カンマを捉えて1秒加算しています。
例えると
19:00:00
-GPGGA,18:59:59.000,
- ;
19:00:01 発光と19:00:00の表示
-GPGGA,19:00:00.000,
- ;
19:00:02 発光と19:00:01の表示
バックアップがあることによってGPGGAの時刻を勝手にGE-315が作っているのではないかと疑いたくなります。
何日か前に確認したときは時報と正確に合っていたので、その後PCのUSBに接続してロングラン試験をしたのがよくなかったのかも。
EDLCを放電させたあともう一度実験してみたいと思います。
後から自分で参照するために部品定数をすべて書き込んだ現状の回路図を掲載。
-----------追記--------------
その後、少し乱暴ですが、EDLCを1Ωの抵抗を使って放電させ、再度ポジションフィックス状態にしました。するとやはり1秒遅れた表示になってしまいます。
その点は現状仕方が無いとして、NMEA V1.84 というプログラムで受信してみるとこんな感じで面白いです。GPS衛星って結構見えてるんですね。
今日ポジションフィックスしたのちに1PPSの発光状況とスマホの時報117を比べてみたところ、正秒のタイミングは合っているものの、時刻表示は1秒遅れでした。
GPGGAメッセージ中の時刻に受信後1秒足す演算を行っているのでプログラムのバグかと一瞬疑いましたが、ターミナルに出ている時刻文字列自体1秒遅れでした。
プログラム中では時刻を受信した割り込みの中で最長48us後には1秒加算が終わっています。4800bpsなので1文字受信は2ms毎で、正確には時刻文字列後の区切り文字カンマを捉えて1秒加算しています。
例えると
19:00:00
-GPGGA,18:59:59.000,
- ;
19:00:01 発光と19:00:00の表示
-GPGGA,19:00:00.000,
- ;
19:00:02 発光と19:00:01の表示
バックアップがあることによってGPGGAの時刻を勝手にGE-315が作っているのではないかと疑いたくなります。
何日か前に確認したときは時報と正確に合っていたので、その後PCのUSBに接続してロングラン試験をしたのがよくなかったのかも。
EDLCを放電させたあともう一度実験してみたいと思います。
後から自分で参照するために部品定数をすべて書き込んだ現状の回路図を掲載。
-----------追記--------------
その後、少し乱暴ですが、EDLCを1Ωの抵抗を使って放電させ、再度ポジションフィックス状態にしました。するとやはり1秒遅れた表示になってしまいます。
その点は現状仕方が無いとして、NMEA V1.84 というプログラムで受信してみるとこんな感じで面白いです。GPS衛星って結構見えてるんですね。

※経緯度は存在しない値に画像修正しています
GE-315はコールドスタートすると2007年3月31日23時58分あたりから開始しますが、今日までに2007年時点で予測できてなかった閏秒とかあったりするのでしょうか。どうにも納得がいかない結果です。
