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.
Hi
I am trying to get the edma and mcasp hooked up. Basically the mcasp is connected to a codec (lcdk board) and I want to get the a/d data via the edma. The application runs ok with a/d interrupts but is not efficient.
I have got the edma and the mcasp running ok. However I am having problems triggering the edma port 0 which is mapped to the mcasp receive channel. The rx event is not showing on the edma event register however the tx events are showing up. So for now I have done a work around by using the tx events to read the a/d data. This works fine. This presents a problem though, as when I want to use edma for the d/a side, the associated tx event in the evt reg would already be used up by the rx side.
My questions are:
1. Why doesn't the rx events show up in the edma event register bit 0? From what I have read it should show up by default even if the edma is used or not.
2. The rx and tx are ganged together via sync mode in the mcasp. Does this have any bearing on the problem of the rx events not showing up on the event register.
I have read and re-read the manuals and I cannot find any clues as to what is going on.
Your help is greatly appreciated.
Thanks
Manjula
Manjula,
For #2, I will recommend that you turn off sync mode (set ASYNC=1) and see if that changes the behavior of the AREVT.
When you are operating in sync mode (ASYNC=0), only one event is needed since both Tx and Rx need to occur after the same event. You can set your EDMA Tx channel to chain (using intermediate mode AND completion/final mode chaining, OPT.TCCH=OPT.ITCCH=1) to your EDMA Rx channel so each event from the McASP will cause both channels to initiate transfers.
Regards,
RandyP
Hi Randy
I looked into your suggestion and it worked. Please also not that the documentation should explicitly state that in McASP SYNC mode the AREVT does not trigger in the EDMA event register.
Thanks for your help.
Manjula