TI论坛
直播中

吴樵

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

请问C6748的mcbsp总线用于I2S能准确分频到16KHz或48KHz吗?

请问一下ti的工程:
        我这里目前有一个项目要用mcbsp总线模拟16/48KHz的I2S总线把音频数据传到一个arm开发板上,目前接入ARM后对缓存进行观察。发现ARM接收的数据都比DSP发出来的数据右移了2倍,
       我dsp发出来的数据为15“ 1111” ,17 “10001”, 19“10011”,ARM端接收到的数据是60“1111”,68“10001”,76“10011”。
       我对了一下配置,上升沿触发、对齐方式都是和ARM的I2S一致的。所以怀疑是不是mcbsp的总线频率不准造成的。我用的c6748,总线频率是456MHz,经过分频,只能分频到47.818KHz。和ARM的时钟有一点差别。但是不确定是不是这个造成的。
        // 指定帧周期值(+1) 一帧总共有32bit        McBSP0Regs.SRGR.bit.FPER=31;    //帧周期值+1指定了什么时候下一帧同步信号是有效的。范围是1~4096个采样率发生器时钟(CLKG)周期        // 指定帧宽度值(+1)        McBSP0Regs.SRGR.bit.FWID=15;      //帧寛值+1指定在此次活动周期的帧同步脉冲(FSG)宽度        // 采样率生成器时钟分频  228000000/32/149 = 47.819KHz        McBSP0Regs.SRGR.bit.CLKGDV=148;

回帖(10)

吴樵

2019-1-23 07:31:26
上面有一段写错了:       
我dsp发出来的数据为15“ 1111” ,17 “10001”, 19“10011”,ARM端接收到的数据是60“111100”,68“1000100”,76“1001100”。
举报

李波

2019-1-23 07:47:54
发送端与接收端的沿要是反的才行啊。
比如上升沿发送,接收端则要设为下降沿,否则采不准啊~~~
                                                                         http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

李波

2019-1-23 08:05:06
                                                                           http://processors.wiki.ti.com/index.php/Main_Page
Think Over Before Asking.
http://www.catb.org/~esr/faqs/smart-questions.html#goal
举报

吴樵

2019-1-23 08:23:32
引用: lifei639156 发表于 2019-1-23 07:47
发送端与接收端的沿要是反的才行啊。
比如上升沿发送,接收端则要设为下降沿,否则采不准啊~~~
                                                                         http://processors.wiki.ti.com/index.php/Main_Page

我试验了,只能正确的接收到低8位数据,高8位的数据都很混乱找不到什么规律。我目前还是用中断的方式。
举报

更多回帖

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