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バイト分のデータが送られてくる動作になりますが、実効データだけ受信できるような回路にすることで対処できます。