TI论坛
直播中

韩俊

7年用户 183经验值
私信 关注
[问答]

请教关于C6455的MCBSP1+EDMA3传输问题

我在做C6455芯片的MCBSP1的EDMA3传输,(传输位宽为8bit,同步模式A,在DLB模式下测试)遇到了一些问题:
      1、每次完成EDMA传输,产生中断之后,我又要重新对MCBSP1的寄存器进行初始化,才能进行下一次传输,而不是只配置EDMA寄存器就可以(选择的STAtiC_DIS);
       2、每次完成传输,我发现接收总是多接收一个字节(第一个字节固定是0x00),因此我的接收长度比发送长度多一个字节才能接收完整;
       3、当我把MCBSP1的时钟分频设置成0(1分频)的时候,我发现接收的数据是不完整的,会出现一个字节重复接收两次,有的字节却丢失了(我需要166MHZ的时钟才能满足传输需求);
      这几个问题有人能给我提供帮助吗?非常感谢。

回帖(5)

李波

2018-8-1 07:56:42
  
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

韩俊

2018-8-1 08:11:24
引用: lifei639156 发表于 2018-8-1 07:56
<blockquote class="quote"/>  
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.

我当时看的手册,cpu固定6分频到sysclk3,是166MHz,然后在mcbsp的SRGR'寄存器的CLKGDV写0,不就是可以配置到时钟166MHz吗?
举报

李波

2018-8-1 08:18:25
引用: muqi555 发表于 2018-8-1 08:11
我当时看的手册,cpu固定6分频到sysclk3,是166MHz,然后在mcbsp的SRGR'寄存器的CLKGDV写0,不就是可以配置到时钟166MHz吗?

一个是配置,一个是电气特性能否达到。
比如说CPU的频率你配置到10GHz也是可以配置的啊, 但是实际不能在这么高频率运行。所以你要配置CLKGDV使CLK的频率在100MHz以内(即cycle time >=10ns)
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

韩俊

2018-8-1 08:35:23
引用: lifei639156 发表于 2018-8-1 08:18
一个是配置,一个是电气特性能否达到。
比如说CPU的频率你配置到10GHz也是可以配置的啊, 但是实际不能在这么高频率运行。所以你要配置CLKGDV使CLK的频率在100MHz以内(即cycle time >=10ns)
                                                                         http://processors.wiki.ti.com/index.php/Main_Page

 问题解决了。我发现这个很有意思。ESR寄存器和MCBSP的使能寄存器(SPCR),只需要开一个,我开启通道使能之后,再配置了ESR寄存器,就总是第一个字节多收的。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分