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.

CCS/MSP432P401R: Is the msp432 udma triggered by gpio pin?

Part Number: MSP432P401R

Tool/software: Code Composer Studio

hi all:

I use msp432 spi collect the data of ads1292. In order to reduce power consumption, I want  to use DMA to move data.

The ads1292 has a data ready pin. When the data is ready, the ready pin will output level. My question is: the ready pin can direct trigger the spi dma to get ads1292 data and move it to ram?

or only the spi dam  triggered  by ready pin trigger a gpio interrupt ,  in the interrupt  manual start the spi dma move data?

thanks!

 
  • Hello,
    I believe there are a couple of ways you could do this. First, you must always transmit data to activate the SPI clock. So even if you are only receiving data from the ads1292 you still have to write to the TXBUF.

    The most straight forward and simple is to use the GPIO interrupt to start a DMA transfer to the TXBUF on one DMA channel and then use another DMA channel to receive the data and place into SRAM. Please bear in mind with the eUSCI module the TXIFG is automatically set when the peripheral is released from reset. Here are a couple examples related to the SPI and DMA.

    dev.ti.com/.../

    dev.ti.com/.../

    Alternatively, you could use the ready signal to directly connect to the DMAE0 pin to trigger a DMA event. The challenge with this implementation is that the GPIO is the trigger event so you could only send one/two bytes at the most. You could setup a scatter-gather implementation so that upon a single DMAE0 trigger you could sequence multiple writes to the TX buffer (and as in the first example use another DMA channel to receive the data) however, since you are not triggering off of the TXIFG you need to add filler or ‘dummmy’ tasks into the scatter gather sequence to prevent writing to the TXBUF before it is ready. The DMA does not have a mechanism to be triggered from multiple sources nor does it provide any logic to check if the TXBUF trigger (TXIFG) – it simply moves data.

    You may also find this discussion helpful.

    e2e.ti.com/.../2026180

    Regards,
    Chris

**Attention** This is a public forum