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.

TCA6424A: the possibility of TCA6424A's output pin use as Open-drain

Part Number: TCA6424A

Hello Professional,

My customer would like to use TCA6424A's output pin(P00~P27) as Open-drain.

However This device's output pin designed to Push-pull. 

Can this device's output pin use as Open-drain? 

If it is possible, Would you provide points to be careful for this usage?

Below is customer's environment.

VccI=1.8V

VccP=3.3V

Pull up voltage=3.3V

I'm looking forward hearing back from you.

Best regards,

Kazuki Kuramochi

  • Hello Kazuki-san,

    "Can this device's output pin use as Open-drain?
    If it is possible, Would you provide points to be careful for this usage?"

    Yes, the way to do this is to set the device into 'input' configuration to disable the pull down and set he device in HI-Z. When you want to pull low just set the output to low and then set the configuration to output instead of input.

    Thanks,

    -Bobby

  • Hello Bobby-san,

    Thank you for your prompt reply.

    I would like to confirm about why This device's output port can behave like as Open Drain, just in case.

    My understanding is that red squire in the below simplified port block diagram is disable when port configured INPUT if we write output command. However Data From Shift register and Write Pulse are still enable even if port configured INPUT. So Q2 can turn off and on and P00~P27 behave like as open-drain.

    Moreover, P00~P27 become Hi-Z when these pin configured INPUT. So we need to change out put register to low at first.

    Is this understanding correct?

    Best Regards,

    Kazuki Kuramochi

  • Hey Kazuki-san,

    When you set the device into input mode, Q1 and Q2 are disabled (Q1's gate voltage is Vcc and A2's gate voltage is GND). This is what I mean when I say it is HI-Z.

    You essentially set Q2 as a logic low first, then switch between Input mode and output mode. setting the device to output mode will drive the output low, while setting the device to input mode will set the device into Hi-Z.

    "Is this understanding correct?"

    The way you summarized everything seems like you understand how to do this but you are not removing/blocking Q1 so to say, you simply are not ever turning it on. (Set output to low and then just program the configuration port to either input or output).

    It is possible to drive the output high by accident, make sure you never set the output state high if this is a huge concern.

    -Bobby

  • Hi Bobby-san,

    I think I have miss understanding for your suggestion.

    You mentioned Open-drain operation is that we use OUTPUT mode for setting low and we use INPUT-mode when we set the High(Hi-z). Because Q2 turn on and Q1 turn off when we set register to low at output  mode, and Q1 and Q2 turn off when we set INPUT mode.

    Is this right?

    Best regards,

    Kazuki Kuramochi

  • Hi Bobby-san,

    I have additional question for this topic.

    Have you heard this usage of open-drain operation of TCA6424A in the market?
    I would like to get this information to help our customers use this solution with peace of mind.

    Best regards,

    Kazuki Kuramochi

  • "I think I have miss understanding for your suggestion.

    You mentioned Open-drain operation is that we use OUTPUT mode for setting low and we use INPUT-mode when we set the High(Hi-z). Because Q2 turn on and Q1 turn off when we set register to low at output  mode, and Q1 and Q2 turn off when we set INPUT mode."

    I think it would be easier to walk through an example of how to use the device as open drain output.

    -------------------------------------------------------------------

    Example where I want to make port 1 open drain LOW (Q2 turned on) and have bits 0-3 low and bits 4-7 open drain OFF (Q1 and Q2 are turned off)

    Step 1: set all output port1 register (0x01h) to be LOW (0x00h)

    *From here I will NEVER write to the output port1 again

    Step 2: set configuration port 1 register (0x0Dh) to be 0xF0h <--Bits 7 through 4 are now HI-Z and bits 3 to 0 are now driving the lines LOW

    [Now lets say I want to change bits 4-7 to be open drain low (Q2 turned on) and bits 0 to 3 to be HI-Z or (Q1 and Q2 are turned off)]

    step 3: set configuration port 1 register (0x0Dh) to be 0x0Fh <--Bits 7 through 4 are now LOW and bits 3 to 0 are HI-Z

    ----------------------------

    Essentially all you have to do is write to the configuration register after you write 0x00 into the output register. From there you just modify the configuration register if you want to switch between HI-Z and Output LOW.

    -Bobby

  • "Have you heard this usage of open-drain operation of TCA6424A in the market?"

    I've heard of people using our IO expanders like this before but I don't have specific customers I can name who do this.

    This question has come up enough times that I have been thinking of writing an app note about this.

    -Bobby

  • Bobby -san

    Thank you for your kindly explanation.

    I understood that how to use TCA6424A as open-drain output.

    At first, we configure all output port resister to Low. After then, I set High or Low status utilizing configuration resister.

    This is just confirmation, you mentioned "Step 1: set all output port1 register (0x01h) to be LOW (0x00h)" but datasheet said 0x01h resister is Input port 1 resister on p23. Is this typo of (0x05h)?

    Best regards,

    Kazuki Kuramochi

  • Bobby-san,

    My customer send me new question.

    Datasheet P26 fig.30 and fig.31 show use case of driving LED.And this connection normally used for Open-drain output.

    So he thought output port is Hi-z when LED is turn on in this figure's situation.

    Does this picture consider Open-drain or only Push-pull?

    Best regards,

    Kazuki Kuramochi

  • "This is just confirmation, you mentioned "Step 1: set all output port1 register (0x01h) to be LOW (0x00h)" but datasheet said 0x01h resister is Input port 1 resister on p23. Is this typo of (0x05h)?"

    You are correct. It should be 0x05h for output port1 register.

    "Datasheet P26 fig.30 and fig.31 show use case of driving LED.And this connection normally used for Open-drain output.

    So he thought output port is Hi-z when LED is turn on in this figure's situation.

    Does this picture consider Open-drain or only Push-pull?"

    Those figures show the device most likely be used in a push pull setting. If you drive the output high to Vcc with the PFET then it would be Vcc between the LED and the power rail so the LED is turned off. If you drive the pin low then it will be GND and 5V between the LED and current will flow and turn on the LED. You could use the device in HI-Z mode and achieve this as well as the customer is asking as figure 31 allows for the pin to see 5V when the device is in Hi-Z (The LED would turn off). For Figure 30, the pin would be floating....

    -Bobby