I couldn't find a list of test patterns in the test pattern generator, so I changed the backugroundid and made it output video. To get the actual image, TPG was written to DRAM using VDMA and read and saved by the CPU, BackgroundId(0x0020) was changed from 0x01 to 0x13. No pass-through or video output patterns are implemented.
映像伝送とかカメラとか使う時絶対テストで使うIPですが,これのパターン一覧を出してみました.TPGはこれらのテスト画像を出力できると言っていますが実際の映像はデータシートに乗っていません.
https://docs.xilinx.com/r/en-US/pg103-v-tpg/Register-Space
- Video input pass through
- Horizontal ramp
- Vertical ramp
- Temporal ramp
- Flat fields (red, green, blue, black and white)
- Combined vertical and horizontal ramp
- Color bars
- Color sweep
- Tartan bars
- DisplayPort
- Zone plate
- Cross hairs
- Cross hatch
- Solid box
- Motion effect for ramps, zone plate, and solid box
実際の画像をしりたかったのでTPGをVDMAでDRAMに書き込みCPUで読み出し保存しました.BackgroundId(0x0020)を0x01-0x13まで変化させました.パススルーや動画の出力パターンは実施していません.
以下のようなシステムを実装し実験を行いました.TPGのAXI StreamをVDMAを用いてDRAMに書き込み,PS上で動作するLinuxからデータを読み込み,画像として保存するプログラムを実装しました.解像度は1280*720です.
I implemented the following system and experimented with it: I implemented a program that writes TPG's AXI Stream to DRAM using VDMA, reads the data from Linux running on PS, and saves it as an image.
• 0x00 - Pass the video input straight through the video output
Not working due to pass-through.
• 0x1 - Horizontal Ramp which increases each component (RGB or Y) horizontally by 1
• 0x2 - Vertical Ramp which increases each component (RGB or Y) vertically by 1
• 0x3 - Temporal Ramp which increases every pixel by a value set in the motion speed register for every frame.
• 0x4 - Solid red output
• 0x5 - Solid green output
• 0x6 - Solid blue output
• 0x7 - Solid black output
• 0x8 - Solid white output
• 0x9 - Color bars
• 0xA - Zone Plate output produces a ROM based sinusoidal pattern
これは特になんの設定もしなかったため動作していないと思われます.正弦波パターンだそうで,各種設定をすることで動画を出力できるのかな?