是的。
[C] 纯文本查看 复制代码 /*
*********************************************************************************************************
* 特别说明:
* SAI_CK_A和SAI_CK_B的时钟可以由PLLSAI或者PLLI2S提供,由于LCD的LTDC要使用PLLSAI,这里WM8978使用PLLI2S。
* --------------------------------------
* 本工程 HSE_VALUE = 8MHz,PLL_M = 8。
* 第1步: 先获取PLLI2SCLK
* PLLI2SCLK = (HSE_VALUE / PLL_M) * PLLI2S_N) / PLLI2S_Q
*
* 第2步: 经过PLLI2SDiv_Q分频获得SAI-A和SAI-B。
* SAI_CK_A和SAI_CK_B = PLLI2SCLK / PLLI2SDiv_Q
*
* 第3步:
* 如果 MCKDIV[3:0] 不等于 0000,则 MCLK_x = SAI_CK_x / (MCKDIV[3:0] * 2)
* 如果 MCKDIV[3:0] 等于 0000,则 MCLK_x = SAI_CK_x
* 此时MCLK_x的输出就是SAI接口的MCLK的输出频率,即主时钟频率。
* 另外采样率跟主时钟频率的关系是MCLK/FS = 256,采样率通过SAI接口的SCK引脚输出。
* --------------------------------------------------------------------------------
* Note:误差率 = abs(实际采样率-目标采样率)/目标采样率 * 100%
*
* 采用下面的参数配置采样率误差如下:
* 目标采样率(Hz) 实际采样率(Hz) 误差率
* 8000 8000 0.0000%
* 16000 16000.60096 0.0037%
* 32000 32001.20192 0.0037%
* 48000 47991.07142 0.0186%
* 96000 95982.14285 0.0186%
* 192000 191894.53125 0.0549%
*
* 11020 11024.8766 0.0011%
* 22050 22049.7532 0.0011%
* 44100 44099.5065 0.0011%
*
*********************************************************************************************************
*/
|