What's New !
11-Oct-98 関連リンクに追加
15-Sep-98 V1.03 赤外線リモコン対応
18-Apr-98 このページをマザーボード付きの新Kit対応に更新。
Garmin'Meとは?
Garmin'MeはGarmin製GPS用に作成したn2iH8の事です。
n2iはNMEA to IPSの意味でn2iH8はH8版であることを示し、秋月電子通商製H8マイコンボードで動作します。
これを使うとGarminなど多くのGPSで使われているNMEA(National
Marine Electronics Association)フォーマットのGPS情報をSONY
IPSシリーズもしくはETAKフォーマットに変換することができ、手持ちのGarmin製ハンディGPS、RockwellのZodiacチップセットを使ったJupiter、Delorme
tripmateなど数多くの優れたNMEAフォーマットの機器で、
と言ったNMEAフォーマットは受け付けないがIPSフォーマットなら受け入れるアプリケーションを使うことが出来ます。IPS,ETAKともAll
in view機では無いのでフォーマットが異なるため使えなかったAll in view機が使えるメリットは大きいです。実際私はIPS5000を持っているのですがどうしてもGarmin
GPSII+を使いたかったのでこれを作成し、IPS5000は人に譲ってしまいました。
これに各GPS用のケーブルを付けるとそれぞれ、
Garmin用はGarmin'Me
Jupiter用はJupiter'Me
と称します。^_^;
Garmin'Meは単にフォーマットを変換するだけでなく、IrDAによるコードレス接続(一部のノートPCではポートリプリケータが不用になるので特に便利)、赤外リモコンサポート、原理的に精度のでないGPS高度ではなく気圧計から高度を出力する、ユーザーインターフェースを持たないGPSのための液晶表示など多彩な機能を持っています。
応用範囲は広く、NMEAフォーマットも受け付けるGoGoNavi等でもETAKフォーマットを使う事によってリモコンが使えるようになるといメリットがあります。
なお、ハードウェアAki-H8とプログラムn2iH8は対応するGPSによらず同じ物で接続用のケーブルのみ各GPS専用です。このページでは基本形、Garmin'Meの作り方を説明します。
実績は基本部分については既に18,000km以上、V1.01になってからでも15,000kmに達します。
電子工作好きの方へ
n2iH8はせっかく作っても「ふーん、なんの役に立つの_」と言われることの多い電子工作の中で実際に役に立ち、しかも秋月で売っているようなセンサ、ガジェットをつけると実際に用途が広がると言う珍しい例ですが、GPSにもカーナビゲーションにも興味が無くてもH8で何か作る場合の参考になると思います。試してみると動かないのがお約束のデータシートやアプリケーションノートの例と違い多くのデバイスを実際に使っており、さらにシリアルだけをとっても
RX0 -- NMEA入力は解析しやすいように行構造を持つ交代バッファ
TX0 -- 主にエコーバックなのでリングバッファ
RX1 -- 頻度が低く速度も必要ないのでただの行バッファ
TX1 -- 元データは性質上、随時更新、送信時にバッファリング
と一つとして同じ構造/手法になっていません。
あるいはCコンパイラを買ったもの環境が作れずどうやって動かせばいいものやら途方に暮れている人にも役立つと思います。
H8関連の質問その他はGPSとH8(電子工作)の掲示板にお願いします。
必要なもの
|
プログラム
n2i。現在はV1.03です。Garmin'Meは秋月からH8マザーボードが出る前に作られたのでLED,LCDのアサインが違います。このため、ソース中のAKI_H8_MOTHERというシンボルでそれぞれのオブジェクトが作成できるようになっています。
Cによるソースコード、Cを持っていない人のためのオブジェクト、開発環境構築用のバッチファイル、秋月のアセンブラ、リンカではそのまま使えない日立提供のH8/300H用モニタプログラムとのリンク方法、H8関連URLなどのドキュメントが入っています。ドキュメントについてはまだ更新が不十分なのでこのページの方を参照ください。
103にはGarmin'Me,秋月マザーボード両方のバイナリが入っています。自分でコンパイルする時は、LED,LCDをこのページの説明通りに作った方はAKI_H8_MOTHER
0、マザーボードをそのまま使う方はAKI_H8_MOTHERを1に書き換えた後、バイナリを作ってください。またV1.03はリモコンを使うのに都合が良い様に以前のバージョンと違い%IR0,%12がデフォルトになっています。適宜書き換えてください。
バイナリはさらにモニタの有無で二種類、
作成できますがH8/300H用モニタは日立の著作物なのでモニタ付きのMの方はアーカイブに含まれていません。各自で作成してください。コンパイルされたオブジェクトそのもの及びリンク後のGarmin'Meとしての動作はどちらも同じです。
H8ボードの組み立て
ここでは全体を薄く作るためにCN4を別に購入したL型のものに替えています。こうしないとこのケースには入りません。キットの説明書はピンヘッダを裏側に付けるように指示していますが厚くなるので部品側に付けています。ただしこの場合、別途マザーボードとの接続ケーブルを用意する必要があります。ケーブル作成時、偶数ピンと奇数ピンの関係を間違えないよう注意してください。接続を間違えると致命傷になりかねません。 三端子レギュレータも背が高いので寝かせて取り付けます。ここではキット付属の物では無く低ドロップタイプのものになっていますがこれはバッテリー駆動を考慮したもので今回のようにシガーライターから電源を取るときはキット付属のもので構いません。右下のレギュレータの足に直付けしている空色のコンデンサも10倍以上も大ぐらいのJupiter GPSにも電源を供給するためのものでこれも必要ありません。 なお、許容入力が12Vまでと低いので今回のようにシガレットライターから電源を取る場合には向きませんが小型の超低消費レギュレータに換えるという手もあります。 電解コンデンサも薄く仕上げるためにRS232Cのレベルコンバータの上に寝かせます。この写真では分かりませんが放熱を邪魔しないようにわずかに空間が空けてあります。といっても全部合わせても電池で何日も動く程度の電力しか食わないので浮かせなくても大した問題ではありません。 収まっているケースはタカチSW95。W58xH18xD95。厚みは本当にぎりぎりです。 この写真は薄く作るためにわざとキットの指示と違う形に組んだものです。そのままではマザーボードに付きません。 |
マザーボードの組み立て
次にキットのマニュアルにしたがってマザーボードを作り、組上がったらキットのマニュアルに従ってアーカイブ中のGarminU.MOT、もしくは作成したGarminM.MOTを書き込みます。
この写真では、キットに以下のものが加えてあります。
なお、H8ボードは見栄えの観点からごちゃごちゃとケーブルで繋がなくなてはならない薄く作成したものではなくキットの指示通り作成したものを挿しています。 マザーボード上のDipSw,LED,LCDも使えますが、マサーボードは巨大なのでこれをこのまま携帯性が重要なGarmin'Meとして使うのは無理があります。 |
GARMIN'Me用ケーブルの作成
ここでは、
|
この場合、以下のように配線します。このページはある程度、熟練した人を対象にしているので一度しか言いませんが「チェックされていない配線は必ず間違っている」と思って作業してください。さもないと高価なPCやGPSを修理に出す羽目になりかねません。
CN4- 1 POWER シガレットライターケーブルのプラスへ。 Garmin プラスへ。
注意GPS12のような電源電圧5-8V系のGPSには絶対に接続してはいけません。
CN4- 2 GND シガレットライターケーブルのマイナスへ。 Dsub 9pinメスコネクタ5 SGへ。 Garmin マイナスへ。 CN4- 3 5V 繋ぎません。 (GPS12のような電源電圧5-8V系の場合はGarmin プラスへ) (IrDAアダプタを使用する場合は電源として使います) CN4- 4 RxD1 Dsub 9pinメスコネクタ3 TxDへ。 CN4- 5 RxD0 Garmin Tへ。 CN4- 6 TxD1 Dsub 9pinメスコネクタ2 RxDへ。 CN4- 7 TxD0 Garmin Rへ。 CN4- 8 VPP 繋ぎません。 (将来、パラメータの書き込みなどを行う場合は必要です。) CN4- 9 MD2 繋ぎません。 CN4-10 RES 繋ぎません。 (リセットSWを繋ぐ場合は使用します。)
この写真のケーブルは、
と安上がりに作られています。かかった費用はH8キット中のFlash Writerの分(ライタ付き7,800円、ボードのみ4,300円(最近、4,000円に値下げされました)なので3,500円)を除けばGarmin純正のパワーデータケーブル以下でしょう。プログラムも最初の版はボードを作った翌々日に稼動、実走テストできました。
オプション
好みと必要に応じて以下の物が付けられます。
接続 意味 関連コマンド CN3-30 GND 0:4800,1:9600 - NMEA BPS %48,%98 29 GND 0:AUTO,1:OFF - use ADC for Alitude %AD0,%AD1 28 GND 0:OFF,1:ON - ECHO %EC0,%EC1 27 GND 0:ALL,1:RMC - use RMC location only %AL,%RM 26 GND 0:IPS,1:SMAT - output format %08,%12,@KT,@KE 25 GND 0:Check,1:ignore - NMEA Check sum %CS0,%CS1 24 GND 0:Disable,1:Enable - IrPHY out %IR0,%IR1 23 GND 0:DMS,1:DMD - LAT,LON format @DMS,@DMDスイッチの値は、動作中も読み込み、変化のあったものだけ反映されます。コマンドで変更した物は関連するスイッチを操作しない限り変更されません。例えば最初にスイッチを%08側にして起動し、コマンドで%12に変更したとします。この場合、IPS/SMAT以外のスイッチを操作してもフォーマットは%12のままです。なお、スイッチ設定は総てコマンドで変更可能です。
GarminMe ASUS IrDA 10pinオス()内は5pinオス CN1-36 - 1(1) +5V 12 ITUA1 - 3(3) IRRX 2 - 5(4) GND 10 ITUA0 - 7(5) IRTX |
ASUSのIrDAモジュール *コネクタは支えのためのもので関係ありません |
回路は至って簡単で、
+-100Ω-+ LED 5V | IrRX(NC) PA2003----- GND +------ IrTX(CN1-10) |
試しに組んでみたもの。 |
Garmin'Me IRmate210 9pinメス 9pinメス 2 - 3 ( 3 - 2 ) 必要が無ければ繋がなくてOK。電力の無駄ですし。 5 - 5 7 <- Vccと繋ぎます。IRMate210は信号線、制御線の総てにDiを入れNSの超低消費レギュレータで3.3Vを作っているのですがこの構成では信号線だけしかないため電力が足らず、至近距離でも化け化けなので制御線7にGarmin'MeのVcc、5Vを繋いで電力を供給しています。ほんとは保護抵抗を入れるべきだと思うのですが値を詰めていません。33オームくらいかな?
緯度 速度(km/h) 方向(deg) N3419216 055 210 経度 高度(m) 状態(3:2D, 4:3D) E13826076+0526 4 |
結線 使用したLCDはSC1602BSLB(サンライク) M1632とピン互換但しピン番の割付が逆だそうです。 VCC - LCD-1(VDD) CN3-2(GND) - 2(Vss) CN2-18(DA0) - 3(CONTRAST ADJ) CN3-3(P4-4) - CN3-2(GND) 4(P4-5) - LCD-4(RS) 5(P4-6) - 5(R/W) 5(P4-7) - 6(Enable) 7(P3-0) - 7(DATA0) 8(P3-1) - 8(DATA1) 9(P3-2) - 9(DATA2) 10(P3-3) - 10(DATA3) 11(P3-4) - 11(DATA4) 12(P3-5) - 12(DATA5) 13(P3-6) - 13(DATA6) 14(P3-7) - 14(DATA7)1と3以外はCN3にそのまま挿せます。但し、1はGNDとVCCなのでくれぐれもショートさせないよう注意してください。
16x2 LCD (1) +5V ------------+ x -- GND (CN3-1) (2) GND ---------+-------- GND (CN3-2) (3) CONTRAST-+ x +-------- P4-4(CN3-3) 20x4 LCD (1) GND ------------------ GND (CN3-1) (2) +5V ---------+--- x -- GND (CN3-2) (3) CONTRAST-+ x +-------- P4-4(CN3-3)
左上 70 SYS15E |
上 10 SYS133 |
右上 30 SYS160 |
|
左 D0 SYS135 |
ENTER 08 SYS15C |
右 50 SYS134 | |
左下 F0 SYS15F |
下 90 SYS132 |
右下 B0 SYS15D | |
POS 80 SYS153 |
MENU 00 SYS158 | ||
縮小 A0 SYS151 |
拡大 20 SYS152 | ||
案内 40 SYS156 |
音声 E0 SYS155 | ||
再探索 C0 SYS157 |
MODE 28 SYS17E |
動作確認
マザーボードなら25pinコネクタを、Garmin'MeならメスコネクタをPCのシリアルポートに繋いで、ハイパーターミナルなどでそのポートと接続してください。通信条件は9600,8bit,NonParity,1stopビット、フロー制御無しです。
NMEAモードにしたGARMINをGPS/オスコネクタに接続し、電源を繋ぎます。必要ならシュミレーションモードにして方向、速度を設定します。
SONYもしくはSMATで始まる文字列が出力されれば正常。もし出力されない場合はキーボードから']'を打ってください。
GarminUの場合:サインオンメッセージを表示。
GarminMの場合:モニタが起動する。
であればPC側は正常です。Garminのモードと接続を確認してください。
こうならない場合はまずPCとの接続を確認してください。
LEDを接続した方は、まず、電源投入時に点灯する事を確認してください。点灯しない場合はH8ボードが動作していないかプログラムが書き込まれていません。
初期化終了後、LEDは$GPRMCセンテンス受信中のみ点灯します。つまり、2秒もしくは1秒間隔で点滅します。点灯したままになる場合はGPSから信号が来ていません。GPSを直接PCに繋いでデータが送られてくるか確認してください。
動作を確認したら適当なケースに収めておしまいです。
使用上の注意
測地系
通信速度
ダイレクトモード
コマンド
以下の%で始まる独自コマンドを受け付けます。
IPSコマンド
位置づけ
これを作成してからしばらくしてNifty FGPSにGPS Player(GPS パソコンカーナビの部屋)の納さんによってNMEA出力のGPSでnavin'Youを動かすプログラムがupされました。こちらはソフトだけで済みますが、Garmin'Meなどn2iH8系はソフトだけでは出来ないIrDA対応、気圧高度計からの高度入力、リモコン対応などの機能を持っています。また純粋にハードウェアで実現しているため、対応するOSや機種、環境、アプリケーションを選ばない、レスポンスに優れるという強みがあります。特に非力なPCで起こる、角を曲がってからその角を曲がるように音声ガイダンスされるなどという極端な遅れ現象は全くありません。このあたりはハードウェアで実現している強みです。
関連ページ(このサイト)
IrDAでカーナビゲーション実験記
n2iH8のIrDA出力の実験記録です。少しましな見栄えの1号機、抱腹絶倒の「後ろの車もナビできます」IrDA投光器などの写真もあります。
アンテナによる受信感度の違い
読んで字の如しです。一覧あれ。
GPS Jupiter
Report
姉妹品Jupiter'Meの作り方。SPAが販売してるJupiter
GPSユニット版の作り方です。
GPSとH8(電子工作)の掲示板
最新βなど新しい情報はまずこちらに書き込まれます。意見、誤りの指摘、要望、質問などもこちらをご利用ください。現在、次期n2i用ハードウェア、Garmin'We(我ながらなんとセンスの無いネーミング..)の計画が進んでいます。
GPSとH8(電子工作)の掲示板バックナンバー
バックナンバーもご覧ください。ノートPCマウンタなどの写真もあります。
Pin | func | Mode 7で可能なピン機能 | Garmin'Me | AKI MB |
36 | DR | P1-0 | ||
37 | P1-1 | |||
38 | P1-2 | |||
39 | P1-3 | |||
40 | P1-4 | |||
41 | P1-5 | |||
42 | P1-6 | |||
43 | P1-7 | |||
45 | DR Pup |
P2-0 | DIP SW | |
46 | P2-1 | DIP SW | ||
47 | P2-2 | DIP SW | ||
48 | P2-3 | DIP SW | ||
49 | P2-4 | DIP SW | ||
50 | P2-5 | DIP SW | ||
51 | P2-6 | DIP SW | ||
52 | P2-7 | DIP SW | ||
27 | DR | P3-0 | LCD Data | |
28 | P3-1 | LCD Data | ||
29 | P3-2 | LCD Data | ||
30 | P3-3 | LCD Data | ||
31 | P3-4 | LCD Data | LCD RS | |
32 | P3-5 | LCD Data | LCD E | |
33 | P3-6 | LCD Data | (LCD RW) | |
34 | P3-7 | LCD Data | ||
18 | DR Pup |
P4-0 | ||
19 | P4-1 | |||
20 | P4-2 | |||
21 | P4-3 | |||
23 | P4-4 | LCD Type | SW1 | |
24 | P4-5 | LCD R/S | SW2 | |
25 | P4-6 | LCD RW | SW3 | |
26 | P4-7 | LCD E | SW4 | |
53 | LED DR Pup |
P5-0 | LED0 | |
54 | P5-1 | (LED1) | ||
55 | P5-2 | LCD_BL | ||
56 | P5-3 | |||
58 | DR | P6-0 | ||
59 | P6-1 | |||
60 | P6-2 | |||
69 | P6-3 | |||
70 | P6-4 | |||
71 | P6-5 | |||
72 | P6-6 | |||
78 | In Only |
P7-0/AN-0 | Alitude | |
79 | P7-1/AN-1 | Thermo | ||
80 | P7-2/AN-2 | |||
81 | P7-3/AN-3 | |||
82 | P7-4/AN-4 | |||
83 | P7-5/AN-5 | |||
84 | P7-6/AN-6/DA-0 | LCD Contrast | ||
85 | P7-7/AN-7/DA-1 | (DTMF out) | ||
87 | DR SH |
P8-0/IRQ0 | ||
88 | P8-1/IRQ1 | |||
89 | P8-2/IRQ2 | |||
90 | P8-3/IRQ3 | |||
91 | P8-4 | |||
12 | DR | P9-0/TxD0 | GPSのRxへ | |
13 | P9-1/TxD1 | PCのRxへ | ||
14 | P9-2/RxD0 | GPSのTxへ | ||
15 | P9-3/RxD1 | PCのTxへ | ||
16 | P9-4/SCK-0/IRQ-4 | |||
17 | P9-5/SCK-1/IRQ-5 | |||
93 | DR SH |
PA-0/TP-0/TEND-0/TCLKA | ||
94 | PA-1/TP-1/TEND-1/TCLKB | |||
95 | PA-2/TP-2/TIOCA-0/TCLKC | IrRxへ | ||
96 | PA-3/TP-3/TIOCB-0/TCLKD | |||
97 | PA-4/TP-4/TIOCA-1 | IrTxへ | ||
98 | PA-5/TP-5/TIOCB-1 | |||
99 | PA-6/TP-6/TIOCA-2 | IR Remote Rx | ||
100 | PA-7/TP-7/TIOCB-2 | |||
2 | LED DR SH |
PB-0/TP-8/TIOCA-3 | LED | |
3 | PB-1/TP-9/TIOCB-3 | LCD BL | ||
4 | PB-2/TP-10/TIOCA-4 | |||
5 | PB-3/TP-11/TIOCB-4 | |||
6 | PB-4/TP-12/TOCXA-4 | |||
7 | PB-5/TP-13/TOCXB-4 | |||
8 | PB-6/TP-14/DREQ0 | |||
9 | PB-7/TP-15/DREQ1/ADTR |