こんにちは、専門家の皆さん。
カスタムS32G274AボードのPFEイーサネットインターフェースにIEEE 1588/PTPの時間同期を実装する計画です。
現在のソフトウェア構成は以下の通りです:
- SoC:NXP S32G274A
- ボード:お客様ボードS32G274A
- オペレーティングシステム:QNX 7.1
- PFEドライバ:PFE-DRV_S32G_A53_QNX 1.9.0、io-pktバージョン
- PFEファームウェア:PFE-FW_S32G 1.12.0
- テスト中のPFEインターフェース:PFE EMAC0およびPFE EMAC2
- PFE EMAC1は外部AQR113C PHYのファームウェアがまだプログラムされていないため、現在のテストには含まれていません。
PFEドライバーのソースコードを確認したところ、IEEE 1588に対応しており、以下のQNXドライバー固有のPTPコマンドが実装されていることがわかりました。
- PTP_GET_TIME
- PTP_SET_TIME
- PTP_GET_TX_TIMESTAMP
- PTP_GET_RX_TIMESTAMP
- PTP_SET_COMPENSATION
- PTP_GET_COMPENSATION
現在のデフォルトのビルド構成では、この機能が無効になっています:
PFE_CFG_IEEE1588_SUPPORT=0
PFE_CFG_IEEE1588_I_CLK_HZ=0
PFE_CFG_IEEE1588_EMAC0_O_CLK_HZ=0
PFE_CFG_IEEE1588_EMAC1_O_CLK_HZ=0
PFE_CFG_IEEE1588_EMAC2_O_CLK_HZ=0
当社のスタートコードはすでにSCMIを通じてPFE_TSクロックを有効にしていますが、PFEドライバーでIEEE 1588の入出力クロック周波数はまだ設定していません。
以下の質問についてアドバイスをいただけますか?
1.PFE EMAC0/EMAC1/EMAC2 on S32G274Aは、QNX 7.1のPFE-DRV 1.9.0およびPFE-FW 1.12.0でIEEE 1588ハードウェアの送信およびRXタイムスタンプを公式にサポートしていますか?
2. S32G274Aの期待されるSCMI PFE_TSクロック周波数は?
3. 以下のビルドパラメータに推奨される値は?
PFE_CFG_IEEE1588_I_CLK_HZ
PFE_CFG_IEEE1588_EMAC0_O_CLK_HZ
PFE_CFG_IEEE1588_EMAC1_O_CLK_HZ
PFE_CFG_IEEE1588_EMAC2_O_CLK_HZ
4. 3台のPFE EMACはすべて同じPTPハードウェアクロックを共有しているのか、それともそれぞれ独立したPTPシステムタイムカウンタを持っているのか?
5. このドライバがサポートしているPTPトランスポートモードは?
- レイヤ2 PTP、EtherType 0x88F7
- UDP/IPv4
- UDP/IPv6
- ワンステップタイムスタンプ
- 2段階タイムスタンプ
- エンドツーエンド遅延メカニズム
-ピアツーピア遅延メカニズム
6.PTPを有効にするには、追加のPFEファームウェア設定、ファームウェア機能、FCI設定、または起動初期化が必要ですか?
7. このPFEドライバーにはNXPやQNXが推奨するユーザー空間のPTPデーモンやサンプルアプリケーションはありますか?現在のドライバーはnetdrvr/ptp.hを通じてPTP機能を公開していますそしてLinuxスタイルの/dev/ptpX PHCデバイスではなく、SIOCGDRVSPEC/SIOCSDRVSPECです。
8. 既知のエラー、制限事項、または必要な初期化シーケンスはありますか?
- PFEタイムスタンプクロックの初期化。
- HIFを介したTX/RXタイムスタンプの配信。
- タイムスタンプ補正;
- 複数のPFE EMAC上でPTPを同時に運用できますか?
もし可能であれば、QNXのPFE上でIEEE 1588の参照構成、サンプルアプリケーション、または検証手順S32G274A提供していただけますか?
ごサポートありがとうございます。
BR、
ワイテワン