TCA9554A: Schematic verification

Part Number: TCA9554A
Other Parts Discussed in Thread: TCA6424A, , PCF8574, TCA9554, TCA9555, PCF8574A, PCA9554A, PCA9555, PCA9554, PCF8575, TCA9539

Dear Team,

Request you to review the schematics attched for the Io expander used in my design.
Also can you tell me the supply current that should be given to this IC.

Regards,
Irfan

DESIGN7.pdf 

  • Hi Irfan,

    The current consumption for this device is dependent on the loads connected to the device. Please see this e2e as a reference using TCA6424A

    TCA9554A

     

     

    Check

    Status?

    Comments

    Within Supply Voltage Range?

     Good

    PCA Devices - 2.3 V - 5.5 V

    TCA Devices - 1.65 V - 5.5 V

    TCAL Devices - 1.08 V - 3.6 V

    Local Decoupling Capacitors

    Good

    Generally, a 0.1-uF capacitor is placed on VCC, as close to the device as possible

    Verify the schematic pinout matches the data sheet pinout

    Good

     

    Check that the pullup resistors are present on the SDA and SCL net within the schematic.

    Verify

    R772 and R771 are DNP,

    Maybe there are other PU resistors on a different page in the schematic for SDA/SCL

    Unused GPIO pins configured as INPUT’s are biased to either VCC or GND via resistor

     Good

    Most of TI's IO expander portfolio do not include internal pull-up resistors on the p-port pins; the exceptions are PCF8575, PCF8574, PCF8574A, TCA9555|PCA9555, PCA9554|TCA9554, and TCA9554A|PCA9554A and therefore can be left floating.

     

    An alternative approach is after powering up the device, any unused p-port pins can be set as an output (does not matter if set high or low).

     

    TCAL agile IO expanders also have the ability to enable internal PU or PD resistors.

    GPIO pins configured to OUTPUT must be current limited externally

    Verify

    i.e. the push-pull output sources current from VCC or sinks current to GND. Ensure that the output is never tied directly to VCC, GND, or to another output that could contend with the push/pull output. Otherwise, IOH/IOL may not be limited and could exceed abs. max conditions of the device which could cause permanent damage.

    Device address is unique on the bus unless using an I2C switch or I2C MUX to resolve conflicts

    Good

    Address is unique on this page

    If the device has a /RESET pin, bias the pin high (preferably with a pull-up resistor) after powering up.

    n/a

     

    If the device has a /INT pin and the /INT pin is used, tie this pin to a pull-up resistor.

     Verify

    Pull-up resistor is DNP - R773

  • Hi Tyler,

    1) Check that the pullup resistors are present on the SDA and SCL net within the schematic.
    ------->There is a TXS level translator where the SCL and SDA is tied so the 10K internal pull up is enough for that? or should i make the DNP resistor 772 , 771 populate?

    2) GPIO pins configured to OUTPUT must be current limited externally.
    ------->For the Temp alert IC (TMP112AQDRLRQ1) , it is mentioned as this in datasheet: Overtemperature alert. Open-drain output; requires a pullup resistor.
    So it is input to the I/O expander, and when the temperature goes high it will be pulled low as it is open drain and thus will be read by us. But need a pull up and i have connected it to 1.8V.
    Also the Wake signal is connected to TXS level translator which will be having internal PU.
    The Mux select pin has to be Pulled up and low for 2 different configuration, so can we do that through I/O expander. When it is low it should be A-B when it is high it should be A-C.

    3) If the device has a /INT pin and the /INT pin is used, tie this pin to a pull-up resistor.
    -------> I am not using this INT pin so can i only PU this INT pin and keep ?

    Request you to verify this and provide your feedback

    Regards,
    Irfan

  • Hi Irfan,

    1) Check that the pullup resistors are present on the SDA and SCL net within the schematic.
    ------->There is a TXS level translator where the SCL and SDA is tied so the 10K internal pull up is enough for that? or should i make the DNP resistor 772 , 771 populate?

    TXS has acceleration circuitry, so I don't think the 4.7k PU resistors need to be populated. 

    2) GPIO pins configured to OUTPUT must be current limited externally.
    ------->For the Temp alert IC (TMP112AQDRLRQ1) , it is mentioned as this in datasheet: Overtemperature alert. Open-drain output; requires a pullup resistor.
    So it is input to the I/O expander, and when the temperature goes high it will be pulled low as it is open drain and thus will be read by us. But need a pull up and i have connected it to 1.8V.
    Also the Wake signal is connected to TXS level translator which will be having internal PU.
    The Mux select pin has to be Pulled up and low for 2 different configuration, so can we do that through I/O expander. When it is low it should be A-B when it is high it should be A-C.

    This sounds good. 

    The reason why I mention this in the schematic review is to check for potential over-current events that could occur on the IO side. Usually this is a result of contention where one output drives HIGH, another output on the same signal drives LOW, thus creating high current paths. 

    3) If the device has a /INT pin and the /INT pin is used, tie this pin to a pull-up resistor.
    -------> I am not using this INT pin so can i only PU this INT pin and keep ?

    If /INT is unused, the pin can be left floating. No pullup resistor needed.

    If you place the pull-up resistor anyway, when an interrupt triggers LOW, there will be a constant current sink increasing the overall power consumption. If I was designing this, I would remove the PU resistor all together and keep /INT floating to save on power.

    Regards,

    Tyler

  • Hi Tyler,

    Is the PU resistor is must?
    In data sheet it is mentioned as shown in below image,

    Also it has some internal PU right?


    So it can both PU and PD right?

    Whether this resistors are required?

    If i want to pull the mux sel signal high i can do that right?

    Please clarify these doubts.

    Regards,
    Irfan

  • Hi Irfan,

    You are correct, TCA9554A has internal 100k PU resistors on each of the IO's. The 4.7k PU resistors are optional. You may need those resistors if the 100k PU resistor is not strong enough for you application. If a low current application, you probably do not need 4.7k resistors and can remove them from the BOM. 

    For some of our IO expanders like TCA9539, this device would not have internal PU resistors, so I would recommend external PU resistors to keep the pins from floating. TCA9554A does not have this problem. 

    Regards,

    Tyler

  • Hi Tyler,

    So i can even Pull the signal low and also high through this IO expander IC right?
    Do you have any driver for this?
    Please explain me how can i control this IC. Or any reference.

    Regards,
    Irfan

  • Hi Irfan,

    So i can even Pull the signal low and also high through this IO expander IC right?

    Yes, you can pull the signal low and high through this IO expander. You will have to overcome the current of the 100k PU resistor when driving a logic LOW, but this shouldn't be too difficult because this is a weak pull-up resistor. 

    There is a linux kernel for TCA9539 online. 

     Linux/TCA9539: regarding tca9539 io expander 

    I think the generic driver is PCA953x.c

    drivers/gpio/gpio-pca953x.c

    You can use any TI device such as MSPm0 or MSP430, both have driver libraries online for I2C. 

    Regards,

    Tyler