2421401_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2421401_ja-JP

2421401_ja-JP

NXP SDKを用いたSPDIF出力ジッター spdif_edma_transfer MIMXRT1170-EVKBでの

こんにちは、NXPサポートチームの皆さん、

私はSPDIFの問題を調査しています。
MIMXRT1170-EVKB開発ボード。

このプロジェクトは公式のNXP SDKに基づいています
spdif_edma_transfer例です。

テスト構成:
- 取締役会:MIMXRT1170-EVKB
- コア:Cortex-M4
- SPDIF入力:J46(GPIO_AD_15)
- SPDIF出力:J45(GPIO_AD_16)
- サンプリングレート:48 kHz
- 転送方法:eDMA
- モード:連続的なSPDIF入力-出力転送

確認された問題:
SPDIF入力信号は正常に受信されました。
DPLLが正しくロックされ、SPDIF伝送が開始されます。

しかしながら、SPDIF出力信号にはジッターが観測される。

期待される行動:
SPDIF出力は受信したものを再現すべきです
安定したタイミングのSPDIFオーディオ信号。

私は完全な修正SDKデモプロジェクトを準備しました
この問題を再現しています。

NXPのエンジニアがプロジェクトを確認して助けてもらえますか?
SPDIF出力ジッターの原因を特定しますか?

また、アタッチしてもよいかも知りたいです
この議論のための完全なプロジェクトZIPファイル。

再開まで今しばらくお待ちください。

Re: SPDIF Output Jitter on MIMXRT1170-EVKB Using NXP SDK spdif_edma_transfer Example

こんにちは、 @yp_wang さん。

ご連絡いただきありがとうございます!

SDKのバージョン番号を教えていただけますか?また、可能であれば最新バージョンのSDKに基づく最小限の再現可能なプロジェクトを共有してください。観測されたジッターの波形を添付していただけると助かります。これは、問題の再現と原因特定に役立ちます。

よろしくお願いいたします!

よろしくお願いします、
ギャビン

Re: SPDIF Output Jitter on MIMXRT1170-EVKB Using NXP SDK spdif_edma_transfer Example

よろしくお願いします。

spdif.pdfとmp4ファイルを参照してください。NXPアカウントに何か問題があります。テストコードが必要な場合は、メールアドレスを教えてください。

Re: SPDIF Output Jitter on MIMXRT1170-EVKB Using NXP SDK spdif_edma_transfer Example

ファイルが添付されています

Re: SPDIF Output Jitter on MIMXRT1170-EVKB Using NXP SDK spdif_edma_transfer Example

こんにちは、 @yp_wang さん。

添付ファイルありがとうございます。

しかし、アプリケーションコードなしでは問題に対処できません。可能であれば、公式のチャネルを通じてチケットを提出していただけませんか?こうすることで、アップロードしたコードや最小限の複製プロジェクトはプライベートなままで、外部ユーザーにはアクセスできません。

リンク: https://support.nxp.com/s/

よろしくお願いします!

Re: SPDIF Output Jitter on MIMXRT1170-EVKB Using NXP SDK spdif_edma_transfer Example

この添付ファイルは「CASE作成が無効」と表示されるため、提出できません。また、NXPにもメールでお問い合わせしましたが、問題はまだ解決していないようです。他に提出する方法はありますか?@Gavin_Jia

Re: SPDIF Output Jitter on MIMXRT1170-EVKB Using NXP SDK spdif_edma_transfer Example

こんにちは、 @yp_wang さん。

お客様側でSFDCチケットを作成できない理由が分かりません。しかし、下の画像にあるボタンをクリックして、公式ウェブサイトからオンライン営業担当者に連絡を試みることができます。

リンク: www.nxp.com


Gavin_Jia_0-1792563510609.png

アカウントに関する問題の解決や、SFDCチケットの作成をお手伝いいたします。ありがとう!


Re: SPDIF Output Jitter on MIMXRT1170-EVKB Using NXP SDK spdif_edma_transfer Example

プロジェクトを添付しました。最新のSDKを基にしたRAMダウンロードです。ご質問があればメール でお問い合わせください [email protected]  

Re: SPDIF Output Jitter on MIMXRT1170-EVKB Using NXP SDK spdif_edma_transfer Example

こんにちは、

添付ファイルありがとうございます。

CM4/CM7のコードとSPDIFドライバーを確認した結果、問題はSPDIFトランスミッタ自体が生じているジッターではないと考えています。これはおそらく、転送デザインにおけるRXとTXのクロックドメインの不一致が原因です。

1. RXとTXはそれぞれ独立したクロックで動作する。

  • RXは外部ソースに従います。DPLLは、J46で受信したSPDIFストリームからタイミングを復元します。
  • TXはローカルクロックを使用します。STC[TxClk_Source] = 001の場合、トランスミッタはSPDIF_CLK_ROOTからクロックされます。これはあなたのコードがオーディオ PLLから派生します。
  • DPLLロックはレシーバが入力を追尾していることを意味します。TX信号が入力クロックに追従するようにはならない。

2. 継続的な転送による影響

両側とも公称48kHzですが、ソースクロックとローカルPLLは厳密には一致していません。レートマッチングを行わないRX→メモリ→TX転送では、このわずかな周波数差が徐々にバッファマージンを消費します。時間が経つにつれて、これは周期的なサンプルの欠落または重複につながり、続いてTX FIFOのアンダーランまたはオーバーランが発生する。

3. エラー回復コードが事態を悪化させる

TX FIFO エラーが発生すると、ISR は TX のみを中止し、 emptyBlock = BUFFER_NUMを設定します。しかし、RX転送はまだ進行中であり、 txIndex / rxIndexはリセットされません。すると、バッファの記録は実際のDMAの状態と一致しなくなります。キューに入ったTXブロックはスキップされ、再起動後のTX/RX距離は任意になるため、次の故障がより早く起こる可能性があります。また、 kSPDIF_RxFIFOErrorはISRで処理されますが、有効化されることはありません。

そして、あなたの応募に関する私たちの提案は以下の通りです:

  1. レートマッチング機能を追加する。SPDIF RXとTXクロックドメインの間にはASRCを使用してください(NXP AN14631を参照)。
  2. エラーリカバリーを書き直 して、RXとTXの両方を停止し、両方のドライバーキューとすべてのバッファインデックスをクリアし、その後、あらかじめ埋められたバッファで再起動します。
  3. RM §59.5の規定に従い、 DPLLロック後の最初の192フレームを破棄します。
  4. 迅速なアイソレータを狙うなら、ハードウェアフィードスルー(SCR[TxSel] = 001)を試してみてください。このモードで出力がクリーンであれば、基板と計測チェーンは問題なく、問題はソフトウェアの転送経路にあります。

お役に立てば幸いです!

よろしくお願いします、
ギャビン

Re: SPDIF Output Jitter on MIMXRT1170-EVKB Using NXP SDK spdif_edma_transfer Example

あなたの言う通りでした。試験装置のクロックソースを変更し、SPDIFクロックと同期するように設定しました。その後、ジッターは消えた。ありがとう。

もしSPDIFや他の問題があれば、再度お問い合わせいたします。

Tags (1)
No ratings
Version history
Last update:
yesterday
Updated by: