12-LinuxPTPによる時間同期(ソフト/ハードウェアタイムスタンプ)-研一
6477 ワード
長い間引きずって、半日かけて測ってみましたが、効果はまあまあで、隣の原子時計から離れて開発テストをすることができます.
参考文献:http://linuxptp.sourceforge.net/
0、ハードウェアサポート
NICがソフト・ハードウェアのタイムスタンプをサポートしているかどうかを確認します:ソフトウェアタイムスタンプには、パラメータSOF_を含める必要があります.TIMESTAMPING_SOFTWARE SOF_TIMESTAMPING_TX_SOFTWARE SOF_TIMESTAMPING_RX_SOFTWARE ハードウェアタイムスタンプには、パラメータSOF_を含める必要があります.TIMESTAMPING_RAW_HARDWARE SOF_TIMESTAMPING_TX_HARDWARE SOF_TIMESTAMPING_RX_HARDWARE
1、LinuxPTPソースコードのダウンロード
Usageの表示
2、run linuxptp 2.1ソフトウェアタイムスタンプ、マスタスレーブモードテスト サービス側(メインクロック):
クライアント(時計):
実行結果:メインクロック:スレーブクロック:実行後: logの内容は: master offset:PTPプロトコルで定義されたプライマリ・スレーブ時間差、単位:ns s 0,s 1,s 2:クロックサーバーの異なる状態を示し、s 0はロックされていないことを示し、s 1は同期中であることを示し、s 2はロックを示し、ロック状態はステップ同期が発生しないことを示し、 を緩やかに調整する freq: port 0:INITIALIZING to LISTENING on INIT_COMPLET:ローカルPTP管理のUnixドメインsocket; port 1:new foreign...:eno 1上のポート; が時計ポート状態からUNCALIBRATEDからSLAVEに変化すると、時計はbest masterと同期することに成功する. 2.2ハードウェアタイムスタンプテストサービス側(メインクロック):
クライアント(時計):
実行結果:時計:から明らかにハードウェアタイムスタンプで同期する精度がずっと高く、これは普通のネットワークカードにすぎず、キャンパスネットワークを歩いているのか...... 2.3透明クロック(TC)モードテスト(問題あり) /-このバグは修復されたようです-
TCとBCは少なくとも2つのインターフェースが必要です.次のコマンドを実行します.
ヒント無効なオプション:うん?USageにははっきりと-tはtransparent clockですね手動TC/BC:デバイスに2つのネットワークカードが必要で、1つのカードは時計の1つのカードからメイン時計を縛って、TC/BCを実現します.効果は実はそれほど悪くない. 最近開発時に遭遇したUSRPのULO問題: 「U」エラーhost PCまたはそれに実行されているアプリケーションがUSRPに十分な高速率でサンプル値を提供できない場合、「U」エラーが発生することがよくあります.例えば、USRPは設定されたサンプリングレートが5 M/sの需要サンプル値であり、host PCは5 M/s未満のレートでサンプル値を提供するしかない場合、「U」エラーが発生します. "O"エラーhost PCまたはそれに実行されているアプリケーションがUSRPで提供されたサンプル値を十分に速いレートで処理できない場合、よく"O"エラーが発生します.距離説明:USRPが設定されたサンプリングレートで5 M/sのサンプル値を提供し、host PCが5 M/s未満のレートでサンプル値を処理するしかない場合、"O"エラーが発生します. "L"エラーUSRPの設計メカニズムは、PacketのタイムスタンプがFPGAのタイムスタンプよりも早いことを要求することである.命令がFPGAに到達したときにPacketのタイムスタンプが古くなった場合、USRPは「L」エラー、すなわち命令の到達時間が予想実行時間より遅いことを示す.
ここでは、2台のセシウム原子時計クロックサーバを用いて、SDRプラットフォーム(OAI EPC+srs eNB+COTS UE)を介して、キャビティについて15時間のテストを行ったデータのセットがあり、キャビティ性能分析を行うことができる.
更に:ダイヤル接続が調和しています・・・
参考文献:http://linuxptp.sourceforge.net/
0、ハードウェアサポート
NICがソフト・ハードウェアのタイムスタンプをサポートしているかどうかを確認します:
sudo ethtool -T eno1
Time stamping parameters for eno1:
Capabilities:
hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE)
software-transmit (SOF_TIMESTAMPING_TX_SOFTWARE)
hardware-receive (SOF_TIMESTAMPING_RX_HARDWARE)
software-receive (SOF_TIMESTAMPING_RX_SOFTWARE)
software-system-clock (SOF_TIMESTAMPING_SOFTWARE)
hardware-raw-clock (SOF_TIMESTAMPING_RAW_HARDWARE)
PTP Hardware Clock: 0
Hardware Transmit Timestamp Modes:
off (HWTSTAMP_TX_OFF)
on (HWTSTAMP_TX_ON)
Hardware Receive Filter Modes:
none (HWTSTAMP_FILTER_NONE)
all (HWTSTAMP_FILTER_ALL)
ptpv1-l4-sync (HWTSTAMP_FILTER_PTP_V1_L4_SYNC)
ptpv1-l4-delay-req (HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ)
ptpv2-l4-sync (HWTSTAMP_FILTER_PTP_V2_L4_SYNC)
ptpv2-l4-delay-req (HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ)
ptpv2-l2-sync (HWTSTAMP_FILTER_PTP_V2_L2_SYNC)
ptpv2-l2-delay-req (HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ)
ptpv2-event (HWTSTAMP_FILTER_PTP_V2_EVENT)
ptpv2-sync (HWTSTAMP_FILTER_PTP_V2_SYNC)
ptpv2-delay-req (HWTSTAMP_FILTER_PTP_V2_DELAY_REQ)
1、LinuxPTPソースコードのダウンロード
sudo git clone git://git.code.sf.net/p/linuxptp/code linuxptp
cd linuxptp
sudo make
sudo make install
Usageの表示
ptp4l -h
-A Auto, 。, E2E , P2P
-E E2E, - (E2E) 。 。 PTP 。 E2E , warning
-P P2P,
-2 IEEE 802.3
-4 UDP IPV4( )
-6 UDP IPV6
-H ( )
-S
-L LEGACY HW
-f [file] file 。 。
-i [dev] PTP , eth0( ) 。
-p [dev] Linux v3.5 , PHC 。 PHC ( / dev/ptp0)。 , auto, / LEGACY HW ( )
-s slaveOnly mode, ( )
-t
-l [num] 'num', 6
-m stdout
-q syslog
-v
-h help
2、run linuxptp
sudo ptp4l -i enp0s31f6 -m -S
クライアント(時計):
sudo ptp4l -i eno1 -m -S -s
実行結果:メインクロック:スレーブクロック:実行後: logの内容は:
sudo ptp4l -i enp0s31f6 -m -H
クライアント(時計):
sudo ptp4l -i eno1 -m -H -s
実行結果:時計:から明らかにハードウェアタイムスタンプで同期する精度がずっと高く、これは普通のネットワークカードにすぎず、キャンパスネットワークを歩いているのか......
TCとBCは少なくとも2つのインターフェースが必要です.次のコマンドを実行します.
sudo ptp4l -i eno1 eno2 -m -H -t
ヒント無効なオプション:うん?USageにははっきりと-tはtransparent clockですね
sudo vim ptp4l.8
ええ、-f-i-m-p-l-i-A-E-P-2-4-6-H-S-L-q-v-h?-tがなくて、分かりませんここでは、2台のセシウム原子時計クロックサーバを用いて、SDRプラットフォーム(OAI EPC+srs eNB+COTS UE)を介して、キャビティについて15時間のテストを行ったデータのセットがあり、キャビティ性能分析を行うことができる.
更に:ダイヤル接続が調和しています・・・