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.

TCA6416A: TCA6416A vs PCAL6416A: Using TCA6416A with firmware written for PCAL6416A

Part Number: TCA6416A

Hi,  we have a design that has firmware written for the NXP PCAL6416A.  Because of this, there are some commands in the firmware that are not supported by the TCA6416A.  I am looking at substituting in the TCA6416A, but would like to not change firmware if at all possible.  Will the TCA6416A be affected if command bytes are written that are not supported?

For example, in the PCAL6416A, the input mask must be enabled before the INT pin will function, so our firmware writes command 0x4A, followed by two bytes of data (0x0000) to enable the interrupt.  If command 0x4A is written to the TCA6416A, how will it respond?

Thanks,

Robbie

  • Hey Robbie,

    Taking a look at the registers of both devices:

    TCA6416A:

    PCAL6416A:

    What I see is the first 8 registers match. The address of both devices can match each other too. This tells me that you should be able to use the same driver for both devices but if you end up sending registers outside of the first 8 for the TCA6416A then at the 9th clock cycle, you will just end up getting a NACK.

    "If command 0x4A is written to the TCA6416A, how will it respond?"

    The TCA6416A will NACK and likely ignore anything after the NACK. You would need to initiate a stop condition then a start condition to communicate to it again.

    Thanks,

    -Bobby