DE0-nano + ドットマトリックスLED で遊ぶ その2
- 2012/02/26
- カテゴリー:電子工作, スマートフォン
- タグ:DE0-nano ドットマトリックスLED
2月初めには完成していましたが、とりあえず完成ー!ということで。
ボード右上に何やら怪しげなQFPのICが載っていますが、USBホストコントローラーのMAX3421Eです。実は最終的にAndroidと接続することを企んでいたりします。「なんだ結局Androidなのか」と思っちゃうかもしれませんが、まあそう言わずに。 ^^
急いで作ったので、若干雑な仕事になってしまいました。
ちなみに写真のQFP変換基板ですが、Aitem-Labにて購入しました。変換基板って無駄なスペースをとってしまうものばかりで、省スペースのものって電気街のパーツ屋を探し回っても見つかりませんでした。ネットで見つけて購入しましたが、狭いスペースでも使えて良い感じです。
ボード上の回路についてですが、ソース側は74ACTのシフトレジスタを、シンク側はトランジスタアレイを使用し、FPGAからそれらをコントロールしているというものになっています。 ボードの回路図
シフトレジスタは、以前の記事にも書いていますが、東芝の TC74ACT164 を使う予定でした。ただ、どの部品屋にも在庫がない状態だったため、TI の CD74ACT164 で代用しています。仕様的にも問題はありません。
LEDの電流制限抵抗は120Ω。決め方は下記の通りです。とりあえず 74ACT164のPch側のON抵抗は無視しています。流す電流も高々16mAですし、トランジスタアレイの Vce(sat) の特性ばらつきや温度による変動の方が大きいので、そこまで細かい値は気にする意味も無いと思います。
R = ( Vcc - Vf[LED] - Vce(sat)[TrArray] ) / 16mA
5V電源については今のところDE0-nano経由で、PCのUSBポートから供給しています。Androidを接続する場合は確実に供給能力不足になるので、外部電源が必要になります。
さて、FPGAの方に話を移しましょう。
ドットマトリックスLED制御部分のVerilogHDLはこちら。例によって無保証です。
構成としては、32bitx16のメモリを内部に持っていて、これにデータを書き込むことでその内容を表示します。またNiosIIのコンポーネントとして組み込むことで、ソフトウェア上で表示パターンを変更することができるようになります。
ゆくゆくはAndroidで制御しますので、ベースとしては@iseroidさんが公開されているNiosII用のMicrobrigeを使います。githubから取ってこれます。
https://github.com/iseroid/microbridge_nios2
今回はここまで~。(次回は未定)