2140228_ja-JP

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

2140228_ja-JP

2140228_ja-JP

LS1017 - XSPI_B読み取りエラー

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

LS1017 デバイスの XSPI_B インターフェースで読み取りの問題があります。


ハードウェア情報/セットアップ:

  • CPU XSPI_BはマイクロセミFPGAにコネクテッド
  • CPU プラットフォーム周波数 = 400 MHz、CPU 速度 = 1500 MHz --> XSPI Errata A-050568 は適用されません
  • 単一のポイントツーポイント接続(トレース長約70mm、±2mmに一致)
  • DDRモード 50 MHz (100Mbit)
  • LS1017ではIPモードコマンドのみが使用されます
  • DQSはFPGAによって駆動されます - 読み取りストローブ(MCR0[RXCLKSRC]==3)
  • DQS サンプリング ポイントの DLL は次のように設定されます: SLVDLYTARGET=0xF; DLLEN=0x1; OVRDEN=0x0; DLLxCR の他のフィールドはリセット値 (すべてゼロ) として保持されます
  • CS-Signalのみが4.75kのプルアップ抵抗を持っています
  • PCBレベルでの信号整合性のシミュレーションは良好に見える

エラー/テスト関数:

最初に、LS1017 (VxWorks オペレーティング システム) 上のテスト機能がランダム パターンを生成し、それを FPGA 内のテスト メモリに 1 回書き込みます。

書き込みトランザクションが完了すると、関数は FPGA テスト メモリからパターンを定期的に読み取り、それを元の値 (読み取りループあたり 512 バイト) と比較します。


添付されているのは、エラーを示すテスト関数のコンソール出力の例です。

テストメモリの内容を5000回読み取って検証してみました。このCASE、最初の 1207 回の実行ではエラーは発生しませんでした。実行 1208 にエラーが含まれていました。


エラーパターンには顕著な特徴があります。

  • エラーは64バイト整列(=IPコマンド長)で発生します --> (添付の例:オフセット384/64=6)
  • エラーはちょうど64バイト長です(=IPコマンド長) -->(添付の例:オフセット448-384=63
  • 64 個のエラー バイトのうち、2 バイトごとにのみエラーがあります --> DQS の立ち下がりエッジですか?
  • 2番目のバイトが64バイト全体でシフトされているようです

オフセット384-391が予想されます:

0x d5 79 23 80 52 56 5e 4d

オフセット384-391実際:

0x d5 8a 23 79 52 80 5e 56


他のテスト関数の実行では、エラーは同じ特徴を持ちますが、実行とオフセットが異なります。


私の質問:

  1. 過去に同様の読み取り問題を経験したことがありますか
  2. リファレンスマニュアルの図 187。DQS は A_SCLK/B_SCLK と位相を合わせて描画されますが、実際には DQS の立ち上がり/立ち下がりエッジはラウンドトリップ時間 + FPGA リードタイムによってシフトされます。(CASEでは8〜10 nsの大きさ)。内部の DQS サンプリング メカニズム / DLL 遅延ラインがどのように機能しているかについて、詳しい情報を提供していただけますか?(例: DLL のタイムベース)
  3. データシート表49。パラメータ T/2 を使用したCS 出力ホールド時間/CS 出力遅延の式が含まれています。Tは同じ表で前述したFSCKの期間ですか?FSCK = シリアル ルート クロック?--> このCASE、T=10ns でしょうか?
  4. データシート図32.: FlexSPI DDRモード2 = (MCR0[RXCLKSRC]=0x3)? 表48のTFSIDVW値はMCR0[RXCLKSRC]=0x3のDDRモードにも適用されます。

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

SL

QorIQ LS1デバイスRe: LS1017 - XSPI_B read errors

こんにちは@Stefan_L

このメールがあなたのお元気を願っています。

これは同期の問題かもしれません。

いくつか質問させてください。

セクションの注記を考慮しましたか?

18.5.14.4 サンプリング用のDLL構成:

シリアルルートクロックが100MHz未満の場合、DLLは遅延のためシリアルルートクロックの半サイクルにロックすることができません。
遅延チェーンではセル数が制限されます。代わりに、DLL を次のように構成する必要があります。
— オーバーデン=0x1
— OVRDVAL=N; DLL 内の各遅延セルは約 75 ps ~ 225 ps です。DLL遅延チェーンの遅延は(N *
Delay_cell_delay)、N は最大値に基づいて設定する必要があります。現在のプロジェクトがサポートしているDDR周波数、N =
17、これは推奨値であることに注意してください。実際のアプリケーションで障害が発生した場合は調整が必要になることがあります。
— DLLxCRの他のフィールドはリセット値(すべてゼロ)のままにしておく必要があります

LS1017 からのルート クロック信号の波形を提供していただけますか?

QorIQ LS1028A リファレンス マニュアル、Rev. 0、12/2019 のセクション「18.6.6 FPGA デバイスでのアプリケーション」の情報を考慮しましたか?

素晴らしい一日をお過ごしください。

BR、

ヘクトル5世

Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 06:21 PM
Updated by: