Contents
- 1.概要
- 2.実験内容
- 2-1. やりたいこと
- 2-3.実験内容
- 2-3-1.接続
- 2-3-2.ゲートウェイでの処理
- 3. 実験結果
- 3-1. 記録データの確認
- 3-1-1. ファイル名の確認
- 3-1-2. 1PPSの立下りエッジを検出した時点のGPSの時刻データを追記したデータの確認
- 3-1-3. 上記データの確認
- 3-2. エッジサーバ間での遅延確認
- 3-2-1. 遅延値確認ルート
- 3-2-2. 各ルートの遅延時間(サンプル数:100点)
- 4. 技術的補足
- 4-1. preMSMの設定
- 4-2. GPSの設定
- 4-2-1. 今回の実験での設定
- 4-2-2. GPS出力情報:NMEA 0183規格
- ■ NMEA 0183規格:米国海洋電子機器協会(National Marine Electronics Association, NMEA)
- ■ GPSのUART読み込みデータの出力例
- 4-3. ゲートウェイのNode-REDフロー
1.概要
GPSユニットを使って、計測データがセンサモジュールからエッジサーバまで届く時間の遅延について調べた方法と、その結果を報告します。
「13.時間の管理」に記載があるように、センサモジュールは時計(RTC, Real Time Clock)は搭載していません。そのため、以下の2つの取り組みを行います。
1) 相対時間を確認する手段:センサモジュールの電源ONからの経過時間を、マイクロ秒単位で測定データのヘッダデータとして各レコードに付ける。
2) 事象が発生した絶対時間を確認する手段:エッジサーバに書込む際にファイル名に書込み時の絶対時間を付与する。
しかし、2)の場合、センサモジュールからエッジサーバに届くまでの時間が分からないという課題があります。この課題を解決するための方法を、ここで報告します。
その方法は、GPSからの1PPS信号と時間情報を使って、センサモジュールからエッジサーバまでの時間を調べておくという方法です。複数の経路と通る際には、それぞれでどのくらい遅延が発生するのかをあらかじめ知っておくことができます。
2.実験内容
2-1. やりたいこと
GPSの1PPSの立下りエッジをセンサモジュールで検出し、そのときの時間情報をGPSのUARTからセンサモジュールに読み込み、データとして、ゲートウェイからエッジサーバーに書込みます。そして、エッジサーバーへの書込みファイル名生成に書込み時の時間を使用します。
⇒ エッジサーバ上のデータのファイル名(書込み時間)と記載されているGPSの時間デーたとの差がパスの遅延時間になります。この方法で、GPSの時間を基準として、センサーモジュールからエッジサーバーまでの時間が評価でき、異なるパスもこのGPS基準で比較できます。
2-3.実験内容
2-3-1.接続
図1に示すように、GPSのタイムパルス(1PPS)信号をセンサモジュールに接続し、UARTとUSB変換素子を経由して、GPSとゲートウェイを接続する。ゲートウェイは、同じ情報を学内にある2つのエッジサーバ(エッジサーバ1とエッジサーバ2)にWANで接続する。ゲートウェイと2つのエッジサーバは、学内のTime Serverと同期している。
図1. GPSモジュールと各デバイスの接続図
GPSモジュールとUSBシリアル変換モジュールは、下記を使用しました。
GPSモジュール:株式会社秋月電子通商 1PPS出力付き 「みちびき」3機受信対応GPS受信機キット
USBシリアル変換モジュール:株式会社秋月電子通商 FT234X 超小型USBシリアル変換モジュール[AE-FT234X]
2-3-2.ゲートウェイでの処理
a) センサモジュールからのADC変換結果から立下りエッジ検出
b) 検出時のGPSデータからの時間データをADC情報に追加
c) 上記データをサーバで保管用に送信
⇒ ゲートウェイでのNode-REDの処理フローは、下記、「4. 技術的補足」を参照ください。
3. 実験結果
3-1で、エッジサーバに記録したデータに関して報告し、3-2で、エッジサーバ1とエッジサーバ2の時間差の評価結果を示します。
3-1. 記録データの確認
3-1-1. ファイル名の確認
ファイル名は、初めに共通名称として、preMSM-B_があり、その後に日時と時間が続く。
preMSM-B_20210902_101948_019.json
⇒ 2021年9月2日 10時19分48秒 019ms
3-1-2. 1PPSの立下りエッジを検出した時点のGPSの時刻データを追記したデータの確認
上記のファイル名のファイルには、以下の一行が記載されている。センサモジュールの出力に、ゲートウェイで”gw”と”UTC”の情報を足し込んで保存している。
{“time”:1731501.55,“ADC0”:” 0“,“ADC1”:419,“ADC2”:4095,“ADC3”:2751,“gw”:”gw337″,“UTC”:”011947.900“}
・”time”: 電源投入時からセンサモジュールがカウントアップしている時間データ
・”ADC0”: 1PPS信号のADC変換結果。ゼロ検出時なので”0”
・”UTC”:GPSから読みだした時刻 UTC表示 日本時間より9時間遅い。
011947.900 ⇒ 10時19分47秒 900ms
3-1-3. 上記データの確認
上記結果を見ると、GPSのデータは10時19分47秒 900msであるのに対し、ファイル名が、10時19分48秒19msとなっており、119ms遅れているように読めます。
しかし、実際には、図2に示すように、GPSの1PPSは10時19分48秒0msで立ち下がっているので、立下りを検出してから、UARTでGPSデータを読むと、100ms前のデータが読まれてしまいます。
図2. 1PPS信号の立下りと読みだされたデータの関係
3-2. エッジサーバ間での遅延確認
3-2-1. 遅延値確認ルート
学内にある2つのエッジサーバに一つのセンサモジュールから書込む際に、表1に示すような4つのルートで書込みを行いました。各番号は、図3を参照ください。
表1. データの書込みルート
図3. データの書込みルート確認用図
3-2-2. 各ルートの遅延時間(サンプル数:100点)
4つのルートの遅延時間を表2に示します。
ルートBとルートCでは、遅延時間にほとんど差が見られませんでした。一方、一度エッジサーバ2を経由して、エッジサーバ1に書込むルートDは、やはり遅延時間は、大きいという結果になりました。表3にルートBとルートDの遅延時間差をまとめます。
表2. 各ルートの遅延時間
表3. ルートBとルートDの遅延時間差
4. 技術的補足
ここでは、上記の実験を行った際に、使った技術的な内容をまとめておきます。
4-1. preMSMの設定
・Mode-A (アナログセンサモード)を使用。
・GPSの1PPS信号のAD変換のため、コネクタ A-ADC1のA-ADC0:Mode-A アナログ入力ポート 0 を使用。
4-2. GPSの設定
今回使用したGPSモジュールは、UARTから設定を変更することができます。取り扱い説明書、技術資料、設定用ソフトウェアなどが下記のHPよりダウンロードできます。
https://akizukidenshi.com/catalog/g/gK-09991/
4-2-1. 今回の実験での設定
今回は、データ読み出しの時間を最短にするために、最速での動作とさせました。また、GPSのデータも時間データのみを読み出す設定に変えました。
◆ GPSの設定を最速に設定時の値
Bau Rate:115200bps(最高速)
GPSの読み出し:1秒間に10回
GPSのデータ:時間に関係する$GPZDAのみ読み出し
4-2-2. GPS出力情報:NMEA 0183規格
■ NMEA 0183規格:米国海洋電子機器協会(National Marine Electronics Association, NMEA)
GPSモジュールからは、NMEAフォーマットの情報が送信されます。
NMEAフォーマットの情報は、センテンスの集まりです。
1つのセンテンスは、「$」で始まり、「(改行(\r\n))」で終わります。
センテンスは、「,」で区切られた単語の集まりです。それぞれの単語の意味は、データタイプによって異なります。
センテンスの最初の単語は、データタイプを表します。
センテンスの最後の単語は、「*」以降がチェックサム値を表します。
$GPZDA,012648.000,26,08,2021,,*52
⇒ 2021年8月26日 10:26:48 000ms
■ GPSのUART読み込みデータの出力例
$GPGGA,012648.000,3459.1567,N,13557.8941,E,1,6,2.49,138.1,M,35.0,M,,*5E
$GPGLL,3459.1567,N,13557.8941,E,012648.000,A,A*5F
$GPGSA,A,3,06,19,12,02,03,22,,,,,,,2.64,2.49,0.89*00
$GPGSV,4,1,14,195,84,113,,19,76,332,15,17,76,126,,06,47,309,15*4D
$GPGSV,4,2,14,09,37,136,,04,36,088,,03,25,044,21,14,21,198,*73
$GPGSV,4,3,14,194,19,190,,02,17,288,15,20,09,235,,01,09,082,*48
$GPGSV,4,4,14,12,08,322,25,22,06,049,14*7D
$GPRMC,012648.000,A,3459.1567,N,13557.8941,E,0.92,178.65,260821,,,A*61
$GPVTG,178.65,T,,M,0.92,N,1.70,K,A*3D
$GPZDA,012648.000,26,08,2021,,*52
参考:https://www.hiramine.com/physicalcomputing/general/gps_nmeaformat.html
4-3. ゲートウェイのNode-REDフロー
今回の実験で使用したゲートウェイ上のNode-REDのエディタ画面を参考に示します。
参考文献: