Edit online

寄存器描述

0x000 I2S_CTL

默认值:0x00060000 I2S控制(I2S Control)
位域 类型 默认值 描述
31:19 - - -
18 R/W 0x1 BCLK_OUTBCLK
输出输入使能
  • 0x0:BCLK 为输入信号
  • 0x1:BCLK 为输出信号
17 R/W 0x1 LRCK_OUTLRCK
输出输入使能
  • 0x0:LRCK 为输入信号
  • 0x1:LRCK 为输出信号
16:9 - - -
8 R/W 0x0 DOUT0_EN
  • 0x0:DOUT0 关闭,高阻态
  • 0x1:DOUT0 使能
7 - - -
6 R/W 0x0 OUT_MUTE,输出静音使能
  • 0x0:正常传输模式
  • 0x1:DOUT强制输出0
5:4 R/W 0x0 Mode SEL,模式选择
  • 0x0:PCM模式(offset = 0, Long Frame模式;offset = 1, Short Frame模式)
  • 0x1:Left Mode(offset = 0,Left Justified模式;offset = 1,I2s模式)0x2:Right Justified模式0x3:Reserved
3 R/W 0x0 LOOP,Loop Back测试
  • 0x0:正常工作模式
  • 0x1:Loop Back测试模式
2 R/W 0x0 TXEN,发送模块使能
  • 0x0:发送模块禁止
  • 0x1:发送模块使能
1 R/W 0x0 RXEN,接收模块使能
  • 0x0:接收模块禁止
  • 0x1:接收模块使能
0 R/W 0x0 GEN,全局使能
  • 0x0:全局模块禁止
  • 0x1:全局模块使能

0x004 I2S_FMT0

默认值:0x00000033 I2S 格式 0 寄存器(I2S Format 0)
位域 类型 默认值 描述
31 - - -
30 R/W 0x0 LRCK_WIDTH
选择PCM long frame/short frame
  • 0x0:Short Frame 模式
  • 0x1:Long Frame 模式
29:20 - - -
19 R/W 0x0 LRCK_POLARITY
选择 LRCK 的左右通道极性
  • 0x0:I2S模式下,LRCK低电平表示左声道;PCM模式下,LRCK下降沿有效进行数据传输
  • 0x1:I2S模式下,LRCK高电平表示左声道;PCM模式下,LRCK上升沿有效进行数据传输
18 - - -
17:8 R/W 0x0 LRCK_PERIOD
LRCK的数据时间长度,在 PCM 模式下,这里是左右声道的数据时间长度,在 I2S 模式下,这里是左声道或右声道的数据时间长度。
  • 0x0:1x BCLK时间长度
  • 0x1:2x BCLK时间长度
  • 0x2:3x BCLK时间长度
  • 0x3FF:1024x BCLK时间长度
7 R/W 0x0 BCLK_POLARITY
选择 BCLK 的工作模式
  • 0:正常模式,DOUT 在 BCLK 的下降沿发送数据
  • 1:反相模式,DOUT 在 BCLK 的上升沿发送数据
6:4 R/W 0x3 SR
Sample Resolution 采样点精度配置
  • 0x0:Reserved
  • 0x1:8-bit
  • 0x2:12-bit
  • 0x3:16-bit
  • 0x4:20-bit
  • 0x5:24-bit
  • 0x6:28-bit
  • 0x7:32-bit
3 R/W 0x0 EDGE_TRANSFER
DOUT 和 DIN 收发数据边沿配置
  • 0x0:DOUT 和 DIN 采用不同的 BCLK 边沿进行收发
  • 0x1:DOUT 和 DIN 采用相同的 BCLK 边沿进行收发
2:0 R/W 0x3 SWSlot Width Select 通道位宽设定
  • 0x0:Reserved
  • 0x1:8-bit0x2:12-bit0x3:16-bit0x4:20-bit0x5:24-bit0x6:28-bit0x7:32-bit

