Integrated Circuit – Why Connect All Pins to Vcc Using a Pullup Resistor in TCA8418E?

i2cintegrated-circuitpullupresistors

I am trying to use the TCA8418E I2C Controlled Keypad Scan IC With Integrated ESD Protection.

On page 3 in the pin functions table it says to connect SDA and SCL to Vcc using a pullup resistor. Do I need to do this if I plan to connect the SDA and SCL pins to a microcontroller? If so why and which value?

Also quick question about the Reset pin (active low): can I connect it directly to Vcc? If not how do I know the resistor value to use?

Best Answer

I2C needs pull-ups because it is a bi-directional open-drain bus.

The datasheet contains a link to TI application note SLVA689 how to calculate the pull-up resistance value, if your system does not already have pull-ups on the I2C bus. The same information is in the I2C specification as well. Nevertheless it is a good idea to double-check that the pull-up resistance values are suitable for your target speed and bus capacitance, and to which voltage the pull-up resistors are connected.

Regarding the reset pin, the datasheet also says that if it is left unused then connect a pull-up resistor. It does not mention anything else, so it would be safe to assume that direct connection to supply voltage is not recommended. However, you should carefully consider if you really want to leave it unused to begin with, especially if you are not sure if your system can provide the required power supply rise and fall times for the power on reset to work.

Also, if your MCU resets there is a glitch during an ongoing I2C communication and the bus data pin is held low by the keyboard scanner chip as it is sending out data, the MCU usually can't continue communication unless the bus is manually brought up to idle state again. So usually you do want to use the reset pin.