@ひろP

    - Welcome to Hiroshi's Home Page -
    趣味を中心とした個人のホームページです


@ひろP / ホビー / プロフィール / ブックマーク / 掲示板 / アルバム / サイトマップ / memo

▼ ▼ ▼

Linux関連 / OpenBlockSS関連 / 電波時計関連 / GPS関連 / USB関連 / プログラミング

▼ ▼ ▼

CFGPSプロトコル解析

CFGPSプロトコル解析…

IO-DATA(株式会社アイ・オー・データ機器/I-O DATA DEVICE, INC.)製のCF/PCカード型GSPのデータを解析しています。

はじめに

CFGPSは、NMEA-0183プロトコルをサポートしているが、標準添付のドライバGeoSeekは、NMEA-0183のテキストプロトコルではなく、バイナリで取得、設定しています。

このバイナリプロトコルの仕様がわからないため、解析することにしました。

当初の目的は、NMEA-0183の出力を止め、時刻を取得することです。

パケット

1つのパケットは、以下のように構成されているようです。

0x24 0x1B

0x00 0x01

ボディ部

CHECK SUM 2バイト(赤字部分を加算した値)

0x24 0x24

※ 先頭と最後の識別子以外で0x24を出力しなければいけない場合は、0x24 0x00としますが、以下のデータでは0x00を削除しています。

開始?

送信: 24 1B 00 01 C4 00 00 00 01 00 C6 24 24

受信: 24 1B 00 01 20 00 C4 00 00 00 E5 24 24

終了?

送信: 24 1B 00 01 C4 00 00 00 00 00 C5 24 24

受信: 24 1B 00 01 20 00 C4 00 00 00 E5 24 24

カード初期化

送信: 24 1B 00 01 C4 07 00 00 01 00 CD 24 24

受信: 24 1B 00 01 20 00 C4 07 00 00 EC 24 24

コールドスタート

送信: 24 1B 00 01 C4 07 00 00 40 01 0C 24 24

受信: 24 1B 00 01 20 00 C4 07 00 00 EC 24 24

NMEA出力項目取得

送信: 24 1B 00 01 C8 04 00 00 00 CD 24 24

受信: 24 1B 00 01 24 04 C8 04 00 00 01 00 F6 24 24

戻値:

7bit GGA(GPS測位データ)出力

6bit GLL(位置:緯度、経度)出力

5bit GSA(GPSのDOPと測位に使用した衛星)出力

4bit GSV(受信可能な衛星)出力

3bit RMC(時刻、位置、速度、方位)出力

2bit VTG(速度、方位)出力

1bit ZDA(時刻、日付)出力

0bit ?

NMEA出力項目設定

送信: 24 1B 00 01 C4 05 00 00 00 00 01 00 CB 24 24

受信: 24 1B 00 01 20 00 C4 05 00 00 EA 24 24

設定値:

7bit GGA(GPS測位データ)出力

6bit GLL(位置:緯度、経度)出力

5bit GSA(GPSのDOPと測位に使用した衛星)出力

4bit GSV(受信可能な衛星)出力

3bit RMC(時刻、位置、速度、方位)出力

2bit VTG(速度、方位)出力

1bit ZDA(時刻、日付)出力

0bit ?

EPSON ASCII Format出力取得

送信: 24 1B 00 01 C8 04 00 00 00 CD 24 24

受信: 24 1B 00 01 24 04 C8 04 00 01 01 00 F7 24 24

戻値:

00 出力しない

01 出力する

EPSON ASCII Format出力設定

送信: 24 1B 00 01 C4 05 00 00 00 01 01 00 CC 24 24

受信: 24 1B 00 01 20 00 C4 05 00 00 EA 24 24

設定値:

00 出力しない

01 出力する

NMEA出力間隔取得

送信: 24 1B 00 01 C8 04 00 00 00 CD 24 24

受信: 24 1B 00 01 24 04 C8 04 00 00 01 00 F6 24 24

戻値:

秒数

NMEA出力間隔設定

送信: 24 1B 00 01 C4 05 00 00 00 00 01 00 CB 24 24

受信: 24 1B 00 01 20 00 C4 05 00 00 EA 24 24

設定値:

秒数

動作次元取得

送信: 24 1B 00 01 C8 01 00 00 00 CA 24 24

受信: 24 1B 00 01 24 01 C8 01 00 00 EF 24 24

戻値:

00 自動

01 2D

02 3D

動作次元設定

送信: 24 1B 00 01 C4 02 00 00 00 00 C7 24 24

受信: 24 1B 00 01 20 00 C4 02 00 00 E7 24 24

設定値:

00 自動

01 2D

02 3D

測地系取得

送信: 24 1B 00 01 C8 05 00 00 00 CE 24 24

受信: 24 1B 00 01 24 05 C8 05 01 00 F8 24 24

戻値:

00 WGS-84

01 Tokyo

測地系設定

送信: 24 1B 00 01 C4 06 00 00 01 00 CC 24 24

受信: 24 1B 00 01 20 00 C4 06 00 00 EB 24 24

設定値:

00 WGS-84

01 Tokyo

パワーセーブ取得

送信: 24 1B 00 01 C8 00 00 00 00 C9 24 24

受信: 24 1B 00 01 24 00 C8 00 01 00 00 EE 24 24

戻値:

00 なし

01 5秒

02 10秒

パワーセーブ設定

送信: 24 1B 00 01 C4 01 00 00 01 00 00 C7 24 24

受信: 24 1B 00 01 20 00 C4 01 00 00 E6 24 24

設定値:

00 なし

01 5秒

02 10秒

仰角マスク角度取得

送信: 24 1B 00 01 C8 03 00 00 00 CC 24 24

受信: 24 1B 00 01 24 02 C8 03 3E 86 0A 92 40 40 00 00 40 E0 00 00 40 C0 00 00 04 F2 24 24

戻値:

7A 35 DD 14度

86 0A 92 15度

仰角マスク角度設定

送信: 24 1B 00 01 C4 04 00 00 3E 86 0A 92 40 40 00 00 40 E0 00 00 40 C0 00 00 04 C9 24 24

受信: 24 1B 00 01 20 00 C4 04 00 00 E9 24 24

設定値:

7A 35 DD 14度

86 0A 92 15度

PDOPマスク取得

送信: 24 1B 00 01 C8 03 00 00 00 CC 24 24

受信: 24 1B 00 01 24 02 C8 03 3E 86 0A 92 40 40 00 00 40 E0 00 00 40 C0 00 00 04 F2 24 24

戻値:

D9 99 9A 6.8

E0 00 00 7.0

PDOPマスク設定

送信: 24 1B 00 01 C4 04 00 00 3E 86 0A 92 40 40 00 00 40 E0 00 00 40 C0 00 00 05 F5 24 24

受信: 24 1B 00 01 20 00 C4 04 00 00 E9 24 24

設定値:

D9 99 9A 6.8

E0 00 00 7.0

2D/3Dレベル取得

送信: 24 1B 00 01 C8 03 00 00 00 CC 24 24

受信: 24 1B 00 01 24 02 C8 03 3E 86 0A 92 40 40 00 00 40 E0 00 00 40 C0 00 00 04 F2 24 24

戻値:

B9 99 9A 5.8

C0 00 00 6.0

2D/3Dレベル設定

送信: 24 1B 00 01 C4 04 00 00 3E 86 0A 92 40 40 00 00 40 E0 00 00 40 C0 00 00 04 C9 24 24

受信: 24 1B 00 01 20 00 C4 04 00 00 E9 24 24

設定値:

B9 99 9A 5.8

C0 00 00 6.0

信号強度レベル取得

送信: 24 1B 00 01 C8 03 00 00 00 CC 24 24

受信: 24 1B 00 01 24 02 C8 03 3E 86 0A 92 40 40 00 00 40 E0 00 00 40 C0 00 00 04 F2 24 24

戻値:

26 66 66 2.6AMU

33 33 33 2.8AMU

40 00 00 3.0AMU

信号強度レベル設定

送信: 24 1B 00 01 C4 04 00 00 3E 86 0A 92 40 40 00 00 40 E0 00 00 40 C0 00 00 04 C9 24 24

受信: 24 1B 00 01 20 00 C4 04 00 00 E9 24 24

設定値:

26 66 66 2.6AMU

33 33 33 2.8AMU

40 00 00 3.0AMU

GPS時刻取得

送信: 24 1B 00 01 D8 00 00 00 00 01 00 05 00 DF 24 24

受信: 24 1B 00 01 38 00 D8 00 00 01 00 05 17 34 36 AC 04 7C BD 2D 03 03 B1 24 24

戻値:

12-15 週の秒数(1/1000秒単位)

16-17 1980/01/06から週

18-19 起動時からの秒数(1/1000秒単位)

20 ?

※ うるう秒分進んでいます。(2002/01/10時点13秒)

(2002/01/10)

CFGPSプロトコル解析

▲ ▲ ▲

Linux関連 / OpenBlockSS関連 / 電波時計関連 / GPS関連 / USB関連 / プログラミング

▲ ▲ ▲

@ひろP / ホビー / プロフィール / ブックマーク / 掲示板 / アルバム / サイトマップ / memo

@ひろP

(c) Copyright 1998-2002 Hiroshi OHNO All right reserved.
E-MAIL: hirop0730@hotmail.com / hiroshi@bigfield.com