9.9.4. 寄存器描述

9.9.4.1. 0x000 I2S_CTL

默认值:0x00060000

I2S控制(I2S Control)

位域

类型

默认值

描述

31:19

-

-

-

18

R/W

0x1

BCLK_OUT
BCLK输出输入使能
0x0: BCLK为输入信号
0x1: BCLK为输出信号

17

R/W

0x1

LRCK_OUT
LRCK输出输入使能
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:全局模块使能

9.9.4.2. 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

SW
Slot Width Select 通道位宽设定
0x0:Reserved
0x1:8-bit
0x2:12-bit
0x3:16-bit
0x4:20-bit
0x5:24-bit
0x6:28-bit
0x7:32-bit

9.9.4.3. 0x008 I2S_FMT1

默认值:0x00000030

I2S格式1寄存器(I2S Format 1)

位域

类型

默认值

描述

31:8

-

-

-

7

R/W

0x0

RX MLS
MSB/LSB First Select
0x0:最高比特MSB先接收
0x1:最低比特LSB先接收

6

R/W

0x0

TX MLS
MSB/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

9.9.4.4. 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:中断产生

9.9.4.5. 0x010 I2S_RXFIFO

默认值:0x00000000

I2S RXFIFO寄存器(I2S RXFIFO)

位域

类型

默认值

描述

31:0

R

0x0

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

9.9.4.6. 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

TXIM
TXFIFO输入模式
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]}

9.9.4.7. 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)计数

9.9.4.8. 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:使能中断

9.9.4.9. 0x020 I2S_TXFIFO

默认值:0x00000000

I2S TXFIFO寄存器(I2S TXFIFO)

位域

类型

默认值

描述

31:0

W

0x0

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

9.9.4.10. 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

9.9.4.11. 0x028 I2S_TX_CNT

默认值:0x00000000

I2S发送计数器寄存器(I2S Transmit Counter)

位域

类型

默认值

描述

31:9

R/W

0x0

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

9.9.4.12. 0x02C I2S_RX_CNT

默认值:0x00000000

I2S发送计数器寄存器(I2S Transmit Counter)

位域

类型

默认值

描述

31:9

R/W

0x0

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

9.9.4.13. 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_NUM
RX的TDM SLOT 数量
0x0:1x SLOT
0x1:2x SLOT
0xF:16x SLOT

3:0

R/W

0x0

TX_SLOT_NUM
TX的TDM SLOT 数量
0x0:1x SLOT
0x1:2x SLOT
0xF:16x SLOT

9.9.4.14. 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:通道使能

9.9.4.15. 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个采样点数据

9.9.4.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个采样点数据

9.9.4.17. 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

-

-

-

9.9.4.18. 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个采样点数据

9.9.4.19. 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_MAP
RX0 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个采样点数据

9.9.4.20. 0x074 VERSION

默认值:0x00000100

I2S 版本号(VERSION)

位域

类型

默认值

描述

31:0

RO

0x100

Version(模块版本号)
采用BCD码显示,V1.00