Attachments are accessible only for community members.
FX3でのSPI転送にAutoチャネルを使用する - KBA230715 - Community Translated (JA)

Employee
11 26, 2020
12:01 AM
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
11 26, 2020
12:01 AM
Community Translated by NoTa_4591161NoTa_4591161 Version: **
Translation - English: Using Auto channel for SPI transfers in FX3 – KBA230715
質問:プロデューサとしてSPI、コンシューマとしてUSBで自動チャネルを使用するにはどうすればよいですか?
回答:この記事に添付されているファームウェアプロジェクトでは、自動チャネルを実装するために、FX3SDKの次のパスで利用可能なUsbSpiDmaModeの例にいくつかの変更が加えられています。
C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\serialif_examples\cyfxusbspidmamode
注意:
- これは、SPIがプロデューサである自動チャネルを示すためのファームウェアの例にすぎません。これは、実際のユースケースに応じて変更する必要があります。
- この例は、FX3 SDKの例のようにSPIフラッシュと通信します。
- SPIがプロデューサであるチャネルのみが、接続されたファームウェアで自動になります。コンシューマとしてSPIを使用しているチャネルは、手動のままです。
テスト手順は次のとおりです。
- 接続されているファームウェアをRAMにプログラムします。
- wLength = 0x200、wIndex = 0x0000、wValue = 0x0000で0xC3ベンダーコマンドを発行します。SPIからの実際の読み出しデータがバルクINエンドポイントに送信されると、制御転送のデータフェーズで長さゼロのパケットが返されます。
- フラッシュデータを取得できるバルクINエンドポイントでIN転送を実行します。
付属のファームウェアでは、自動チャネルにはサイズ0x200のバッファ1つしかないため、データ長(wLength)> 0x200の読み取りはサポートされていません。プロデューサとしてSPIを使用する自動チャネルに複数のバッファがある場合の機能は、現在の説明の範囲外です。
USBホストによって0x200バイトがBulkINエンドポイントから読み取られる場合にのみ、接続されているファームウェアを参照してください。このイベントCY_U3P_DMA_CB_XFER_CPLTは、DMAコールバックで受信されます。
この記事を評価: