FX2LP™とLattice社の CrossLink FPGAを使用したUSB2.0カメラのインターフェース - KBA222479 - Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
Community Translated by NoTa_4591161
Version: **
Translation - English: USB2.0 Camera Interface Using FX2LP™ and Lattice CrossLink FPGA - KBA222479
この記事に添付されているサンプルプロジェクトは、UVCフレームワークを実装して、FX2LPデバイスを使用してイメージセンサーをホストPC /携帯電話にインターフェースします。ファームウェアの例は、ホストPC /携帯電話の標準UVCドライバーとバインドします。ファームウェアは、CY3684 EZ-USB FX2LP DVKおよびCrossLink LIF-MD6000マスターリンクボードDVKボードでテストされています。次のブロック図は、FX2LPとCrosslink FPGAを使用したカメラとのインターフェースの概要設計を示しています。
ファームウェア機能
添付のファームウェアは、アプリケーションノートAN61345 (EZ-USB®FX2LP™スレーブFIFOインターフェースを使用した設計)で提供されるスレーブFIFOインターフェースのリファレンス実装を使用しています。
新しいファームウェアは、スレーブFIFOインターフェースとUVCフレームワークで構成されています。変更されたファームウェアのUVCフレームワークは、AN75779で説明されているものと同様になります。このアプリケーションノートは、FX3デバイス用のUSBビデオクラス(UVC)フレームワークを実装していることに注意してください。
ファームウェアは1つのYUY2、640x480解像度をサポートします。FX2LPデバイスのスレーブFIFOインターフェースは、FPGAからビデオデータを取得し、FX2LPのFIFOバッファにロードします。ビデオデータは、UVCインターフェースを介してホストに送信されます。UVC関連の要求とエニュメレーション(列挙)は、FX2LPデバイスによって処理されます。FX2LPがホストPCからビデオストリーミング要求を受信すると、GPIOを介してビデオデータを送信するようCrosslink FPGAに通知されます。GPIOおよびスレーブFIFO制御信号は別として、ファームウェアは他の制御信号をサポートしていません。
AN61345アプリケーションノートで提供されているファームウェアとこのKBAに関連付けられているファームウェアとの違いは、readme.txtファイルに記載されています。
追加の変更が可能
付属のファームウェアをさらに変更して、より多くの解像度、フォーマット、フレームレートを含めることができます。標準のUVCビデオコントロールとカスタム拡張ユニットコントロールを追加することもできます。
たとえば、YUY2形式でさらに解像度が必要な場合は、記述子ファイルを更新して追加の解像度を含め、FX2LPとFPGA(またはイメージセンサー)の間にI2Cインターフェースを含めて解像度を選択し、FPGAコードを更新して追加の解像度をサポートする必要があります。
実装のテスト
添付プロジェクトには、FX2LPのスレーブFIFOマスターインターフェイスへのMIPI-CSI2カメラインターフェイスを実装するクロスリンクFPGAコードが含まれています。トップデザインとデザインパラメータファイルには、デザインアーキテクチャの詳細が含まれています。FX2LPデバイスでこのプロジェクトを使用するには2つの方法があります。
1. FPGAが2バイトのカラーバー/インクリメンタルカラーデータをFX2LPデバイスに送信します。
2. FPGAはイメージセンサーからビデオデータを取得し、FX2LPデバイスに送信します。
デザインパラメータファイルのマクロを使用して、1つのデザインから別のデザインに切り替えることができます。MIPI-CSI2からパラレルIPブロック(DPHYからCMOS)は、400 MHz MIPIクロック周波数、連続クロックモード、4データレーン、24ビット出力バス幅で生成されます。イメージセンサーの構成を変更する/別のイメージセンサーに切り替える場合は、MIPIクロック周波数、レーン数、出力データ形式/幅などに一致するようにコードを更新する必要があります。
サイプレスは、DVKセットアップでカラーバー/インクリメンタルカラーデータの実装をテストしました。DVKの使用については、CY3684 EZ-USB FX2LP DVKおよびCrossLink LIF-MD6000マスターリンクボードキットガイドを参照してください。次の表に、これら2つのボード間のピンマッピングを示します。
FX2LPスレーブFIFO制御およびデータライン |
CrossLink LIF-MD6000マスターリンクボード |
CY3684 EZ-USB FX2LP DVK |
START |
RX1 / J2(19) |
P3(19) |
SYNC |
RX1 / J2(17) |
P3(18) |
SLWR |
J18(9) |
P2(4) |
PKTEND |
J18(7) |
P2(13) |
FIFO_EMPTY(FLAG A) |
J18(3) |
P2(11) |
IFCLK |
J18(5) |
P5(3) |
GND |
RX2 / J2(26) |
P2(20) |
DQ0 |
RX2 / J2(4) |
P1(19) |
DQ1 |
RX2 / J2(6) |
P1(18) |
DQ2 |
RX2 / J2(10) |
P1(17) |
DQ3 |
RX2 / J2(12) |
P1(16) |
DQ4 |
RX2 / J2(16) |
P1(15) |
DQ5 |
RX2 / J2(18) |
P1(14) |
DQ6 |
RX2 / J2(11) |
P1(13) |
DQ7 |
RX2 / J2(13) |
P1(12) |
DQ8 |
RX1 / J2(4) |
P1(11) |
DQ9 |
RX1 / J2(6) |
P1(10) |
DQ10 |
RX1 / J2(10) |
P1(9) |
DQ11 |
RX1 / J2(12) |
P1(8) |
DQ12 |
RX1 / J2(16) |
P1(7) |
DQ13 |
RX1 / J2(18) |
P1(6) |
DQ14 |
RX1 / J2(11) |
P1(5) |
DQ15 |
RX1 / J2(13) |
P1(4) |
FPGA CLOCK INPUT |
J27(2) |
P4(3) |
注: Crosslink FPGAのピンマッピングの詳細については、このプロジェクトに添付されているFPGAソースコードの.lpfファイルを参照してください。
達成された最大USB帯域幅
YUY2 640x480ビデオ解像度をストリーミングしている間、達成される最大USBスループットは30 MBpsです。これは、Windows10 PCのe-CAMViewアプリケーションとAndroidフォンのCameraFi-USBカメラ/ Webcamアプリケーションでテストされています。UVCデバイスからビデオをストリーミングするサードパーティアプリケーションを使用できます。
注:サイプレスは、追加機能をサポートするためのCrosslink FPGAコードの更新をサポートしていません。FPGAコードを変更するためのお問い合わせはLattice Semiconductor社のテクニカルサポートシステムに連絡願います。サイプレスは、ユーザーがFX2LPファームウェアデザインを更新/変更して他の機能をサポートするのに役立ちます。サイプレス製品のお問い合わせはサイプレステクニカルサポートにご連絡願います。