FPGA USB FX2 ov5640 カメラ ビデオ取得ドライバー CY7C68013A 実装は、2 セットのエンジニアリング ソース コードとテクニカル サポートを提供します

1 はじめに

現在、USB2.0 の実装方式は数多くありますが、シンプルさと使いやすさの観点から、Cypress の CY7C68013A が最適な方式と考えられます。8051 CPU を内部に統合し、FIFO インターフェイスとしてカプセル化しており、回路設計がシンプルで操作手順もシンプル ソフトウェアドライバもシンプルで、FPGAドライバを含む豊富なドライバソースコードやテストソフトウェアも公式から提供されています。

この設計は、FPGA を使用して Cypress の CY7C68013A チップを駆動し、SlaveFIFO モード通信を使用して USB2.0 ビデオ キャプチャおよび送信テストを実現します。CY7C68013A 構成ファームウェアとソース コードを提供します。一般的なファームウェア ソース コードは変更する必要がなく、経由で直接ダウンロードするだけです。公式ツール、公式ツールも提供し、それらをデータ パッケージに入れます。SlaveFIFO インターフェイスのビデオ送信テストに基づいて、FPGA 開発ボードは OV5640 カメラ データをリアルタイムで収集し、FIFO バッファとクロスクロック ドメイン処理を使用します。次に、画像データを CY7C68013A チップに送信し、USB2.0 インターフェイスを介してコンピュータに送信し、コードがコンパイルされてデバッグと検証を通過した後、コンピュータ側の上位コンピュータが出力を受信して​​表示します。ボードをプロジェクトに直接移植することができ、医療、軍事、その他の産業におけるUSB2.0通信および画像伝送の分野に適用できるプロジェクト開発をエンジニアが行い、完全かつスムーズなエンジニアリングソースコードと技術サポートを提供します
。 ;
エンジニアリング ソース コードとテクニカル サポート、およびオンボード デバッグのデモンストレーションを入手する方法 ビデオは記事の最後にあります。最後までご覧ください。

2. ここにある FPGA USB 通信ソリューション

ここでの既存の FPGA は CY7C68013A の USB3.0 通信ソリューションに基づいており、主にデータ ループバック テスト、画像送受信テスト、ビデオ送受信テストが含まれており、ビデオ送受信は OV5640 カメラに基づいています。興味がある場合は、私の USB2.0 通信コラムにアクセスして読んでください。コラムのアドレスは次のとおりです。
クリックするとコラムに直接移動します。

また、ここで使用している FPGA は FT601 および FT602 USB3.0 通信ソリューションに基づいており、主に単純な速度測定ソリューションと画像伝送ソリューションが含まれており、画像伝送ソリューションには単純なカラー バーの伝送と取得、OV5640 カメラの伝送と取得が含まれます。 HDMI ビデオ取得、HDMI ビデオ キャプチャとキャプチャ、USB3.0 UVC ビデオなど、すべてのエンジニアリング ソリューションには FPGA エンジニアリングと QT ホスト コンピュータのソース コードが含まれています。興味のある方は、私の FT601 USB3.0 通信コラムを参照してください。 、列アドレスは次のとおりです。クリックすると
列に直接移動します。

3. CY7C68013A チップの解釈とハードウェア設計

FX2 の概要

サイプレスの EZ-USB FX2 は、USB2.0 トランシーバ、SIE (シリアル インターフェイス エンジン)、強化された 8051 マイクロコントローラ、およびプログラマブル ペリフェラル インターフェイスを統合した世界初の統合型 USB2.0 マイクロプロセッサです。FX2 のこの独創的な構造により、データ転送速度は 480MBit/s に達します。FX2 では、インテリジェント SIE がハードウェアで多くの USB1.1 および USB2.0 プロトコルを処理できるため、開発時間を短縮し、USB 互換性を確保します。このデバイスには次の機能があります。
1: 組み込み 480MBit/s トランシーバ、フェーズ ロック ループ PLL、シリアル インターフェイス エンジン SIE -
USB 2.0 プロトコル全体の物理層を統合します。
2: 48MHz で動作できる拡張 8051 が組み込まれており、8051 コントローラには次の機能があります。
(1) 256 バイトのレジスタ空間、2 つのシリアル ポート、3 つのタイマー、および 2 つのデータ ポインタを備えています。
(2) 4 マシン サイクル (48MHz で動作する場合は 83.3ns) が 1 命令サイクルを構成します。
(3) 特殊機能レジスタ(I/Oポート制御レジスタを含む)への高速アクセスが可能です。
(4) USB ベクタ割り込みを適用すると、ISR の応答時間が非常に短くなります。
(5) USB トランザクションの管理と制御にのみ使用され、データ送信には関与しません。これにより、
USB 高速モードの帯域幅の問題がより適切に解決されます。
3: 「ソフト構成」 - USB ファームウェアは USB バスからダウンロードでき、チップ上に ROM を統合する必要はありません。
4: 4 つの FIFO インターフェイスがあり、内部または外部クロックで動作できます。エンドポイントとFIFOインターフェースの適用により、
外部ロジックとUSBバス間の高速接続が可能になります。
5: 外部プロトコル物理層を必要としないシングルチップ USB 2.0 ペリフェラル ソリューション FX2 は、すべての機能を
1 つのチップに統合します。
CY7C68013A の内部構造など、一般的な FX2 コントローラーは次のとおりです。
ここに画像の説明を挿入

