This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

DS80PCI102 SMB slave mode RXDET control over register access

Other Parts Discussed in Thread: DS80PCI102

Before I start the question, someone at TI should fix the forum setup. Every time DS80PCI102 is entered in the "Part Number" field "Consumer & Computing Forum" is automatically selected with no other options. I have to pretend not having a part number to start this.

Anyway here are my questions:

1. When the part is powered with ENSMB high and PRSNT# high, is the device accessible from I2C bus? If not, when is the I2C accessible from falling edge of PRSNT#? I understand there's a 500mS restriction from power up.

2. Similar to question 1, Page 15 of the datasheet states that "If PRSNT# is asserted while ENSMB is high, the registers retain their current state." Does it mean registers are not accessible when PRSNT# low? All I'm trying to figure out is how to access the registers and how to have the register values take effect.

3. There're two register fields defined as "Override RXDET", reg 0x02, Control_2 bit [7], and reg 0x08, Pin_Override, bit [3]. Please explain how those two bits and PRSNT# interact.

Thanks.. XZ

  • Hi XY,

    Thanks for bringing the forum issue to my attention.  We will work to fix it asap.

    1. When the device is powered up with ENSMB = 1 and PRSNT# = 1 the I2C is immediately accessible.

    2. This means any programming previously done while PRSNT# = 0 will be retained when PRSNT# = 1.

    - Basically the I2C is always working when the device is powered up.

    3.  Override RXDET  0x02 [7:6]

    These are test mode bits designed to override the PRSNT# pin and internally set the PRSNT# signal value going into the digital control.  Use bit[7] = 1'b to "enable" the override.  Use bit[6] = PRSNT# value desired to send into digital control.

    Override RXDET 0x08[3]

    This bit is designed to override the automatic RXDET functionality.  This bit works in together with registers 0x0E and 0x15.

    Regards,

    Lee

  • Lee,

    Would you reiterate 0 and 1 condition for signal PRSNT#? It's a LOW active signal. Do you mean signal voltage level is LOW when you say PRSNT# = 1? If this is the case, it seems to me that the device is only PROGRAMMABLE when PRSNT# is HIGH. Would you confirm?

    Thanks.. XZ

  • XY,

    I2C programming and the value of PRSNT# are not related.  The registers can be programmed anytime the device is connected to a valid power supply level.

    Regards,

    Lee

  • Lee,

    I will break the question into two:

    1. Quoted from your previous answer, "This means any programming previously done while PRSNT# = 0 will be retained when PRSNT# = 1." For PRSNT# = 1, what is the voltage level on the pin, high or low?

    2. Although registers can be programmed (altered) at anytime, the values won't take effect until the next RX-Detect State Machine reset (PRSNT# L-H-L), correct?

    Thanks.. XZ
  • Hi XZ

    1. My meaning for this statement is that SMBus slave mode programming can be done at anytime ENSMB = High.  The PRSNT# pin control voltage does not impact any SMBus slave mode programming.  When I said PRSNT# = 0, I mean PRSNT# = GND.  When I said PRSNT# = 1, I mean PRSNT# = VDD or VIN.

    2. Registers can be programmed at anytime.  The value of the PRSNT# pin does not change any register contents.  The SMBus register values will take effect as long as register 0x06 = 18'h.

    Regards,

    Lee

  • I think I understand "retained" now.

    Thanks.. XZ