fumiLab

fumimakerが作ったもの、やったことについて書いていきます。

Xilinx Test Pattern Generatorのパターン画像

0x09_

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.

Image from Gyazo

• 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

0x01_

• 0x2 - Vertical Ramp which increases each component (RGB or Y) vertically by 1

0x02_

• 0x3 - Temporal Ramp which increases every pixel by a value set in the motion speed register for every frame.

0x03_

• 0x4 - Solid red output

0x05_

• 0x5 - Solid green output

0x06_

• 0x6 - Solid blue output

0x04_

• 0x7 - Solid black output

0x07_

• 0x8 - Solid white output

0x08_

• 0x9 - Color bars

0x09_

• 0xA - Zone Plate output produces a ROM based sinusoidal pattern

これは特になんの設定もしなかったため動作していないと思われます.正弦波パターンだそうで,各種設定をすることで動画を出力できるのかな?

0x0A_

• 0xB - Tartan Color Bars

0x0B_

• 0xC - Draws a cross hatch pattern

0x0C_

• 0xD - Color sweep pattern

0x0D_

• 0xE - A combined vertical and horizontal ramp

0x0E_

• 0xF - Black and white checker board

0x0F_

• 0x10 - Pseudorandom pattern

0x10_

• 0x11 - DisplayPort color ramp

0x11_

• 0x12 - DisplayPort black and white vertical lines

0x12_

• 0x13 - DisplayPort color square

0x13_