我想要实现的是DMAX 与 MCASP之间的数据通信,mcasp的时钟频率为24M,之前实现的mcasp的帧频率为2M,现在想要提升帧的频率,通过调试,目前只能达到4.8M,如果再加快,通过示波器检测到的波形就失真了,通过加快Dmax的时钟频率还是不行,请问该怎么解决?谢谢
Tony Tang:
时钟是24MHz, 帧频4.8MHz,24/4.8=5, 每一帧最多只有5-bit。请问你是咋实现的?
Yiping Chen4:
回复 Tony Tang:
帧同步信号频率是4.8M,即mcasp数据一位的发送频率是4.8M,一共发送32位数据
Yiping Chen4:
回复 Tony Tang:
一帧发出32位数据,示波器能检测到
Tony Tang:
回复 Yiping Chen4:
#1.一位的时钟是位时钟,按你的说话,帧频是4.8/32bit。
#2. Mcasp位时钟最高可以达到50MHz,你说的失真是什么意思?是不是示波器带宽不够?
Yiping Chen4:
回复 Tony Tang:
1.对,发送一个帧同步信号,发送一个32bit数据
2.mcasp采用的是内部师兄模式,即24M
3.加快mcasp的数据发送频率,示波器检测到的输出信号与输出数据不一样,还有会出现一个数据发送会出现停滞现象,
就是发了几个bit后,没有信号了,接着又会把剩余的bit发送出来
Tony Tang:
回复 Yiping Chen4:
速度就是以这个时钟决定的,你说的加快发送频率是什么意思?不停的发?加快要提高时钟频率才行啊。每次发送都要检测XDATA为1才能进行下一次发送。
Yiping Chen4:
回复 Tony Tang:
是的,我就是想通过提高时钟频率来加快数据发送频率,每次发送都有检测的
Tony Tang:
回复 Yiping Chen4:
是不是在两次发送之间加入了处理代码,而这个处理又占时比较长?所以导致发送不及时,从而出现了XUNDRN,数据跟着出错了~~~
Yiping Chen4:
回复 Tony Tang:
哦,两次数据发送之间是有处理代码,就是dmax的中断标志位清除和事件的初始化及发送,我已经把延迟减到尽可能小,可是如果没有这段代码就无法实现数据的再次发送
TI中文支持网



