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.

MSP430F6736: SD24 and DMA - SD24 Overflow

Part Number: MSP430F6736

Hi,

I'm testing the SD24 with the DMA. I noted that when I configure the SD24 to continuous mode the Overflow bit stays active, even after the DMA transfer.

When the SD24 is configured to single-mode there is no Overflow active.

Is this behavior normal?

Thanks.

  • Is the DMA reading the right number of L/H registers according to the setting of SD24OV32? [Ref User Guide (SLAU208Q) Sec 29.2.13]

    We suppose that the DMA (running continually) will prevent any overflow from occurring, but if it ever does, the DMA by itself won't clear SD24OVIFG [Ref UG Sec 29.2.13.1] 

    There are also a few (rather disturbing-looking) Errata regarding the DMA, but none explicitly mentions the SD24 [Ref Errata sheet (SLAZ349AE) pp 9-10]

  • Hi ,

    The SD24OV32 was cleared, then, reading just one register will reset the flag, but I'm reading the two registers.

    The DMA was configured to be triggered by the SD24 on each conversion, and it was configured before the start of conversion, then I don't know why the SD24OVIFG is being set. I tried to clear the flag without success.

    The strange thing is that using Single-conversion there is no overflow. Changing to continuous-mode triggers this behavior. But the samples seem to be ok using a periodic signal like a sine wave.

  • How did you try to clear SD24OVIFGn? And how do you know it didn't? (I.e., what is your test sequence?)

    Is your DMA using word (16-bit) references to read the L/H registers? The User Guide doesn't explicitly say you have to, but it seems like a good idea. Since you're reading both registers, it seems like you might as well set SD24OV32=1.

    On the face of it, a single conversion won't trigger an overflow since there's only one result to store. I suspect you meant something else by that observation.

    [I don't have an F6736; my experience is with the i2 series, which doesn't have DMA. So I can only guess -- you'll have to do the experiments.]

  • I called the function "SD24_B_clearInterrupt( )" when the respective DMA interruption occured.

    Yes, the DMA was configured to transfer words (16-bit). I will test set "SD24OV32=1".

  • Hi Haroldo,

    How about your issue? Do you need our further support?

    Best Regards

    Johnson

  • Hi Johnson,

    The code looks work well, but the overflow flag still activated.

    There is a solution?

    Best Regards

  • Hi Haroldo,

    Is it convenient to upload your code, which will help us test and diagnose the problem.

    Best Regards

    Johnson

**Attention** This is a public forum