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.

SSI+DMA cmpletion intterupt issue

Other Parts Discussed in Thread: TM4C1292NCPDT

Hello all,

I ran into the same issue about SSI+DMA completion interrupt as in this thread posted by Christian Voglhober, https://e2e.ti.com/support/microcontrollers/tiva_arm/f/908/t/361916.

Is anyone here successful to find a solution for the issue?

My app should transfer/receive continuously some data via SSI-slave using TM4C1292NCPDT. So my approach is using SSI  and DMA with ping-pong transfer mode.

It worked fine with Stellaris but when it comes to porting it toTiva-C I encountered the issue.

When a transfer with the PRI channel finishes, in the ISR DMATXRIS bit in SSIRIS register cannot be cleared by writing '1' to DMATXIC in SSIICR as datasheet says.

It looks cleared after both disabling TXDMAE in SSIDMACTL and writing '1' to DMATXIC.

However, DMATXRIS is set again by re-enabling TXDMAE even if the ALT channel transfer is still in progress (not completed).

This ends up with re-entering the ISR forever and nothing can be executed any more.

Additionally, as described in the datasheet to clear DMATXRIS, disabling TXDMAE bit is a helpless method because my app should keep transferring in ping-pong mode. 

I think that this issue is going to an errata and wondering why it is not explained in an errata after the first post by Christian in Aug 2014.

Amit, a TI employee, mentioned it was planned to an errata in the thread.

Anyway, I need a workaround for it. Please give me any suggestion and advise.

  • Hello Morizzo

    The errata and the WA is already published.

    Regards
    Amit
  • Thank you for your quick reply, Amit.

    Please indicate which errata you mentioned.

    I read spmz850d.pdf but it seems to me that any of the errata items has nothing to do with my issue.

    Do you think that my case is SSI#07 ?

    I am using SSI in slave mode, not in master mode. And I am using SSI with uDMA.

    Could you please explain how it can be related to my case?

    Thanks,

  • Hello Morizzo,

    Yes, I was referring to SSI#07 and it seems that the issue spans across the slave mode as well (I would need to test the same on my side).

    Since it involves the DMA in PING PONG mode, I don't think the WA specified would work. However since the Slave cannot operate at more than 1/12 of the system clock and the SIS has buffer it should be possible to use the BASIC mode.

    Regards
    Amit