« AVR-USB、Tiny45 の internal RC oscillator で動作! | トップページ | しお »

2008.11.24

AVR-USB, hid-data

AVR-USB のサンプルの examples/hid-data のデータ転送速度を測ってみた。

サンプルのままだと、EEPROM の読み書きで遅すぎるので、単純に RAM 上の配列に読み書きするようにして測定してみた。
(ATTiny45 で内蔵OSC使って 16.5MHz 動作のもの。)


結果は、

128Byte * 1000回 の書き込みが 2652ms で 47.13KB/s
128Byte * 1000回 の読み込みが 5663ms で 22.07KB/s

8Byte * 1000回 の書き込みが 499ms で 15.66KB/s
8Byte * 1000回 の読み込みが 671ms で 11.64KB/s

でした。


理論的には、1.5Mbps / 8 = 187.5KB/s なので、実効で 100KB/s ぐらい出て欲しいと思っていたけど、ソフトだけでエミュレートしてるせいか、ちょっと遅かった。

コントロール転送で Feature Report を使ってデータ転送するという、ある意味裏技っぽい使い方してるのも遅い原因かな? 普通に、インタラプト転送すれば、もっと速いのかも???

まぁ、ちょっとしたパラメータを設定するだけなら、数バイト/s で転送できれば十分なので1000倍以上速いんだけどさ。

それにしても、書き込みの方が速いのが意外だったな。
読み出しは、「読み出すよ命令」を書き込んでから読み出してるってことなのかな?

(←フリーソフトを作るモチベーションアップのために、ぜひ。)

|

« AVR-USB、Tiny45 の internal RC oscillator で動作! | トップページ | しお »

AVR」カテゴリの記事

「H/W」カテゴリの記事

「プログラミング」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/20208/43214139

この記事へのトラックバック一覧です: AVR-USB, hid-data:

« AVR-USB、Tiny45 の internal RC oscillator で動作! | トップページ | しお »