Smart-USB Sigma製品をUSB3.0(Super Speed)で運用する場合、メモリ転送のデータ単位に注意して下さい。
Smart-USB Sigma製品の各ボードは、Super Speed、High Speed、Full Speedで動作します。
各speedで接続したとき、データの転送単位が異なります。
Super Speed | High Speed | Full Speed | |
メモリWR | 32,768 | 16,384 | 2,048 |
メモリRD | 4,096 | 2,048 | 256 |
USB3.0(Super Speed)接続時には、PC→ボード(WR)方向では32KB単位でファイルを指定し書き込んで下さい。32KBで割り切れない場合、正常なデータ転送ができません。
割り切れないデータ量(A)を転送する場合、制御アプリでは32KBで割り切れる分量のデータ(B)を転送し、FPGA側で(A)のデータを受信後、(B-A)分のデータを無視する回路にすることで対応できます。 そのためには、データ転送に先立ち、FPGA側に実際に転送する(A)バイトをレジスタアクセスにより通知しておく必要があります。
ボード→PC(RD)方向では、4KB単位でファイルを指定し読み出して下さい。4KBで割り切れない場合、正常なデータ転送ができません。
割り切れないデータ量(A)を転送する場合、制御アプリでは4KBで割り切れる分量のデータ(B)を転送し、PC側で(A)のデータを受信後、(B-A)分のデータを無視する処理にすることで対応できます。
‘15.11現在、Super Speedで運用したとき、4096で割り切れないデータをメモリRDしたとき、ボードに電源投入後の初回は正常ですが、2回目以降に前回データが一部紛れ込むバグがあります。
データ転送する際は、WR:32KB、RD:4KBの単位でデータを扱うようにして下さい。