0x008 I2S_FMT1

默认值:0x00000030 I2S 格式 1 寄存器(I2S Format 1)
位域 类型 默认值 描述
31:8 - - -
7 R/W 0x0 RX MLSMSB/LSB First Select
  • 0x0:最高比特MSB先接收
  • 0x1:最低比特LSB先接收
6 R/W 0x0 TX MLSMSB/LSB First Select
  • 0x0:最高比特MSB先发送
  • 0x1:最低比特LSB先发送
5:4 R/W 0x3 SEXT
Slot 扩展方式(在SR<Slot Width的情况下)
  • 0x0:Zeros or Audio gain padding at LSB Position
  • 0x1:以 MSB 符号位填充
  • 0x2:Reserved
  • 0x3:以 0 填充
3:2 R/W 0x0 RX_PDM
接收PCM数据模式
  • 0x0:线性PCM
  • 0x1:Reserved
  • 0x2:8-bit u-law
  • 0x3:8-bit A-law
1:0 R/W 0x0 TX_PDM
发送PCM数据模式
  • 0x0:线性PCM
  • 0x1:Reserved
  • 0x2:8-bit u-law
  • 0x3:8-bit A-law

0x00C I2S_INT_STS

默认值:0x00000010 I2S 中断状态寄存器(I2S Interrupt Status)
位域 类型 默认值 描述
31:7 - - -
6 R/W1C 0x0 TXU_INT
TXFIFO下溢出中断
  • 0x0:中断未产生
  • 0x1:中断产生
5 R/W1C 0x0 TXO_INT
TXFIFO上溢出中断
  • 0x0:中断未产生
  • 0x1:中断产生
4 R/W1C 0x1 TXE_INT
TXFIFO的空中断产生(小于触发阈值TXTL)
  • 0x0:中断未产生
  • 0x1:中断产生
3 - - -
2 R/W1C 0x0 RXU_INT
RXFIFO下溢出中断产生
  • 0x0:中断未产生
  • 0x1:中断产生
1 R/W1C 0x0 RXO_INT
RXFIFO上溢出中断产生
  • 0x0:中断未产生
  • 0x1:中断产生
0 R/W1C 0x0 RXA_INT
RXFIFO接收到有用数据(大于触发阈值RXTL+1)中断产生
  • 0x0:中断未产生
  • 0x1:中断产生

0x010 I2S_RXFIFO

默认值:0x00000000 I2S RXFIFO 寄存器(I2S RXFIFO)
位域 类型 默认值 描述
31:0 R 0x0 RX_DATA

RXFIFO 的数据从这里读出,左通道先读,然后是右通道。

0x014 I2S_FIFO_CTL

默认值:0x000400F0 I2S FIFO 控制寄存器(I2S FIFO Control)
位域 类型 默认值 描述
31:26 - - -
25 R/WAC 0x0 FTX

清除TXFIFO,写1清除TXFIFO,自动清0

24 R/WAC 0x0 FRX

清除RXFIFO,写1清除RXFIFO,自动清0

23:19 - - -
18:12 R/W 0x40 TXTL

TXFIFO触发阈值,在TXFIFO的数据小于TXTL,将触发中断以及DMA请求。

11:10 - - -
9:4 R/W 0xF RXTL

RXFIFO 触发阈值,在RXFIFO的数据大于(RXTL+1),将触发中断以及DMA请求。

3 - - -
2 R/W 0x0 TXIMTXFIFO输入模式
  • 0x0:发送有效数据占据高位,例如 TXFIFO[31:0] = {APB_WDTATA[31:12],12’h0}
  • 0x1:发送有效数据占据低位,例如 TXFIFO[31:0] = {12’h0,APB_WDTATA[19:0] }
