GPSレシーバ

GM−38 (マーキュリー) レポート

GM-38

GM−38をお借りする機会を得ましたので、少し遊んでみることにしました。

最終更新日 : 1999.11.30


GM−38は、SONYのIPS−5000のようなパソコン接続に適したRS232C出力のGPSレシーバです。出力はPC/AT互換機のD−SUB9ピン・シリアルコネクタ(EIA−574)と、電源用にミニDIN6ピン・PS/2コネクタが付いています。ノートパソコンに接続するのに最適な組み合わせで、私のTP535でも簡単に使えます。しかし、最近のノートパソコンには、シリアルコネクタやPS/2コネクタの代わりに、USBのみが付いているそうなので、最新パソコンを使っている人にはちょっと不便かもしれません。

あと、厄介なのは説明書が全部英文なことです。まあ、GPSレシーバなんて使うだけならそれほど厄介な代物ではないので、説明書が英文でもさほど困らないのですが、コマンドやらデータの説明が英文なのは、プログラミングするにはちょっと困ります。でも、幸いなことに「GPSパケット通信を楽しもう」の中で、NMEA−0183の解説が少し載っていますので、これと照らし合わせて読んでゆけば、なんとかなりそうです。

GM-38のコネクタ

私も、IPS−5100GというGPSレシーバを持っていますが、これはPCカード方式なのでノートパソコン以外ではちょっと使い難いのが欠点です。ケーブルを切ってコネクタを付け直せば良いのですが、ちょっと思い切れません。ケーブルは別売してるので、これを買ってしまうのもよいのですが、少々高価なので未だに手が出ません。しかし、GM−38はコネクタがそのまま出ていて遊びやすそうなので、色々と実験してみることにしました。さしあたって、やってみようと思う事は、以下の通りです。

表示機に関しては、すでにテスト機が完成しました。TH−D7と合わせて使って、TH−D7では表示できない、高度、移動速度、移動方向などをジャンクのLCD(16桁1行/100円)に表示する物です。これだけでは、あまり面白くないので秋月のLCD(16桁2行)を使って、時刻、緯度経度、その他の情報なども表示できるようにして公開してみようかと思っています。

TNCが無くてもナビトラビーコンが出せるアダプタに関しては、簡単に実現可能かどうか、まだ調査していないので不明です。TH−D7などのTNC内蔵ハンディを持っていないので、ナビトラを徒歩移動運用するには不可欠なので、できれば実現したいなあと思っています。

ナビトラモニタ対応については、GM−38はIPSシリーズとは異なり、NMEA−0183という形式のデータを出力します。いままで使ってきたIPSフォーマットとは異なるので、ナビトラモニタなどではそのまま使えません。ナビトラモニタをNMEA−0183に対応させるには良い機会なのかもしれませんが、借りれる期間がまだわからないので、対応できるかどうかはわかりません。時間があったらやってみたいと思います。


GM−38用ディスプレイ(1号機)

GM38用表示機

GM−38に接続して、緯度経度などを表示するディスプレイを作ってみました。標準でSIOを持っているAKI80なんかで作っても全然面白くないので、今回はPICを使ってみることにします。PICでソフト処理だけでシリアルを処理するのは少し厄介ですけど、表示するだけの用途ならPIC程度のCPUでも十分です。ちなみに、GM−38の転送速度は4800bpsですので、速度的には十分余裕があるのですが、LCDディスプレイを制御しながらの受信はちょと小技が必要なようです。

開発は、ジャンクの16桁×1行のLCDディスプレイ(ADOで100円だった)を取り付けた実験用の基板を使いました。最終的には秋月の16桁×2行の物を使いたいと思うのですが、めんどうでハードがなかなか完成しません(^^;) とりあえず、現在完成しているバージョンで公開しておくことに致します。

オープニングタイトル

起動後以下の表示を10秒毎に切り替える
緯度経度表示

データが無効な場合は中央に×を表示する
度、秒等の区切りを入れる余裕が無いので
LCD画面にマジックで「.」でも書くと良さそう
日付・時刻表示(UTC)

表示はUTCのままです
緯度経度表示でマジックで画面に区切りを
書いた時に丁度良いようなレイアウトにした
高度・対地速度・真角度表示

高度は+9999m〜-999mまで
真角度(移動方向)は矢印でも表示する

先日GPS315を初めて見たのですが、見えている衛星の位置と信号強度をバーグラフで表示していました。位置の表示はキャラクタLCDディスプレイでは無理ですが、バーグラフなら出せそうなのでプログラム中ですが、メモリ容量が足らずに未だ実現していません。AKI-80やAKI-H8なんか使えば、とても簡単なんですけどね・・・


GM−38用ディスプレイ(2号機)

GM38表示機2号機

GM−38用ディスプレイの2号機がやっと完成しました。2号機はGM−38から出て来るデータを表示する機能だけではなく、なんとTNC無しでナビトラビーコンを出せる機能を持っています。それも、モデムICも使わずPICだけ処理できますので、製作費はケースまで含めても2000円で足りるでしょう。また、データ表示機能もGPS315のような信号強度を表示することも可能になりました。ただし、メモリの都合でビーコン発生と信号強度の表示の両方はできません。

GM-38データ表示 ナビトラビーコン発生
緯度・経度
高度・対地速度・真角度(移動方向/矢印表示)
日付・時刻
可視衛星と衛星番号・信号強度(バーグラフ表示
PIC16F84だけで、モデムLSIすら使用せずに
AX25(Bell202)のナビトラビーコンを発生する。
安価で小型なので、ハンディー機と組み合わせて
徒歩ナビトラを実現させることができる。
LCDに、緯度経度、高度、速度、方向を表示。

いやはや、パケットのUIフレームをPIC単体で作のには苦労しました! 普通、TNC2のファームウエアですらシリアル変換にはSIOが使えるので、HDLCやらCRCなど考える必要はないのですが、全部PICで作となると、1200/2200Hzのトーン発生から、NRZI、CRC計算、HDLCのゼロインサート、シンクバイトやシリアル変換まで、全部ソフトでならねばなりません。AX25がどんな内容のデータを送ってるかという資料は有っても、SIOが何をしているかなんて資料は殆どありません。おまけに、CRC計算アルゴリズムなんかパケット関連の書籍では全くありません。結局、TNC2が出力する波形と、自分が作ったPIC回路が出力する波形をロジアナでビット単位で比較してチェックするという、途方も無い作業を強いられました!詳細は、2000年2月号のCQ誌に公開する予定です(実は、まだ執筆していない)。PICだけでAX25を発生するのに興味がある方は見てみてください。AKI-80とTCM3105を使えば、あっというまに完成してしまう内容ですけど、PICだけで処理するのはとっても困難で面白いです。


GM−38情報

GM−38をGPSプレーヤで使う場合には、小技が必要なようです。NMEA−0183の設定で、その他のGPSプレーヤを選択するだけでは駄目で、チェックサムを無効にするという設定にしないと、GPS衛星モニタで上手く衛星が表示されません。それでも、モニタの中央のアヒルは「?マーク」のままですし、地図上の衛星マークの3Dマークが付いたり消えたりしてしまいます。まあ、動作には問題は無いそうですが・・・