打印

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

[复制链接]
1694|9
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
以马内利3005|  楼主 | 2014-6-28 09:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我用MCBSP发射一个8k的信号,经过aic23b输出,接收到的信号是16k的,我用电脑发送一个10k的正弦信号,用MCBSP接收到的信号是5k的,为啥会这样呢?应该和MCBSP的配置有关,请问如何配置呢?
我发射和接收都是用一次发射或接收函数,16位数据。请不吝赐教,导师天天催,心急如焚,谢谢大家!

相关帖子

沙发
zhangmangui| | 2014-6-28 23:23 | 只看该作者
你的语音回放和播报都没什么问题     所以MCBSP不应该有什么问题
AIC23会不会出问题 啊

使用特权

评论回复
板凳
以马内利3005|  楼主 | 2014-6-30 08:39 | 只看该作者
本帖最后由 以马内利3005 于 2014-6-30 08:42 编辑
zhangmangui 发表于 2014-6-28 23:23
你的语音回放和播报都没什么问题     所以MCBSP不应该有什么问题
AIC23会不会出问题 啊  ...


之前做过一回使用这个板子上的aic23的AD采样,然后飞线到另一块板子上的FPGA和DA输出,当时看着频率是正确的。
aic23和Mcbsp连接,如果发送的数据,是连续两个相同的数据,也就是第2n个数据等于2n+1个数据,输出的波形频率就是对的,你给分析分析?

使用特权

评论回复
地板
以马内利3005|  楼主 | 2014-7-1 22:41 | 只看该作者
还有没有熟悉MCBSP的大侠帮忙分析分析呀?

使用特权

评论回复
5
zhangmangui| | 2014-7-1 22:46 | 只看该作者
顶顶

使用特权

评论回复
6
以马内利3005|  楼主 | 2014-7-3 19:34 | 只看该作者
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 个数据呢?
麻烦帮帮忙分析一下~谢谢啦

使用特权

评论回复
7
aresc| | 2014-7-3 23:07 | 只看该作者
是不是你的FS设的宽了一倍?比如一帧的宽度是CLK/BIT数,如果设成2*CLK/BIT数,就和这个有点像。
另外还有一个CLKS信号有没有用?用的话有没有设对,貌似那个也可以产生FS。
建议用固定的数据用loopback模式先测试一下DSP接收DSP自己发的数据,看对不对。

使用特权

评论回复
8
以马内利3005|  楼主 | 2014-7-4 09:16 | 只看该作者
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()函数,一次写几个声道数据?

使用特权

评论回复
9
以马内利3005|  楼主 | 2014-7-4 16:48 | 只看该作者
aresc 发表于 2014-7-3 23:07
是不是你的FS设的宽了一倍?比如一帧的宽度是CLK/BIT数,如果设成2*CLK/BIT数,就和这个有点像。
另外还有 ...

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

使用特权

评论回复
10
咕噜咕噜哈撒开| | 2017-11-21 23:17 | 只看该作者
以马内利3005 发表于 2014-7-4 16:48
按照我现在的理解,DSP通过MCBSP配合AIC23往外发数据的时候,一个mcbsp_write( )函数发了两个数据,也就 ...

你好我最近也在做这个AIC23和Mcbsp连接的事情,采集到缓冲区的数据总是一对一对的重复出现,是因为采集左右声道两个数据吗?

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:十字架十字架,永是我的荣耀。

18

主题

272

帖子

14

粉丝