2045627_ja-JP

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2045627_ja-JP

2045627_ja-JP

RT600 FlexSPI の LoopbackFromSckPad または DQS を使用して読み取る際の追加クロック

EVK685でevkmimxrt685_flexspi_octal_polling_transferを実行する例
RAM から実行、デバッグ用のセミホスト。

コマンドRead Jedec IDを実行すると、SPI 1-1-1のオペコード0x9Fで3バイトを読み取ります。
kFLEXSPI_ReadSampleClkLoopbackFromSckPad または kFLEXSPI_ReadSampleClkExternalInputFromDqsPad を使用する場合は余分なバイトが読み取られますが、kFLEXSPI_ReadSampleClkLoopbackInternally を使用する場合は要求された 3 バイトのみが読み取られます。

添付のロジックキャプチャとソースコードを参照してください。

kFLEXSPI_ReadSampleClkLoopbackFromSckPad、3バイトのみ要求しているのに4バイトが読み取られる:

RD_Jedec_ID_src_clk_from_pad_option_0x2.PNG

kFLEXSPI_ReadSampleClkLoopback内部的には3バイトのみが読み取られます。

RD_Jedec_ID_src_clk_internally.PNG

  

i.MX RT600Re: RT600 FlexSPI extra clk when reading using LoopbackFromSckPad or DQS

こんにちは、オマールさん。

LUT は予想されるオペランドとシーケンスと一致します。
あなたの回答では、FlexSPIの例でRT685EVKを使用する理由が説明されていません。
#DEFINE EXAMPLE_FLEXSPI_RX_SAMPLE_CLOCK kFLEXSPI_ReadSampleClkLoopbackInternally

または:
#DEFINE EXAMPLE_FLEXSPI_RX_SAMPLE_CLOCK kFLEXSPI_ReadSampleClkLoopbackFromSckPad

同じ操作シーケンスで、
ClkLoopbackFromSckPad設定では、8クロック余分に発生し、これが失敗の原因です。
ClkLoopbackInternally 設定では、クロック カウントは予想どおりになります。

添付の画像と、evkmimxrt685_flexspi_octal_polling_transfer_cm33 の例を使用したソース コードを含む zip ファイルを参照してください。

この問題を R&D にエスカレーションしてください。

LUT_statusLUT_statusLUT_ステータスSrc_Clk_LoopbackFromSckPadSrc_Clk_LoopbackFromSckPadSrc_Clk_LoopbackFromSckPad Src_Clk_internallySrc_Clk_internallySrc_Clk_内部



よろしくお願いします、
ダン

Re: RT600 FlexSPI extra clk when reading using LoopbackFromSckPad or DQS

こんにちは、

私もまったく同じ問題に直面しています。QSPI 経由で FPGA から 32 ビットを読み取る場合。これは、「kFLEXSPI_ReadSampleClkLoopbackInternally」読み取りストローブを使用して動作します。LUT エントリは次のとおりです。
- kFLEXSPI_Command_RADDR_SDR、kFLEXSPI_4PAD、12 /* ビット */
- kFLEXSPI_Command_DUMMY_SDR、kFLEXSPI_4PAD、1 /* サイクル */
- kFLEXSPI_Command_READ_SDR、kFLEXSPI_4PAD、4 /* バイト */
- kFLEXSPI_Command_STOP、kFLEXSPI_1PAD、0

12 ビットのアドレスを書き込みます: 3 * 4 ビット、次に 1 * 4 ビットのダミー サイクル、続いて 32 ビット = 8 * 4 ビットの読み取りデータ。
これはSDRモードでは3+1+8=12個のSCKクロックの合計です。

kFLEXSPI_ReadSampleClkExternalInputFromDqsPad 」を有効にすると、読み取りデータ クロックの後、CS がハイにアサートされる前に、追加の 6 つの SCK クロックが追加されます。読み取られたデータは有効ですが、スループットが 50% 失われます。

この問題には解決策がありますか?

Re: RT600 FlexSPI extra clk when reading using LoopbackFromSckPad or DQS

ROM API と LUT (ルックアップ テーブル) の構成が正しいことを確認します。LUT エントリは、フラッシュ メモリの予想されるコマンド シーケンスと一致する必要があります。
追加の読み取りは、LUT からのダミー サイクルである可能性があります。

kFLEXSPI_ReadSampleClkExternalInputFromDqsPad の構成では、デバイスはメモリから提供される外部 DQS 信号を期待します。SO、これが提供されない場合、通信エラーが発生する可能性があります。

よろしくお願いします、
オマール

タグ(1)
評価なし
バージョン履歴
最終更新日:
‎11-21-2025 10:18 AM
更新者: