Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

Knowledge Base Articles

FX3でのSPI転送にAutoチャネルを使用する - KBA230715 - Community Translated (JA)

GeethaP_31
Employee
Employee

FX3でのSPI転送にAutoチャネルを使用する - KBA230715 - Community Translated (JA)

Community Translated by NoTa_4591161NoTa_4591161 Expert        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

注意:

  1. これは、SPIがプロデューサである自動チャネルを示すためのファームウェアの例にすぎません。これは、実際のユースケースに応じて変更する必要があります。
  2. この例は、FX3 SDKの例のようにSPIフラッシュと通信します。
  3. SPIがプロデューサであるチャネルのみが、接続されたファームウェアで自動になります。コンシューマとしてSPIを使用しているチャネルは、手動のままです。

テスト手順は次のとおりです。

  1. 接続されているファームウェアをRAMにプログラムします。
  2. wLength = 0x200wIndex = 0x0000wValue = 0x00000xC3ベンダーコマンドを発行します。SPIからの実際の読み出しデータがバルクINエンドポイントに送信されると、制御転送のデータフェーズで長さゼロのパケットが返されます。
  3. フラッシュデータを取得できるバルクINエンドポイントでIN転送を実行します。

付属のファームウェアでは、自動チャネルにはサイズ0x200のバッファ1つしかないため、データ長(wLength> 0x200の読み取りはサポートされていません。プロデューサとしてSPIを使用する自動チャネルに複数のバッファがある場合の機能は、現在の説明の範囲外です。

USBホストによって0x200バイトがBulkINエンドポイントから読み取られる場合にのみ、接続されているファームウェアを参照してください。このイベントCY_U3P_DMA_CB_XFER_CPLTは、DMAコールバックで受信されます。

Attachments
0 Likes
Version history
Revision #:
1 of 1
Last update:
‎Nov 26, 2020 12:01 AM
Updated by:
 
Contributors