通信速度とエラー

いんくさんにエッジを削ってもらったので全て組み立てた。そのうち 5 個が書き込み途中にエラーが出る。回路上の問題はなさそうだ、では、なぜ。

USB のつなぎ方

なんでこうなるかしらないが、ハブを経由させずポートに直接つなぐとおそい。テストプログラムを組んでハブ経由で計測したら 20 秒かかった。ハブを経由させると 3 秒かかる。

ここでちょっとに気になったので、5年以上前のノートPCを出してきて計測したら、6 秒かかった。さらに書き込み途中でエラーがでた 4 個も正常に動いた(うち1個は配線ミスっぽいので無関係とする)。

ハードの個体差

通信エラーがでるのに3段階あったことに気づく。

  • テスト速度 3 秒, write packet 加工なし
    • 試作品では問題なく動いた。
  • テスト速度 3 秒, write packet 加工あり
    • PCB のうち 18/23 は問題なく動いた。
  • テスト速度 6 秒, write packet 加工あり
    • PCB のうち 22/23 は問題なく動いた。

どこの部品で差が出る、というのはわからないが、テスト速度 3 秒はぎりぎりの性能だったようだ。

write packet の加工

NRZI の符号変換関連で、V-USB が受信時に bit stuffing をちゃんとやれてないのが原因。コメントにいただいた記事は bit struffing を減らしてパフォーマンスをあげようという意図であって、ちょっと違うことに注意。

そんなかんじで

キット販売で楽しみにしている方にはもしかしたら、原因不明の通信エラートラブルを食らうかもしれない(ごめんなさい)。

テスト速度 3 秒で動くのとテスト速度 6 秒で動くのはきちんと記載して、値段にも差を付けるので、ご理解していただきたい。