歩き遍路 平成19年春(J1) 記録の準備

Visual C#で
   FT-2232HのSyncFIFOでLOOP転送


 Visual C#を使ってSyncFIFOでLOOP転送しました。

 以前に記録した「Visual C#でFT2232HのSyncFIFOでOUT転送」と「Visual C#でFT2232HのSyncFIFOでIN転送」を合成した様な機能の実験です。

●FT2232H 同期FIFOのLOOP実験の操作画面と構成

 実験の操作画面と構成を次に示します。
 構成写真は「Visual C#でFT2232HのSyncFIFOでIN転送」と同じなので省略します。

 次は操作画面で、左のテキストボックスに送信文字を入力して「Loop開始」ボタンを押下すると FT2232H に同期FIFOで入力文字を送信します。 FT2232H 側では、受信文字をそのままパソコンに折り返します。この折り返した文字を右のテキストボックスに文字コードで表示します。
 次の操作画面は、"ABCDEFGHI"を送受信して受信した文字コードを右に表示しています。




 次に実験の構成を示します。
 ホストのパソコンにFT2232H用ドライバ D2XX とVisual C#で作成したプログラムを搭載します。
 FT2232Hは、FPGAボードの上に実装しました。FT2232Hの同期FIFOの信号をFPGAに接続して、FPGAで構成したシーケンサとFIFOで制御します。




●FPGAに構成したシーケンサ

 次のバブルチャートは、FPGAに構成したシーケンサの動きを示します。
 ステートS1とS2は、FT2232H のFIFOにデータが入力したか監視して、入力有れば読み出してFPGA内のFIFOに格納します。
 ステートS3は、受信が完了したか見極める時間を作っています。
 ステートS6とS7とS8は、FT2232H の送信FIFOに空きがあるか監視して、空きが有るならFPGA内のFIFOからデータを読み出しFT2232H の送信FIFOに格納します。





●FT2232H 同期FIFOのLOOP転送

 次の波形は、LOOP転送全体見える倍率にしています。詳細は以下に記録しています。
 ・左の赤丸は、FT2232H のFIFOからFPGA内のFIFOに格納する動きを示します。
 ・中央の赤丸は、データ入力完了を確認する期間を示します。
 ・左の赤丸は、FPGA内のFIFOからデータを読み出し、FT2232H の送信FIFOに格納する動きを示します。





 左の赤の FT2232H のFIFOからFPGA内のFIFOに格納する動きを示す詳細です。
 
 8_FtRxFが1に成ればデータ受信を示すので、動作の始まりです。5_FtOeと4_FtRdと24_PidLcd_Dataを注目します。
 24_PidLcd_Dataには、パソコンからのデータがFPGA内のFIFOに格納されていく動きが見えます。





 左の赤丸はのFPGA内のFIFOからデータを読み出し、FT2232H の送信FIFOに格納する動きを示す詳細です。

 6_FtTxEが1に成ればデータ受信を示すので、動作の始まりです。この波形ではすでに1に成っています。
 7_FtWrと24_PidLcd_Dataを注目します。
 24_PidLcd_Dataには、FPGA内のFIFOからのデータがFT2232H のFIFOに格納されていく動きが見えます。




●Visual C# で作ったプログラム

 Visual C# で作ったプログラムの一部を記録します。






ホームへ戻る