Microchip
直播中

苏笛笛

8年用户 180经验值
私信 关注
[问答]

如何为11.2896Mhz I2s接口44,1khz音频生成时钟?

嗨,我需要通过I2S接口发送一个44,1kHz音频。我使用的是pic32Mx1xx/2xx(仍然决定型号)。将POSC设置为40MHz我能得到的最好的是11.28996692MHz,这给出了000325%的误差,我可以使用一个112895MHz的晶体,但是用这个频率“Fin”、“Fvo”等总是在和声时钟图中保持红色。这是协调错误,但不管我放入主振荡器的频率(甚至是小数频率),进入“参考时钟”部分的“Fvco”总是一个整数值,甚至“System PLL”部分的“Fvco”也是小数频率。这是虫子吗?所以,有人知道如何实现0%,44,1kHz音频错误?谢谢。。。

回帖(1)

李玲

2020-4-7 09:43:55
除非时钟POSC完全被44100整除,否则您将总是有一些错误(在您的情况下。00325)。实际上,那个错误值很小,应该工作。数据源和I2S之间的数据时钟总是存在一些差异,这最终会导致缓冲区处于/溢出状态,这取决于缓冲队列的大小以及数据从队列中移除的速率相对于接收数据的速率。队列可以做得足够大,以防止下溢丢失非常频繁地发生。作为替代方案,可以使用基于缓冲队列级别监视的RODIV和ROTRIM值的某种时钟同步来防止下溢情况的发生。
举报

更多回帖

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