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.

TMS570 UART - DMA chaining

Other Parts Discussed in Thread: HALCOGEN

Hello,

we are using a TMS570LS20216PGE device. As part of the project we are to use a UART to exchange data. Architecturally we need to have as signal for every byte that is received. Since we are operating at a fairly high baud rate, we need to use a DMA. So here is my question. How can we configure the DMA such that for every byte received we get an interrupt or can read a status. We are looking to have up to 4 * 1 byte buffers that can be managed by the DMA in a circular fashion. My understanding is that this is feasable if we use the DMA chaining feature. Can anybody help me by providing an example on how to do this configuration ?

Thanks for the support.

regards,

Normand

  • Hello Normand,

    Sorry for the delay in our reply.  We have an example of using DMA to support SPI transfers as included in the latest HALCoGen (www.ti.com/tool/halcogen) release.  

    I have notified one of our experts in this area to respond to your post.  Thanks!

     

  • Normad,

    For using the SCI with DMA , configure the SCI as usual and then configure the DMA channel control packets, with the required Frame,element size , src and destination add using hardware trigger.

    In your case your source would be incremental RAM and destination would be fixed SCI TX Buffer address.Refer data sheet for DMA tx req line details for SCI .

    For TMS57020x it should be 29.

    Find attached a very basic SPI-DMA code. I don't have any SCI-DMA code at the moment, but the concept is same.

    7585.SPI_DMA_TMS57020x.zip

    Let me know if this helps.

    - Pratip