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.

TUSB7320 - I2C pull up/down resistors

Guru 19775 points
Other Parts Discussed in Thread: TUSB7320

Hi Team,

I have several questions about TUSB7320 pull up and pull down resistors, could you please help me ?

Our customer had trouble using TUSB7320 that the device would not be recognized at  power up with an incidence of about 10%. As a result of their investigation, the symptom disappeared by  removing the unused EEPROM and by adding pull down to the I2C line.

I see below comment in the schematic which is in the EVM User Guide.

[Q1]
When not using the EEPROM, why do you need to remove pull up resistor and add pull down to the I2C line ?

[Q2]
What happens when customer kept the pull up resistor connected with no pull down, when not using EEPROM ?
* EEPROM is not used but populated (connected) on the board.

[Q3]
What is the recommended value for pull up resistor when EEPROM is used ?
Do you think 10k is applicable ?

[Q4]
What is the recommended value for pull down resistor when EEPROM is NOT used ?
  * I believe 0 Ohm should be fine as it is in the User Guide.

[Q5]
When connecting 10k pull up to I2C line, customer observed about 1.8V at the SDA/SCL pin.
When changing to 1k pull up, they observed about 3.0V at the SDA/SCL pin.
Does SDA/SCL pin have about 10k pull down resistor inside the device ?
What is the sink current value for this pins ?

Thanks in advance.

Best Regards,
Kawai

  • Hello Takushi,

    As you may know, the TUSB73x0 provides a feature called 'Two-Wire Serial-Bus Interface' in which an optional external EEPROM can be used to load subsystem identification information and certain specific register values to override the default values of host upon initialization(Section 3.2 of the TUSB73x0 datasheet). Now, answering your questions:

    Q1. This is because: At the rising edge of the PERST# or GRST#, the SCL terminal is sampled, and if there is a pull-up resistor at that terminal, the Serial-Bus Interface will be enabled, thus the device will try to obtain the configuration of certain registers from the EEPROM.

    If this interface doesn't want to be used (no EEPROM wants to be used), a pull-down resistor will have to be placed at SCL terminal (also make sure there is no pull-up resistor populated at the terminal) in order to disable this interface (Section 3.2.1). 

    Q2. Then the Serial-Bus Interface will become active and the host will read the values from the EEPROM and override the default values of its registers with the ones retrieved from the EEPROM. The host will only exit this mode until the interface reaches address 1Bh of the EEPROM and finds at that address the 'End List Indicator' (a value of 80h should be contained at that address) and only until then the host will become operational. Bare in mind that for a correct initialization of the host controller, all the values contained at the EEPROM should be explicitly followed per the device datasheet (Section 3.2.3), otherwise this may result in a malfunction of the device.

    Q3. If the EEPROM wishes to be used, I would recommend pull-ups of 1K on SCL and SDA terminals. Don't populate the pull-down resistors on those terminals. Please refer to the datasheet on which proper values should be contained on the EEPROM.

    Q4. If no EEPROM is desired to be used (default host controller register values are going to be used). I would recommend pull-downs of 1K on SCL and SDA. Don't populate the pull-up resistors on those terminals.

    Q5. No, SDA/SCL terminals don't have any internal pull-downs nor pull-ups since those terminals are I/O. The difference in voltage customer is experiencing may be due to the size of the pull-up resistors customer is using (10K), that is why I recommend to use a 1K pull-up resistor.

    Best Regards,

    Alexis Cortes.

  • Hi Alexis-san,

    I greatly appreciate for your support. Thanks for the detail explanation.

    Please let me ask you about Q5 in detail.
     * I had a typo in my previous post. The observed voltage with 1k pull up was 3.0V.

    Customer observes the voltages by only connecting the pull up resistors.
    I understood there is no pull down resistor inside. Does this mean that  SCL / SDA pins have about 250uA sink current ?

    Thanks and Best Regards,
    Takushi

  • Hi Takushi,

    The reason customer observes voltage only when the pull-up resitors are connected is because both SDA and SCL
    terminals are open-drain type (thus they require pull-up resistors to be able to drive voltage on the I2C bus).
    The sink current of those terminals will be dependant on the size of the pull-up resistor that is choosen (i.e.
    using a 1K resistor with generate a sink current of around 3V/1K = 3mA).

    Best Regards,
    Alexis Cortes.