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.

TCA9534: Is it possible for the TCA9534DWR to remember a sequence of bits ?

Part Number: TCA9534
Other Parts Discussed in Thread: TCAL6416

Hello, I am working for CLEARSY, a company specialized in creating safety systems such as electronic cards for train.

In order for you to understand a bit more my problem, here are some details about my project : I have two cards, one with a CPU which is called "CPU card" and one with an electronic circuitry called "daughter card". The CPU card is sending and receiving data from this daughter card. To do this communication, I want to put the TCA9534 on the daughter card.

Because it is a safety project, we cannot allow the TCA9534 to remember a frame (in an unintended way) and emit it again after some time. It could lead to serious problem (injuries, deaths, ...).

So, I just want to make sure that the component cannot store multiple bytes in memory in an unintended way.

When I take a look at the datasheet, there are two blocks that can maybe remembers a sequence.

First, the shift register : if it works like a "standard" shift register, it should not be able to remember a whole sequence. Can you confirm that the "shift register" block cannot remember a frame ?

 Then, there is the "I2C-BUS CONTROL" block, I also want to make sure that it does not have a function allowing it to record several bytes in memory.

Hence the following questions: is there any memory in this block? If yes, is it volatile memory or ROM? What is the capacity of this memory?

Also, could you provide me with schematics a little more complete than those in the datasheet that would prove that this component cannot record a multibyte frame.

 

We (my colleagues and me) need this information to prove that our final equipment is safe (SIL4 certification) . If we can do this, we can use this component on a large scale in our future products. If not, we will not be able to use it.

Thank you very much for your help.

  • Hi Maxence,

    TCA9534 is one of our 8-bit IO expanders we offer at Texas Instruments.

    TCA9534 is able to be configured via internal registers by communicating the device address and data bytes on the I2C bus. There are 4 different registers that can be configured, this includes input port, output port, polarity inversion, and configuration registers. Each register can be read from, but only the output, polarity, and configuration can be written to. See table below:

    TCA9534 is only able to hold it configured settings when sufficient power is applied to VCC. Once the device is powered off and on again (power-on-reset), the device reverts back to the default conditions listed in the datasheet. Upon start-up, all p-ports are set as inputs, even if they were originally all set to something else before a RESET condition. 

    The only real memory on this device is the way it holds information in each of the registers while proper voltage is applied to VCC. 

    I do know from some of our newer IO expanders such as the TCAL6416 utilize a series of D-flip-flops to hold information. Our older IO expanders use similar architecture to some of our newer devices.

    From my understanding, D-flip flops are volatile memory. Data can only be maintained when the device is powered. 

    Hope this helps, please let me know if you need more information. 

    Regards,

    Tyler

  • To add to what Tyler said: this device has no CPU or oscillator; the internal state machine is controlled only by the I²C clock. The only way to get the TCA to output its shift register is by doing an I²C read transaction, and this always reloads the shift register from the port pins (this is the Read Pulse in the diagram above). Similarly, the only way to change the port pins is by doing an I²C write with the new values.

  • Thank both of you for your reply. Ok so I see that the shift registers are not a problem for me. However, you are talking about a internal state machine. I do not know how it translates the I2C to all the different signals and I think it may be to confidential for you to explain it to me. But as I see it there must be some kind of registers (or another kind of memory) to perform this translation. Is it the case or not ? Even if there is some kind of memory, maybe it does not have the capability of remembering a lot of bits ?

  • Hi Maxence,

    I am discussing with the design team on this matter. It might take a few days to receive a concrete answer since one of the engineers is out-of-office and the other is very busy. Please allow a few days before I can get a response. 

    Please email me here in the mean time as this information cannot be given to the public.

    t-townsend@ti.com

    Regards,

    Tyler