スポンサーサイト

.-- -- スポンサー広告 comment(-) trackback(-)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

AVRライタ高速化(6)

.20 2010 AVR-USB comment(0) trackback(0)
とりあえず低速版が他のPCでも動作するかを確認すべく、身の回りにあるPCを片っ端から試してみました。

いろいろありましたが、結果的にread_burstのtimeoutを大きめにとらないと正常に動かないPCもあるということが分かりました。
つまりread burst時には何度も「受信だけしてNAKを返すパケット」が送られてきていることになります。
この無駄なパケットを完全になくせば純正品よりも高速になる可能性は十分にあります。
そのためには送受信用のデータのバッファサイズを大きくしなくてはならないわけです。

write burst modeに関して、実際に1ms間隔でトランザクションを飛ばすとなると1回のトランザクションで処理に1msかかるだけのデータを送らなくてはなりません。
1ms程度かかるとなると64byte程度が現実的です。64 byteのデータをSPIに流すのにかかる時間を1ms、64byteを受信するのにかかる時間を(64 + PIDなど = 80くらい) * 8(bit/Byte) * 8(clk/bit) / 12MHz = 0.5ms程度なので理論値は1.5ms/64 byte、つまり1.5sec/64kBデバイスということになります(書き込みonlyの時間)。
実際にはこの値+実際の書き込み時間+busy checkなどがはいってこの半分以下の速度しかでないとおもわれますが、それでも純正品を越えられるのではないかと密かな野望を抱いている次第です^^;

本格的にFULLアセンブリに書き直すのは7/26の試験が終わるまでとっておきたいので、先にもう一台USBライタを作って、今開発中のUSBライタを新しいUSBライタで書き込めるようにしてしまおうと思います。そうするといよいよパラレルポート接続の超低速AVRライタとは完全におさらばです。

# 訃報:今までのUSB関係の開発でずっと使っていたAVRがついに逝ってしまいました。フラッシュ書き込みの回数制限を越えてしまった(つまり寿命がきた)ことが原因と思われます。あと少しで高速ライタになれたはずなので残念です。安らかなご永眠をお祈りいたします。

というわけで次のAVRをライタICにして開発続行。続きは次回。

関連記事

  • comment
  • secret
  • 管理者にだけ表示を許可する

trackbackURL:http://yuranos.blog11.fc2.com/tb.php/83-ba234340
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。