■USB パラレル FTDI FT245RL を使ってみる 玄箱PROに、自作のデバイスをつけるためには USB ポートに頼ることになります。比較的簡単なデバイスを使う場合には、USB パラレル IC を利用すると、マイコンなしで接続することができます。そこで、まず FT245RL *1)を使って LED を点滅させて見ます。
■仮想シリアル・モード FT245RL には、仮想シリアル・モードと bit bang モードがあります。仮想シリアル・モードは、マイコンと FT245RL をつなぐことが想定されているようです。
マイコンと FT245RL の接続
マイコンが主導権を握ってデータのやり取りをします。たとえば、マイコンが WR ピンを操作して、FT245RL のバッファ内にデータを1バイト書き込みます。こうすることで、マイコンと PC (玄箱PRO) がシリアル・ポートを通して通信するようにデータのやり取りができるようになります。データのやり取りのタイミングは、マイコン任せですし、マイコンが必要です。
WR のタイミング(データシートより抜粋)
■bit bang モード bit bang モードでは、FT245RL の8本の信号線 (DB0 から DB7) を USB からデータを受け取ったら、 FT245RL 主導で操作するモードです。信号線は1本ずつ、入力・出力を変えることができます。 また、連続したデータが順にピンに現れる時間間隔を指定することもできます。ここでは、こちらの bit bang モードを使います。
bit-bang モードの場合は、ピンの入出力のタイミングは USB から FT245RL に指示する
■秋月の FT245RL モジュール FT245RL という IC はフラット・パッケージで扱いにくいのですが、基板に実装して DIP に変換されているモジュールが秋月電子やストロベリー・リナックスなどで販売されています。ここでは秋月電子のモジュール*2)を使っています。 ほかのモジュールもピン配置が違うかもしれませんが、同様に使えるはずです。
tar xzvf modules.tar.gz cp ftdi_sio.ko usbserial.ko /lib/modules/2.6.12.6-oabi/kernel/drivers/usb/serial/
一緒に含まれている usb-serial.c.diff は、カーネル・ソースの drivers/usb/serial/usb-serial.c へ行った差分です。FT232 と FT245RL は工場出荷時に vendor ID と product ID が一緒なので、文字列で識別し、FT245RL の場合にはドライバを割り当てないようにしています。
■libftdi のインストール bit bang モードで使うには、libftdi*4)を使うと便利です。http://www.intra2net.com/de/produkte/opensource/ftdi/index.php から、libftdi-0.10.tar.gz をダウンロードしてください。
コメントする