如题,原子哥的探索者板子是用的F407输出的MCLK时钟,根据不同的采样率来设定MCLK的频率
现在的实际情况是的WM8978的MCLK是一个独立的是晶体12.288MHZ
WM8978自己有一个PLL电路,为了应对不同的采样率MCLK时钟要设置成PLL提供,
由上图可知 设置R6的第8位为1 就可以是PLL提供时钟;
为了应对不同的采样率PLL的值应该是可变的 PLL/256=采样率
PLL频率比率R=f2/f1可以通过寄存器PLLK和PLLN设置: PLLN=int R PLLK=int(2的24次方(R-PLLN)) 寄存器地址 | | | | | | | | | | | | | PLL输入/输出频率比率整数部分,值大于5小于13 | | | | | PLL输入/输出频率比率小数部分(视为一个24位的二进制数码) | | | | | | | | |
当f2在90MHz附近时PLL的性能最好,它的稳定性峰值N=8。
这是探索者开发版带的资料; 问: 这个PLL的具体是怎么计算的,小弟愚笨看懂上面的算法!! 问: 当WM8978使用外部独立时钟是移植原子哥代码需要改动是: 设置MCLK为芯片内部PLL共; 设置相应是PLL输出频率 禁止F407输出MCLK 就OK了?
|