This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

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;