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.
TI专家、各位朋友:
大家好!目前遇到一个问题,我想用EDMA传输数据实现3104的直通。开始传输四个字节数据后就终止了,一次传输没有完成,也就没法产生EMDA传输完成中断。在使用EDMA之前,我采用是CPU轮询的方式,3104可以直通。
设计概况:3104为主 MCASP为从 TDM Mode I2S 2 slot (slot 0,1) 16K采样率 1 slot=32bit
EDMA采用乒乓传输,我想一次传输1000个4字节数据,Param中设置 ACNT=4 BCNT=1000,CCNT=1。收发分别使用3组Param,具体的LINK设置见附件中的源文件。目前EMDA搬运4个字节的数据就终止了,从CPU的寄存器查看Param中的BCNT减了1。
我已经花了一两周的时间来调试这个,但仍无结果,甚是惆怅,请大家帮忙看下,不胜感激。
附件中包含我的全部工程,IDE:CCSV5 仿真器:XDS100V2
#1:关于paRAM拷贝的问题,假如channel 12的paRAM所控制的EDMA完成传输后,假如其Linker address是channel 127的paRAM,channel 127 paRAM的内容将完全被拷贝到channel 12 的paRAM中,然后进行下一次DMA传输,以后以此类推,都是将Linker address指定的paRAM的内容拷贝到channel 12 的paRAM中。
#2:至于IPR无法清除,可以自己试试往ICR寄存器写1,别用别人封装的函数。
#3:你可以把你EMDA 串口程序,发到我邮箱,我可以帮你调试下。我邮箱:mrweilee@163.com
您好,看到您在论坛中帮助了很多人解决问题,我也在调试中遇到了不少问题,想向您请教一下,我用的DSP和您用不同,希望您在看到消息后能帮助我考虑一下我的问题。
我用的DM642处理音频信号,由McASP传输数据,因为之前有师兄基于C6713用McBSP通道处理过,当时没有采用EDMA方式,而是由CPU直接访问McBSP的DDR中的数据,其中由McBSP接收产生中断进入音频处理函数。因为642的处理速度明显比6713快很多,所以,我想也可以直接由CPU处理,而不需要增加EDMA,但是在调试过程中出了不少问题。
1、载入程序到DSP后,启动后能正常收发声音,但是只要暂停程序后再次启动,就不能在发出声音了,这可能是由于什么原因?
2、计划的McASP接收中断RINT一直不能产生,但是声音初次启动程序时有时可以正常收发的,这又可能是什么原因?