I have configured the EDMA on C6424 to read 256 bytes from the UART. Currently we are working on a ping pong buffer method, where in as soon as 256bytes gets filled an interrupt gets generated by the EDMA. Then I can use the filled buffer for processing. In case there is infrequent transmission of data on UART, I would like to start processing UART data after some time even if it is less than 256 bytes. Can EDMA be configured to generate interrupt if it receives less than 256 bytes ie., if any data has been received via UART?
You have two choices. You can set TCINTEN to generate an interrupt at the end of the complete transfer sequence programmed into the DMA channel's PARAM. Or you can set ITCINTEN to generate an interrupt after each event or Transfer Request, except for the last one. Of course, you can select both choices at the same time.
But you have to decide how much data will be transferred between interrupts, and then generate an interrupt after that many bytes have been transferred.
If this is clear enough, please mark this Answered. If not, please reply back asking again, maybe with some clarification.
Search for answers, Ask a question, click Verify when complete, Help others, Learn more.
I offer the following just as "wild ideas" that may or may not be of use in trying to solve the problem. I am not familiar with that specific UART hardware, but in many cases one can examine a UART register to see how much data is currently in the device's buffer, and that can be done without any use of interrupts. You might also consider using a timer interrupt to periodically poll the buffer. With EDMA you should be able to chain between data transfer and increment of a buffer counter, or maybe just examine the current buffer pointer for the EDMA channel. Good luck; there must be a way!
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with respect to these materials. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.