NiosII による、FT245/FT2232D/FT2232Hなどのパラレル通信例 |
|
FTDI社の、FT245/FT2232DそしてFT2232HなどのUSB-FIFO変換チップとFPGAの接続例として、NiosIIからアクセスする例をご紹介いたします。 ASYNC 245 FIFOと呼ばれる一番シンプルなアクセス方法です。 メモリのようにリードライトすれば良いので、SOPC Builderの新規コンポーネントをつくります。今回は、SRAMを作るつもりで下のようなコンポーネントを作りました。 ここで、アドレスはダミーです。アドレスが無いとコンパイル時にエラーがでましたので、ダミーで生成しました。CSも不要ですが生成しています。データバスは8ビットとすると、Niosからのアクセスがキャラクタアクセスあっても4回のリード信号が生成されましたので、32ビットバスとし、最下位8ビットを使用しました。 NiosIIに限らず、一般のマイコンからも同様に通信できます。 組込マイコンを使わないときは、こちらのようにして接続します。 これは現在デバッグ中のEDA-004に搭載のCycloneIIIとFT2232Hを通信させたものです。NiosIIは50MHzで動作させています。 Synchronous parallel FIFOモードではもっと高速になると期待できます。 |
以下、コンポーネントエディタの設定例です。 |
タイミングはアバウトですが余裕を持っています。(下のチェックなどは意味ありません。設定はアバウトですので参考までにとどめてください) |
下記が、FPGAが受信したものをそのまま送り返すプログラムです。 ここで、TXEとRXF信号は汎用のI/Oポートに割付しました。必要に応じて割り込みを使うことができると思います。 |
4MByteほどのファイルを送信し、受信されたデータと比較することで正しく動作することを確認しました。ソフトウエアのポーリングで、仮想COMポートドライバをデフォルトで使っていて速度は速くありません。(上記の例で約2MByte/sでした) それでもUARTと違い、取りこぼしの不安はありませんから、簡単便利だと思います。 |
以上皆さまのご参考になれば幸いです。 |
メールでのご質問はこちらへどうぞ |
|