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

Version 1

    Community Translated by NoTa_4591161          Version: **

     

    Translation - English: Lattice Crosslink FPGA configuration and UVC Color bar video streaming using Cypress FX2LP – KBA30768

     

    このKBAは、FX2LPファームウェアでのFPGAでの構成およびUVCフレームワークの実装に関する詳細を文書化しています。Lattice Crosslink FPGAを使用して、カラーバービデオを生成およびストリーミングします。このKBAに添付されているファームウェアの例は、ホストPC /携帯電話の標準UVCドライバーとバインドします。カラーバーはFPGAで生成され、FX2LPファームウェアによってストリーミングされます。ファームウェアは、FX2LP低コストボード(2)およびMIPIカメラクロスリンクFPGAアドオンボード(3)を使用してテストされます。1に示す次のブロック図は、FX2LPCrosslink 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のカラーバービデオを取得し、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カラーバー

      

    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に送信するカスタムアプリケーション