必须为 I2S 模块及 PRCM 模块选择内部音频时钟源:
- I2S:AIFWCLKSRC = 2
- PRCM:I2SBCLKSEL.SRC = 1
PRCM:I2SCLKCTL.SMPL_ON_POSEDGE 寄存器的设置指定了应在哪个 BCLK 边沿对 WCLK 信号进行采样。此设置必须等于 I2S:AIFFMTCFG.SMPL_EDGE 寄存器的设置。
MCLK、BCLK、WCLK 频率及 WCLK 占空比配置如下:
- MCLK 频率 = 48 MHz / PRCM:I2SMCLKDIV.MDIV
- BCLK 频率 = 48 MHz / PRCM:I2SBCLKDIV.BDIV
- 对于 WCLK,配置取决于占空比(PRCM:I2SWCLKDIV.WDIV 称为 WDIV):
- 单相(DSP 格式): PRCM:I2SCLKCTL.WCLK_PHASE = 0
- WCLK 在 1 个 BCLK 周期内为高电平,在 WDIV[9:0] (1 to 1023) BCLK 周期内为低电平。
- WCLK 频率 = BCLK 频率 / (1 + PRCM:I2SWCLKDIV.WDIV[9:0])
- 双相(I2S,LJF 和 RJF 格式): PRCM:I2SCLKCTL.WCLK_PHASE = 1
- WCLK 在 WDIV[9:0](1 至 1023)BCLK 周期内为高电平,在 WDIV[9:0](1 至 1023)BCLK 周期内为低电平。
- WCLK 频率= BCLK 频率 / (2 × WDIV[9:0])
- 用户自定义: PRCM:I2SCLKCTL.WCLK_PHASE = 2
- WCLK 在 WDIV[7:0](1 至 255)BCLK 周期内为高电平,在 WDIV[15:8](1 至 255)BCLK 周期内为低电平。
- WCLK 频率 = BCLK 频率 / (WDIV[7:0] + WDIV[15:8])
必须通过设置 PRCM:I2SCLKCTL.EN = 1 来启用时钟信号 MCLK、BCLK 和 WCLK 的信号生成。当 PRCM:I2SCLKCTL.EN = 0 时,MCLK、BCLK 和 WCLK 信号为静态低电平。