EZ-USB FX3のSlaveFIFOが遅い理由
EZ-USB FX3をSlaveFIFOで使うと、思ったほど速度が出ません。
ファームウェアかデバイスドライバのどちらかに原因があるのだと思っていましたが、おそらくファームウェアにありそうです。
次の図は、EZ-USB FX2をUSB2.0 HighSpeedモードで動かして、BulkOutしたときの動作をUSBアナライザで見たものです。

サンプルプログラムにデフォルトで付いているSlaveFIFOを使っているのですが、10 PING-NAKのような箇所が随所に見られます。
PNKGとは、送信先のターゲットデバイスのバッファに受け入れる余裕があるかどうかを尋ねるプロトコルで、NAKが10回も返ってきているということは、ターゲットデバイス(FX3)のバッファがなかなか空かないことを示しています。
つまり、FX3の反応がとても鈍くて、SOFの間隔(125μ秒)の間に2パケットしか送れていません。ダブルバッファが有効になっていないのかもしれません。
| 固定リンク


コメント