FPGA は、CameraLink カメラのベース モード デコード出力をキャプチャし、エンジニアリング ソース コードとテクニカル サポートを提供します

1 はじめに

現在、FPGA で CameraLink ビデオ コーデックを実装するには 2 つのスキームがあります:
1 つは、一般的な DS90CR287 などの専用コーデック チップを使用する方法、もう 1 つは FPGA を使用してコーデックを実装し、FPGA serdes リソースを使用して逆シリアル化を実現する方法です。 Serdes リソースは不要ですが、操作が難しくなり、より高いレベルの FPGA が必要になるという欠点があります。

この記事では、CameraLink カメラの Base モード デコード出力をキャプチャするための FPGA の実装設計スキームについて詳しく説明します。このアイデアは、CameraLink カメラが FPGA ボードに入力され、FPGA が内部ロジック リソースを使用して LVDS ビデオ デコードを実装するというものです。ピクセル クロック、ライン同期信号、およびフィールド同期信号、データ有効信号、およびピクセル データを解析し、ビデオをザイリンクスの AXI4-Sream ビデオ ストリームに変換し、VDMA 経由で DDR3 キャッシュに送信してから読み取ります。ビデオを出力し、AXI4-Sream を介して HDMI インターフェイスからビデオ出力にビデオを出力します。
これは、ザイリンクス画像処理で一般的に使用されるルーチンであり、非常に繊細なソリューションであると言えます。

エンジニアリングコードがコンパイルされて渡された後、ボード上でデバッグおよび検証でき、プロジェクトを直接移植できるため、在学中の学生が卒業設計、卒業プロジェクトの開発を行うのに適しており、また、現職のエンジニアにも適しています。プロジェクト開発を行うため. 医療、軍事、その他の産業におけるデジタルイメージングと画像に適用できます. 伝送の分野では、完全かつ
スムーズなプロジェクトソースコードと技術サポートを提供します.
プロジェクトソースコードと技術サポートを入手する方法は次のとおりです.記事の最後にあるので、辛抱強く最後まで読んでください。

2. CameraLinkプロトコルの基本

この部分については、インターネット上の多くのブロガーが説明しています。兄弟たちに理論的知識を学ぶよう勧める記事をいくつか見つけました。最初のリンク: クリックして直接 2 番目のリンクに移動します。これは私が以前に書いたものです: クリック

直接移動

3. 現在、CameraLink トランシーバー プロジェクトがあります。

私の CameraLink ビデオ コラムには、CaeraLink 受信、CaeraLink 送信、CaeraLink 通常出力表示、CaeraLink ビデオ スプライシング出力などを含む、FPGA 用の多くの CaeraLink ビデオ コーデック ソリューションが含まれています。コラムのリンクは次のとおりです。 ようこそ。クリックして直接移動します

4. 設計計画

詳細な設計スキームは次のとおりです。
ここに画像の説明を挿入

CameraLink カメラ入力

CameraLink カメラ モデルは、Beijing Microvision の RS-A5241-CC107-S00 カラー CameraLink カメラです。カメラは、シリアル ポートを介してベース モードまたはフル モードとして設定できます。このプロジェクトはベース モードを使用します。解像度はフルフレーム 2560 2048 です。フレーム レートは 107fps に達する可能性があり、プロジェクト構成は 1280 1024 です。

LVDSビデオデコード

LVDS ビデオ デコード モジュールの設計ブロック図は次のとおりです:
ここに画像の説明を挿入
CameraLink デコード モジュールがベース モードの場合、入力信号は次のとおりです:
1 チャネルの差動クロック、4 チャネルの差動データ、ザイリンクス公式 IDELAY および ISERDES ソースを使用シリアルからパラレルへの変換を実現するための言語;
IDELAY ソース言語は、FPGA サンプリング中に CameraLink ビデオ データが安定するように遅延するために使用されます;
ISERDES ソース言語の機能は、CameraLink のシリアルからパラレルへの変換を実現することですビデオ データ;
CameraLink デコード モジュール全体は設計ブロック図に従って厳密に実装されており、主にソース言語を呼び出しているため、特にコードを見てください。コード量は非常に少ないです
。 CameraLink デコード モジュールは次のとおりです:
ここに画像の説明を挿入
これら 2 つのパラメータは、CameraLink カメラのさまざまなモードに適応するように自由に構成できます。具体的な構成は次のとおりです。
ここに画像の説明を挿入

