I was wondering if there was C source code available for the CRC algorithm for the TPS929120-Q1? Thanks.
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.
I was wondering if there was C source code available for the CRC algorithm for the TPS929120-Q1? Thanks.
I'm in the process of integrating my code used to communicate between the TPS929120 and my microcontroller.
I've been able to verify that I am transmitting the message 0x55 0x80 0x20 0x3F 0x71 (last byte is CRC-8) from the microcontroller to the TPS929120.
However, the TPS929120 never seems to send a response back on its TX pin.
The data sheet says the device will not response if the CRC is incorrect, but I believe the CRC I am sending is correct according to the calculation spreadsheet and source code you have provided.
I have my microcontroller UART TX and RX lines directly connected to the TPS929120 RX and TX pins respectively.
UART configuration is baud rate 1MHz, 1 start bit, 8 data bits, 1 stop bit, no parity.
Is there another reason the TPS929120 would not respond to my message besides an incorrect CRC?
Thanks.
1 device address
2 refer the protocol as datasheet and capture the communication waveform for debugging
It turns out that the device address was the problem.
I'm using the hardware pin method of addressing and have the ADDR[2:0] pins all pulled low.
According to the data sheet, the default values of EEP_INTADDR and EEP_DEVADDR should both be 0,
giving a default address configuration using the hardware pins with the high bit of EEP_DEVADDR set to 0 (i.e. address 0).
However, what I found is that the high bit of EEP_DEVADDR in my devices is defaulted to 1 (i.e. address 0).
Is the data sheet correct, or is EEP_DEVADDR[3] supposed to default to 1 instead of 0?
Thanks.
you may use tps929120a, please search the faq to see what is the difference between 929120 and 929120a