h_nari @ 熊本市のブログ。電子工作、プログラミング、ゲーム、TV、 政治、インターネットなどに日々の思い付きを、 うだうだ~と書いていきたい。
このブログにはコメント欄を設けておりません。 記事への御意見、ご質問はtwitter @h_nari宛に お願い致します。


アーカイブ


アマゾン・ベストセラー

メタ情報
RSS
Login

NUCLEO-F439ZI (2)

NUCLEO-F439ZIでの tinyUSB 試行は予想よりも上手く行った。 MSC(Mass Strage Class,いわいるUSBメモリ)は動作し、 独自デバイス(tinyUSBでいうところの vendor_device)も動作した。

やりかたはサンプルプログラムを参考に 必要そうなコードを追加していき、 所在地不明の名前はVScodeの「定義へ移動」、 見つからなければ以下のコマンドで探す。

$ find . -name '*.h' | xargs grep 探す名前

tinyUSBがコンパクトでうまく整理されているおかげで、 特にハマることもなく動作するようになった。

独自デバイスを試すには PC(Windows)側にドライバとアプリが必要だ。 ドライバが面倒でUSBはHIDデバイスばかり使っていたのだが、 汎用ドライバ(libusb)が使用できると知った。 Windowsへのインストールは Zadigでできる。簡単だ。 アプリも pyUSBがあるのでpythonで作れる。

独自デバイスの動作を確認したいが デバイス(NUCLEO)側で何か動いてくれないと面白くない。 LCDで画像などを表示すれば調度良いので LCDの乗ったArduino Shieldを装着。 この記事を書いた時に買ったものだ。

PC側のプログラムで画像を転送しデバイス側のLCDに表示させる プログラムを作成し、データの転送速度を測った。 240x240の画像の転送に0.32秒。あまり速くない。 ( 動画) LCDへの転送がネックかもしれないと疑いコメントアウトしてみたが転送時間は変わらなかった。

データ量は 240 x 240 x 4 [byte/pixel] x 8 [bit/byte] = 1,843,200 [bit]なので、 転送速度は 1,843,200[bit] ÷ 0.32 [秒] = 5.76 [Mbps] となる。 USB full-speedの12Mbpsと比較すると十分速い。 USB Hi-speedの480Mbpsに期待したい。

USB Hi-speedの実験を行うには 先日購入した USB-phyモジュールを接続しなければ ならない。手配線は面倒なので 基板を起こしたい。 実験用にLCDも載せたいので NUCLEO基板と合わせて3階建てになってしまう。 手持ちにSTM32F405が数個あるので、 これで新規基板を作ろうと思う。

NUCLEOの出番が意外と短かった。 またの登場のために保管用Boxを3Dプリントしよう。