寄存器描述
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 |