WAIT制御の注意点

WAIT制御する場合の注意点

【適用】 すべてのSmart-USB Plus製品

データ転送する場合に、WAIT制御を行うことで一時的にデータ転送を停止させることができます。

【原理】
ボード上のUSB制御ICとFPGA間でwaitn(rdy)信号を利用して、wait制御ができます。waitn信号がLowの場合、USB制御ICはデータ転送処理を一時的に停止します。

USB制御ICには512バイトのバッファが4面あり、これらのバッファを利用してFPGAとデータ転送を行います。

【注意事項】
ホストPCからボードにデータ転送する場合、2,048バイト以下のデータ量では正しくWAIT制御できない場合があります。

転送データ量が2,048バイト以下の場合、ホストはデータ転送がすべて完了したと判断します。 USB制御IC内のバッファにすべて収まるためです。  このため、WAIT制御している場合、ホストではすべてのデータ転送が完了している状態なのに、ボード側ではWAIT制御が続いている状態になる場合があります。 この状態で、ホストは次のボード制御コマンドを発行できるので、ボード側でWAIT制御中にもかかわらず、ホスト側のボード制御ソフトがコマンドを発行してしまうと、ボード側のファームウエアが誤動作する原因になります。

【対策】
転送したいデータファイルが2,048バイト以下の場合でも、データ転送量を2,560に設定してください。 FPGA回路では2,560バイト分のデータが送られてくる動作になりますが、実効データだけ受信できるような回路にすることで対処できます。


Smart-USB Plus / Sigma 技術サポート
https://www.smartusb.info/article.php/wait_control