• 0
welee

FMC HDMI ADV7611 initialization via I2C

Question

Hello,

I am trying to initialize the ADV7611 Chip of the Digilent FMC-HDMI add-on Board. But I can't find the needed addresses for it (this doesn't help). I am using the xiic.h Driver from xilinx. The initalization of ADV7511 Chip of the zc702 was successfully.

Have anyone a idea??

 

I am using the zc702 and the digilent FMC-HDMI Card.

Share this post


Link to post
Share on other sites

9 answers to this question

Recommended Posts

  • 0

Hi welee,

I personally haven't worked with this FMC before, but I have asked some of our applications engineers for some assistance on this; they'll get back to you here on the forum.

Thanks,
JColvin

Share this post


Link to post
Share on other sites
  • 0

Hello Wellee,

 

The AD7611 is an analog devices chip so you might find some documentation there. I looked it up a bit but what I could find was for another FMC and it says that for ADV7611 the initialization is the same as for AD7511 https://wiki.analog.com/resources/fpga/xilinx/fmc/fmc-imageon?s[]=adv7611#using_the_reference_design

They also have the  engineeringzone page where you can find discussions and projects around this chips. I found something that i think it can help here. You can browse more into this sections and you'll find helpful things. 

Best regards,

Bianca

Share this post


Link to post
Share on other sites
  • 0

Hi, 

thanks for your response. My actual problem is not the initialization itself. I can not communicate with the chip on the FMC board. For the HDMI output (which is on the directly on the board) I had to set the I2C mux on the board for the ADV7511...when I am setting the mux to FMC and want to read the chip on the FMC but it don't work.

I also worked already whit the reference design from Analog Devices. They are using the Imageon-FMC from Avnet. The imageon have a I2C mux to for the different ports and in the reference design they set the respective addresses. But I dont know if the FMC-HDMI from digilent have a mux or can I directy communicate with the two chips on the board.

I hope my problem is understandable and you can help me...

 

Thank you.

Share this post


Link to post
Share on other sites
  • 0

Hello Welee,

 

The FMC-HDMI doesn't have a I2C mux for the different ports as it can be seen here. you will have to use two of them. Regarding the communication for the FMC HDMI you will find the pinout on the reference manual :

LA25_P HDMI1_SDA
LA21_N HDMI1_SCL

You have to look which pin goes to the FPGA and make the connection. If this is the problem. 

If the problem is the register address for the initialization  you can find all the details in this document.

 

Share this post


Link to post
Share on other sites
  • 0
On ‎09‎.‎03‎.‎2016 at 11:06 AM, Bianca said:

Hello Welee,

 

The FMC-HDMI doesn't have a I2C mux for the different ports as it can be seen here. you will have to use two of them. Regarding the communication for the FMC HDMI you will find the pinout on the reference manual :

LA25_P HDMI1_SDA
LA21_N HDMI1_SCL

You have to look which pin goes to the FPGA and make the connection. If this is the problem. 

If the problem is the register address for the initialization  you can find all the details in this document.

 

Thank you for your Response but I just dont get it to work.

I have added a AXI IIC.

 

 

Then I set the constrains to match the one in the reference manual

set_property PACKAGE_PIN V4 [get_ports iic_main_0_scl_io]
set_property IOSTANDARD LVCMOS25 [get_ports iic_main_0_scl_io]
set_property PULLUP true [get_ports iic_main_0_scl_io]
set_property PACKAGE_PIN AA12 [get_ports iic_main_0_sda_io]
set_property IOSTANDARD LVCMOS25 [get_ports iic_main_0_sda_io]
set_property PULLUP true [get_ports iic_main_0_sda_io]

And now I trying to read a value from the ADV7611 chip. I tried it like I did it withc the ADV7511.

/*

* Initialize the IIC Core.

*/

Status = XIic_DynInit(IIC_FMC_ADDRESS);

if (Status != XST_SUCCESS) {

return XST_FAILURE;

}

....

/*

* Write Initialization Sequence to ADV7511.

*/

EepromIicAddr = 0x98;

for (Index = 0; Index < 1; Index++) {

// BytesWritten = EepromWriteByte(hdmi_iic[Index].addr,

// &hdmi_iic[Index].init, 1);

EepromReadByte(0xEA, &ReadBuffer[Index], 1);

xil_printf("ReadBuffer[%d] = %0X\r\n",Index,ReadBuffer[Index]);

for(i = 0; i<50000; i++);

}

 

The EeproReadByte is from the Xilinx IIC example and it work for the ADV7511. I just had just set the main IIC mux to HDMI but since the FMC hasn't a mux it must be set directly.

I dont know what else I am doing wrong.

 

I also attached the main file of my Project. The IicLowLevelDynEepromHdmiIN() function is where I try to read the ADV7611 Chip. Maybe you can help?

Thank you.

main.c

Edited by welee

Share this post


Link to post
Share on other sites
  • 0

Hi,

Sorry for the late response, but I didn't see your message. Are you sure you are using the correct constraints files? I searched for the   zc702  XDC and the pins did not correspond to the constraints from your post. Also can you check the HDMI reset to not be enabled. That could also be an issue why is not working.

Best regards,

Bianca

Share this post


Link to post
Share on other sites
  • 0

Hi, I am very new in this area and currently working on viedo application.
I am using ZC706 and FMC-HDMI. I want to get hdmi input from FMC-HDMI and sent the output from th HDMI port of ZC706.

I configured using ADV7511 using xiling SDK. But in the same way i want to configure the ADV7611 of FMC-HDMI but it is not worling.
On the other hand when I am using TCL file, it works.. Can someone explain me why it works with TCL but not with xilings SDk prograam.

The tcl fil eis attached whic works.

 


 

tcl_i.tcl

xiic_hdmi_conf.c

Share this post


Link to post
Share on other sites
  • 0

Hi @rasoo,

I believe you attached a tcl script for SDK. I have only ran tcl scripts from Vivado. If this is a tcl script for Vivado then it failed with attached issue. Could you compress your project and attach it to this post or share the project using dropbox or google drive. If these files are supposed to do the same thing then I would suggest to look through the tcl script and the .c file and see if you can find a difference between them.

cheers,

Jon

tcl_script.jpg

Share this post


Link to post
Share on other sites
  • 0

Hi guys,

I attached a link to a tutorial where chip ADV7611 is configured via I2C and used. I use Xilinx zc702 board and FMC-HDMI Diligent,

in the tutorial I explain how to make a motion estimation application. 

https://arcoresearchgroup.wordpress.com/2018/03/23/realizing-the-lucas-kanade-motion-estimation-algorithm-on-xilinx-zc702-board-for-full-hd-real-time-video-analysis/

I hope it helps.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now