Usage and details here (Japanese) → https://fumimaker.net/entry/2022/06/14/205526
This system can measure the delay of an HDMI display: it outputs an HDMI signal, measures the delay time until the display emits light and returns as light. I need a phototransistor, a resistor, and a breadboard.
- Vivado 2019.2
- Vitis 2019.2
- Vivado HLS 2019.2
- Digilent ZYBO Z7-20
git clone https://github.com/fumimaker/display_latency.git
git clone https://github.com/Digilent/vivado-library.git
source ./display_latency.tcl
[BD 41-49] Could not find abstraction definition for the interface: TMDS
[BD 41-51] Could not find bus definition for the interface: TMDS
These errors are not problem.
src/vitis/main.c on vitis (or overwrite helloworld.c)
I used a readily available NJL7502L phototransistor and implemented the following circuit on a breadboard.
The phototransistor was difficult to mount on the display, so I made a fixture with a 3D printer. here is fixture. Be careful not to let any light other than that of the display enter the sensor, as this will cause an error. In the fixture, the sensor is pushed in to prevent ambient light from entering.
Make a sensor circuit and connect it to ZYBO on JE[2] port. (If you don't like it, you can change it to another place. (If you don't like it, you can change it to another place.) Connect ZYBO and the monitor with an HDMI cable. Place the sensor on the display. Make sure there is no gap between the sensor and the display.
Open serial terminal(115200bps at 8N1),and wirte to ZYBO at vitis(Launch on hardware). If you can see “Hello world, type something to start”, you are in serial communication successfully.
Type something, and press enter to start measurement. (display flashing) You can see the latency[ms] on serial monitor.
Note: If the slide switch is set to "H", the instrument enters the test mode and measurement cannot be performed. Like this ↓. This mode can use as sensor adjustment.
@fumi_maker Bug fixes and comments are welcome!
This project is MIT Lisence.