車載用GNSSモジュールをGT-902PMGGへ変更

 GW前半の悪天候下でプリウスに載せていたAE-GYSFDMAXBが走行中に頻繁にハングアップしました。ほぼ休憩のため停車するごとに電源を入れ直す有様で毎日コールドリセットコマンドを送ったり9600bpsに落としたり様々な対策を検討しましたけど、完全に出力停止を防ぐことができず、車載GPSロガーとして使うことは断念しました。最悪PhotoMOSで強制的に電源を再投入する対応策も考えはしたもののハングアップ判定までのログが欠損します。さらに電源ラインに余計な素子とプログラム制御を追加することによる信頼性の低下も懸念されるため他のモジュールに切り替えることにしました。据え置きのNTP Server用としてAE-GYSFDMAXBは2ヶ月以上連続稼働しているためこちらは継続使用します。

 次の候補として業務用や研究用で評価が高いスイスu-blox社製のICを組み込んだ
GPS/GLONASS受信機(Galileo/BeiDou可)u‐blox M8搭載 みちびき3機受信対応[GT-902PMGG]通販コードM-12905(http://akizukidenshi.com/catalog/g/gM-12905/)を急ぎで購入しました。取替は簡単でAE-GYSFDMAXBを取り付けていたヘッダにUARTの配線を接続するだけです。仕様上3.0V typ.となっていますけど販売店のWebにも・入出力信号レベル:3V(3.3Vデバイスで使用可)、非同期シリアル信号とありますように3.3V直結で動作に問題は無いようです。若干パワーロスはあるかも。
Raspberry Pi ZeroにGT-902PMGGを接続。試験運用なので熱収縮チューブは被せず仮止めです。
 あと、AE-GYSFDMAXBは1PPS信号の立ち下がりエッジを使用していましたがGT-902PMGGは立ち上がりエッジ(default)になるためそのまま動かすとntpdできっちり100msecのオフセットが生じるため/boot/config.txtを以下のように変更しました。

#dtoverlay=pps-gpio,gpiopin=18,assert_falling_edge=true
dtoverlay=pps-gpio,gpiopin=18

 u-blox M8の性能はさすがです。たぶん載っているCPUとソフトの性能がMediaTek MT3339/3333よりもかなり良さそう。特に山岳国道を中心に数100km走った限り一度も高度がマイナスにならずこれまでのどのGPSロガーよりも高性能で高度も記録できそうです。GT-600, AE-GYSFDMAXB, GYSFFMANCいずれも受信状況が悪化すると丹波高地の山の中なのになぜか海水面下になったり高度データが使い物にならないレベルで暴れます。

 あまりにユピテル社のレーダー探知機GWR103と補足衛星数や挙動が似ているため、検索したところユピテル社、日本の改良型レーダー探知機にu-blox QZSSテクノロジーを選択(https://www.u-blox.com/ja/yupiteru-selects-u-blox-qzss-technology-enhanced-radar-detector-japan)が見つかりました。思ったよりもずっと高性能なモジュールを積んでいたようです。

 このモジュールはかなり使い勝手が良さそうですけど完璧というわけでもなく設定がWindowsPCから専用ソフトでしかできなさそうという点が挙げられます。現状Raspberry Pi Zeroにつなげているモジュールは設定変更無しで電源を入れただけの状態で動作検証中です。また、覆道区間では追従しきれないのはMT3339と同様です。
GT-902(往復分)でも法面や川の中へ突っ込んでいます。
GT-600などではぶっ飛ぶ区間ですのでモジュールの性能というよりは受信状況(アンテナ位置で少しは?)が主要因と思います。法面補強部もそうなのですけど、強固な鉄骨鉄筋コンクリートと車体がLバンドを乱反射させるようです。

 GT-902PMGGについて触れているWebサイトは太陽誘電を含めたMediaTek系と比べて少ないのですけど分解したページがあるようです。
秋月のu-blox搭載GNSSモジュール(GT-902PMGG)を分解してみた(https://qiita.com/chromium_k/items/056f2ac72e81ca054185)