跳转至

请点击下载PDF文档

IIS

功能介绍

芯片内置多路IIS,外部可使用的为IIS0,该接口可以用来对接外部16/24/32位立体声数字音频信号编解码电路,可用于芯片内部CODEC无法满足应用需求的场合。

  • 接收端特征如下:
    • 支持AHB总线进行数据传输和APB总线进行寄存器配置;
    • 支持对LRCK、SCK和接收数据后对DMA请求信号的异常检测,并产生中断信号,可通过软件写1清除;
    • 支持连续与不连续传输;
    • 软件可配收发数据格式:IIS、左对齐和右对齐;
    • 软件可配收发数据的位宽:16bit、20bit、24bit、32bit;
    • LRCK与SCK比例软件可配:1:32、1:64;
    • 声道数据合并可配(单、双声道独立配置):接收时两个16bit的数据合并成32bit,发送时两个16bit的数据压缩成一个32bit数据发送,合并使能可以通过软件配置;
    • 软件可配接收或发送时左右声道数据对调;
    • 软件可配发送FIFO将空触发阈值:半空和四分之一空;
    • 软件可配接收FIFO将满触发阈值:¼满,⅛满,1/16满和1/32满;
    • 收发通道开关使能可通过软件配置;
    • 收发数据通道支持静音功能(数据发送时左右声道可独立静音)、单声道和双声道立体声功能;
    • 发送FIFO深度为32,宽度为32,接收FIFO深度为128,宽度为32;
    • 支持DMA方式数据传输;
    • 支持FIFO溢出中断;
    • 接收和发送通道完全独立,分别使用一套IIS SCK和LRCK时钟。

IIS传输有专用的DMA通道,此处不进行详细描述,芯片配套SDK开发包中已有完整的功能示例和驱动代码,用户可直接调用。

寄存器映射

IIS0寄存器映射的基地址为0x40025000,详细的寄存器映射见表IIS-1。

表IIS-1 IIS0寄存器映射

偏移量 名称 位宽 类型 复位值 描述
0x00 IISINT 32 R/W 0x00000000 IIS中断查询寄存器
0x10 IISTX0CTRL 32 R/W 0x00000000 IIS0发送控制寄存器
0x20 IISRX0CTRL 32 R/W 0x00000000 IIS0接收控制寄存器
0x30 IISLOADCTRL 32 R/W 0x00000000 IIS装载使能控制寄存器
0x34 IISCHKEN_DMA_RX0 32 R/W 0x00000000 IIS0接收DMA请求检测寄存器
0x40 IISCHKEN_RX0 32 R/W 0x00000000 IIS0接收时钟检测寄存器
0x50 IISCHKEN_TX0 32 R/W 0x00000000 IIS0发送时钟检测寄存器

IIS中断查询寄存器(IISINT)

偏移量:0x00

复位值:0x00000000

位域 名称 复位值 类型 描述
31:27 Reserved 0x0000 R/W 保留
26 tt0_err_int 0 R/W 发送通道0数据使能信号产生太快中断标志位,写1清除
25:24 Reserved 0 R/W 保留
23 tt0_err_int 0 R/W 接收通道0数据使能信号产生太快中断标志位,写1清除
22:9 Reserved 0 R/W 保留
8 rx0_fifo_down_int 0 R/W rx0_fifo下溢出中断标志位,写1清除
7 rx0_fifo_over_int 0 R/W rx0_fifo上溢出中断标志位,写1清除
6 tx0_fifo_down_int 0 R/W tx0_fifo下溢出中断标志位,写1清除
5 tx0_fifo_over_int 0 R/W tx0_fifo上溢出中断标志位,写1清除
4 lrck_tx0_int 0 R/W 发送通道0 LRCK时钟CHK中断标志位,写1清除
3 sck_tx0_int 0 R/W 发送通道0 LRCK时钟CHK中断标志位,写1清除
2 dma_rx0_int 0 R/W dma_rx0_req检测的中断标志位,写1清除
1 lrck_rx0_int 0 R/W 接收通道0 LRCK时钟CHK中断标志位,写1清除
0 sck_rx0_int 0 R/W 接收通道0 SCK时钟CHK中断标志位,写1清除

IIS0发送控制寄存器(IISTX0CTRL)

偏移量:0x10

复位值:0x00000000