1:0 R/W 0x0 RXOM
RXFIFO 输出模式
  • 0x0:RXFIFO输出数据低位填充0

    例如 APB_RDATA = {RXFIFO[31:12],12’h0}

  • 0x1:RXFIFO 输出数据高位填充 MSB 符号位

    例如 APB_RDATA = {12*RXFIFO[31],RXFIFO[31:12]}

  • 0x2:截取RXFIFO的高16-bit数据,低16位补充0

    例如 APB_RDATA = {RXFIFO[31:16],16’h0}

  • 0x3:截取RXFIFO的低16-bit数据,高16位补充MSB

    例如 APB_RDATA = {16*RXFIFO[31],RXFIFO[31:16]}

0x018 I2S_FIFO_STS

默认值:0x10800000 I2S FIFO 状态寄存器(I2S FIFO Status)
位域 类型 默认值 描述
31:29 - - -
28 R 0x1 TXE
TX FIFO空状态
  • 0x0:TXFIFO 空间满,无空间存放新的采样点数据
  • 0x1:TXFIFO 空间未满,可以存放多于1个采样点数据(大于1word)
27:24 - - -
23:16 R 0x0 TXE_CNT

TX FIFO可用空间(Word)计数

15:9 - - -
8 R 0x0 RXA
RXFIFO接收有用数据状态
  • 0x0:RXFIFO 没有可用的数据
  • 0x1:FIFO 存在超过1个采样点数据(大于1word)
7 - - -
6:0 R 0x0 RXA_CNT

RXFIFO接收的有用数据(Word)计数

0x01C I2S_INT_EN

默认值:0x00000000 I2S 中断使能寄存器(I2S Interrupt Enable)
位域 类型 默认值 描述
31:8 - - -
7 R/W 0x0 TX_DRQ_EN
TXFIFO发送数据的DRQ请求
  • 0x0:禁止请求
  • 0x1:使能请求
6 R/W 0x0 TXUI_EN
TXFIFO发送数据下溢出中断TXUI_INT使能
  • 0x0:禁止中断
  • 0x1:使能中断
5 R/W 0x0 TXOI_EN
TXFIFO发送数据上溢出中断TXOI_INT使能
  • 0x0:禁止中断
  • 0x1:使能中断
4 R/W 0x0 TXEI_EN
TXFIFO发送数据空中断TXEI_INT使能
  • 0x0:禁止中断
  • 0x1:使能中断
3 R/W 0x0 RX_DRQ
RXFIFO接收有用数据的DRQ请求
  • 0x0:禁止请求
  • 0x1:使能请求
2 R/W 0x0 RXUI_EN
RXFIFO接收数据下溢出中断RXUI_INT使能
  • 0x0:禁止中断
  • 0x1:使能中断
1 R/W 0x0 RXOI_EN
RXFIFO 接收数据上溢出中断RXOI_INT使能
  • 0x0:禁止中断
  • 0x1:使能中断
0 R/W 0x0 RXAI_EN
RXFIFO接收有用数据中断RXA_INT使能
  • 0x0:禁止中断
  • 0x1:使能中断

0x020 I2S_TXFIFO

默认值:0x00000000 I2S TXFIFO 寄存器(I2S TXFIFO)
位域 类型 默认值 描述
31:0 W 0x0 TX_DATA

TXFIFO的数据需从这里写入,左通道的数据先写,然后是右通道的数据。

0x024 I2S_CLK_DIV

默认值:0x00000000 I2S 时钟分频寄存器(I2S Clock Divide)
位域 类型 默认值 描述
31:9 - - -
8 R/W 0x0 MCLKO_EN
使能 MCLK 输出
  • 0x0:MCLK 禁止输出
  • 0x1:MCLK 使能输出
7:4 R/W 0x0 BCLKDIV
BCLK的分频系数
  • 0x0:Reserved
  • 0x1:除1
  • 0x2:除2
  • 0x3:除4
  • 0x4:除6
  • 0x5:除8
  • 0x6:除12
  • 0x7:除16
  • 0x8:除24
  • 0x9:除32
  • 0xA:除48
  • 0xB:除64
  • 0xC:除96
  • 0xD:除128
  • 0xE:除176
  • 0xF:除192
