Post Go back to editing

ADV7513 HDMI 0x41 bit6 is failed to set bit

I has config the regs with initialize value referencing to the Quick Start guide in " ADV7513_Programming_Guide.pdf " ,as following:

    delay();            //delay for HDP to be high
    i2c_write(0x7A, 0x41, 0x10);
    i2c_write(0x7A, 0x98, 0x03);
    i2c_write(0x7A, 0x9a, 0xe0);
    i2c_write(0x7A, 0x9c, 0x30);
    i2c_write(0x7A, 0x9d, 0x61);
    i2c_write(0x7A, 0xa2, 0xa4);
    i2c_write(0x7A, 0xa3, 0xa4);
    i2c_write(0x7A, 0xe0, 0xd0);
    i2c_write(0x7A, 0xf9, 0x00);
    i2c_write(0x7A, 0x41, 0x10);
    i2c_read(dev_addr, 0x98, &d); printf("0x98:0x%x\n",d);
    i2c_read(dev_addr, 0x41, &d); printf("0x41:0x%x\n",d);
   
The waveforms collected by oscilloscope show that,
HDP is high during the initialization,the value reading from regs(0x98) is 0x03
But the value reading from regs(0x41) is 0x50, it is uncorrect !!!
Why and how to deal with the problem?
初始化前后,HDP始终为高,初始化后读取 0x98寄存器值配置成功,但0x41配置失败,为什么?怎么解决这个问题呢?

Top Replies

Parents
  • Hi,

     Please make sure with below things,

     ADV7511W can put into the Main Power-Down mode by the power-down pin or by register 0x41[6].

     It seems you are using 0x7A, in that case make sure with this "The SDA/SCL programming address for the Main Register Map is 0x72 or 0x7A, based on whether PD/AD is pulled high (10KΩ resistor to power supply = 0x7A) or pulled low (10KΩ resistor to GND = 0x72) when power is applied to the supplies". The user should wait 200ms for the address to be decided, after the power supplies are high, before attempting to communicate with the ADV7511W using I2C.

    See the ADV7511W Hardware User’s Guide for more information about the PD/AD pin and power specifications.

     Note: ADV7511W power-down pin polarity depends on the chip I2C address selection. If the user wants to use 0x72, then the PD/AD pin is active high. If the user wants to use 0x7A, the PD/AD pin is active low.  The power-down pin polarity can be verified by reading register 0x42[7]

    Thanks,

    Poornima

  • PD/AD is pulled high (2KΩ resistor)in our design,so the main address is 0x7A. The value reading from register 0x42 is 0x70.

    I found a new problem. When i set 0x41[6]=0,the device had no ack, the next writing commands cannot get ack too.But,when i set 0x41[6]=1,the device gave ack, the next registers could be configed successfully with ack.

    What is the problem with the device?

  • Hi,

    Could you please crosscheck your schematic here 6318.ADV7511W_Eval_Sch_revA.pdf

    Also make sure again with HPD is high, check 0x42[6]
    or
    override by setting 0xD6[7:6] = 11

    Please note that normally we recommend 5 ms wait after full power up sequence before using it as a PD pin. Assuming PD/AD is low during power up sequence then the PD pin will be active high. The PD pin is OR'd with the register PD bit for the actual power down signal. When PD is activated the chip will enter the power down state almost immediately ( no timing available but very fast).

    Releasing PD will require I2C operations to reconfigure the registers listed in the Table 74 of the programming guide.

    Please refer here  https://ez.analog.com/video/f/q-a/8779/how-to-start-up-adv7513/9586#9586?

    Thanks,

    Poornima

Reply Children
No Data