FURUNO GNSS Receiver
型式
GN-8720
プロトコル仕様書
IMPORTANT NOTICE
本書に記載された内容を発行元(古野電気株式会社)の書面による許可なく複写、複製、転載および第三者へ開示 することを禁止します。
FURUNO ELECTRIC CO., LTD. All rights reserved. 記載の製品、仕様は予告なく変更することがあります。 本書に記載されている社名、製品名は、一般に各開発メーカーの登録商標または商標です。 GPS(米国)、GLONASS(ロシア)、Galileo(欧州)、QZSS(日本)、SBAS(WAAS(米国)、EGNOS(欧州)、MSAS (日本)、GAGAN(インド))はそれぞれを所持する国が管理・運用するシステムです。それらの運用によっては、測位 性能が著しく劣化することがあります。本仕様書に記載されている事項は、上記の場合を含めて保証したものではあ りません。これらの利用にあたっては、本システムの特性を十分理解し、使用者の責任においてその利益を活用する ことが必要です。
改訂歴
Version 改訂内容 改訂日 0 初版発行(Preliminary version) 2014.11.05 1 表5.1、14.1.16項の修正 (PERDAPI,SBASBLS) 14.1.13項の修正 (PERDAPI,PPS) 14.1.21項の修正 (PERDAPI,TIME) 13.9項、13.11項バックアップ無効時の更新可能な年月日を修正 15.6.7 項追加 (PERDSYS,VBKERR) 2015.03.03 2 正式版発行 12.9節、12.11節 バックアップ有効時修正 13.1.11項 ピンニングの開始・解除条件について記載 14.3.3項 CRLセンテンスの定義修正 表3.1、表5.1、8.11節、12.1節、12.2節、12.3節、12.5節、12.7節、13.1.5項、 13.1.11項、14.3.2.1項を修正 6章 、 9.12節 を 削 除 2015.09.10 3 RESTARTNOFPRコマンド、STOPNOFPRコマンド、DEFLSコマンドを追加 表3.1 Deviation errorに符号を追加 12.1 GBS Field 9,10 ContentsとRangeを修正 12.8 GSV 仰角のRangeを修正、Notes 第7項、第8項を追加 12.9 RMC、12.11 ZDA システム上限値の記述を変更 13.1.9 GNSS Notes 第3項、第4項を追加14.3.1 CRE Field5 SISAにXXを追加、Notes 第5項、第6項を追加 14.3.2.1 CRF,GxACC Notes 第1項を修正、第2項を追加 14.3.2.2 CRF,GxANC Notes 第 2項 を 修 正 2016.01.06 4 表 3.1 UART1 のデフォルトボーレートを 9600bps に変更。注釈を追加 表 4.1 注釈を追加 表 4.2 を追加 設定パラメータ一覧表を削除 5 受信機のステートを更新 表 5.6 FIXSESSION の出力条件を修正 FlashROM のデータエリア構成を削除 周期的に出力するセンテンス(例 2)を削除 7.10.6 項を追加 9.2 例外動作 1,4 の対処法に追記 11.8 GSV メッセージ総数の注記を追加 11.9 RMC, 11.11 ZDA 更新可能な時刻の上限を変更 12.1.4 DEFLS デフォルトうるう秒の初期値を 18 秒に変更 12.1.9 GNSS SBAS の初期設定を”3”に変更 12.2.6 UART1 ボーレートの初期値を 9600bps に変更 12.3.2.2 BBRAM 例を修正
13.6.2 BBRAM MULTIB64 フォーマットと ESIPB64 フォーマットの例を修正
目次
1 概要 ··· 1 2 適用範囲 ··· 1 3 通信仕様 ··· 1 4 NMEAセンテンスフォーマット ··· 2 4.1 標準センテンス ··· 2 4.2 専用センテンス ··· 3 5 受信機のステート ··· 4 6 バックアップデータ ··· 9 7 送受信シーケンス ··· 10 7.1 起動直後 ··· 10 7.2 測位停止ステートから測位動作ステートに遷移時 ··· 11 7.3 周期的に出力するセンテンス ··· 12 7.4 受信機の設定変更時 ··· 13 7.5 受信機データの出力要求 ··· 15 7.6 バックアップデータの入出力 ··· 16 7.6.1 バックアップデータの出力要求時··· 17 7.6.2 バックアップデータ入力時 ··· 18 7.7 シリアル通信設定の変更 ··· 19 7.8 時刻の設定 ··· 20 7.9 位置の設定 ··· 23 7.10 ESIPLISTの設定 ··· 25 7.10.1 ESIPLISTの新規設定 ··· 25 7.10.2 ESIPLISTの追加設定 ··· 26 7.10.3 ESIPLISTの内容確認方法 ··· 27 7.10.4 ESIPLIST消去手順 ··· 28 7.10.5 ESIPLISTで設定可能なコマンド ··· 29 7.10.6 ESIPLISTで設定したコマンドが実行されるタイミング ··· 30 7.11 測位停止 ··· 31 7.12 電源OFF ··· 32 7.13 Flash ROM書き換え ··· 32 8 NMEAセンテンスの受信について ··· 33 8.1 データ受信 ··· 33 8.2 センテンス切り出し ··· 33 8.3 測位回毎のセンテンス切り出し ··· 33 8.4 センテンス毎のデータ切り出し ··· 33 8.5 Talker ID ··· 34 8.6 衛星番号 ··· 34 8.7 時刻 ··· 34 8.8 現在時刻と測位時刻の差 ··· 35 8.9 測位ステータス ··· 35 8.10 未測位でも測位が有効になるケース ··· 35 8.11 方位 ··· 35 9 例外処理 ··· 36 9.1 例外動作 ··· 36 9.2 例外動作の対処法 ··· 37 10 機能の排他性 ··· 38 11 標準NMEA出力 ··· 3911.1 GBS – GNSS Satellite Fault Detection ··· 39
11.2 GFA – GNSS Fix Accuracy and Integrity ··· 40
11.4 GLL – Geographic Position - Latitude/Longitude ··· 42
11.5 GNS – GNSS Fix Data ··· 43
11.6 GSA – GPS DOP and Active Satellites ··· 44
11.7 GST – GNSS Pseudo Range Error Statistics ··· 45
11.8 GSV – Satellites in View ··· 46
11.9 RMC – Recommended Minimum Navigation Information ··· 47
11.10 VTG – Course Over Ground & Ground Speed ··· 48
11.11 ZDA – Time & Date ··· 48
12 専用NMEA入力 ··· 49
12.1 API – eRide GNSS Core Library Interface ··· 49
12.1.1 ANTIJAM – アンチジャミング機能の設定 ··· 49 12.1.2 CROUT – オリジナルセンテンス出力許可 ··· 50 12.1.3 DATUM – 測地系の設定 ··· 51 12.1.4 DEFLS – デフォルトうるう秒の設定・出力要求 ··· 51 12.1.5 EXTENDGSA – GSAセンテンスフィールド拡張 ··· 52 12.1.6 FIRSTFIXFILTER – ファーストフィックスフィルタの設定 ··· 52 12.1.7 FIXMASK – マスク設定 ··· 53 12.1.8 FIXPERSEC – 測位更新周期の設定 ··· 54 12.1.9 GNSS – 衛星システムの設定 ··· 54
12.1.10 LATPROP – Latency Position Propagationの設定 ··· 55
12.1.11 OUTPROP – Enable Position Outage Propagation ··· 55
12.1.12 PIN – ピンニングの設定 ··· 56
12.1.13 POS – 位置の設定 ··· 56
12.1.14 PPS – PPS(Pulse per second)の設定 ··· 57
12.1.15 RAIM – RAIM機能の設定 ··· 57
12.1.16 RESTART/RESTARTNOFPR – 再起動要求 ··· 58
12.1.17 SBASBLS – SBASサーチセレクト ··· 58
12.1.18 SELFEPH – Self-EphemerisTMモードのON/OFF ··· 59
12.1.19 START – 起動要求とスタートモードの設定 ··· 59 12.1.20 STATIC – Staticモードの遷移設定 ··· 60 12.1.21 STOP/STOPNOFPR – 停止要求 ··· 60 12.1.22 TIME – 時刻データの設定 ··· 61 12.2 CFG – Application Softwareの設定 ··· 62 12.2.1 ESIPLIST – FlashROMにeSIPコマンドリストを作成 ··· 62 12.2.2 FACTORYRESET – バックアップRAM、FlashROMのバックアップ情報全消去 ··· 62 12.2.3 FORMAT – プロトコルの変更 ··· 63 12.2.4 NMEAOUT – 標準NMEA出力設定 ··· 64 12.2.5 SILENTSTART – SILENTSTARTモード移行の設定 ··· 64 12.2.6 UART1 – シリアル通信ポートの設定 ··· 65 12.2.7 UART2 – シリアル通信ポートの設定 ··· 65 12.3 SYS – PVT Systemの制御と応答··· 66 12.3.1 ANTSEL – アンテナ入力の設定 ··· 66 12.3.2 BBRAM ··· 66
12.3.2.1 BBRAM – Query Command ··· 66
12.3.2.2 BBRAM – Push Strings ··· 67
12.3.3 ERRACT – 異常発生時の受信機の振る舞い設定 ··· 67
12.3.4 FIXSESSION – GNSS Session出力要求 ··· 68
12.3.5 GPIO – GPIO出力要求 ··· 68
13.2 CFG – PERDCFG入力コマンドの返答 ··· 71 13.2.1 ADDON ··· 71 13.2.2 ESIPLIST ··· 72 13.3 CRx – オリジナルセンテンス ··· 73 13.3.1 CRE – エフェメリス情報 ··· 73 13.3.2 CRF – GNSS AccuracyとGNSS Health ··· 74 13.3.2.1 CRF,GxACC – GNSS Accuracy ··· 74 13.3.2.2 CRF,GxANC – GNSS Health ··· 75 13.3.3 CRL – LTCSM / Self-EphemerisTM Data ··· 76 13.3.4 CRP – PPS制御状態 ··· 77
13.3.5 CRQ – Galileo SAR / RLM Data ··· 78
13.4 MSG – Event Driven Messages ··· 79
13.5 RPx – 診断データ ··· 80
13.6 SYS – PERDSYS入力コマンドの返答 ··· 80
13.6.1 ANTSEL – アンテナ入力状態の出力 ··· 80
13.6.2 BBRAM ··· 81
13.6.3 FIXSESSION – GNSS Session Query ··· 82
13.6.4 GPIO – GPIO出力 ··· 82 13.6.5 SELFEPH – Self-EphemerisTMの計算開始と計算完了の出力 ··· 83 13.6.6 SELFTEST – セルフテスト結果の出力 ··· 84 13.6.7 VBKERR – VBK対策処理での異常発生通知 ··· 85 13.6.8 VERSION – バージョン出力 ··· 86 14 (補足) RTCM補正情報 ··· 87 14.1 構成図 ··· 87 14.2 RTCMメッセージの取扱い ··· 87
1
概要
本書は、FURUNO GNSS 受信機 GN-8720 の通信プロトコル(eRide Serial Interface Protocol(eSIP))について 記載します。
2
適用範囲
GN-8720 の通信プロトコルについて適用します。 対応するソフトウェアのバージョンは eNP651A 以降です。3
通信仕様
本受信機で使用する通信方式は表 3.1 の通りです。UART1 は、NMEA プロトコルによる測位情報等の出力と設定コマンド等の入力に、UART2 はディファレンシャル測 位を行うための RTCM SC-104 規格の補正情報の入力に使用します。 表 3.1 通信仕様 NMEA プロトコル(eSIP) RTCM SC-104(入力専用) 通信ポート UART1(TXD1、RXD1) UART2(RXD2) 通信仕様 全二重 調歩同期式(無手順) 転送速度 1
Baud rate [bps] Deviation error [%] Baud rate [bps] Deviation error [%]
4,800 +0.00 4,800 (Default) +0.00 9,600 (Default)2 +0.11 9,600 +0.11 19,200 -0.11 19,200 -0.11 38,400 +0.32 38,400 +0.32 57,600 -0.54 57,600 -0.54 115,200 -0.54 115,200 -0.54 230,400 +2.08 230,400 +2.08 データ長1 8 bit ストップビット1 1 bit パリティ 1 なし 出力周期 1000 ms (1 Hz) (デフォルト設定)3 500 ms (2 Hz) 200 ms (5 Hz) 100 ms (10 Hz) -
信号コード形式 NMEA-0183 Ver. 4.10 データ準拠 ASCII
コード 4 RTCM SC-104 (Ver. 2.3) 通信内容 入力データ NMEA Proprietary センテンス 出力データ NMEA 標準センテンス NMEA Proprietary センテンス 入力データ Message Type 1 Message Type 3 Message Type 9 1 設定により変更可能です。設定方法は 12.2.6 項を参照ください。
4
NMEA センテンスフォーマット
4.1 標準センテンス
$ <アドレスフィールド> , <データフィールド> ・・・ *<チェックサム> <CR> <LF> 5 バイト "$" センテンスの開始を表します。 <アドレスフィールド> 5 バイトの固定長です。 初めの 2 バイトは、トーカ(talker、発信者)ID を表し、GP は GPS、GN は GNSS、GL は GLONASS を表しています。 標準 NMEA センテンスの Talker ID を表 4.1 に示します。Talker ID はPERDAPI,GNSSコマンドによる設定、およ び使用している衛星システムによって切り替わります。 続く 3 バイトは、センテンスフォーマットでデータの種類を表しています。 表 4.1 標準NMEAセンテンスのTalker ID 標準 NMEA センテンスの種類 Talker ID の設定 AUTO GN LEGACYGP RMC 位置・測位時刻・速度・方位 GN/GP/GL/GA5 GN GP GNS GNSS 測位データ GN/GP/GL/GA 5 GN GP GGA 位置・測位時刻等 GN/GP/GL/GA 5 GN GP GLL 位置、測位時刻 GN/GP/GL/GA 5 GN GP VTG 速度、方位 GN/GP/GL/GA 5 GN GP GST 誤差楕円、精度指標 GN/GP/GL/GA 5 GN GP GBS 異常衛星検出 GN/GP/GL/GA5 GN GPGFA Integrity 情報 GN/GP/GL/GA5 GN GP
GSA 測位状態、測位使用衛星、DOP GN/GP/GL/GA 5 GN/GP/GL/GA5 GP
ZDA 現在日時等 GN/GP/GL/GA 5 GN GP GSV 衛星情報(GPS、SBAS、QZSS) GP6 GP GP 衛星情報(GLONASS) GL7 GL x8 衛星情報(Galileo) GA7 GA x8 <データフィールド> 主に可変長であり、必ずデリミタ","で区切られます。 有効なデータ文字は"!","$","*","¥","^"を除いた ASCII 文字コード 0x20(スペース)~0x7D("}")の全ての文字です。 該当するデータがない場合は、ヌルフィールドで表します。 <チェックサムフィールド> "$"の次のデータから"*"の前のデータまでの全てのデータを、8 ビット全てにつき XOR(排他的論理和)をとり、その結 果を 2 バイトのアスキーキャラクタに変換します。 5 GN/GP/GL/GA は測位に使用している衛星システムによって下記の通り切り替わります。 - GN:未測位、または複数の衛星システムを使用 - GP:GPS のみ使用(SBAS, QZSS を含む) - GL:GLONASS のみ使用 - GA:Galileo のみ使用 6 GPS(SBAS, QZSS を含む)の情報を保持しており、かつ PERDAPI,GNSS コマンドで 1~3 に設定されている場合、ま たは未測位の場合に出力されます。 7 未測位、または複数の衛星システムを使用している場合に出力されます。 8 測位に使用する設定にしている場合、センテンスは出力されませんが、測位には使用しています。
<CR><LF> センテンスの終了を表します。 - <CR>: 0x0D - <LF>: 0x0A
4.2
専用センテンス
チェックサムを含む入力コマンド内のアルファベットは、全て大文字です。ただし、BBRAMコマンドで送信するバッ クアップ RAM データには小文字も含まれます。 $ P <メーカーコード> <センテンスタイプ> , <データフィールド> ・・・ *<チェックサム> <CR> <LF> 3 バイト 3 バイト "$" センテンスの開始を表します。 "P"Proprietary Sentence ID。専用センテンスであることを表します。
<メーカーコード> メーカーを示すコードです。"ERD"となっています。 <センテンスタイプ> センテンスのタイプを示します。”API”クラス、”CFG”クラス、”SYS”クラスがあります。表 4.2 に示す動作を行った時に、 各コマンドによる設定はデフォルトに戻ります。 表 4.2 デフォルト設定に戻る動作 コマンドの種類
動作 $PERDAPI $PERDCFG $PERDSYS
電源 ON/OFF ● ● ● ハードウェアリセット ● ● ● PERDAPI,STOP/STOPNOFPR ● - - PERDCFG,FACTORYRESET ● - - ●:デフォルト設定に戻る <データフィールド> 主に可変長であり、必ずデリミタ','で区切られます。 有効なデータ文字は"!","$","*","¥","^"を除いた ASCII 文字コード 0x20(スペース)~0x7D("}")の全ての文字です。 該当するデータがない場合は、ヌルフィールドで表します。 "[ ]"で囲まれた箇所は省略可能な項目を表します。 <チェックサムフィールド> "$"の次のデータから"*"の前のデータまでの全てのデータを、8 ビット全てにつき XOR(排他的論理和)をとり、その結 果を 2 バイトのアスキーキャラクタに変換します。 <CR><LF> センテンスの終了を表します。送信時は省略可能です。
5
受信機のステート
図 5.1 に受信機のステートダイアグラムを示します。下記動作をする場合、受信機を測位停止ステートにする必要 があります。 - FlashROM 書換え - ESIPLIST にコマンドを登録 - バックアップ RAM 内のバックアップデータの読み書き 電源OFF S1T51
T21
測位停止 S3 FlashROM 書換え S5 BBRAM入力 S6 ESIPLIST 作成 S4 測位動作 S2T12
T31
T23
T32
T43
T34
T36
T63
T35
T13
図 5.1 ステートダイアグラム 表 5.1 に各ステートについて記載します。 表 5.1 受信機のステート ステート名 説明 電源 OFF 電源 OFF の状態で、一切の入出力を行わない状態 測位動作 測位演算機能が動作しており、周期的に測位結果を出力する状態 測位停止 測位演算機能が停止している状態(スタンバイ状態) BBRAM 入力 PERDSYS,BBRAMコマンドにより、バックアップデータを入力している状態 FlashROM 書き換え 受信機の測位演算プログラムを更新している状態ESIPLIST 作成 PERDCFG,ESIPLISTコマンドにより、FlashROM エリアに初期設定用コマンドを登録中 の状態
表 5.2 に各ステートへの遷移動作を示します。
表 5.2 ステート遷移動作
状態遷移 遷移動作 Notes
T12 電源 ON
T13 SILENTSTART モードで電源 ON PERDCFG,SILENTSTARTコマンドを ESIPLIST に登録 する必要があります。 T21 電源 OFF T31 T51 T23 下記コマンドを入力 - PERDAPI,STOP - PERDAPI,STOPNOFPR セルフテスト異常や状態異常を検知 PERDSYS,ERRACTコマンドにより HALT(異常発生時に 測位停止ステートに移行する)に設定する必要があります。 T32 下記コマンドを入力 - PERDAPI,START PERDACK および PERDSYS,FIXSESSION,ON センテン スにより測位動作ステートへ遷移したことを確認できます。 T34 下記コマンドを入力 - PERDCFG,ESIPLIST,NEW - PERDCFG,ESIPLIST,APPEND T43 下記コマンドを入力 - PERDCFG,ESIPLIST,CLOSE T36 下記コマンドを入力 - PERDSYS,BBRAM T35 FlashROM の書換えについては、「WinUppg を使った FlashROM 書換え方法(SE13-900-008)」を参照ください。 T63 受信機とホスト間の入出力完了 各ステートでの UART1(入出力)、UART2(入力)は表 5.3 の通りです。 表 5.3 各ステートでの入出力
ステート名 UART1(出力) UART1(入力) UART2(入力)
電源 OFF 出力しない。 入力を受け付けない。 入力を受け付けない。 測位動作 測位結果および、入 力に対する応答を出 力する。 入力されたコマンドを受け付ける。た だし、測位停止ステートでのみ受理可 能なコマンドを入力した場合、拒否 (受理できない状態)する。 RTCM SC-104 ディファ レンシャル情報として取 り扱う。 測位停止 入力に対する応答を 出力する。 入力されたコマンドを受け付ける。た だし、測位動作ステートでのみ受理可 能なコマンドを入力した場合、拒否 (受理できない状態)する。 入力を受け付けない。 BBRAM 入力 - 測位停止ステートから、 PERDSYS,BBRAMコマンド入力を 受け付ける。 - FlashROM 書き換え FlashROM 書き換え 手順に従ったセンテン スを出力する。 FlashROM 書き換え手順に従ったセ ンテンスのみ受け付ける。 -
出力センテンス 出力内容 測位動作 測位停止 RMC 推奨最小ナビゲーション情報 ● - GNS GNSS 測位データ ● - GGA GPS 測位データ ● - GLL 緯度経度情報 ● - VTG 速度方位情報 ● - GST GNSS 擬似距離誤差 ● - GBS 異常衛星検出 ● - GFA Integrity 情報 ● - GSA DOP と測位使用衛星 ● - ZDA 衛星時刻情報 ● - GSV 視野内衛星情報 ● - ●:出力可能。出力 ON/OFF と出力周期はPERDCFG,NMEAOUTコマンドにより設定可能。 -:出力不可
表 5.5 専用NMEAセンテンス入力条件 入力コマンド 入力内容 測位動作 測位停止 PERDAPI, ANTIJAM 耐妨害波機能設定 I I CROUT オリジナルセンテンス出力要求 I I DATUM 測地系設定 I I DEFLS デフォルトうるう秒の設定・出力要求 I9 / q I / q EXTENDGSA GSA センテンスフィールド拡張 I I FIRSTFIXFILTER ファーストフィックスフィルタ設定 I I FIXMASK 測位マスク設定 I I FIXPERSEC 測位更新周期設定 I9 I GNSS 衛星システム設定 I I LATPROP 測位プロパゲーション設定 I I OUTPROP GNSS 衛星未測位時の推測測位継続時間設定 I I PIN ピンニング設定 I I POS 位置設定 I I PPS PPS 機能設定 I I RAIM RAIM 機能設定 I I RESTART/RESTARTNOFPR 再起動要求 I I SBASBLS 優先的にサーチする SBAS 衛星の設定 I I
SELFEPH Self-EphemerisTMモードの ON/OFF I I
START 起動要求 NACK I STATIC STATIC モード遷移設定 I I STOP/STOPNOFPR 停止要求 I NACK TIME 時刻設定 I I PERDCFG, ESIPLIST ESIP コマンド登録、応答 q I / q FACTORYRESET オールクリア要求 NACK I FORMAT プロトコル種別設定 I 9 I NMEAOUT 出力標準 NMEA センテンス設定 I I SILENTSTART SILENTSTART モード移行の設定 E E UART1/UART2 シリアル通信設定 I 9 I PERDSYS, ANTSEL アンテナ入力の設定、状態出力要求 I / q I / q BBRAM バックアップデータ出力要求 q 10 q バックアップデータ入力 NACK I ERRACT 異常発生時の受信機の振る舞い設定 I I FIXSESSION GNSS セッション出力要求 I / q I / q GPIO GPIO 状態出力要求 q q RECPLAY 診断データ出力 ON/OFF I 9 I SELFEPH Self-EphemerisTM計算時間設定 I I SELFTEST セルフテスト出力要求 q q VERSION ソフトウェアバージョン出力要求 q q I:入力可能 q:出力要求可能 NACK:入力を行っても処理に反映されない
表 5.6 専用NMEAセンテンス出力条件 出力センテンス 出力内容 測位動作 測位停止 PERDACK ACK コマンド受信確認出力 A A PERDCFG ADDON 起動時状態出力 S -
ESIPLIST ESIP コマンド Query Q Q
PERDCRx CRE 衛星の航法メッセージ情報 O - CRF,GxACC 衛星の精度情報 O - CRF,GxANC 衛星のヘルス情報 O - CRL LTCSM / Self-EphemerisTMの有効期限 O - CRP PPS 出力状態 O -
CRQ Galileo SAR/RLM data O -
PERMSG MSG イベントメッセージ E E PERDRPx RPx 診断データ O - PERDSYS ANTSEL アンテナ入力状態 S / Q Q BBRAM バックアップデータ出力 Q11 Q FIXSESSION GNSS セッション出力 Q / R / S / E Q GPIO GPIO 状態出力 Q Q SELFEPH Self-EphemerisTMの計算開始と計算完了 E E SELFTEST セルフテスト出力 Q Q VBKERR VBK 対策処理時の異常発生通知 E E VERSION ソフトウェアバージョン出力要求 S/ Q Q
A:入力コマンドの ACK または NACK として出力 E:イベント発生時に出力 O:出力可能 Q:出力要求コマンド入力時に出力 R:PERDAPI,STARTコマンド発行による測位停止ステートから測位動作ステート遷移時、PERDAPI,STOPコマンド またはPERDAPI,STOPNOFPRコマンド発行による測位動作ステートから測位停止ステート遷移時に出力 S:電源 ON 時に出力 -:出力不可 11 出力要求可能ですが、バックアップデータが他のセンテンスと混在して出力する恐れがあるため、バックアップデータの 出力要求は測位停止ステートで入力してください。
6
バックアップデータ
受信機は「最終更新位置」、「最終更新時刻情報」、「エフェメリス」、「アルマナック」、「CSM」、「LTCSM」、 「Self-EphemerisTM」をバックアップします。バックアップしたデータは、次回起動時の初期測位時間を短縮するため に用いられます。 下記①~⑤はバックアップ RAM に保存されますので、モジュールの VBK に電源が給電されている間、バックアッ プデータを保持し続けます。PERDAPI,STOPコマンド送信により、FlashROM のエリアにも保存することが可能で す。 下記⑥と⑦は FlashROM の個別のエリアにデータを保持します。 ①最終更新位置 GGA, GLL, GNS, RMC センテンスの測位情報で最後に出力した「位置」を指します。 デフォルト設定、または GGA, GLL, GNS, RMC センテンスの測位情報を測位毎に出力する設定の場合に限りま す。それ以外の場合は、受信機が内部で求めた最後の「位置」を指します。 位置測位時にバックアップします。 ②最終更新時刻情報 受信機が GGA, GLL, GNS, RMC センテンスの測位情報で最後に出力した「UTC 時刻」と、その時点における RTC カウンタ値の情報を指します。 デフォルト設定、または GGA, GLL, GNS, RMC センテンスの測位情報を測位毎に出力する設定の場合に限りま す。それ以外は、受信機が内部で求めた最後の「UTC 時刻」と、その時点における RTC カウンタ値を指します。 最初に時刻が確定した時に、バックアップします。 電源 OFF ステートで RTC へバックアップ電流が供給されていれば、次回電源投入時に最終更新時刻情報と RTC カウンタ値の差分から、電源投入時の時刻を求めることができます。 最終更新時刻情報と RTC カウンタ値の差分から求めた時刻を「RTC 時刻」と定義します。RTC 時刻を求められる 状態を「RTC 時刻が有効」、最終時刻情報、または RTC へのバックアップ電流が供給されておらず、RTC 時刻を求 められない状態を「RTC 時刻が無効」とします。 ③エフェメリス 衛星が放送しているエフェメリスの情報。エフェメリスデータ取得時と更新時にバックアップします。 ④アルマナック 衛星が放送しているアルマナックの情報。アルマナックデータ取得時と更新時にバックアップします。 ⑤CSM アシストサーバから受信機へダウンロードされた、放送中の全 GPS 衛星のエフェメリスモデル(弊社独自形式)。 ダウンロード時にバックアップ RAM にバックアップします。 ⑥LTCSM アシストサーバから受信機へダウンロードされた、1 週間使用可能な拡張エフェメリスモデル(弊社独自形式)。ダウ ンロード時に FlashROM 領域にバックアップします。 ⑦Self-EphemerisTM 衛星から受信したエフェメリスより受信機が生成した、最長 3 日間使用可能な拡張エフェメリスモデル。 モデル生 成時に FlashROM 領域にバックアップします。7
送受信シーケンス
本章は受信機と受信機を利用するホスト間の送受信シーケンスについて記載します。 本プロトコルは、12 章に記載されたコマンドを入力すると、応答センテンス($PERDACK...)、または要求されたデ ータを出力します。 正しいコマンドを入力したにも関わらず、受信機から応答がない場合、伝送路上で何らかのエラーが発生した可能 性があるため、再度コマンドを送信してください。7.1 起動直後
受信機の電源を投入した直後、受信機はバージョンメッセージ($PERDSYS,VERSION...)、設定データ、測位動 作開始メッセージ($PERDSYS,FIXSESSION,ON)を出力し、起動処理を行います。受信機は起動処理が完了する まで、入力を受け付けません。入力が可能となるのは、電源投入後、最大で 600 ミリ秒後になります。 図 7.1 は電源投入からコマンド入力が可能になるまでのシーケンスです。 受信機 ホスト 起動処理 (600 msec) $PERDSYS,VERSION... : バージョン情報 測位動作 (入力可能) 電源投入 $PERDSYS,FIXSESSION,ON :測位動作開始 1) 図 7.1 電源投入からコマンド入力可能になるまでのシーケンス Notes: 1) 設定データが出力されます。GN-8720 の場合、以下のセンテンスが出力されます(下記例では、LNA は High Gain モード)。 $PERDSYS,ANTSEL,FORCE1H,1HIGH*6C $PERDCFG,CUSTOM,GN8687*5A $PERDCFG,ADDON,N/A,BASIC*57 $PERDSYS,VBKERR,OK*44 $PERDSYS,FIXSESSION,INIT*497.2 測位停止ステートから測位動作ステートに遷移時
図 7.2 は測位停止ステートから測位動作ステートに遷移するまでのシーケンスです。 測位停止ステートからPERDAPI,STARTコマンドを入力すると、PERDACKセンテンスと PERDSYS,FIXSESSION,ONセンテンスを出力後、測位動作ステートに遷移します。 受信機 ホスト $PERDSYS,FIXSESSION,ON :測位動作開始 $PERDAPI,START... : 起動要求 $PERDACK,PERDAPI... : 入力受理 (START) 測位動作 測位停止 図 7.2 測位停止ステートから測位動作ステートに遷移7.3 周期的に出力するセンテンス
図 7.3 は 1Hz の測位周期に同期して、RMC, GNS, GST, GSA, ZDA, GSV センテンス(GSV 以外の Talker ID は GN、GSV の Talker ID は GP)を出力時の送信シーケンスを示します。 入 力 処 理 受信機 ホスト 1000 msec 1000 msec 測 位 演 算 処 理 出 力 処 理 入 力 処 理 そ の 他 処 理 測 位 演 算 処 理 出 力 処 理 そ の 他 処 理 $GNGST $GNGSA $GNZDA $GNGNS $GNRMC $GPGSV $GNGST $GNGSA $GNZDA $GNGNS $GNRMC $GPGSV 図 7.3 周期的に出力するセンテンスの通信シーケンス
7.4 受信機の設定変更時
受信機の設定を変更する場合のシーケンスを以下に示します。 図 7.4 は、測位周期:1Hz、RMC, GNS, GSV センテンスを測位周期に同期して出力している受信機に対して、 PERDAPI,FIXMASKコマンドとPERDAPI,PINコマンドを入力したシーケンスです。入力タイミングによって、それぞ れのコマンドに対する応答および測位結果へ入力した設定が反映されるまでの時間が異なることを示しています。 受信機 ホスト $GNRMC $GNGNS $GPGSV 1000 msec $GNRMC $GNGNS $GPGSV (FIXMASK反映) 1000 msec $PERDAPI,FIXMASK $PERDACK,PERDAPI(FIXMASK) 測 位 演 算 処 理 出 力 処 理 $PERDAPI,PIN 1000 msec PIN 応答時間 PIN 設定反映 遅延時間 入 力 処 理 そ の 他 処 理 測 位 演 算 処 理 出 力 処 理 入 力 処 理 そ の 他 処 理 測 位 演 算 処 理 出 力 処 理 入 力 処 理 そ の 他 処 理 FIXMASK 応答時間 FIXMASK 設定反映 遅延時間 $PERDACK,PERDAPI(PIN) $GNRMC $GNGNS $GPGSV (PIN反映)1. 入力に対する応答が、出力されるまでの最大遅延時間 測位動作ステート、更新周期1Hzの場合、コマンド入力処理の直後に入力した設定コマンドは、測位演算処理と 出力処理が完了した次の入力処理で受理されるため、コマンドの入力から応答が出力される(設定の反映が完 了する)まで最大で1000ミリ秒を要します。 表 7.1は各ステート状態の各更新周期での入力に対する応答が出力されるまでの最大遅延時間です。 表 7.1 入力に対する応答が出力されるまでの最大遅延時間 ステート名 更新周期 [Hz] 最大遅延時間 [ミリ秒] 測位動作 1 1000 2 500 5 200 10 100 測位停止 - 100 2. 入力した設定が、測位結果に反映され、出力されるまでの最大遅延時間 測位動作ステート、更新周期1Hzの場合、入力した設定が反映された測位結果が出力されるまでは、コマンドの 入力から最大で2000ミリ秒を要します。 表 7.2は測位動作ステートで、各更新周期で入力した設定が測位結果に反映され、出力されるまでの最大遅延 時間です。 表 7.2 入力した設定が測位結果に反映され、出力されるまでの最大遅延時間 ステート名 更新周期 [Hz] 最大遅延時間 [ミリ秒] 測位動作 1 2000 2 1000 5 400 10 200 3. 一度に入力可能なコマンド数 本受信機は、原則として1秒間に1回、入力コマンドを受け付けます。 この時、受信機の設定や測位状況により、負荷が低い場合は、1秒間に複数の入力コマンドを受け付けることも 可能です。 ※測位停止ステートの場合、20個のコマンドを連続で受信機に入力することが可能です。また、最初に入力した コマンド郡に対して、受信機が応答を出力し終わった時点で、次のコマンド入力が可能となります。
7.5 受信機データの出力要求
受信機にデータ出力要求を行う場合のシーケンスを以下に示します。 図 7.5 は、1Hz で測位を行っている受信機に対して、PERDSYS,GPIOコマンドとPERDSYS,VERSIONコマンド を入力した場合に、それぞれの入力から要求したデータが出力されるまでのシーケンスを示しています。 受信機 ホスト 1000 msec 1000 msec $PERDSYS,GPIO:GPIO出力要求 $PERDSYS,VERSION :ソフトウェアバージョン出力要求 $PERDSYS,GPIO:GPIO情報 測 位 演 算 処 理 出 力 処 理 入 力 処 理 そ の 他 処 理 測 位 演 算 処 理 出 力 処 理 入 力 処 理 そ の 他 処 理 $PERDSYS,VERSION : ソフトウェアバージョン応答 $GNRMC $GNGNS $GPGSV $GNRMC $GNGNS $GPGSV 図 7.5 受信機データ出力要求時の通信シーケンス(1Hz) 1. データ出力要求コマンド入力後、要求データが出力されるまでの最大遅延時間 測位動作ステート、更新周期1Hzの場合、入力処理の直後に入力したデータ出力要求コマンドは、測位演算処 理と出力処理が完了した次の入力処理で受理されるため、コマンド入力から要求したデータが出力されるまで、 最大で1000ミリ秒を要します。 表 7.3は各ステート状態で、各更新周期でのデータ出力要求コマンド入力後、要求データが出力されるまでの最 大遅延時間です。 表 7.3 要求データが出力されるまでの最大遅延時間 ステート名 更新周期 [Hz] 最大遅延時間 [ミリ秒] 1 1000 2 5007.6 バックアップデータの入出力
受信機のパックアップデータを MULTIB64 フォーマット、ESIPB64 フォーマットで入出力する場合のシーケンスにつ いて説明します。 バックアップデータの容量は、1 センテンスで伝送可能な容量を超えるため、バックアップデータの入出力時は分割 して取り扱います。 図 7.6 にバックアップデータの入出力処理の概要を示します。 受信機 分割データ1 分割データ2 分割データ3 分割データN…
バックアップ データ (バックアップRAM) ホスト 出力 ホスト 入力…
受信機 シーケンス番号:1 シーケンス番号:2 シーケンス番号:3 シーケンス番号:N シーケンス番号:1 シーケンス番号:2 シーケンス番号:3 シーケンス番号:N バックアップ データ (バックアップRAM)出力時
入力時
受信機が分割 受信機が出力したセンテンスを そのまま入力 分割データ1 分割データ2 分割データ3 分割データN 図 7.6 バックアップデータの入出力概要7.6.1 バックアップデータの出力要求時 バックアップデータ出力を要求する場合、受信機に対してPERDAPI,STOPコマンドまたは PERDAPI,STOPNOFPRコマンドを入力し、受信機を測位停止ステートに遷移させます。測位停止ステートに遷移後 にPERDSYS,BBRAM,QUERYコマンドを入力すると、受信機がPERDSYS,BBRAMセンテンスを連続して出力し ます。バックアップデータ出力中に入力したコマンドは、バックアップデータの出力完了後に処理されます。 図 7.7 にバックアップデータ出力時のシーケンスを示します。 受信機 ホスト $PERDSYS,BBRAM,QUERY :BBRAM出力要求 $PERDSYS,BBRAM : バックアップデータ出力 シーケンス番号1/N 分割転送
…
$PERDAPI,STOP または $PERDAPI,STOPNOFPR:停止要求 $PERDACK,PERDAPI:入力受理 $PERDSYS,BBRAM : バックアップデータ出力 シーケンス番号N/N $PERDSYS,FIXSESSION,OFF :測位動作停止 $PERDSYS,BBRAM,CHKSUM : バックアップデータチェックサム $PERDACK,PERDSYS... :入力受理 (BBRAM出力要求) 図 7.7 バックアップデータ出力時のシーケンス7.6.2 バックアップデータ入力時 バックアップデータ入力を要求する場合、受信機にPERDAPI,STOPコマンドまたはPERDAPI,STOPNOFPRコ マンドを入力し、受信機を測位停止ステートに遷移後、受信機がバックアップデータの出力要求で出力したデータをシ ーケンス番号順にそのまま入力します。 図 7.8 にバックアップデータ入力時のシーケンスを示します。 受信機 ホスト 分割転送
…
$PERDAPI,STOP または $PERDAPI,STOPNOFPR:停止要求 $PERDACK,PERDAPI:入力受理 $PERDSYS,BBRAM : バックアップデータ入力 シーケンス番号1/N $PERDSYS,BBRAM : バックアップデータ入力 シーケンス番号N/N $PERDSYS,BBRAM,CHKSUM : バックアップデータチェックサム $PERDSYS,FIXSESSION,OFF :測位動作停止 $PERDSYS,BBRAM,PASS バックアップデータ入力完了 (*1) (*1) バックアップデータを受信機に入力できた場合は、”$PERDSYS,BBRAM,PASS*15”と出力されます。できなかった場合 は、”$PERDSYS,BBRAM,FAIL,MISSING,...”と出力されます。 図 7.8 バックアップデータ入力時のシーケンス 1. バックアップデータ入力前に、受信機にバックアップデータが存在した場合 受信機が、シーケンス番号1番のバックアップデータを受理した時点で、バックアップRAM内の既存のバックアッ プデータは無効となります。 2. バックアップデータを入力可能な受信機 バックアップデータの入力は、当該バックアップデータを出力した受信機に対してのみ、入力可能です。 3. バックアップデータが無効となる場合 下記のいずれかのケースに該当する場合、入力したバックアップデータは反映されません。 a. バックアップデータ入力中に、バックアップデータ以外のコマンドを入力した場合 b. シーケンス番号が1から始まっていない、または連続性がない場合 c. 入力データのチェックサムに異常がある場合 d. バックアップデータのチェックサムに異常がある場合 4. バックアップデータを入力できなかった場合 PERDCFG,FACTORYRESET12コマンドを入力し、現在格納されているバックアップ内容を一旦全て消去後、再 度バックアップデータを入力してください。 12 PERDCFG,FACTORYRESET コマンドは全てのバックアップを消去するコマンドです。ESIPLIST の設定も消去するの で、ESIPLIST を使用している場合は、再度 ESIPLIST の設定を行ってください。7.7 シリアル通信設定の変更
図 7.9 にシリアル通信設定変更時のシーケンスを示します。 シリアル通信設定の変更は測位停止ステートで行います。 測位停止ステートでPERDCFG,UART1コマンドを入力すると、受信機はPERDACKセンテンスを出力し、その後、 設定が反映されます。 受信機 ホスト $PERDCFG,UART1 : シリアル通信設定 $PERDAPI,STOP または $PERDAPI,STOPNOFPR: 停止要求 $PERDACK,PERDAPI :入力受理 (STOP) 設定反映 設定反映 $PERDACK,PERDCFG :入力受理 (UART1) $PERDSYS,FIXSESSION,OFF :測位動作停止 図 7.9 シリアル通信設定変更シーケンスの概要7.8 時刻の設定
時刻未確定時に受信機の時刻を設定する場合のシーケンスについて記載します。 受信機の時刻設定には、PERDAPI,TIMEコマンドを用いますが、入力条件として受信機の RTC 時刻が無効かつ、 衛星から時刻を取得していないことを満たす必要があります。 上記条件を満たし、時刻を設定するシーケンスを図 7.10 と図 7.11 に示します。PERDAPI,STARTコマンド入力 後、時刻未確定な間にPERDAPI,TIMEコマンドにより時刻を設定できます。 受信機 ホスト $PERDAPI,START,COLD : 起動要求(COLD または SIMCOLD) $PERDAPI,STOP または $PERDAPI,STOPNOFPR: 停止要求 $PERDACK,PERDAPI : 入力受理 (STOP) 時刻未確定 $PERDAPI,TIME: 時刻設定 $PERDACK,PERDAPI : 入力受理 (START) $PERDACK,PERDAPI : 入力受理 (TIME) $PERDSYS,FIXSESSION,OFF $PERDSYS,FIXSESSION,ON 図 7.10 時刻設定シーケンスの概要(起動要求を使用する場合)図 7.11 の場合、PERDAPI,RESTARTコマンドまたはPERDAPI,RESTARTNOFPRコマンド入力後、 PERDSYS,FIXSESSION,ON センテンスの次に出力された$GNRMC, $GNGNS, $GNGSV などの PVT 情報(その ときに出力設定しているセンテンス)を受信してから、時刻未確定の間にPERDAPI,TIMEコマンドを入力することで 時刻を設定できます。 受信機 ホスト $PERDAPI,RESTART,COLD または $PERDAPI,RESTARTNOFPR,COLD : 再起動要求(COLD または SIMCOLD) $PERDSYS,FIXSESSION,OFF $PERDSYS,FIXSESSION,ON 時刻未確定 $PERDAPI,TIME: 時刻設定 $PERDACK,PERDAPI : 入力受理 (RESTART) ソフトウェアリセット $GNRMC $GNGNS $GPGSV :PVT情報 $PERDACK,PERDAPI : 入力受理 (TIME) 図 7.11 時刻設定シーケンスの概要(再起動要求を使用する場合) 1. 時刻設定の入力が遅れた場合 すでに受信機の時刻が確定している場合、PERDAPI,TIMEコマンドを入力されても、入力条件である「衛星から 時刻を取得していないこと」を満たせないため、設定した時刻が反映されません。 2. 誤った年月日を設定した場合 入力した時点の実際の年月日とPERDAPI,TIMEコマンドで入力した年月日の差が±512週未満の場合、衛星 から時刻を取得した時点で年月日が修正されます。 入力した時点の実際の年月日とPERDAPI,TIMEコマンドで入力した年月日の差が±512週以上の場合、1980 年1月6日を起点とした「GPS週番号のロールオーバ回数」が誤って設定されます。 本受信機は、使用する衛星システムに関わらず、受信機内部で設定した「GPS週番号のロールオーバ回数」を 基準に年月日を算出するため、本値が誤って設定されると、出力する年月日に1024週単位で誤差が発生します。 また、誤って設定された「GPS週番号のロールオーバ回数」は、衛星から時刻を取得しても、修正されません。 この場合、本シーケンスで、現在の年月日に対して±512週未満の年月日を再設定することで、「GPS週番号の ロールオーバ回数」が正しく設定されます。
誤った「GPS週番のロールオーバ回数」が設定されるケースを図 7.12を例に説明します。 現在の年月日 入力した年月日 GPS 週番号の ロールオーバ回数 : 1 GPS 週番号の ロールオーバ回数 : 2 GPS 週番号の ロールオーバ回数 : 3 入力年月日の誤差 2019年4月7日 2038年11月21日 2058年7月7日 時間 図 7.12 入力時刻と現在時刻の関係 図中の入力年月日の誤差が±512週以上の場合、入力した年月日に対応する「GPS週番号のロールオーバ回 数」として「2」が設定されます(正しい値は「1」)。 衛星から時刻を取得すると、誤った「GPS週番号のロールオーバ回数:2」の起点日(2019年4月7日)に、取得し た時刻から算出した「GPS週番号」と「GPS週内時刻」を加算した年月日(本例の場合、正しい年月日+1024週) を出力します。 3. 誤った時分秒を設定した場合 入力した時分秒の誤差は、衛星から時刻を取得した時点で、修正されます。
7.9 位置の設定
位置未確定時に受信機の位置を設定する場合のシーケンスについて記載します。 受信機の位置設定には、PERDAPI,POSコマンドを用いますが、入力条件として受信機の位置が決定していない ことを満たす必要があります。 上記条件を満たし、位置を設定するシーケンスを図 7.13 と図 7.14 に示します。図 7.13 の場合、 PERDAPI,STARTコマンド入力後、位置が未確定な間に PERDAPI,POS コマンドにより位置を設定できます。 受信機 ホスト $PERDAPI,START,COLD : 起動要求(COLD または SIMCOLD) $PERDAPI,STOP または $PERDAPI,STOPNOFPR: 停止要求 $PERDACK,PERDAPI : 入力受理 (STOP) 位置未確定 $PERDAPI,POS: 位置設定 $PERDACK,PERDAPI : 入力受理 (START) $PERDACK,PERDAPI : 入力受理 (位置) $PERDSYS,FIXSESSION,OFF $PERDSYS,FIXSESSION,ON 図 7.13 位置設定シーケンスの概要(起動要求を使用する場合)図 7.14 の場合、PERDAPI,RESTARTコマンドまたはPERDAPI,RESTARTNOFPRコマンド入力後、 PERDSYS,FIXSESSION,ONセンテンスの次に出力された$GNRMC, $GNGNS, $GNGSV などの PVT 情報(その ときに出力設定しているセンテンス)を受信してから、位置未確定の間にPERDAPI,POSコマンドを入力することで時 刻を設定できます。 受信機 ホスト $PERDAPI,RESTART,COLD または $PERDAPI,RESTARTNOFPR,COLD : 再起動要求(COLD または SIMCOLD) $PERDSYS,FIXSESSION,OFF $PERDSYS,FIXSESSION,ON 位置未確定 $PERDAPI,POS: 位置設定 $PERDACK,PERDAPI : 入力受理 (RESTART) ソフトウェアリセット $GNRMC $GNGNS $GPGSV :PVT情報 $PERDACK,PERDAPI : 入力受理 (POS) 図 7.14 位置設定シーケンスの概要(再起動要求を使用する場合) 1. 位置設定の入力が遅れた場合 すでに受信機の位置が確定している場合、PERDAPI,POSコマンドを入力されても、入力条件である「位置を決 定していないこと」を満たせないため、設定した位置が反映されません。 2. 誤った位置を設定した場合 設定時の位置誤差は、衛星情報を用いて測位した時点で修正されます。
7.10 ESIPLIST の設定
ESIPLIST とは FlashROM にコマンドを書き込み、起動時に書き込んだコマンドを自動的に発行する機能です。以 下に設定手順を記載します。 7.10.1 ESIPLIST の新規設定 ESIPLIST を新規作成する場合、以下の手順で行います。 ① PERDAPI,STOPコマンドまたはPERDAPI,STOPNOFPRコマンドで測位停止ステートにします。 ② ”$PERDCFG,ESIPLIST,NEW*10”を入力し、ESIPLIST の書き込みを開始します。 ③ 起動時に自動的に発行したいコマンドを入力します。(20 個同時に入力可) ④ ”$PERDCFG,ESIPLIST,CLOSE*1A”を入力し、ESIPLIST の書き込みを終了します。 ESIPLIST 新規設定例 以下の設定を ESIPLIST に新規に書き込む手順を記載します。 - CRE センテンスを出力 - ボーレートを 115200 bps に設定 受信機 ホスト $PERDCFG,ESIPLIST,NEW*10 :ESIPLIST作成開始 $PERDAPI,STOP または $PERDAPI,STOPNOFPR:停止要求 $PERDACK,PERDAPI :入力受理 (STOP) $PERDSYS,FIXSESSION,OFF :停止通知 $PERDACK,PERDCFG :入力受理 (ESIPLIST,NEW) $PERDAPI,CROUT,E*41 :ESIPLISTにコマンドを記録 $PERDACK,PERDAPI :入力受理 (CROUT) $PERDAPI,UART1,115200*65 :ESIPLISTにコマンドを記録 $PERDACK,PERDAPI :入力受理 (UART1) $PERDCFG,ESIPLIST,CLOSE*1A :ESIPLIST作成クローズ $PERDACK,PERDCFG :入力受理 (ESIPLIST,CLOSE) ① $PERDAPI,STOP*6F または $PERDAPI,STOPNOFPR*2A 測位停止要求コマンドを入力 ② $PERDCFG,ESIPLIST,NEW*10 ESIPLIST の新規作成を開始 ③ ESIPLIST に登録するコマンドを入力 $PERDAPI,CROUT,E*41 「CRE センテンスを出力」を登録 $PERDCFG,UART1,115200*65 「ボーレートを 115200 bps に設定」を登録 ④ $PERDCFG,ESIPLIST,CLOSE*1A ESIPLIST の作成をクローズ 図 7.15 ESIPLIST作成シーケンス7.10.2 ESIPLIST の追加設定 すでに ESIPLIST にコマンドが書き込まれた状態からコマンドを追加する場合、以下の手順で行います。 ① PERDAPI,STOPコマンドまたはPERDAPI,STOPNOFPRコマンドで測位停止ステートにします。 ② ”$PERDCFG,ESIPLIST,APPEND*42”を入力し、ESIPLIST へのコマンドの追加を開始します。 ③ 起動時に自動的に発行するためのコマンドを追加します。 ④ ”$PERDCFG,ESIPLIST,CLOSE*1A”を入力し、ESIPLIST の書き込みを終了します。 ESIPLIST 追加設定例 7.10.1 項で作成した ESIPLIST に以下の設定を追加する手順を記載します。 - 日本測地系(Tokyo Datum)に設定 受信機 ホスト $PERDCFG,ESIPLIST,APPEND*42 :ESIPLIST追加要求 $PERDAPI,STOP または $PERDAPI,STOPNOFPR:停止要求 $PERDACK,PERDAPI :入力受理 (STOP) $PERDSYS,FIXSESSION,OFF :停止通知 $PERDACK,PERDCFG :入力受理 (ESIPLIST,APPEND) $PERDAPI,DATUM,172*26 :ESIPLISTにコマンドを記録 $PERDACK,PERDAPI :入力受理 (DATUM) $PERDCFG,ESIPLIST,CLOSE*1A :ESIPLIST作成クローズ $PERDACK,PERDCFG :入力受理 (ESIPLIST,CLOSE) ① $PERDAPI,STOP*6F または $PERDAPI,STOPNOFPR*2A 測位停止要求コマンドを入力 ② $PERDCFG,ESIPLIST,APPEND*42 ESIPLIST の追加書き込みを開始 ③ $PERDAPI,DATUM,172*26 「日本測地系(Tokyo Datum)に設定」を登録 ④ $PERDCFG,ESIPLIST,CLOSE*1A ESIPLIST の作成をクローズ 図 7.16 ESIPLISTの追加設定シーケンス
7.10.3 ESIPLIST の内容確認方法 ESIPLIST の内容は、”$PERDCFG,ESIPLIST,QUERY*06”を入力することで確認できます。 図 7.17 に測位停止ステートで、7.10.1 項、7.10.2 項で設定した ESIPLIST の内容を確認したときのシーケンスを 示します。 受信機 ホスト $PERDCFG,ESIPLIST,QUERY*06 :ESIPLISTの内容出力要求 $PERDCFG,ESIPLIST,BEGIN*0B ESIPLISTの内容出力開始 $PERDAPI,CROUT,E*41 $PERDAPI,UART1,115200*65 $PERDAPI,DATUM,172*26 $PERDCFG,ESIPLIST,END*03 ESIPLISTの内容出力終了 $PERDACK,PERDCFG :入力受理 (ESIPLIST,QUERY) ① $PERDCFG,ESIPLIST,QUERY*06 ESIPLIST の内容出力要求 ② ESIPLIST の内容出力要求を受信すると、以下の通り出力します。 $PERDCFG,ESIPLIST,BEGIN*0B $PERDAPI,CROUT,E*41 $PERDCFG,UART1,115200*65 $PERDAPI,DATUM,172*26 $PERDCFG,ESIPLIST,END*03 :内容出力開始 :書き込まれた内容 :内容出力終了 ③ ESIPLIST の内容出力要求の入力受理(ACK)は、ESIPLIST の内 容出力後に出力されます。 図 7.17 ESIPLISTの内容確認シーケンス
7.10.4 ESIPLIST 消去手順 図 7.18 に ESIPLIST の消去シーケンスを示します。 受信機 ホスト $PERDCFG,ESIPLIST,DELETE*55 :ESIPLIST消去 $PERDAPI,STOP または $PERDAPI,STOPNOFPR:停止要求 $PERDACK,PERDAPI :入力受理 (STOP) $PERDSYS,FIXSESION,OFF :停止通知 $PERDACK,PERDCFG :入力受理 (ESIPLIST,DELETE) $PERDCFG,ESIPLIST,QUERY*06 :ESIPLISTの内容出力要求 $PERDCFG,ESIPLIST,BEGIN*0B $PERDCFG,ESIPLIST,END*03 $PERDACK,PERDCFG :入力受理 (ESIPLIST,QUERY) ① $PERDAPI,STOP*6F または $PERDAPI,STOPNOFPR*2A 測位停止要求コマンドを入力 ② $PERDCFG,ESIPLIST,DELETE*55 ESIPLIST を消去 ③ $PERDCFG,ESIPLIST,QUERY*06 ESIPLIST の内容出力要求 ④ $PERDCFG,ESIPLIST,BEGIN*0B $PERDCFG,ESIPLIST,END*03 ESIPLIST に何も登録されていない場合は、BEGIN と END のみ出力されます。 図 7.18 ESIPLISTの消去シーケンス
7.10.5 ESIPLIST で設定可能なコマンド 表 7.4 NMEAコマンドのESIPLIST設定可否 コマンド名 設定内容 設定可否 API ANTIJAM アンチジャミング機能 ● CROUT オリジナルセンテンス出力 ● DATUM 測地系 ● DEFLS デフォルトうるう秒 ● EXTENDGSA GSA センテンス拡張 ● FIRSTFIXFILTER ファーストフィックスフィルタ ● FIXMASK 衛星マスク ● FIXPERSEC 測位更新周期 ● GNSS 測位衛星システム ● LATPROP プロパゲーション ● OUTPROP GNSS 未測位時に推測測位する秒数 ● PIN ピンニング ● POS 位置 N/A
PPS Pulse per second ●
RAIM RAIM ●
RESTART/
RESTARTNOFPR 再起動要求 N/A
SBASBLS 優先的にサーチする SBAS 衛星の設定 ●
SELFEPH Self-EphemerisTMモードの ON/OFF ●
START 起動要求とスタートモードの設定 N/A
STATIC Static モードの遷移条件 ●
STOP/STOPNOFPR 停止要求 N/A
TIME 時刻 N/A
CFG
ESIPLIST ESIPLIST 作成 N/A
FACTORYRESET バックアップ RAM、FlashROM のバックアップ情報全消去 N/A
FORMAT プロトコルフォーマットの変更 ● NMEAOUT 標準 NMEA 出力 ● SILENTSTART SILENTSTART モード移行の設定 ● UART1 シリアル通信ポート 1 ● UART2 シリアル通信ポート 2 ● SYS ANTSEL アンテナ入力 ●
BBRAM バックアップ RAM Query N/A
ERRACT 異常発生時の受信機の振る舞い設定 ●
FIXSESSION GNSS session 出力要求 N/A
GPIO GPIO 出力要求 N/A
RECPLAY 診断データ出力 ON/OFF N/A
SELFEPH Self-EphemerisTM計算時間 ●
SELFTEST セルフテスト出力要求 ●
VERSION ソフトウェアバージョン出力要求 N/A
ESIPLIST に複数の設定内容の違う、同じ種類のコマンドを書き込むことは、避けてください。もし書き込んだ場合 は、後に設定したコマンドの内容が反映されます。例えば、”$PERDCFG,NMEAOUT,GGA,1*54”(GGA センテンス
7.10.6 ESIPLIST で設定したコマンドが実行されるタイミング
7.10.5 項に示したコマンドが実行されるタイミングは、コマンドの種類により異なり、表 7.5 の通りです。 表 7.5 コマンドの実行されるタイミング
API クラス CFG クラス SYS クラス
電源 ON により測位動作ステートへ遷移 ● ● ●
PERDAPI,START コマンドにより測位動作ステートへ遷移 ● N/A N/A
PERDCFG,ESIPLIST,EXECUTE の送信 N/A ● ● 1. ESIPLIST に API クラスのコマンドを含まない場合 PERDCFG,ESIPLIST,EXECUTEコマンドを実行できます。 2. ESIPLIST に API クラスのコマンドのみを含む場合 "EXECUTE"コマンドは使用しないようにしてください。PERDCFG,ESIPLIST,EXECUTEコマンドを実行すると、 NACKが返る場合があります。
3. ESIPLIST に API クラスと CFG,SYS クラスのコマンドが混在する場合
ESIPLIST設定後、次回電源ON、または以下の手順A)B)いずれかを実施することで、ESIPLIST設定内容を受 信機へ反映できます。 A) EXECUTEコマンドを使用しない方法 ① 7.10.1項の手順に従って、ESIPLISTを新規設定する。 ② ESIPLISTに登録するコマンドのうち、CFGクラス、SYSクラスのみ送信する。 ③ 測位動作ステートへ遷移するコマンドを送信する。 B) EXECUTEコマンドを使用する方法 ① ESIPLISTに登録するCFGクラス、SYSクラスのコマンドを7.10.1項の手順に従い新規設定する。 ② ESIPLIST,EXECUTEを実行する。 ③ ESIPLISTに登録するAPIクラスのコマンドを7.10.2項の手順に従い追加する。 ④ 測位動作ステートへ遷移するコマンドを送信する。
7.11 測位停止
図 7.19 に測位動作ステートから測位停止ステート遷移時のシーケンスについて記載します。 受信機 ホスト $PERDAPI,STOP または $PERDAPI,STOPNOFPR: 停止要求 $PERDACK,PERDAPI :入力受理 (STOP) $PERDSYS,FIXSESSION,OFF :測位動作停止 $GNGST $GNGSA $GNZDA $GNGNS $GNRMC $GPGSV 測位停止 測位動作 図 7.19 測位動作から測位停止ステート遷移時のシーケンス7.12 電源 OFF
測位動作中に受信機の電源を OFF にしたとしても、再起動時に正常に動作するようになっていますので、任意のタ イミングで電源を OFF にすることができます。ただし、バックアップデータのバックアップ RAM 領域への書き込み中に 電源を OFF にした場合、バックアップデータが途中で破壊され、そのバックアップデータは使えなくなる可能性があり ます。いつバックアップ RAM 領域にバックアップデータを保存しているのかをホスト側から知ることはできません。そこ で任意のタイミングで電源を OFF する前に、PERDAPI,STOPコマンドまたはPERDAPI,STOPNOFPRコマンドを送 信して測位動作を停止することにより、バックアップデータを破壊する可能性を排除することができます。特に、 PERDAPI,STOP コマンドを送信すると、バックアップデータはバックアップ RAM 以外に FlashROM にも書き込まれ ます。
PERDAPI,STOP コマンドあるいは PERDAPI,STOPNOFPR コマンド送信後、PERDSYS,FIXSESSION,OFFセ ンテンスを受信してから電源を OFF してください。図 7.20 に受信機の電源 OFF 時のシーケンスについて記載しま す。 受信機 ホスト $PERDAPI,STOP または $PERDAPI,STOPNOFPR: 停止要求 $PERDACK,PERDAPI :入力受理 (STOP) $PERDSYS,FIXSESSION,OFF :測位動作停止 $GNGST $GNGSA $GNZDA $GNGNS $GNRMC $GPGSV 測位停止 測位動作 電源OFF 図 7.20 電源OFF時のシーケンス
7.13 Flash ROM 書き換え
FlashROM 書き換え手順は、「WinUppg を使った FlashROM 書き換え方法」(文書番号:SE13-900-008)を参照く ださい。
8
NMEA センテンスの受信について
8.1 データ受信
ホスト側受信バッファに GN-8720 の UART1 から受信したデータを全て保存します。8.2 センテンス切り出し
上述の 8.1 節で受信データを格納したバッファの先頭から解析していきます。センテンスの切り出しのために、最初 に「$」を探します。 「$」が見つかったら、次に「*」を探し、見つかったところで「$」と「*」の間にあるデータ全てを使って 8 ビット毎に XOR (排他的論理和)をとり、「*」の後に続く 1 バイト(アスキー2 キャラクタをバイナリの 1 バイトデータに変換)のチェックサ ムと比較します。チェックサム比較の結果、 - チェックサムが合えば、センテンス成立と判断し、データの切り分けに進みます。 - チェックサムが異なれば、センテンス不成立として、このデータを破棄します。 チェックサムに続く<CR>,<LF>は読み捨てます。 チェックサムが正常だった場合、「$」以降の 5 キャラクタを読み出します。最初の 2 バイトは TalkerID (GP,GL,GA,GN)を表します。 TalkerID の後の 3 キャラクタにより、センテンス種類の特定を行います。出力予定のない(出力設定していない)セ ンテンスを受信した場合は、センテンス出力設定のコマンドが正常に反映されていない、または受信機のリスタートが 発生したなどの異常が発生したことが考えられます。8.3 測位回毎のセンテンス切り出し
受信機は、1 回測位毎に出力設定したセンテンスにより測位結果を出力します。例えば、RMC, GNS, GSV センテ ンスを測位回毎に 1 回出力する設定をしている場合、1Hz 測位では、これらのセンテンスが 1 秒間に 1 回ずつ(GSV は追尾衛星数や測位に使用している衛星システムにより複数センテンスを 1 回)出力されます。センテンスを出力す る順番は決まっており(12.2.4 項参照)、この例の場合は RMC センテンスが最初で次に GNS センテンス、最後に GSV センテンスが出力されます。従いまして、RMC センテンスから GSV センテンスを受信したところで、1 測位分の センテンスを受信したと見なすことができます。 1Hz 測位では、この測位毎のセンテンス出力間隔は測位演算にかかる時間により、多少前後することはあります が、概ね 1 秒間です。この間隔(最初の RMC センテンスが出力されてから次の測位回の RMC センテンスが出力さ れるまでの時間)が 2 秒以上になれば、ボーレートの設定が適切ではなく、測位結果の出力が間に合っていない、ま たは受信機の出力が止まってしまっているなどの異常が発生した可能性があります。8.4 センテンス毎のデータ切り出し
センテンス中のデータフィールドは、「,」により切り分けを行います。 センテンス種類により、「,」の数は決まっていますので、「,」の数を確認することにより、センテンス異常を判断するこ とができます。センテンス異常の発生を検知した場合は、当該センテンスデータを破棄してください。8.5 Talker ID
TalkerID の「GP」は GPS、「GL」は GLONASS、「GA」は Galileo、「GN」はマルチ GNSS(複数の GNSS システム を使用)を表します。 GSA センテンスと GSV センテンス以外は、TalkerID に関わらず、1 回の出力につき、1 個のセンテンスしか出力さ れません。GPS、GLONASS、Galileo での測位結果、またはマルチ GNSS による測位結果の違いにより、特にアプ リケーション側で処理の切り分けを行うのでなければ、GSA/GSV センテンス以外では、TalkerID を読み捨てても構い ません。 GSA/GSV センテンスの場合、TalkerID が示す GNSS システムとセンテンス内のデータフィールドが示す GNSS シ ステムの種類が一致している必要があります。GSA センテンスは、衛星番号と第 18 フィールドにある GNSS システ ム ID により、GNSS システムの種類を特定できます。GSV センテンスは衛星番号により、GNSS システムの種類を 特定できます。 同一センテンスの TalkerID による GNSS センテンス種類と、センテンス内のデータフィールド情報から得た GNSS センテンス種類が異なる場合は、センテンス受信異常や、受信機からのセンテンス出力に抜けがあるなどの異常が 発生した可能性があります。このような異常が発生した場合は当該センテンスデータを破棄してください。