Part Number: MSP432P401R
MSP432 Team,
A customer needs to perform 16, 24, and 32-bit word transfers in SPI mode with the eUSCI. That is, they need UCxSTE to go inactive between word transfers. However, the eUSCI only allows data width of 7 or 8 bits. I have confirmed using an EVM that the UCxSTE bit will remain active between transfers if you keep UCxTXBUF filled without the TX shift register getting empty (this needs to be documented). So, the CPU could be used to perform a multi-byte transfer using interrupts from the eUSCI. If the CPU is used, an alternative is to use a GPIO in place of UCxSTE signal as well. Then the CPU has full manual control of the STE signal.
But, I don't think the DMA can be efficiently used here. I think all you could do is setup the DMA to transfer the number of bytes needed in a single word (e.g., 16, 24, or 32 bit word). After that, you need a pause so that the eUSCI stops transmitting and the UCxSTE signal goes inactive. The CPU could then re-start the DMA for the next word.
Am I missing the trick here? Is there any way to get the DMA to handle a buffer of multiple 16, 24, or 32-bit words to the eUSCI without the need for CPU intervention? Specifically, the UCxSTE signal must go inactive between words.
Thank you,
David