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.

TMS320F28P650DH: SCI RX with DMA

Part Number: TMS320F28P650DH
Other Parts Discussed in Thread: C2000WARE

Hi Experts,

My customer needs to receieve 26 continuous byte with SCI. I believe the bytes must be read out from the FIFO to avoid overflow. 

DMA seems not connected to SCI, in this case, how can we achieve above function with minimum CPU occupation? 

Regards,

Hang

  • Hi Hang,

    You are correct, SCI does not have DMA access. However on the F28P65x, the UART module does have access to the DMA (that's why the peripheral was added to this device). The SCI and UART IPs function very similarly (both do a UART protocol), so I would suggest they switch to using that. We have an example in C2000ware for UART+DMA operation called uart_ex4_loopback_dma in [C2000ware install]/driverlib/f28p65x/examples/c28x/uart/ folder.

    To receive 26 continuous bytes, they can do a FIFO level of 2/16 and DMA burst size of 2. Then transfer size can be 13. Note that unlike SCI, UART has no odd FIFO levels on this device, so 13/16 would not be possible in this case. Let me know if they have any questions about this. The example should be pretty self-explanatory and well commented to show how they can do this. 

    Best Regards,

    Delaney