SLAU846A June 2023 – October 2023 MSPM0G1105 , MSPM0G1106 , MSPM0G1107 , MSPM0G1505 , MSPM0G1506 , MSPM0G1507 , MSPM0G3105 , MSPM0G3105-Q1 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3505 , MSPM0G3505-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1
DMA status signal DONE_STATUS value 0 indicates that DMA has more data elements to transfer to DAC. When DAC observes DONE_STATUS to be 0, it performs fresh assessment of the number of empty locations in the FIFO and if that matches with the programmed FIFO threshold level it makes the next TRIG_REQ along with TRIG_CNT. Then the whole sequence of operations mentioned above repeats.
When the DMA has finished transferring the complete data then it asserts DMA done signal DONE_REQ along with DMA status signal DONE_STATUS with a non-zero value. When DAC captures DMA status signal with a non-zero value it sets the DMADONE interrupt flag. This interrupt flag can be used to generate an interrupt to the CPU that owns the DAC for the appropriate action to be taken. CTL2.DMATRIGEN bit should be cleared by software to stop further DMA triggers. This interrupt flag can be used to generate an interrupt to the CPU that owns the DAC for the appropriate action to be taken.
The following section explain the details of using the DAC and DMA with the FIFO enabled
DAC-DMA Operation in FIFO Mode (CTL2.FIFOEN=1) and Sample Time Generator enabled