
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
サイプレスFX2LPを使用したラティスクロスリンクFPGA構成とUVCカラーバービデオストリーミング – KBA30768 - Community Translated (JA)
Community Translated by NoTa_4591161 Version: **
Translation - English: Lattice Crosslink FPGA configuration and UVC Color bar video streaming using Cypress FX2LP – KBA3076...
このKBAは、FX2LPファームウェアでのFPGAでの構成およびUVCフレームワークの実装に関する詳細を文書化しています。Lattice Crosslink FPGAを使用して、カラーバービデオを生成およびストリーミングします。このKBAに添付されているファームウェアの例は、ホストPC /携帯電話の標準UVCドライバーとバインドします。カラーバーはFPGAで生成され、FX2LPファームウェアによってストリーミングされます。ファームウェアは、FX2LP低コストボード(図2)およびMIPIカメラクロスリンクFPGAアドオンボード(図3)を使用してテストされます。図1に示す次のブロック図は、FX2LPとCrosslink FPGAを使用してカメラとインターフェースする高レベルの設計の概要を示しています。
図1. システムブロック図
図2. FX2LP低コストボード
図3. MIPIカメラクロスリンクFPGAアドオンボード
FX2LPファームウェアの機能
このファームウェアは、スレーブFIFOインターフェース、UVCフレームワーク、およびFPGA構成とビデオストリーミングをサポートするベンダークラスインターフェースで構成されています。このプロジェクトで使用されるUVCフレームワークは、サイプレスアプリケーションノートAN75779で説明されています。このアプリケーションノートは、FX3デバイス用のUSBビデオクラス(UVC)フレームワークを実装していることに注意してください。しかし、これはUVCフレームワークの詳細を理解するためのリファレンスとして使用できます。
このファームウェアは、640 x 480解像度のYUY2形式のビデオストリーミングをサポートしています。FX2LPデバイスのスレーブFIFOインターフェースは、FPGAから解像度640 x 480のカラーバービデオを取得し、FX2LPのFIFOバッファにロードします。FX2LPはこのビデオデータをUVCインターフェース経由でホストに送信します。UVC関連の要求と列挙は、FX2LPデバイスによって処理されます。クロスリンクFPGAは、FX2LPから送信されたFIFOバッファの空の制御信号に従ってストリーミングを開始します。
USBエンドポイント2(EP2)のサイズは512バイトとして構成され、スレーブFIFOバルクINレシーバーとして機能するようにクワッドバッファされます。フラグAはFIFO空フラグとして構成され、クロスリンクFPGAにデータをバッファにロードし始めるように通知し、フラグBはFIFOフルフラグとして構成されます。FPGAはPKTEND信号をアサートして1280(640 x 2)バイトのショートパケットデータを送信し、ビデオストリームの1行を送信します。空のフラグがアサートされ、UVCリクエストがEP2のデータを読み取ってクリアすると、バッファが再度ロードされます。
クロスリンクFPGAは、FX2LPによってI 2 C を介して構成(プログラム)されます。FX2LPは、ベンダーコマンドとしてベンダークラスインターフェースを介してPCからビットストリームを受信します。ベンダーコマンドは、制御エンドポイントを使用してビットストリームデータを受信します。カスタムベンダークラスのホストアプリケーションが作成され、このKBAとともに提供されます。このKBAは、生成されたFPGAビットストリームを取り込み、4096バイトの複数のブロックに分割して、ベンダーリクエストとして繰り返し送信します。I 2 Cを介してクロスリンクFPGAを構成および書き込むコマンドが実装され、td_init()関数にあります。FX2LPは、クロスリンクからのCDONEのアサート時にスレーブFIFOに切り替わり、FPGA構成の完了を示します。
MIPIカメラクロスリンクFPGAアドオンボードの最新リビジョンには、ビットストリームを直接FPGAにロードするために使用できるI2C-2Mbit EEPROMが含まれています。これにより、デバイスがリセットされるたびにホストPCからクロスリンクにビットストリームをダウンロードする必要がなくなります。これはテストされておらず、適宜更新します。
実装のテスト
添付プロジェクトには、FX2LPのスレーブFIFOマスターインターフェイスを使用してカラーバービデオの生成とストリームを実装するCrosslink FPGAコードが含まれています。YUY2 640 x 480ビデオ解像度は12 MHz[NB1]クロックでストリーミングされました、192 Mbps(12M X 16ビット)のデータ速度につながります。これはFX2LP低コストボードでテストされました。回路図ファイルはKBA229176およびMIPIカメラクロスリンクFPGAアドオンボードにあり、このボードの回路図ファイルはこのKBAに添付されています。ビデオカラーバーのストリーミングに使用されるUVCアプリケーションは、MPC-HCビデオプレーヤーです。レンダリング統計を含む生成されたカラーバーは、図4に示すとおりです。
図4. ストリーミングされたYUVカラーバー
表1に従って、この実装のために作成されたピンマッピング。
表1. ピンマッピング
シリアル 番号 | MIPIカメラクロスリンクFPGAアドオンボードの信号名 | FX2LP PIN名 |
1 | PA0 | PA0 |
2 | SLWR | SLWR |
3 | PKTEND | PA6 |
4 | FLAG A | CTL0 |
5 | FD0 | PB0 |
6 | FD1 | PB1 |
7 | FD2 | PB2 |
8 | FD3 | PB3 |
9 | FD4 | PB4 |
10 | FD5 | PB5 |
11 | FD6 | PB6 |
12 | FD7 | PB7 |
13 | FD8 | PD0 |
14 | FD9 | PD1 |
15 | FD10 | PD2 |
16 | FD11 | PD3 |
17 | FD12 | PD4 |
18 | FD13 | PD5 |
19 | FD14 | PD6 |
20 | FD15 | PD7 |
21 | ADR0 | PA4 |
22 | ADR1 | PA5 |
23 | CDONE | PA1 |
24 | CRESET | PA3 |
追加の変更が可能
付属のファームウェアをさらに変更して、より多くの解像度、フォーマット、およびフレームレートを含めることができます。標準のUVCビデオコントロールとカスタム拡張ユニットコントロールを追加することもできます。
「FX2LP用MIPIカメラFPGAアドオンボード」にもイメージセンサーコネクタがあり、イメージセンサーモジュールを接続して、カラーバーの代わりにビデオをストリーミングできます。
KBAと一緒に含まれるファイル
- 「MIPIカメラFPGAアドオンボードfor FX2LP」の回路図
- FPGAロジックプロジェクトファイルのクロスリンク
- FX2LPファームウェアプロジェクトファイル
- 生成されたビットストリームを制御エンドポイント経由でFX2LPに送信するカスタムアプリケーション