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.

TCA8424: how to program the TCA8424 by for the third party using I2C

Part Number: TCA8424
Other Parts Discussed in Thread: TCA8418E

Tool/software:

We want to program the TCA8424RHA by the I2C interface. we don't use the EVM board, 

we just want a document to describe how to program this device for third party.

  • Hi Luke,

    The firmware .zip file can be downloaded from the product page: 

    TCA8424 data sheet, product information and support | TI.com

    This should include sample code header and .C files for reference using the MSP430. 

    The TCA8424 supports HID over the I2C bus. 

    The figures throughout the datasheet help to explain the frame formatting for reading and writing from/to the device: 

    Example:

    Regards,

    Tyler

  • Hi Tyler,

    the code do give us much help. By the way, how to read the OTP data out after programming to verify. The code just read the data from address 0xA000, but it seem did not work for me.

  • Hi Tyler,

    I have one more question, according to the code, when programming the OTP, the voltage in TEST pin would change from 1.8V to 7.0V repeatly.

    could the voltage on this TEST pin always be 7.0V when programming the OTP.

    Thanks a lot

    Luke

  • Hi Luke,

    This OTP creation app note might be helpful.

    OTP Creation Guide

    the code do give us much help. By the way, how to read the OTP data out after programming to verify. The code just read the data from address 0xA000, but it seem did not work for me.

    What do you mean by didn't work? 

    You read from SRAM address 0xA000 and no data was given? What data did you write for address 0xA000? 

    Is the data reading 0x91? 

    I have one more question, according to the code, when programming the OTP, the voltage in TEST pin would change from 1.8V to 7.0V repeatly.

    could the voltage on this TEST pin always be 7.0V when programming the OTP.

    TEST pin can have input voltage of 7V when programming the OTP. 

    For normal usage of this device, this pin must be grounded. 

    Regads,

    Tyler

  • Hi Tyler,

    If I just want to read out the otp data of a master device。 So I would not write any data to RAM. I just need to read a device without programming first.

  • Hi Ni,

    We are still looking into this and will get back to you early next week.

    Regards,

    Jack

  • Hi Luke,

    Have you tried reading the OTP similar to the below figure? 

    I think it should be 

    Start bit, 

    I2C device address

    Write

    ACK

    OTP address LSB

    ACK

    OTP address MSB

    ACK

    repeated start

    I2C device address

    read

    ACK

    data...

    NACK

    STop

    I believe the OTP addresses have an hex "A" in the register address

    Let me know if this works. Otherwise, the only way I would know for sure is using the EVM module to write and check the OTP through the GUI. 

    Regards,

    Tyler

  • Hi Tyler,

    Thanks, it works for reading the OTP, just need to set the address from 0xA000 which seems we could just read the RAM address after power the device.

    Now the remaining question is that the code of EVM shows that during programming, the voltage on TEST pin seems would be turned on and off repeatedly,

    it would be turned on for about 100us for each byte and then turned off before send 0x0A to address 0xC5C7. 

    I want to confirm could I set this TEST pin always be 7V when programming, as our hardware may not support to toggle so fast.

  • Hi Luke,

    I would side with the EVM programming turning ON and OFF the test pin at 7V. 

    I believe this is part of the burn in process. 

    If you can't do 100us toggling speed, I assume that this device can support slower speeds for burn in. Toggling at several milliseconds should be okay. It will just make the overall OTP process slower. 

    Regards,

    Tyler

  • Hi Tyler,

    we check the EVM code and schematic, we found there's anther LDO that generate 1.8V also on TEST pin. And during programming, this LDO is always on, so when the 7V is off, actually 1.8V is still on the TEST pin. 

    But there's no information about this 1.8V  in the datasheet, what is the function of this 1.8V. is this also a must?

    As we need to program tens of thousands of this chip, and it is OTP, we could program one time for each chip, so we have to make everything clearly.

  • Hi Luke,

    I understand the severity of programming the OTP since this occurs one time for each chip. TCA8418E is the alternative to this device, since TCA8424 is NRND. 

    we check the EVM code and schematic, we found there's anther LDO that generate 1.8V also on TEST pin. And during programming, this LDO is always on, so when the 7V is off, actually 1.8V is still on the TEST pin. 

    Was this 1.8V directly measured on the EVM? Which device part number generates the 1.8V? 

    Regards,

    Tyler

  • Hi Tyler,

    sorry reply late for the Labor DAY.

    we don't have the EVM, so we did not measure it on the EVM. But according to the schematic, the device TPS77001DBV with it's application circuit generate 1.8V on the TEST pin.

    And in the firmware code, this 1.8V is always on in the programming. And the protection diode CR1 protect this LDO when another high voltage 7V enabled on the TEST pin.

  • Hi Luke,

    How are you determining 1.8V on the VTest pin from the application schematic of TPS77001? 

    Regards,

    Tyler

  • Hi Tyler,

    You could just calculate the output voltage of TPS77001(about more than 2.3V) by its formula and the value of R8 and R9. And according the BOM of EVM, the CR1 is SD103CW-13-F, its forward voltage drop is about 600mv. So we get the voltage on TEST pin is more than  2.3V-0.6V =(1.7V -- 1.8V).

  • Hi Luke

    In this case, I would side with the code following the toggling of 7V for burning in the OTP. 

    Also in the schematic: 

    TPS270 shows a 7V input voltage connected directly to the test pin. 

    I would assume that voltage at VTEST = 7V for burning in the OTP. 

    VTEST = GND for typical operation. 

    Regards,

    Tyler

  • Hi Tyler,

    I know for burning the OTP, VTEST is 7V. But besides the TPS270 connect to the TEST pin, the application circuit of TPS77001 also connect to TEST pin.

    according to firmware code, The 7V is not always on. it is only turned on for 100us for burning 1 byte.  and then turned off for send 0x0A to address 0xC5C7 and 0x0E 0X0F 0X0E to address 0xC5C7. So when the 7V is turned off, actually the voltage on the TEST pin is not 0V, it is about 1.8V from the TPS77001 circuit.

  • Hi Luke,

    Is it possible to conduct burn in test with 7V and 1.8V toggling for each byte, and read back the OTP to see if the burn in test was successful? I would side with what the EVM shows in the schematic and go off those voltages. 

    This part is older and there is not much documentation on the process of the burn-in testing other than the EVM. 

    Regards,

    Tyler