ビデオキャッシュ

デコードされたビデオはザイリンクスの AXI4-Sream ビデオ ストリームに変換され、VDMA 経由で DDR3 バッファに送信され、その後ビデオが読み出され、AXI4-Sream を介して HDMI インターフェイスからビデオ出力に出力されます。これは一般的なルーチンです。ザイリンクス画像処理用; ビデオ キャッシュ アーキテクチャ全体は VDMA を中心としており、それらはすべてザイリンクスの IP 実装を呼び出します。必要なのは、IP を使用するように構成することだけです。ここでの構成には、UI インターフェイス構成とソフトウェア構成の両方が含まれます。このプロジェクトは Kintex 7 ビット プラットフォームを使用しており、MicroBlaze ソフト コアは SDK を実行してこれらの IP を構成します。

ビデオ出力

CameraLink のカメラ設定が 1280 1024 で、出力解像度が 1920 1080 なので、Video Mixer を使って 1920 1080 の黒い背景を作り、その上に 1280 1024のカメラ映像を重ねて、Video Mixer の IP を呼び出します。
AXI4-Sream を呼び出してビデオ出力 VGA タイミングを出力し、ボード上の sil9022 チップが VGA から TMDS への変換を完了し、最終的に HDMI インターフェイス出力モニターに表示します。

ソフトウェア構成

したがって、MicroBlaze ソフト コアを呼び出して SDK を実行してこれらの IP の構成、CameraLink カメラの構成、sil9022 チップの構成を行い、上位コンピューターとの人間とコンピューターの対話を完了します。また、AXI-UART を呼び出して、上位コンピューターとの人間とコンピューターの対話を完了します
。上位コンピューター、つまりシリアル ポート経由の上位コンピューター デバッグ アシスタントがプログラムに命令を送信し、
AXI-UART を呼び出して CameraLink カメラの構成を完了します、このプロジェクトの構成は 1280*1024 解像度、ベース モードです;
AXI-IIC を呼び出して、sil9022 チップのコンフィギュレーションを完了します。

5. vivadoプロジェクトの詳細説明

開発ボード FPGA モデル: xc7k325tffg676-2;
開発環境: vivado2019.1;
入力: CameraLink カメラ; 基本モード; 1280 1024 解像度;
出力: HDMI、1920
1080 解像度;

Bolck Design の設計は次のとおりです。
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
ここに画像の説明を挿入
統合されたエンジニアリング コードの構造は次のとおりです。
ここに画像の説明を挿入
包括的なコンパイル後の推定 FPGA リソース消費量と消費電力は次のとおりです。
ここに画像の説明を挿入
SDK ソフトウェア プログラムの構造は次のとおりです。
ここに画像の説明を挿入

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

CamerLink アダプター ボードは出国に不便であるため、次のように FPGA ボードと対応する CamerLink アダプター ボード インターフェイスのみを示します。
ここに画像の説明を挿入
プロジェクトの使用と設定のプロセスは比較的複雑で、手順が多すぎるように感じます。コミッショニング マニュアルのドキュメントはデータ パッケージ内に配置されており、パスは次のとおりです
ここに画像の説明を挿入

知らせ!
知らせ!
このプロジェクトをダウンロードした後、パスが長すぎるとプロジェクトのコンパイルが失敗する可能性があるため、ファイルを最短パスのフォルダーに配置してください。また、このプロジェクトは HLS IP コアを試しています。コンパイルする前に公式パッチ ファイルを更新してください。それ以外の場合は、合成中にエラーが報告されます。公式パッチ ファイルを更新するためのファイルのダウンロードおよび更新方法は、上記のドキュメントに記載されています。必ずよく読んでください。出力結果は次のとおりです

ここに画像の説明を挿入

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

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

おすすめ

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