Part Number: TCAN4551-Q1
Hi,
I have been working on a driver for the TCAN4551.
I have an intitalisation sequence that raises the RST pin for a few ms then lowers it. After that, the datasheet says it takes at least 700us before SPI communication can begin. My function waits 2ms to be safe. It then reads the device ID, and also writes to and reads from the scratchpad in order to verify the SPI communication.
If I run this sequence after powering on the device, all works correctly. if I run this sequence when the device is in SLEEP mode, then I get an SPI error signalled in the first byte clocked out of the scratchpad read. So I do receive the device ID, but probably the scratchpad write had a problem.
If I instead wait 3ms after I return the RST line low, I don't get the SPI error problem.
The datasheet says the minimum time should be 700us. Is there a reason why I have to wait for so long for the SPI to stabilise? Does this suggest a hardware design problem on my board? Why is the behaviour different between when I power on the TCAN4551 and when it has just been in SLEEP mode?
Thanks in advance.
Ed.