USBシリアル・インターフェース
USBシリアル変換チップFT2232D
ここで必要になるのが FT2232Dを使ったコンフィグレーション・ソフトウェアである。ALTERAやXILINXのツールでは書き込みができないので、なんとかしなければ。いろいろ探したが、FT2232を使って、Cycloneと SPARATAN 双方に書き込みができる適当なソフトウェアを見つけることができなかった。
そこで、プログラミングを自作しようと考えたが、そこにはかなり高い壁が待ち受けていたのです。
まずは、USB-シリアル2チャンネルチップのFT2232Dを使いこなすことからスタートです。
FT2232Dは、次のような機能がある。
- USBとシリアルまたは8ビット・パラレルを2チャンネルを同時利用可能
シリアル1ch、パラレル1chの利用も可能 - シリアル通信速度 300~3Mbps
- パラレル最高転送速度 1Mbytes/s
- ビットバングモードで8ビットI/O制御が可能
- 384bytes受信バッファ、128bytes送信バッファ
- マルチプロトコル同期式シリアル(Multi-Protocol Synchronous Serial Engine:MPSSE)機能
- 仮想COMポートドライバ(VCP)により、Windowsに標準COMポートが2ポート設置
- ダイレクトドライバ(FTD2XX)により、FTDI社のライブラリにより上記の機能の利用が可能
- CPUスタイルFIFOインターフェイス機能 MCU Host Bus Emulation
- USB 2.0フルスピード対応
すなわち、USBシリアル変換チップFT232とUSBパラレル変換チップFT245の機能を2個の機能が内蔵されている。
左:FT2232D USBシリアル変換モジュールキット
右:FT245RL USBパラレル変換モジュール
FT2232 動作確認テストプログラムの作成
FT2232のビットバングモードの動作確認のためのテストプログラムを作成することにした。
秋月電子から発売されているFT245RL USBパラレル変換モジュール用に、Visual BASIC(Visual Studio 2005用)のものが公開されている。
http://akizukidenshi.com/catalog/g/gK-01799/
それを参考にC#で FT2232用に書き直し、最新のVisual Studio 2015 でビルドしてみた。
FTDI社で公開されている。FTD2XX_NET.DLLを利用すると .NETで簡単にプログラミングができる。
http://www.ftdichip.com/Support/SoftwareExamples/CodeExamples/CSharp.htm
秋月電子から発売されている。
FT2232D USB-シリアル2Ch変換モジュール
は、もちろん。以下のモジュールでも出力だけは動作するはずである。
・FT232RL USBシリアル変換モジュールキット
・FT232HL ハイスピードUSBシリアル変換モジュール
左:FT232HLモジュール 右:FT232RLモジュール
Visual Basic PowerPack のコントロール Oval Shapeコントロールを安易に使っているので、以下のサイトを参考にVisual Basic PowerPack を入れる必要がある。
http://blog.goo.ne.jp/ashm314/e/932755fa3ed6fcdd08d8867010c4d077
また、ソリューションエクスプローラの参照から参照の追加を選択して、FTD2XX_NETを組み込む必要がある。