« 2008年10月 | トップページ | 2008年12月 »

2008年11月の5件の記事

2008.11.26

高性能GPUには、高性能CPUが必要なんだね

なのはビデオカードを活かせるか ~ Nano × Radeon ~

当然、そうだろうとは思っていたけど、この↑ページ見ると、やっぱりそうだよね、ってことが数値でわかる。
いくら GPU パワーがあっても、CPU パワーが無いと活かせないよね。。。

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

| | コメント (0) | トラックバック (0)

しお

しお
うまかった。ごちそうさま。

| | コメント (0) | トラックバック (0)

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倍以上速いんだけどさ。

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

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

| | コメント (0) | トラックバック (0)

2008.11.08

AVR-USB、Tiny45 の internal RC oscillator で動作!

AVR-USB のサンプルの hid-data を、Tiny45 で internal RC oscillator を使って動作させる事ができた!

AVR-USB の HP に、
> New: Internal RC Oscillator Supported
と書かれている通り、avrusb-20081022 では、internal RC oscillato がサポートされているはずなのだが、libs-device フォルダに入っているソースを使おうとすると、コンパイルエラーが出たりして、ちょっとハマっていたのだった。

結局、EasyLoggerのソースから一部を持ってくることで動作させる事ができました。


以下、詳細。

■hid-data/firmware/Makefile
 □DEVICE=atmega168 → attiny45
 □F_CPU=16000000 → 16500000
 □FUSE_L= → 0xe1 (make fuse で書き込まないのであれば関係無い)
 □FUSE_H= → 0xdd (make fuse で書き込まないのであれば関係無い)

■hid-data/firmware/usbconfig.h
 □USB_CFG_IOPORTNAME D → B (Tiny45 には PortB しかないからね)
 □USB_CFG_DMINUS_BIT 4 → 0 (適当な port でいいはず)
 □USB_CFG_DPLUS_BIT 2 → 2 (INT0 の必要があるのでそのまま)

 □/* #define USB_RESET_HOOK(resetStarts) ... */
  の代わりに
  -----
  #ifndef __ASSEMBLER__
  extern void usbEventResetReady(void);
  #endif
  #define USB_RESET_HOOK(resetStarts) if(!resetStarts){usbEventResetReady();}
  -----
  を追加

 □USB_CFG_HAVE_MEASURE_FRAME_LENGTH 0 → 1

■hid-data/firmware/main.c
 □以下の2つの関数を EasyLogger の main.c から持ってきて追加
  (libs-device フォルダの中にもあるが、
   /**/ が2重になっててエラーが出たので、面倒なのでコピペした。)
   
   -----
   static void calibrateOscillator(void)
   {
    ...
   }
   
   void usbEventResetReady(void)
   {
    ...
   }
   -----

これで、USB Device として認識されました。


あと残りは 3 pin だけだけど、ADC で温度取得、PWM で電力制御、GPIO で回転数検出、の3つは出来るので、USB 制御可能なファンコントローラが作れそうだね。

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

| | コメント (0) | トラックバック (0)

2008.11.01

やっと復活

というか、Vista をインストールし直した。=修正する方法がわからなかった;;

"Vista libusb-win32" でぐぐるとわかるけど、libusb-win32 を入れたことによって USB 関係が全く使えなくなって困っている方が多い。
インストールする前にぐぐっておけば、こんなことにならなかったのに。。。

PS/2 キーボードが使える人や復元ポイントを保存している人は修正できるみたいだが、PS/2 が無いPCで復元ポイントも作ってなかった私は、再インストールせざるをえなかった;;

Vista の DVD から起動すれば、回復メニューでコンソールを開いて、レジストリエディタ(regedit.exe)を起動できるのだが、HDD のレジストリデータベースが見える訳ではなく、DVD で起動した環境のレジストリが見えるだけで libusb を外すことはできず全く意味がなかった。<MSアホだろ?
ファイル操作はできるので、libusb0.sys と libusb0.dll を消してみたが、USB 関係が使えないのは一緒だった;;

ということで、半年ぐらいかけて築いてきた環境をあきらめて、再インストールしたのでした。。。;;

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

| | コメント (2) | トラックバック (0)

« 2008年10月 | トップページ | 2008年12月 »