3:0 R/W 0x0 MCLKDIV
MCLK分频系数
  • 0x0:Reserved
  • 0x1:除1
  • 0x2:除2
  • 0x3:除4
  • 0x4:除6
  • 0x5:除8
  • 0x6:除12
  • 0x7:除16
  • 0x8:除24
  • 0x9:除32
  • 0xA:除48
  • 0xB:除64
  • 0xC:除96
  • 0xD:除128
  • 0xE:除176
  • 0xF:除192

0x028 I2S_TX_CNT

默认值:0x00000000 I2S 发送计数器寄存器(I2S Transmit Counter)
位域 类型 默认值 描述
31:9 R/W 0x0 TX_CNT

TX Sample Counter,传送至 TXFIFO 的采样点数据的计数器。当一个采样点写入 TXFIFO,这里自增1。这里可以在任意时间写入任意初始值。

0x02C I2S_RX_CNT

默认值:0x00000000 I2S 发送计数器寄存器(I2S Transmit Counter)
位域 类型 默认值 描述
31:9 R/W 0x0 RX_CNT

RX Sample Counter,传送至RXFIFO的采样点数据的计数器。当一个采样点写入RXFIFO,这里自增1。这里可以在任意时间写入任意初始值。

0x030 I2S_CH_CFG

默认值:0x00000000 I2S 通道配置寄存器(I2S Channel Configure)
位域 类型 默认值 描述
31:10 - - -
9 R/W 0x0 TX_SLOT_HIZ
  • 0x0:Normal mode for the last half cycle of BCLK in the slot
  • 0x1:Turn to Hi-Z state for the last half cycle of BCLK in the slot
8 R/W 0x0 TX_STATE在不需要的Slot上发送0/设置高阻态
  • 0x0:在不需要传输的slot上发送0
  • 0x1:在不需要传输的slot上设置高阻态
7:4 R/W 0x0 RX_SLOT_NUMRX的TDM SLOT 数量
  • 0x0:1x SLOT
  • 0x1:2x SLOT
  • 0xF:16x SLOT
3:0 R/W 0x0 TX_SLOT_NUMTX的TDM SLOT 数量
  • 0x0:1x SLOT
  • 0x1:2x SLOT
  • 0xF:16x SLOT

0x034 I2S_TX0CH_SEL

默认值:0x00000000 I2S TX0 通道选择寄存器(I2S TX0 Channel Select)
位域 类型 默认值 描述
31:22 - - -
21:20 R/W 0x0 TX0_OFFSET
配置DATA与LRCK的偏移量,单位为BCLK
  • 0x0:无偏移
  • 0x1:1x BCLK偏移
  • 0x2:2x BCLK偏移
  • 0x3:3x BCLK偏移
19:16 R/W 0x0 TX0_CHSEL
配置TX0的TDM模式通道数量
  • 0x0:1x 通道
  • 0x1:2x 通道
  • 0xF:16x 通道
15:0 R/W 0x0 TX0_CHEN
配置TX0的TDM模式通道使能,BIT[15:0]分别对应通道15~0的使能。
  • 0x0:通道禁止
  • 0x1:通道使能

0x044 I2S_TX0CH_MAP0

默认值:0x00000000 I2S TX0 通道映射0寄存器(I2S TX0 Channel Map0)
位域 类型 默认值 描述
31:28 R/W 0x0 TX0_CH15_MAP
TX0 CH15的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
27:24 R/W 0x0 TX0_CH14_MAP
TX0 CH14的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
23:20 R/W 0x0 TX0_CH13_MAP
TX0 CH13的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
19:16 R/W 0x0 TX0_CH12_MAP
TX0 CH12的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
15:12 R/W 0x0 TX0_CH11_MAP
TX0 CH11的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
11:8 R/W 0x0 TX0_CH10_MAP
TX0 CH10的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
7:4 R/W 0x0 TX0_CH9_MAP
TX0 CH9的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
3:0 R/W 0x0 TX0_CH8_MAP
TX0 CH8的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据

