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.

TCA6418E: RESET pin floating, data out order of operations, latching output

Part Number: TCA6418E


1.)  I've just started working with the TCA6418E and am in the middle of bringing up the board.  I've inadvertently left the reset pin floating on the TCA6418E on the latest rev of my design.  Per the datasheet, I understand that this is to be pulled up if not actively used.  Given that I don't have a good method to probe the pin, I'm left wondering exactly how risky this is.  i.e. is it risky enough to warrant a revision change on the PCB. 

2.)  Additionally, on pg. 14 of the datasheet, in regards to the GPIO Data Out Registers, it states: "This is needed so that the value can be written prior to being set as an output."  Does this mean that the Data Out registers must be written to prior to setting as an output?  Or is it perfectly fine to set the output direction, and then the Data out? 

3.)  Lastly, I'm noticing an issue where an output that I've written appears to not be latching.  My write sequence is as follows:

0x34, 0x17, 0x50 // Set up GPIO 1&3 as output high

0x34, 0x2C, 0x50 // disable GPIO 1&3 pulldowns (not even sure this is required given that I configure as output)

0x34, 0x23, 0x50 // Set GPIO 1&3 as outputs

The result (after 3 ACKs from the above commands) is that GPIO 1&3 go high for about 76us, but then immediately go low (see scope shot below, Blue channel is the I2C data with above commands, and yellow is GPIO3).  Is there something I'm missing in terms of needing to latch the outputs, or is there a possibility that the floating reset is causing this?  Any help is greatly appreciated.



  • Hi Justin,

    1. The TCA6418E has no internal pull up on the RESET pin so leaving it floating could leave your device non functioning. Depending on where the leakage paths are flowing this device could be constantly stuck in RESET.

    2. Best practice is to set the output data first before setting the pins to outputs. This is because the device has no way of knowing what pin is connected to what and what device could be driving that pin. So in order to avoid any contention it is best to set the outputs to known values before you set them as output pins. By default the pins are pulled down so you could be weakly shorting something to ground if you just turn the pins into outputs without setting their state first.

    3. There is nothing you need to do to latch the outputs. This is most likely due to your RESET not being pulled high. My guess is that there could be some cross talk from your I2C pins that is generating enough of a potential to pull your RESET pin out of reset. Then after you are finished communicating the internal circuitry slowly discharges through it's leakage path and the device goes back to being in reset. The fault state of these pins is being pulled low so it makes sense that a reset would cause your pins to be reset back to low.

    You should definitely fix this on another revision of the board.



  • Thanks for the reply Chris.  I figured that would be the response regarding the reset pin... makes sense.  It's too bad I don't have external access to the pin so that I could at least perform a quick fix or just observe its state.

    The guess about I2C pulling the device out of reset piqued my curiosity.  So, I wanted to see what would happen if I just continuously write after initializing the data out.  No luck in keeping the output latched... the output still just pulses for about 76us (see scope shot below).

    I also tried performing an initialization retry just 1ms after the GPIO goes low (essentially repeating the same commands that got the GPIO to go high in the first place).  The device becomes non-responsive with a couple of NACKs, indicating it's indeed in reset... see below.

    Thanks again, I'll definitely rev up the board.


  • No worries,

    If you ever have questions about a schematic you can always send it over on E2E and we can do a schematic review for you. Once you update your schematic you can send over on this read and I can double check it for you.