位域 名称 复位值 类型 描述
31:17 Reserved 0 R/W 保留
16 tx_swap 0 R/W 发送时左右声道数据对调(单声道下左声道发送变为右声道),设置为1有效
15 tx_merge_mono 0 R/W 单声道merge在一起(只有tx_mono为1时才能配置,且必须为16bit),设置为1有效
14 tx_merge 0 R/W 双声道merge在一起(只有tx_mono为0时才能配置,且必须为16bit),设置为1有效
13 tx_mono 0 R/W 单双声道选择:
1:单声道
0:双声道
12:11 tx_df 0 R/W 数据传输格式:
0:IIS
1:左对齐
2:右对齐
10 tx_sck_lrck 0 R/W IIS总线上SCK与LRCK的比例关系(master和slave都有效):
1:SCK = 64*LRCK
0:SCK = 32*LRCK(只有16bit才能配)
9 txch_copy 0 R/W 发送通道复制功能,单通道数据复制到双通道送出(只有tx_mono为1时才能配置),设置为1有效
8 txch_r_mute 0 R/W 发送右声道数据静音,设置为1有效
7 txch_l_mute 0 R/W 发送左声道数据静音,设置为1有效
6:4 txch_dw 0 R/W 发送数据宽度:
0:16bit
1:24bit
2:32bit
3:20bit
3 txfifo_trig 0 R/W 发送FIFO触发等级配置:
0:半空
1:¼空
2:1 Reserved 0 R/W 保留
0 tx_en 0 R/W 发送通道使能,设置为1有效

IIS0接收控制寄存器(IISRX0CTRL)

偏移量:0x20

复位值:0x00000000

位域 名称 复位值 类型 描述
31 Reserved 0 R/W 保留
30 rx_ch_merge 0 R/W 是否参与merge(不能只配置一路ch_merge有效),设置为1有效
29:28 rx_df 0 R/W 数据传输格式:
0:IIS
1:左对齐
2:右对齐
27 rx_sck_lrck 0 R/W IIS总线上SCK与LRCK的比例关系(master和slave都有效):
1:SCK = 64*LRCK
0:SCK = 32*LRCK(只有16bit才能配)
26 rx_mute 0 R/W 接收通道静音使能:
1:静音,接收为0
0:正常模式
25 rx_merge_mono 0 R/W 单声道的两个16bit的数据合并在一起(rx_mono 必须为1才能配置,且必须为16bit),设置为1有效
24 rx_merge 0 R/W 双通道的两个16bit的数据合并在一起(rx_mono 必须为0才能配置,且必须为16bit),设置为1有效
23:18 Reserved 0 R/W 保留
17 rx_swap 0 R/W 数据对调使能,设置为1有效
16 rx_mono 0 R/W 接收声道设置:
0:立体声
1:单声道
15:9 Reserved 0 R/W 保留
8:6 rxch_dw 0 R/W 接收数据宽度:
0:16bit
1:24bit
2:32bit
3:20bit
5:4 rxfifo_trig 0 R/W 接收FIFO触发等级配置:
0:¼满
1:⅛满
2:1/16满
3:1/32满
3:1 Reserved 0 R/W 保留
0 rx_en 0 R/W 接收通道使能,设置为1有效

IIS装载使能控制寄存器(IISLOADCTRL)

偏移量:0x30

复位值:0x00000000

位域 名称 复位值 类型 描述
31:11 Reserved 0 R/W 保留
10 tx_load_en 0 R/W 数据发送通道配置信息装载使能信号,,设置为1有效(先读取该寄存器全部为0才能配置);即使配置发送通道开启或者关闭,该位没有配置也不会生效
9:1 Reserved 0 R/W 保留
0 rx_load_en 0 R/W 数据接收通道配置信息装载使能信号,,设置为1有效(先读取该寄存器全部为0才能配置);即使配置接收通道开启或者关闭,该位没有配置也不会生效

IIS0接收DMA请求检测寄存器(IISCHKEN_DMA_RX0)

偏移量:0x34

复位值:0x00000000

位域 名称 复位值 类型 描述
31:17 Reserved 0 R/W 保留
16 chk_dma_en 0 R/W RX1_DMA_REQ请求检测使能,设置为1有效
15:0 chk_dma_num 0 R/W DMA计数值的阈值

IIS0接收时钟检测寄存器(IISCHKEN_RX0)

偏移量:0x40

复位值:0x00000000

位域 名称 复位值 类型 描述
31:21 Reserved 0 R/W 保留
20:1 chk_rx_num 0 R/W IIS的接收时钟(LRCK与SCK共用)检测计数值的阈值
0 chk_rx_en 0 R/W IIS的接收时钟(LRCK与SCK共用)检测使能,设置为1有效

IIS0发送时钟检测寄存器(IISCHKEN_TX0)

偏移量:0x50

复位值:0x00000000

位域 名称 复位值 类型 描述
31:21 Reserved 0 R/W 保留
20:1 chk_tx_num 0 R/W IIS的发送时钟(LRCK与SCK共用)检测计数值的阈值
0 chk_tx_en 0 R/W IIS的发送时钟(LRCK与SCK共用)检测使能,设置为1有效