• 0
Blake

How to launch Digilent hdmi FMC with zc702 board

Question

Hi all,

I want to verify Digilent HDMI FMC on zc702 board, but the Zynq base TRD 15.04 was used Avnet HDMI FMC with IP - "avnet_hdmi_in" in the path "rdf0286-zc702-zvik-base-trd-2015-4\hardware\vivado\srcs\ip".

If I use the original SD image to boot up zc702 board with Digilent FMC on FMC2 slot.
The board could detect i2c@1 (FMC), but crashed by i2c fatal error.
If I modify the constraint file only - pin_zc702.xdc to match Digilent FMC I/O setting, then repacked the BOOT.BIN with modified bitstream.
The board could boot up successfully, but couldn't seem detect i2c@1 (FMC).

Could I replace the corresponding IP to launch the Digilent FMC only?
If yes, where could I get the right IP?

If not, could someone tell me what I missed? Thanks.

BR
Blake

Share this post


Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0

Hi @Blake,

Does the project work if it is not booted from the SD Card? Here is a tutorial using the zc702 and the FMC-HDMI that should be helpful. Here is a demo that uses the Zedboard and the FMC-HDMI.

thank you,

Jon

 

 

 

Share this post


Link to post
Share on other sites
  • 0

Hi Jon,

Thanks for your reply.

1.,
I tried the LK tutorial on zc702 + digilent hdmi-fmc also, but I meet an error message from following code flow without any modification :
Status = fmc_digilent_hdmii_init(&zc702_IicPs_1); 
=> 2. iic_writex2( IicPs, iic_hdmi_in_reset, IIC_HDMI_IN_RESET_LEN );
=> 3. iic_write2(IicPs, Config.Addr, Config.Reg, Config.Init);
=> 4. Status = XIicPs_MasterSendPolled(IicPs, WriteBuffer, 2, Address);
=> 5. while ((IntrStatusReg & XIICPS_IXR_COMP_MASK) != XIICPS_IXR_COMP_MASK){
            if ((IntrStatusReg & Intrs) != 0U) {
                 return (s32)XST_FAILURE;
            }
2.
I got a zed board too, although the sample was based on vivado 17.1; but I still used current version 17.4 to open the project to save time. (any side effect?)
It shows the project out of date, I can synthesis the project successfully; but I got an error when I executed implement flow.
The error message as below :
(Error) [Project 1-682] Sub-design 'design_1.bd' is not generated for Synthesis target. Please open this sub-design and generate with synth_checkpoint_mode as 'Singular' in original project before adding it to current project.

(critical warning) [Vivado 12-1464] The source file 'D:/zed_fmc/Zed_FMC_HDMI.xpr/Zed_FMC_HDMI/Zed_FMC_HDMI.srcs/sources_1/bd/design_1/design_1.bd' cannot be added to the fileset 'sources_1'.

After I   installed the corresponding version 17.1, there were no more error message.
Btw, how to verify zedboard + hdmi-fmc?
My test environment as below :
Input source : Notebook display port -> hdmi-fmc hdmi1
output : zedboard hdmi port -> monitor

There are no signal on monitor, the uart log as below :
control 9 status F00 Error 7F00000 Int Status 0 H and V Size 1E00280 Detector Timing Status 7 Video Mode = 5
Thanks.

# new update 2018/10/15
I added the debug message and found following error message :

    /*
     * Check for completion of transfer.
     */
    while ((IntrStatusReg & XIICPS_IXR_COMP_MASK) != XIICPS_IXR_COMP_MASK){

        IntrStatusReg = XIicPs_ReadReg(BaseAddr, XIICPS_ISR_OFFSET);
        /*
         * If there is an error, tell the caller.
         */
        if ((IntrStatusReg & Intrs) != 0U) {
            printf("~~~ XST_FAILURE"); <---------------- It will return FAILURE.
            return (s32)XST_FAILURE;
        }
    }

It will return FAILURE when it tried to write (0xff, 0x80)
static u8 iic_IO_hdmi_config[][2] = {
    { 0xff, 0x80 }, // i2c reset
    ...
This symptom seems like the issue that I meet on LK tutorial.


BR
Blake

Edited by Blake

Share this post


Link to post
Share on other sites
  • 0

Hello @Blake,

If you take a look into the errata section of the device reference manual, https://reference.digilentinc.com/fmc_hdmi/refmanual you will find out that, the  FMC EEPROM contents do not conform to the VITA 57.1 FPGA Mezzanine Card (FMC) Standard. We have an workaround for this issue. Please check this link:  https://github.com/Digilent/FMC-HDMI-frufix. Please try to reprogram the eeprom, and after that check again the solutions given by @jpeyron. Thank you.

Best Regards,

Bogdan Vanca

 

Share this post


Link to post
Share on other sites
  • 0

Hi Bogdan Vanca,

I already tried the frufix, the log as below:
----------------------------------------------------------
FMC-HDMI IPMI FRU programmer
This app checks the FRU data in the EEPROM on the FMC-HDMI and upgrades it, if necessary.
----------------------------------------------------------
FRU ID in EEPROM 0x02
FRU_ID in programmer 0x02
No upgrade needed. Force upgrade? [y/n]
Starting the FMC EEprom program...
Generating IPMI...
Writing IPMI data to EEprom address 0...
Reading back IPMI data from EEprom address 0...
Verifying data...
Writing IPMI data to EEprom address 16...
Reading back IPMI data from EEprom address 16...
Verifying data...
Writing IPMI data to EEprom address 32...
Reading back IPMI data from EEprom address 32...
Verifying data...
Writing IPMI data to EEprom address 48...
Reading back IPMI data from EEprom address 48...
Verifying data...
Writing IPMI data to EEprom address 64...
Reading back IPMI data from EEprom address 64...
Verifying data...
Writing IPMI data to EEprom address 80...
Reading back IPMI data from EEprom address 80...
Verifying data...
Writing IPMI data to EEprom address 96...
Reading back IPMI data from EEprom address 96...
Verifying data...
Writing IPMI data to EEprom address 112...
Reading back IPMI data from EEprom address 112...
Verifying data...
Writing IPMI data to EEprom address 128...
Reading back IPMI data from EEprom address 128...
Verifying data...
Writing IPMI data to EEprom address 144...
Reading back IPMI data from EEprom address 144...
Verifying data...
Writing IPMI data to EEprom address 160...
Reading back IPMI data from EEprom address 160...
Verifying data...
Done, exiting.
Upgrade succeeded

But I still met the issue when I tried to config i2c reset.
This symptom was found both on zc702 and zedboard with the same hdmi-fmc.
Does it possible HW issue of hdmi-fmc?
If yes, how to check it efficiently and immediately?

Thanks.

BR
Blake

Share this post


Link to post
Share on other sites
  • 0

Hello @Blake,

Yes, right now is possible for you to have an hardware issue. I will also try on the ZedBoard project given by @jpeyron. I will test it, I hope that I have some functional fmc-hdmi devices in here, and after that I will make an bin file for you, in order to test your device. If we will conclude that you have some hardware issues, I will go further with the replacement request procedure to our sales department. Thank you.       

Share this post


Link to post
Share on other sites
  • 0

Hello @Blake,

For me it works. So, there are big chances for you to have an defective device. In order to raise the replacement request please send me in private the fallowing info:

1.      Date of Purchase:
2.      Seller:
3.      Purchase Order/ Web order Number:
4.      Serial Number:

Thank you.

 

Best Regards,

Bogdan Vanca 

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