0x048 I2S_TX0CH_MAP1

默认值:0x00000000 I2S TX0 通道映射 1 寄存器(I2S TX0 Channel Map1)
位域 类型 默认值 描述
31:28 R/W 0x0 TX0_CH7_MAP
TX0 CH7的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
27:24 R/W 0x0 TX0_CH6_MAP
TX0 CH6的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
23:20 R/W 0x0 TX0_CH5_MAP
TX0 CH5的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
19:16 R/W 0x0 TX0_CH4_MAP
TX0 CH4的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
15:12 R/W 0x0 TX0_CH3_MAP
TX0 CH3的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
11:8 R/W 0x0 TX0_CH2_MAP
TX0 CH2的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
7:4 R/W 0x0 TX0_CH1_MAP
TX0 CH1的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
3:0 R/W 0x0 TX0_CH0_MAP
TX0 CH0的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据

0x064 I2S_RX0CH_SEL

默认值:0x00000000 I2S RX0 通道选择寄存器(I2S RX0 Channel Select)
位域 类型 默认值 描述
31:22 - - -
21:20 R/W 0x0 RX0_OFFSET
配置DATA与LRCK的偏移量,单位为BCLK
  • 0x0:无偏移
  • 0x1:1x BCLK偏移
  • 0x2:2x BCLK偏移
  • 0x3:3x BCLK偏移
19:16 R/W 0x0 RX0_CHSEL
配置RX0的TDM模式通道数量
  • 0x0:1x 通道
  • 0x1:2x 通道
  • 0xF:16x 通道
15:0 - - -

0x068 I2S_RX0CH_MAP0

默认值:0x00000000 I2S RX0 通道映射 0 寄存器(I2S RX0 Channel Map0)
位域 类型 默认值 描述
31:28 R/W 0x0 RX0_CH15_MAP
RX0 CH15的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
27:24 R/W 0x0 RX0_CH14_MAP
RX0 CH14的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
23:20 R/W 0x0 RX0_CH13_MAP
RX0 CH13的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
19:16 R/W 0x0 RX0_CH12_MAP
RX0 CH12的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
15:12 R/W 0x0 RX0_CH11_MAP
RX0 CH11的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
11:8 R/W 0x0 RX0_CH10_MAP
RX0 CH10的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
7:4 R/W 0x0 RX0_CH9_MAP
RX0 CH9的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
3:0 R/W 0x0 RX0_CH8_MAP
RX0 CH8的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据

0x06C I2S_RX0CH_MAP1

默认值:0x00000000 I2S RX0 通道映射 1 寄存器(I2S RX0 Channel Map1)
位域 类型 默认值 描述
31:28 R/W 0x0 RX0_CH7_MAP
RX0 CH7的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
27:24 R/W 0x0 RX0_CH6_MAP
RX0 CH6的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
23:20 R/W 0x0 RX0_CH5_MA
PRX0 CH5的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
19:16 R/W 0x0 RX0_CH4_MAP
RX0 CH4的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
15:12 R/W 0x0 RX0_CH3_MAP
RX0 CH3的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
11:8 R/W 0x0 RX0_CH2_MAP
RX0 CH2的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
7:4 R/W 0x0 RX0_CH1_MAP
RX0 CH1的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据
3:0 R/W 0x0 RX0_CH0_MAP
RX0 CH0的通道映射
  • 0x0:第1个采样点数据
  • 0x1:第2个采样点数据
  • 0xF:第16个采样点数据

0x074 VERSION

默认值:0x00000100 I2S 版本号(VERSION)
位域 类型 默认值 描述
31:0 RO 0x00000100 Version (模块版本号)

采用 BCD 码显示,V1.0