使用5509A的MCBSP进行数据传输,信号的频率为何倍增或减半?

2019-07-15 00:36发布

我用MCBSP发射一个8k的信号,经过aic23b输出,接收到的信号是16k的,我用电脑发送一个10k的正弦信号,用MCBSP接收到的信号是5k的,为啥会这样呢?应该和MCBSP的配置有关,请问如何配置呢?
我发射和接收都是用一次发射或接收函数,16位数据。请不吝赐教,导师天天催,心急如焚,谢谢大家!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
7条回答
以马内利3005
1楼-- · 2019-07-15 13:28
还有没有熟悉MCBSP的大侠帮忙分析分析呀?
zhangmangui
2楼-- · 2019-07-15 13:52
顶顶
以马内利3005
3楼-- · 2019-07-15 15:42
zhangmangui 发表于 2014-7-1 22:46
顶顶

版主,你看了我楼上给你回复的没?有没有什么想法或建议?
我在用 MCBSP 发射的时候可以这样,比如我有一组数据频率是8k的,有10个数据,分别是1,2,3,4,5,6,7,8,9,10,想要发射出去,得到的波形也是8k的,就得构造一个有20个数据的数组,其数据为1,1,2,2,3,3,4,4……10,10,这样通过AIC23的DA转换得到的波形就是8k。
那么我想要把这段波形通过MCBSP再采集回来,其频率就会变成4k,我要采取什么样的措施可以得到仍然是8k的10 个数据呢?
麻烦帮帮忙分析一下~谢谢啦
aresc
4楼-- · 2019-07-15 20:40
 精彩回答 2  元偷偷看……
以马内利3005
5楼-- · 2019-07-15 23:34
aresc 发表于 2014-7-3 23:07
是不是你的FS设的宽了一倍?比如一帧的宽度是CLK/BIT数,如果设成2*CLK/BIT数,就和这个有点像。
另外还有 ...

谢谢回复~~
MCBSP的时钟信号和帧同步信号都是外部提供,也就是aic23b提供,FS也是由aic23b决定的,没用CLKS信号,现在用的FS是48k。
loopback模式是没问题的,我现在把数据(8k)发出去,记录一下(这个频率倍增16k),再接收回来,也是对的(8k)。
你的第一句话没太看懂。
我在想,是不是左右声道的问题,一直没有彻底缕清楚MCBSP_WRITE()函数,一次写几个声道数据?
以马内利3005
6楼-- · 2019-07-16 05:07
aresc 发表于 2014-7-3 23:07
是不是你的FS设的宽了一倍?比如一帧的宽度是CLK/BIT数,如果设成2*CLK/BIT数,就和这个有点像。
另外还有 ...

按照我现在的理解,DSP通过MCBSP配合AIC23往外发数据的时候,一个mcbsp_write( )函数发了两个数据,也就是AIC23需要的左右声道的数据,通过DA后输出的模拟信号,我只采集了一个声道的信号,导致频率改变。
当采集模拟信号到DSP内时,可以先接收,再2倍降采样得到数据。

一周热门 更多>