SlaveFIFO モードとその構成

FX2-FPGA インターフェイスは、データ収集、産業用制御と監視、画像処理などの高速 USB 接続を実装する FPGA ベースのアプリケーションに非常に使いやすいインターフェイスを提供します。FX2 はスレーブ FIFO モードで動作し、FPGA がマスター デバイスとして使用されます。
SlaveFIFO: このモードでは、FX2 に接続された外部システムは読み取りおよび書き込み制御信号を生成できるため、FX2 のマスター デバイスとして機能できます。FPGA ベースのアプリケーションでは、FX2 は通常、SlaveFIFO モードとして設定されます。以下の図は、FX2 がスレーブ デバイス FIFO インターフェイスを介して外部 FPGA と接続する場合のシステム ブロック図です。
ここに画像の説明を挿入
このように、FX2 に組み込まれた 8051 ファームウェアの機能は、スレーブ FIFO 関連のレジスタを設定し、FX2 がスレーブ FIFO モードで動作するときの制御のみです。8051 ファームウェアが関連レジスタを設定し、スレーブ FIFO モードで動作するようになると、外部ロジック (FPGA など) はスレーブ FIFO の送信タイミングに従ってホストと高速に通信できるようになり、8051 は必要ありません。通信プロセス中、ファームウェアの関与。SlaveFIFO モードの設定は、CY7C68013A が提供する一連の公式ツールをインストールして、関連するファームウェアをダウンロードして完了する必要があります。私はこのセットをパッケージ化し、ツールのインストール、ドライバーのインストール、ツールの使用、およびファームウェアのダウンロードに関するドキュメントを特別に作成しました。データ パッケージでは次のようになります:
ここに画像の説明を挿入
下の図は、SlaveFIFO モードでの FX2 と FPGA 間の接続の概略図です。
ここに画像の説明を挿入
特定の信号ピンについては次のように説明します。
ここに画像の説明を挿入
IFCLK 信号の場合、これは方向を設定可能な信号であり、FX2 によって出力して FPGA などの外部デバイスに接続したり、外部デバイスからクロック信号を受信する入力として設定したりできます。つまり、データおよび制御信号の同期クロックとして FX2 によって FPGA に出力されます。

4. 詳細な工学設計計画

詳細な設計スキームは次のとおりです:
ここに画像の説明を挿入
FPGA 開発ボードは OV5640 カメラのデータをリアルタイムで収集します OV5640 カメラを使用するには i2c 構成が必要です この設計は OV5640 の i2c 構成を完了するための verilog の i2c 構成モジュールを提供します画像データは CY7C68013A チップに送信され、USB2.0 インターフェイスを介してコンピュータに送信され、コンピュータ上のホスト コンピュータが出力を受信して​​表示します。

5. ビバドプロジェクト

開発ボード FPGA モデル: Xilinx-XC7A35T-2FGG484C-2;
開発環境: vivado2019.1;
入力: OV5640 カメラ;
出力: ホスト コンピューター ディスプレイ;アプリケーション
: USB2.0 インターフェイス画像送信; FPGA のリソース消費と消費電力は次のように見積もられます。 :

ここに画像の説明を挿入

ここに画像の説明を挿入

6. ボードのデバッグと検証

最初にボードの電源を入れてから、CY7C68013A ファームウェアをダウンロードします。通常、CY7C68013A の回路図デザインには外部 e2prom があるため、ファームウェアをダウンロードする必要があるのは 1 回だけです。FPGA ビット ストリームをダウンロードし、ホストの出力エフェクトを開きます。コンピュータ ソフトウェアは次のとおりです。
ここに画像の説明を挿入

7. 福利厚生:技術コード取得

利点: エンジニアリング コードの取得
コードは電子メールで送信するには大きすぎるため、特定のネットワーク ディスクへのリンクによって送信されます
データ取得方法 1: 非公開、または記事の最後にある V 名刺
ネットワークディスク情報は以下のとおりです。
ここに画像の説明を挿入
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/qq_41667729/article/details/131270429