Post Go back to editing

AD9889B hdmi Interlaced output question

The HDMI analyzer shows that the format of ad9889b hdmi output is progressive in 1080i50/59.94/60 and 576i/480i.

it shows that the vtotal of 1080i50/60 is 562, the vtotal of 576i50 is 313, the vtotal of 480i60 is 262,  

Hdmi output timing is reference cea 861. 

Parents Reply
  • Hi,

     Could you please share us the analytical instrument output snap. But in monitor it is observed as interlaced output ,am i right ?

     Generally interlaced timings have two video fields per video frame,while progressive timings have only one.Therefore in the case of progressive timings,the terms "video field" and "video frame" are synonymous.

     In the case of interlaced formats,the frame rate is 1/2 the field rate.

    Thanks,

    Poornima

Children
  • 1.“ Could you please share us the analytical instrument output snap”,

         I will give you later.

    2."in monitor it is observed as interlaced output ,am i right"

         yes,you are right. 

  • hdmi timing

    1. The figure above is the timing of the test.

    2. The red area is the error message of the analytical instrument。the actual htotal of 576i/480i are only half of the standard htoal. and the vtotal of 1080i50/60, 576i, 480i are also only half of the standard parameters.

    3. "https://www.quantumdata.com/780c.html" is the url of analytical instrument.

    4. What causes the instrument to be incorrectly identified?

  • Hi,

     Here we could see correct timing result in QD780D for interlaced/progressive formats.

     Have you verified with direct connection?

     Please crosscheck with direct connection. Or else try with some other analytical instrument

    Thanks,

    Poornima

  • 1. The picture above is the test environment we built.;

    2. What do you mean by direct connection?

    3. I want to confirm that the chip has other related registers that need to be configured when the HDMI output is interlaced???

  • Hi,

     1. What do you mean by direct connection?

         It mean directly source(Generator) connected to sink(Monitor/Tv) without ad9889b chipset.If you observe the same with direct connection,then it might be a equipment(780C) problem or some notation.

     2. I want to confirm that the chip has other related registers that need to be configured when the HDMI output is interlaced???

           No need to configure any register, because in other sink(Tv/Monitor), it is observed as interlaced output right

    Thanks,

    Poornima

  • hi,

        The whole thing is that i can see correct timing result in 780C for interlaced/progressive formats at the beginning.

        But the VID value of the 1080P25 and 1080P30 was wrong in 780C, they are 31 and 16. the correct values should be 33 and 34.
        So I configured the VID in user mode according to the chip manual(To override the VID detection, the pixel repeat mode must be set to manual by setting register 0x3B[6:5] = ‘0b11’. The desired VID is
    input into 0x3C[5:0].). This change solves the problem of VID, But there is a new problem with 780C recognizing that interlaced output is incorrect.

       1. Are the VID values you see in QD780D for 1080P25 and 1080P30 correct when 9889 is configured as default?

       2. Why is the interlaced output of the instrumental analysis AD9889B incorrect when the VID is set to user mode?

  • Hi,

     1. Are the VID values you see in QD780D for 1080P25 and 1080P30 correct when 9889 is configured as default?

        Here we have verified with other transmitter using QD780D,but we could get correct VID values in QD780D.

        And also AD9889b is not recommended for new designs.It is begin replaced by the ADV7511.

        Note also we have various low cost (~$200) reference boards that implement the ADV7511.  Check out
            ez.analog.com/.../DOC-1713
            ez.analog.com/.../DOC-1944
            http://ez.analog.com/docs/DOC-1681

    2. Why is the interlaced output of the instrumental analysis AD9889B incorrect when the VID is set to user mode?

        a) After setting the VID value for 1080p25 and 1080p30, are you recognizing the interlaced output is incorrect? Am i right ?

        b) But before configuring the VID in user mode,you could get correct interlaced output? My understanding is correct ?

    And also please let us know the below case too.

        c) In direct connection,are you getting correct interlaced output right?

           

        d) Or by using AD9889B chipset,are you facing the issue with analytical instrument?

                   

    Thanks,

    Poornima   

  • hi,

        Poornima,thanks for your reply.

        a) After setting the VID value for 1080p25 and 1080p30, are you recognizing the interlaced output is incorrect? Am i right ?

        To be precise, I set the VID to manual mode for all resolution output, only the interlaced output has problems.

        b) But before configuring the VID in user mode,you could get correct interlaced output? My understanding is correct ?

        yes, you are right.

        d) Or by using AD9889B chipset,are you facing the issue with analytical instrument?

        yes.

  • Hi,

     Please let us know your VID manual setting.whether we miss anything.

    Thanks,

    Poornima

  • Hi,

      Below is the code for the VID setting.

    //-----------------------------------------------------------------------------------------
    void AD9889DisablePixelRp(u8 Format)
    {
    u8 Addr = 0x3b;
    u8 PixelRp=0;

    PixelRp = Ad9889Read(Addr);

    if(Format > 2)
    {//bit[6:5] -> 2'b11; bit[4:3]/bit[2:1] -> 2'b00
    PixelRp = (PixelRp&0xf5) | 0x60;
    }
    else
    {//bit[6:5] -> 2'b11; bit[4:3]/bit[2:1] -> 2'b01 //Set Pixel Repetition to x2 when 480i and 576i output,
    PixelRp = PixelRp | 0x6a;
    }
    AD9889WriteByte(Addr, PixelRp);
    }
    //-----------------------------------------------------------------------------------------
    //Format
    //0-625i50
    //1-525i60
    //2-625i50

    //3-720p24
    //4-720p25
    //5-720p30
    //6-720p50
    //7-720p60

    //8 -1080i50
    //9 -1080i60

    //10-1080p24
    //11-1080p25
    //12-1080p30
    //13-1080p50
    //14-1080p60
    //ff-1080i50

    u8 table_vid[]={21,6,21, 60, 61, 62, 19, 4, 20, 5, 32, 33, 34, 31, 16};

    void AD9889SetVID(u8 Format)
    {
    u8 Addr = 0x3c;
    u8 Vid;
    u8 Temp=0;

    Format = Format & 0x0f;

    Vid = table_vid[Format]; //Format is above

    AD9889DisablePixelRp(Format);
    DelayXms();
    DelayXms();

    Temp = Ad9889Read(Addr);
    Vid = (Temp&0xc0) | Vid;
    //0x3c bit[5:0]
    AD9889WriteByte(Addr, Vid);
    }