TI中文支持网
TI专业的中文技术问题搜集分享网站

OMAPL138 DSP(C6748) AIC3104 MCASP EDMA3 PINGPONG传输问题(TI专家请进)

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 

 

wei lee1:

        这几天社区维护吗?一直登陆不上,我又调试了下,依然不行,改用定时器产生EDMA事件,进行内存间数据的拷贝,可以实现PING PONG传输,间接证明了我对EDMA这块的理解是正确的,但数据搬运接口改到MCASP的接收发送BUF上就不行了呢?

       我自己接着调试,顺便在线等TI专家、各位大神的点拨,谢谢。

haihui xu:

你好,我发现咱们的工作很相同,我现在用XDS560V2和CCS5进行OMAP-L138驱动的调试,你说的这个MCASP的问题,我马上就要调试这个驱动了,之前你给我回复的关于PING-PONG的问题,你说的拷贝是什么意思?我已经花了三天弄这个了,进了中断之后IPR一直无法清除,在我的新帖子里面已经贴出来我的配置代码了。能否给我一个你的邮箱,咱们便于沟通,一个人做驱动,太头大了,都没人讨论的。

wei lee1:

回复 haihui xu:

#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

haihui xu:

回复 wei lee1:

谢谢你,我现在就把工程发给你!

li wan1:

回复 wei lee1:

您好,看到您在论坛中帮助了很多人解决问题,我也在调试中遇到了不少问题,想向您请教一下,我用的DSP和您用不同,希望您在看到消息后能帮助我考虑一下我的问题。

我用的DM642处理音频信号,由McASP传输数据,因为之前有师兄基于C6713用McBSP通道处理过,当时没有采用EDMA方式,而是由CPU直接访问McBSP的DDR中的数据,其中由McBSP接收产生中断进入音频处理函数。因为642的处理速度明显比6713快很多,所以,我想也可以直接由CPU处理,而不需要增加EDMA,但是在调试过程中出了不少问题。

1、载入程序到DSP后,启动后能正常收发声音,但是只要暂停程序后再次启动,就不能在发出声音了,这可能是由于什么原因?

2、计划的McASP接收中断RINT一直不能产生,但是声音初次启动程序时有时可以正常收发的,这又可能是什么原因?

赞(0)
未经允许不得转载:TI中文支持网 » OMAPL138 DSP(C6748) AIC3104 MCASP EDMA3 PINGPONG传输问题(TI专家请进)
分享到: 更多 (0)