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.

TCAL9539: Trouble understanding programmable pull-up and pull-down resistors

Part Number: TCAL9539
Other Parts Discussed in Thread: TCA9539

Tool/software:


Hi everyone:

I'm planning to implement a TCAL9539 to provide extra IO ports to my TM4C123 uC.

But I'm having trouble to understand its advertised "programmable pull-up and pull-down resistors".

I need the port expander to read the state of two groups of signals:

  • One to determine the status of outputs of other ICs. Those outputs are Open Drain and go low when active.
  • The other group is to determine the status of a mechanical switch. Its outputs commute between not connected to anything to connected to ground depending on its state.

The issue I have is that in the data-sheet on the figure 9-1 there is a legend that states:  Resistors are required for inputs (on P port) that may float. If a driver to an input will never let the input float, a resistor is not needed.

Please see here, where that legend is shown and the external pull-up resistors are drawn:

Figure 9-1. Typical Application Schematic

Why not configure the internal 100kΩ pull-up resistors that the TCAL9539 has instead of having to include them on the circuit? 

If that is the case, then it would be better for me to use a TCA9539 instead, right?

Thank you!

  • This schematic was copied from the TCA9539.

    Inputs where the internal pull-up/-down resistor is enabled do not float, so that remark is very misleading, if not wrong. You would need an external pull-up only if you wanted to have a defined voltage during power-up, when the ports have not yet been configured. (At that time, you're not reading the port input values, so this probably does not matter.)

  • Hi Mauricio,

    I agree with Clemens here also. 

    Why not configure the internal 100kΩ pull-up resistors that the TCAL9539 has instead of having to include them on the circuit? 

    The figure is from TCA9539 that does not have the ability to program internal PU resistors. 

    The beauty of TCAL9539 is that it gives you the 100k PU or PD option through software. 100k PU external to the device are not needed for this reason. 

    If you don't need the additional features of TCAL9539, then you can opt for TCA9539. Also if your application is 5V, then TCA9539 is the best option since TCAL9539 cannot be used in 5V applications only 1.08V to 3.6V. 

    Regards,

    Tyler

  • Thank you both, Clemens and Tyler.

    I'm glad to know I wasn’t that far off. At first, I suspected the same as Clemens—that it was an error carried over from a copy/paste of a previous schematic. But when I saw that the legend appeared only in the TCAL9539 datasheet, I began to doubt myself. Hopefully, TI will correct that in the datasheet. Mistakes like this can really make us wonder what else might be incorrect.

    I also agree with Tyler about having those 100K resistors integrated into the chip. That would definitely save some precious PCB space in my case.

    Best regards,
    Mauricio

  • Hi Mauricio,

    Understood, I will take this as a note to adjust the datasheet. Technically this is a redundant solution not necessarily an error in the datasheet. You can still add the 100k externally to the TCAL9539, but it makes sense to remove those resistors because you can program them internally through software to save on BOM. 

    Regards,

    Tyler

  • I would argue that this is an error in the datasheet, as it explicitly states, "Resistors are required for inputs (on P port) that may float," rather than referring to them as optional, as previously discussed.

  • Hi Mauricio,

    If I had to reword the datasheet, I think it should say "Resistors are highly recommended for inputs (on P port) that float. If a driver to an input will never let the input float, a resistor is not needed." 

    Regards,

    Tyler

  • Hi Tyler,

    Thanks for sharing your thoughts. I agree that your rewording is definitely a step up from the original text. Personally, I chose this part over other port expanders largely because of its built‐in resistors, so a deeper explanation of why these resistors are recommended would really help clarify when they're necessary.

    For instance, Clemens’ comment was particularly helpful to me: You would need an external pull-up only if you wanted to have a defined voltage during power-up, when the ports have not yet been configured. (At that time, you're not reading the port input values, so this probably does not matter.)

    If there are additional reasons behind the “highly recommended” label, a more detailed explanation would certainly help us users make a more informed decision.

    Best regards,

    Mauricio

  • Makes sense. Thank you Mauricio for your feedback. 

    Regards,

    Tyler