编程指南
-
接口信号配置,I2S_CTL 寄存器相关参数值及描述如下:
-
bclk_out = 1, BCLK 为输出信号。
-
lrck_out = 1,LRCK 为输出信号。
-
dout0_en = 1,DOUT0 输出使能。
-
-
格式配置,I2S 格式:
-
I2S_CTL 寄存器
mode_sel = 0x1,I2S 模式。
-
I2S_FMT0 寄存器
lrck_polarity = 0x0,LRCK 低电平为左声道,高电平为右声道。
lrck_period = 0x1f ,在 S 模式下,左/右声道的数据时间长度,这里配置为 32 * BCLK。
bclk_polarity = 0x0,DOUT 在 BCLK 的下降沿发送数据。
sr = 0x3,采样点的数据精度为 16bit。
sw = 0x7,通道位宽设定为 32bit,配置与 period 一致。
-
I2S_FMT1 寄存器
tx_mls = 0x0,最高比特 MSB 先发送。
sext = 0x0,在 sr < sw 的情况下,在低位补 0。
tx_pdm = 0x0,线性 PCM 数据。
-
I2S_TX0CHSEL 寄存器
tx0_offset = 0x1,1x BCLK 偏移,实现 S 格式。
tx0_chsel = 0x1, TDM 采用 2x 通道,1 路通道作为左声道,1 路通道作为右声道。
tx0_chen = 0x3,TDM 使能通道 0 和通道 1。
-
I2S_TX0MAP1 寄存器
tx0_ch0_map = 0x0,通道 0 映射 FIFO 读取的第一个采样点,为左声道数据。
tx0_ch1_map = 0x1,通道 0 映射 FIFO 读取的第二个样点,为右声道数据。
-
对于播放 48 KHz、16bit 的音源数据,采用 PCM 格式 Short Frame 进行传输,初始化配置如下:
-
接口信号配置,I2S_CTL 寄存器相关参数值及描述如下:
-
bclk_out = 1, BCLK 为输出信号。
-
lrck_out = 1,LRCK 为输出信号。
-
dout0_en = 1,DOUT0 输出使能。
-
-
PCM Short Frame 格式配置:
-
I2S_CTL 寄存器
mode_sel = 0x0,PCM 模式
-
I2S_FMT0 寄存器
pcm_fmt = 0x0,Short Frame 模式。
lrck_polarity = 0x0,short Frame 模式下对应 LRCK 的下降沿触发数据传输。
lrck_period = 0x3F,总的数据长度为 64x BCLK。
bclk_polarity = 0x0,DOUT 在 BCLK 的下降沿发送数据。
sr = 0x3,采样点的数据精度为 16bit。
sw = 0x7,通道位宽设定为 32bit。
-
I2S_FMT1 寄存器
tx_mls = 0x0,最高比特 MSB 先发送。
sext = 0x0,在 sr < sw 的情况下,在低位补 0。
tx_pdm = 0x0,线性 PCM 数据。
-
I2S_TX0CHSEL 寄存器
tx0_offset = 0x1,1x BCLK 偏移。
tx0_chsel = 0x1, TDM 采用 2x 通道,1 路通道作为左声道,1 路通道作为右声道。
tx0_chen = 0x3,TDM 使能通道 0 和通道 1。
-
I2S_TX0MAP1 寄存器
tx0_ch0_map = 0x0,通道 0 映射 FIFO 读取的第一个采样点,为左声道数据。
tx0_ch1_map = 0x1,通道 0 映射 FIFO 读取的第二个样点,为右声道数据。
-