| 概要 | |
|---|---|
|
ファイル: \examples\Processing\DebuggingAndTest\HardwareTest\HardwareTest.va |
![]() |
|
デフォルトプラットフォーム: mE5-MA-VCL |
|
|
簡単な説明 DMA、RAM、GPIO、トリガー、LEDのハードウェアセルフテストの例です。 この例では、parametersライブラリの演算子を多用しています。 |
|
ハードウェアテストの例では、ハードウェアのセルフテストを実行します。
このアプレットには、以下の機能が含まれています。
- DMAパフォーマンスのテスト:さまざまなメモリサイズと割り込みレートに対応する多様な画像サイズ
- RAMテスト:エラーと処理のチェック
- カメラ:カメラポートの画像取り込みのチェック
- カメラトリガー:カメラにトリガー信号を送信
- GPIO:GPIの監視とGPOの設定
- イベントテスト:ソフトウェアコールバックイベントの生成
- モニタリング:FPGAの温度、電源、PoCLなど(BoardStatusを参照)
次の図は、アプレットの機能ブロックを示しています。
VisualAppletsの実装は2つのプロセスに分かれています。 Process0には、DMAテスト、RAMテスト、カメラ取り込みといったすべての画像処理パーツが含まれています。 一方、Process1には、実行中の取り込みとは独立したパーツが含まれています。 DMA演算子を持たないプロセスはアプレットのロード時に即座に開始されるため、ここでの機能は取り込みとは独立して使用できます。 詳細については、「DMAなしのプロセス / トリガープロセス」を参照してください。
次の2つのスクリーンショットは、Process0とProcess1を示しています。
このアプレットを簡単に使用できるようにするため、parametersライブラリの演算子が集中活用されて実装されています。 H-Boxの実装には機能パーツが含まれています。 パラメータは、ビューを分離するためにH-Boxパラメータのプロパティにリストされます。 これは、次のスクリーンショットに示すように、使いやすいパラメータのみがリストされるmicroDisplayなどでアプレットを使用する場合に便利です。
アプレットの実装はシンプルであり、VAファイルを調べることで簡単に理解できます。 ただし、その使用方法を理解するために、パラメータの変換と参照の一部を詳しく見ていきます。
メインの画像処理部分には、RAMテスト、DMAパフォーマンスのテスト、カメラ取り込みが含まれています。 アプレットでは、DMAチャンネル上で一度にいずれかのモードのみを出力できます。 そのため、複数のSourceSelector演算子が使用されます。 正しい入力インデックスを指定するパラメータ設定を回避するため、簡単に使用できるようにEnumParamTranslator演算子を使用しています。
以下では、TranslateOutputSelectのパラメータ値について詳しく説明します。
まず、列挙値を定義する必要があります。
"DMA_Performance" = 0x001; "Camera" = 0x002; "RAM0_Difference" = 0x000; "RAM0_Errors" = 0x100; "RAM1_Difference" = 0x010; "RAM1_Errors" = 0x110; "RAM2_Difference" = 0x020; "RAM2_Errors" = 0x120; "RAM3_Difference" = 0x030; "RAM3_Errors" = 0x130;
ご覧のとおり、列挙値は16進数として定義されています。 これにより、3つのSourceSelectorモジュールへの割り当てが容易になります。 下位4ビットはモジュールTestMode.SelectSourceに使用され、4〜7ビットはRAMTest/SelectRAM.SelectSourceに、8〜11ビットはRAMTest/SelectRAMOutputMode/EnableBitpattern.SelectSourceに使用されます。 これにより、パラメータWriteActionおよびReadActionの実装が非常にシンプルになります。
その後、変換された値を列挙値とともに使用できます。 値を変更すると、SourceSelectorモジュールのパラメータ値が自動的に変更されます。
H-Box GeneratorDMAPerformanceには、パターンジェネレータのほか、出力フレームレートを制御するためのイメージバルブが含まれています。 パターンの生成は非常にシンプルで、ブランクイメージジェネレータや、ピクセルおよび画像Counterを使用してローリング斜めパターンを生成します。
バルブは、周期ジェネレータ演算子Generateによって制御されます。 ジェネレータの単位はティックで指定されます。 時間ベースでフレームレートを指定するため、変換演算子FloatParamTranslatorを使用します。 したがって、この演算子を使用して秒間フレーム数(fps)からティックへ変換します。 次のスクリーンショットに実装を示します。
演算子IntParamTranslatorを使用したサンプルHardwareTestでの幅と高さの設定
前のセクションで示した手順と同じ処理が、画像の幅と高さに対しても行われます。 この場合、演算子IntParamTranslatorを使用できます。 ここでは、設計内の2つのモジュールに値を直接転送できます。 パラメータDisplayNameおよびDisplayHierarchyに指定された値に注意してください。






前へ

