現在の時刻を決定する際のNMEAプロトコルの使用

記事きっかけに公開独自のNTPサーバーStratum-1を作成します

記事では、シリアルポート(COM)を介して接続された外部GPS受信機を使用して、正確な時刻を決定し、コンピューターの現地時刻を同期できると述べています。 しかし、経験が示すように、すべてがそれほど単純ではありません。 なんで? それを理解してみましょう。



使用しているGARMIN GPS 35-HVSなどの受信機からの時間が2つのチャネルを介して送信されます。 1つ目は、NMEA標準で時間が送信される通常のシリアルRS-232チャネル、2つ目は、同じRS-232のサービス信号の1つに巻き上げられた通常の個別のPPS信号です。

NMEAの説明から始めましょう。 これは、WPL、AAM、APB、BOD、BWC、RMB、RTE、およびその他すべての種類のパケットが次々に送信される一般的なテキストプロトコルです。 それぞれの場合に使用される特定のパッケージは、GPS受信機のタイプとその設定によって異なります。



レシーバーを使用するには、 NMEATimeプログラムを使用します。 シリアルポートを通過するパケットを表示するには、 FreeSerialPortMonitorプログラムを使用します。



オンにして、見てください:





現時点では、以下のパッケージが受信機から送られています。

$GPGGA,082407,5609.0341,N,04713.1558,E,0,00,,,M,,M,,*50

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPGSV,3,1,10,05,40,063,,10,28,049,,13,01,349,,15,04,116,*73

$GPGSV,3,2,10,16,38,301,,18,12,186,,21,52,236,,24,74,092,*7F

$GPGSV,3,3,10,29,60,125,,30,09,176,,,,,,,,,*79

$GPRMC,082408,V,5609.0341,N,04713.1558,E,000.0,000.0,301209,011.2,E*68

$GPGGA,082408,5609.0341,N,04713.1558,E,0,00,,,M,,M,,*5F

$GPGSA,A,1,,,,,,,,,,,,,,,*1E

$GPGSV,3,1,10,05,40,063,,10,28,049,,13,01,349,,15,04,116,*73

$GPGSV,3,2,10,16,38,301,,18,12,186,,21,52,236,,24,74,092,*7F

$GPGSV,3,3,10,29,60,125,,30,09,176,,,,,,,,,*79

$GPRMC,082409,V,5609.0341,N,04713.1558,E,000.0,000.0,301209,011.2,E*69

$GPGGA,082409,5609.0341,N,04713.1558,E,0,00,,,M,,M,,*5E

$GPGSA,A,1,,,,,,,,,,,,,,,*1E








通常、それらの順序は定義されていません。



GPGGAおよびGPZDAパッケージに興味があります。

$ GPGGA、123519,4807.038、N、01131.000、E、1,08、0.9、545.4、M、46.9、M、* 47

このパッケージの最初のフィールドには、現在の時刻がUTS形式で秒単位の精度で含まれています。 例では、これは12時間35分19秒です。



$ GPZDA、201530.00.04,07,2002,00.00 * 60

これは秒単位の正確な時刻だけでなく、日付と現在のタイムゾーンでもあります。 例では、これは2002年7月4日、20時間15分30秒です。



現在、現在の時刻を決定する精度を高める方法について言及する価値があります。 とても簡単です。 PPS信号を使用する必要があります。 私の場合、それは存在し、CTSシリアルポート信号に接続されています。 この信号は、その前部が現在の秒の始まりと一致するという点で興味深いものであり、それを受信したことにより、現在ゼロミリ秒があると言えます。 PPS信号は常に存在するわけではありませんが、アンテナの可視範囲に十分な数の衛星がある場合のみです。 このための私の受信機では、3つの衛星が必要です。







私が働いている会社が生産するエネルギーの自動化装置に関連して、私がこの仕事に従事していることを明確にすべきです。 そこでは、PPS入力の状態が0.83ミリ秒の間隔でポーリングされます;したがって、デバイスの時刻はそのような精度で同期されます。



それは基本的にそれです。



All Articles