We are using the DSPI module (in SPI mode) of the MPC5777C. The documentation says in §42.2.2 "Features" that 16 bits is the natural frame size but that with Continuous Selection Format, it is possible to reach 32 bits frames:
• Programmable serial frame size: 4 to 32
• SPI frames longer than 16 bits can be supported using the continuous selection format.
I don't see why with the same arguments we couldn't go to 64 bits frames. We'd only have to:
- Push 4 words in the PUSHR (each with 16 bits of data)
- Always use the same CTAR (with 16 bits frame size)
- First 3 words would enable PUSHR[CONT], last word would deassert it
- Make sure the 4 words are pushed in the TX FIFO close to each other so that the DSPI doesn't get an empty TX FIFO between two frames of the whole 64 bits message.
We could even go further than 64 bits (e.g. 80 bits) by polling the TX FIFO and pushing more words to it as soon as one entry is poped...
Will that work? Thanks.