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.

TCAN4551-Q1: Bit rate and SPI clock speed

Part Number: TCAN4551-Q1


Hello,

I think max 18MHz SPI clock is recommended for 8Mbps data rate operation.
Do you have any data for how much bit rate can be realized with other SPI clock rate?
Do you have a kind of table that show CAN bit rate V.S SPI clock rate?

chong.xu@radsys.cn

Thanks!

  • Hello Chong,

    You are correct that the maximum SPI clock frequency that is supported with the datasheet specifications is 18MHz.  However, there is no association between the SPI frequency or data rate, and the CAN bit rate.  The SPI data rate is based on the SPI Clock which is provided by the MCU along with the SPI data, and the CAN FD controller uses the clock provided on the OSC1/2 pins to generate the CAN bit timing.  The only requirement between the SPI clock frequency and the OSC clock is that the SPI clock must be at least 2MHz less than the OSC clock frequency.  Therefore, if the OSC clock is 20MHz, the maximum SPI clock frequency is 18MHz.

    The SPI clock frequency will determine how long it takes to read or write a device register as well as to transfer the contents of a CAN message that is transmitted or received out of the device's TX and RX memory buffers.  A slower SPI clock will take longer to transfer the data between the TCAN4551 and the MCU, but the CAN bus bit rate is independent and based on the device Nominal and Data Bit timing configuration registers.

    I think you are generally interested in the overall "throughput" that can be achieved which is how many CAN messages can be transferred in a specified amount of time.  THis is usually thought of as a bus loading percentage.  If so, the SPI data rate will have an impact on the maximum throughput or bus loading percentage that can be supported.  A faster SPI data rate will yield a higher throughput.  However, other factors will make a difference as well such as the amount of idle time between SPI packets, the number of data words transferred in a single SPI message, and the efficiency of the MCU's response to a new message interrupt are just some examples.

    There is a basic spreadsheet that has been put together that can help determine this throughput based on your system assuming only a single 32-bit word of data is transferred for each SPI transaction.  You will simply need to make some measurements on your SPI interface to determine the time needed to transfer data.  Similar measurements and calculations can be made for multi-word SPI transactions which will be more efficient and allow a higher CAN message throughput.

    Throughput Calculator v1.xlsx

    Regards,

    Jonathan