Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

サイプレスFX2LPを使用したラティスクロスリンクFPGA構成とUVCカラーバービデオストリーミング – KBA30768 - Community Translated (JA)

サイプレスFX2LPを使用したラティスクロスリンクFPGA構成とUVCカラーバービデオストリーミング – KBA30768 - Community Translated (JA)

ChaitanyaV_61
Employee
50 questions asked 25 likes received 25 sign-ins
Employee

サイプレス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に示す次のブロック図は、FX2LPCrosslink FPGAを使用してカメラとインターフェースする高レベルの設計の概要を示しています。

1. システムブロック図

pastedImage_6.png 

2. FX2LP低コストボード

pastedImage_12.png 

3. MIPIカメラクロスリンクFPGAアドオンボード

pastedImage_13.png 

FX2LPファームウェアの機能

このファームウェアは、スレーブFIFOインターフェース、UVCフレームワーク、およびFPGA構成とビデオストリーミングをサポートするベンダークラスインターフェースで構成されています。このプロジェクトで使用されるUVCフレームワークは、サイプレスアプリケーションノートAN75779説明されています。このアプリケーションノートは、FX3デバイス用のUSBビデオクラス(UVC)フレームワークを実装していることに注意してください。しかし、これはUVCフレームワークの詳細を理解するためのリファレンスとして使用できます。

このファームウェアは、640 x 480解像度のYUY2形式のビデオストリーミングをサポートしています。FX2LPデバイスのスレーブFIFOインターフェースは、FPGAから解像度640 x 480のカラーバービデオを取得し、FX2LPFIFOバッファにロードします。FX2LPはこのビデオデータをUVCインターフェース経由でホストに送信します。UVC関連の要求と列挙は、FX2LPデバイスによって処理されます。クロスリンクFPGAは、FX2LPから送信されたFIFOバッファの空の制御信号に従ってストリーミングを開始します。

USBエンドポイント2EP2)のサイズは512バイトとして構成され、スレーブFIFOバルクINレシーバーとして機能するようにクワッドバッファされます。フラグAFIFO空フラグとして構成され、クロスリンクFPGAにデータをバッファにロードし始めるように通知し、フラグBFIFOフルフラグとして構成されます。FPGAPKTEND信号をアサートして1280640 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 Mbps12M X 16ビット)のデータ速度につながります。これはFX2LP低コストボードでテストされました。回路図ファイルはKBA229176およびMIPIカメラクロスリンクFPGAアドオンボードにあり、このボードの回路図ファイルはこのKBAに添付されています。ビデオカラーバーのストリーミングに使用されるUVCアプリケーションは、MPC-HCビデオプレーヤーです。レンダリング統計を含む生成されたカラーバーは、4示すとおりです。

4. ストリーミングされたYUVカラーバー

   pastedImage_26.png

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ビデオコントロールとカスタム拡張ユニットコントロールを追加することもできます。

FX2LPMIPIカメラFPGAアドオンボード」にもイメージセンサーコネクタがあり、イメージセンサーモジュールを接続して、カラーバーの代わりにビデオをストリーミングできます。

KBAと一緒に含まれるファイル

  1. MIPIカメラFPGAアドオンボードfor FX2LP」の回路図
  2. FPGAロジックプロジェクトファイルのクロスリンク
  3. FX2LPファームウェアプロジェクトファイル
  4. 生成されたビットストリームを制御エンドポイント経由でFX2LPに送信するカスタムアプリケーション
Attachments
0 Likes
Contributors