请问一下
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;