USBシリアル・インターフェース

USBシリアル変換チップFT2232D

ここで必要になるのが FT2232Dを使ったコンフィグレーション・ソフトウェアである。ALTERAやXILINXのツールでは書き込みができないので、なんとかしなければ。いろいろ探したが、FT2232を使って、Cycloneと SPARATAN 双方に書き込みができる適当なソフトウェアを見つけることができなかった。
そこで、プログラミングを自作しようと考えたが、そこにはかなり高い壁が待ち受けていたのです。
まずは、USB-シリアル2チャンネルチップのFT2232Dを使いこなすことからスタートです。

FT2232Dは、次のような機能がある。

  1. USBとシリアルまたは8ビット・パラレルを2チャンネルを同時利用可能
    シリアル1ch、パラレル1chの利用も可能
  2. シリアル通信速度 300~3Mbps
  3. パラレル最高転送速度 1Mbytes/s
  4. ビットバングモードで8ビットI/O制御が可能
  5. 384bytes受信バッファ、128bytes送信バッファ
  6. マルチプロトコル同期式シリアル(Multi-Protocol Synchronous Serial Engine:MPSSE)機能
  7. 仮想COMポートドライバ(VCP)により、Windowsに標準COMポートが2ポート設置
  8. ダイレクトドライバ(FTD2XX)により、FTDI社のライブラリにより上記の機能の利用が可能
  9. CPUスタイルFIFOインターフェイス機能 MCU Host Bus Emulation
  10. USB 2.0フルスピード対応

すなわち、USBシリアル変換チップFT232とUSBパラレル変換チップFT245の機能を2個の機能が内蔵されている。

左:FT2232D USBシリアル変換モジュールキット
右:FT245RL USBパラレル変換モジュール

2232D

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モジュール

232HL
232RL
簡単なプログラムソースですので、解析して使えるようにプログラムを公開する。

Photo7

Visual Basic PowerPack のコントロール Oval Shapeコントロールを安易に使っているので、以下のサイトを参考にVisual Basic PowerPack を入れる必要がある。

http://blog.goo.ne.jp/ashm314/e/932755fa3ed6fcdd08d8867010c4d077

また、ソリューションエクスプローラの参照から参照の追加を選択して、FTD2XX_NETを組み込む必要がある。