09-08-2020 09:03 AM
In our board we're using 4 Zynqs, with two HDMI 1.4/2.0 Receiver IP per Zynq.
Totally 8 HDMI Rx inputs per board.
We have an issue on DDC of input 8 of the board.
Therefore EDID and also HDCP tests fail on this input.
After some investigation we discovered that SCL/SDA rising time on this input a slightly higher then on the other ones.
No oveshoot/undershoot are observed at all.
However it's still within the spec of I2C (attached scope shot).
We have register packed in IOB on these signals.
Attached Vivado definitions on these pins (HP bank).
I did not find any parameters to be set regarding IIC controller in hdmi_rx_ss IP.
This is neither in Xilinix HDMI Rx software drivers code or block_design or documentation.
Hdmi_rx_ss IP apparently using 100MHz clock we provided in the block design.
Can you confirm that default parameters of DDC/IIC are for 100MHz ?
Do you have any clue and suggesthions for the wotkaround.
09-09-2020 11:57 PM
Sorry' I've obviously forgot to attach.
Attached DDC pins properties in Vivado and DDC lines signals, measured next to Zynq.
10-22-2020 07:31 AM
I'm facing the same or similar problem, I see the SCL and SDA signals with a ila scope that the source is trying to read the edid but the tristate signal never changes, so a not acknowledge is generated.
Did you solve the issue?
10-22-2020 08:12 AM
Try to reduce SCL/SDA signals rise time first.
Do do this the pull-up resistors on the board can be reduced to about 1 kOhm.
In addition see what the frequency of the clock, sampling these signals within Xilinix IP.
10-22-2020 08:34 AM
Thank you for your answer, actually the rise and falling time is perfect, no big delays like in your scope but the IP is not answering, the pin I used are configured like the picture of your previous post.
Connecting a video generator, the video input is detected and I can read the video details as resolution etc. but the generator can't read the edid of the receiver.
Than you for your support
10-26-2020 01:08 AM - edited 10-26-2020 01:10 AM
Hi email@example.com ,
The only way to make it work is to change the pins of the FPGA, using two pins in a 3.3V powered bank the receiver IP works ok. I don't understand why using two pins in a 1.8V high performance bank with a i2c translator I see good signals with the oscilloscope and internal ILA but the IP is not working.