寄存器描述
0x000 I2S_CTL
默认值:0x00060000 | I2S 控制(I2S Control) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:19 | - | - | - |
18 | R/W | 0x1 | BCLK_OUTBCLK 输出输入使能
|
17 | R/W | 0x1 | LRCK_OUTLRCK 输出输入使能
|
16:9 | - | - | - |
8 | R/W | 0x0 | DOUT0_EN
|
7 | - | - | - |
6 | R/W | 0x0 | OUT_MUTE,输出静音使能
|
5:4 | R/W | 0x0 | Mode SEL,模式选择
|
3 | R/W | 0x0 | LOOP,Loop Back 测试
|
2 | R/W | 0x0 | TXEN,发送模块使能
|
1 | R/W | 0x0 | RXEN,接收模块使能
|
0 | R/W | 0x0 | GEN,全局使能
|
0x004 I2S_FMT0
默认值:0x00000033 | I2S 格式 0 寄存器(I2S Format 0) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31 | - | - | - |
30 | R/W | 0x0 | LRCK_WIDTH 选择 PCM long frame/short frame
|
29:20 | - | - | - |
19 | R/W | 0x0 | LRCK_POLARITY 选择 LRCK 的左右通道极性
|
18 | - | - | - |
17:8 | R/W | 0x0 | LRCK_PERIOD LRCK 的数据时间长度,在 PCM 模式下,这里是左右声道的数据时间长度,在 I2S
模式下,这里是左声道或右声道的数据时间长度。
|
7 | R/W | 0x0 | BCLK_POLARITY 选择 BCLK 的工作模式
|
6:4 | R/W | 0x3 | SR Sample Resolution 采样点精度配置
|
3 | R/W | 0x0 | EDGE_TRANSFER DOUT 和 DIN 收发数据边沿配置
|
2:0 | R/W | 0x3 | SWSlot Width Select 通道位宽设定
|
0x008 I2S_FMT1
默认值:0x00000030 | I2S 格式 1 寄存器(I2S Format 1) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:8 | - | - | - |
7 | R/W | 0x0 | RX MLS MSB/ LSB First Select
|
6 | R/W | 0x0 | TX MLS MSB/ LSB First Select
|
5:4 | R/W | 0x3 | SEXT Slot 扩展方式(在 SR<Slot Width 的情况下)
|
3:2 | R/W | 0x0 | RX_PDM 接收 PCM 数据模式
|
1:0 | R/W | 0x0 | TX_PDM 发送 PCM 数据模式
|
0x00C I2S_INT_STS
默认值:0x00000010 | I2S 中断状态寄存器(I2S Interrupt Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:7 | - | - | - |
6 | R/W1C | 0x0 | TXU_INT TXFIFO 下溢出中断
|
5 | R/W1C | 0x0 | TXO_INT TXFIFO 上溢出中断
|
4 | R/W1C | 0x1 | TXE_INT TXFIFO 的空中断产生(小于触发阈值 TXTL)
|
3 | - | - | - |
2 | R/W1C | 0x0 | RXU_INT RXFIFO 下溢出中断产生
|
1 | R/W1C | 0x0 | RXO_INT RXFIFO 上溢出中断产生
|
0 | R/W1C | 0x0 | RXA_INT RXFIFO 接收到有用数据(大于触发阈值 RXTL+1)中断产生
|
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 输入模式
|
1:0 | R/W | 0x0 | RXOM RXFIFO 输出模式
|
0x018 I2S_FIFO_STS
默认值:0x10800000 | I2S FIFO 状态寄存器(I2S FIFO Status) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:29 | - | - | - |
28 | R | 0x1 | TXE TX FIFO 空状态
|
27:24 | - | - | - |
23:16 | R | 0x0 | TXE_CNT TX FIFO 可用空间(Word)计数 |
15:9 | - | - | - |
8 | R | 0x0 | RXA RXFIFO 接收有用数据状态
|
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 请求
|
6 | R/W | 0x0 | TXUI_EN TXFIFO 发送数据下溢出中断 INT 使能
|
5 | R/W | 0x0 | TXOI_EN TXFIFO 发送数据上溢出中断 INT 使能
|
4 | R/W | 0x0 | TXEI_EN TXFIFO 发送数据空中断 INT 使能
|
3 | R/W | 0x0 | RX_DRQ RXFIFO 接收有用数据的 DRQ 请求
|
2 | R/W | 0x0 | RXUI_EN RXFIFO 接收数据下溢出中断 INT 使能
|
1 | R/W | 0x0 | RXOI_EN RXFIFO 接收数据上溢出中断 INT 使能
|
0 | R/W | 0x0 | RXAI_EN RXFIFO 接收有用数据中断 INT 使能
|
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 输出
|
7:4 | R/W | 0x0 | BCLKDIV BCLK 的分频系数
|
3:0 | R/W | 0x0 | MCLKDIV MCLK 分频系数
|
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
|
8 | R/W | 0x0 | TX_STATE 在不需要的 Slot 上发送 0/设置高阻态
|
7:4 | R/W | 0x0 | RX_SLOT_NUMRX 的 SLOT 数量
|
3:0 | R/W | 0x0 | TX_SLOT_NUMTX 的 SLOT 数量
|
0x034 I2S_TX0CH_SEL
默认值:0x00000000 | I2S TX0 通道选择寄存器(I2S TX0 Channel Select) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:22 | - | - | - |
21:20 | R/W | 0x0 | TX0_OFFSET 配置 DATA 与 LRCK 的偏移量,单位为 BCLK
|
19:16 | R/W | 0x0 | TX0_CHSEL 配置 TX0 的 TDM 模式通道数量
|
15:0 | R/W | 0x0 | TX0_CHEN 配置 TX0 的 TDM 模式通道使能,BIT[15:0] 分别对应通道 15~0 的使能。
|
0x044 I2S_TX0CH_MAP0
默认值:0x00000000 | I2S TX0 通道映射 0 寄存器(I2S TX0 Channel Map0) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | R/W | 0x0 | TX0_CH15_MAP TX0 CH15 的通道映射
|
27:24 | R/W | 0x0 | TX0_CH14_MAP TX0 CH14 的通道映射
|
23:20 | R/W | 0x0 | TX0_CH13_MAP TX0 CH13 的通道映射
|
19:16 | R/W | 0x0 | TX0_CH12_MAP TX0 CH12 的通道映射
|
15:12 | R/W | 0x0 | TX0_CH11_MAP TX0 CH11 的通道映射
|
11:8 | R/W | 0x0 | TX0_CH10_MAP TX0 CH10 的通道映射
|
7:4 | R/W | 0x0 | TX0_CH9_MAP TX0 CH9 的通道映射
|
3:0 | R/W | 0x0 | TX0_CH8_MAP TX0 CH8 的通道映射
|
0x048 I2S_TX0CH_MAP1
默认值:0x00000000 | I2S TX0 通道映射 1 寄存器(I2S TX0 Channel Map1) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | R/W | 0x0 | TX0_CH7_MAP TX0 CH7 的通道映射
|
27:24 | R/W | 0x0 | TX0_CH6_MAP TX0 CH6 的通道映射
|
23:20 | R/W | 0x0 | TX0_CH5_MAP TX0 CH5 的通道映射
|
19:16 | R/W | 0x0 | TX0_CH4_MAP TX0 CH4 的通道映射
|
15:12 | R/W | 0x0 | TX0_CH3_MAP TX0 CH3 的通道映射
|
11:8 | R/W | 0x0 | TX0_CH2_MAP TX0 CH2 的通道映射
|
7:4 | R/W | 0x0 | TX0_CH1_MAP TX0 CH1 的通道映射
|
3:0 | R/W | 0x0 | TX0_CH0_MAP TX0 CH0 的通道映射
|
0x064 I2S_RX0CH_SEL
默认值:0x00000000 | I2S RX0 通道选择寄存器(I2S RX0 Channel Select) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:22 | - | - | - |
21:20 | R/W | 0x0 | RX0_OFFSET 配置 DATA 与 LRCK 的偏移量,单位为 BCLK
|
19:16 | R/W | 0x0 | RX0_CHSEL 配置 RX0 的 TDM 模式通道数量
|
15:0 | - | - | - |
0x068 I2S_RX0CH_MAP0
默认值:0x00000000 | I2S RX0 通道映射 0 寄存器(I2S RX0 Channel Map0) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | R/W | 0x0 | RX0_CH15_MAP RX0 CH15 的通道映射
|
27:24 | R/W | 0x0 | RX0_CH14_MAP RX0 CH14 的通道映射
|
23:20 | R/W | 0x0 | RX0_CH13_MAP RX0 CH13 的通道映射
|
19:16 | R/W | 0x0 | RX0_CH12_MAP RX0 CH12 的通道映射
|
15:12 | R/W | 0x0 | RX0_CH11_MAP RX0 CH11 的通道映射
|
11:8 | R/W | 0x0 | RX0_CH10_MAP RX0 CH10 的通道映射
|
7:4 | R/W | 0x0 | RX0_CH9_MAP RX0 CH9 的通道映射
|
3:0 | R/W | 0x0 | RX0_CH8_MAP RX0 CH8 的通道映射
|
0x06C I2S_RX0CH_MAP1
默认值:0x00000000 | I2S RX0 通道映射 1 寄存器(I2S RX0 Channel Map1) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:28 | R/W | 0x0 | RX0_CH7_MAP RX0 CH7 的通道映射
|
27:24 | R/W | 0x0 | RX0_CH6_MAP RX0 CH6 的通道映射
|
23:20 | R/W | 0x0 | RX0_CH5_MA PRX0 CH5 的通道映射
|
19:16 | R/W | 0x0 | RX0_CH4_MAP RX0 CH4 的通道映射
|
15:12 | R/W | 0x0 | RX0_CH3_MAP RX0 CH3 的通道映射
|
11:8 | R/W | 0x0 | RX0_CH2_MAP RX0 CH2 的通道映射
|
7:4 | R/W | 0x0 | RX0_CH1_MAP RX0 CH1 的通道映射
|
3:0 | R/W | 0x0 | RX0_CH0_MAP RX0 CH0 的通道映射
|
0x074 VERSION
默认值:0x00000100 | I2S 版本号(VERSION) | ||
---|---|---|---|
位域 | 类型 | 默认值 | 描述 |
31:0 | RO | 0x00000100 | Version (模块版本号) 采用 BCD 码显示,V1.0 |