CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
结构体 | 类型定义 | 枚举 | 函数

CI130X芯片iis驱动 更多...

结构体

struct  iis_tx_config_t
 IIS TX初始化结构体 更多...
 
struct  iis_rx_config_t
 IIS RX初始化结构体 更多...
 
struct  IIS_DMA_TXInit_Typedef
 IISDMA TX初始化结构体 更多...
 
struct  IIS_DMA_RXInit_Typedef
 IISDMA RX初始化结构体 更多...
 

类型定义

typedef struct iis_tx_config_tiis_tx_config_p
 
typedef struct iis_rx_config_tiis_rx_config_p
 

枚举

enum  iis_base_t {
  IIS0 = HAL_IIS0_BASE,
  IIS1 = HAL_IIS1_BASE,
  IIS2 = HAL_IIS2_BASE
}
 IIS控制器定义 更多...
 
enum  iis_data_width_t {
  IIS_DW_16BIT = 0,
  IIS_DW_24BIT = 1,
  IIS_DW_32BIT = 2,
  IIS_DW_20BIT = 3
}
 IIS数据宽度 更多...
 
enum  iis_data_format_t {
  IIS_DF_IIS = 0,
  IIS_DF_MSB = 1,
  IIS_DF_LSB = 2
}
 IIS 数据格式(标准IIS格式,左对齐格式,右对齐格式) 更多...
 
enum  iis_sound_channel_t {
  IIS_SC_STEREO = 0,
  IIS_SC_MONO = 1
}
 IIS 声道选择(单声道还是双声道) 更多...
 
enum  iis_tx_channal_t { IIS_TX_CHANNAL_TX0 = 0 }
 IIS TX 发送通道选择 更多...
 
enum  iis_txfifo_trig_t {
  IIS_TX_FIFO_1D2 = 0,
  IIS_TX_FIFO_1D4 = 1
}
 IIS TX 发送FIFO触发等级配置 更多...
 
enum  iis_rx_channal_t { IIS_RX_CHANNAL_RX0 = 0 }
 IIS RX 接收通道 更多...
 
enum  iis_rxfifo_trig_t {
  IIS_RX_FIFO_1D4 = 0,
  IIS_RX_FIFO_1D8 = 1,
  IIS_RX_FIFO_1D16 = 2,
  IIS_RX_FIFO_1D32 = 3
}
 IIS RX 接收FIFO触发等级配置 更多...
 
enum  iis_sck_lrck_t {
  IIS_SCK_LRCK_32 = 0,
  IIS_SCK_LRCK_64 = 1
}
 IIS 总线上SCK与LRCK的比例关系 更多...
 
enum  iis_cmd_t {
  IIS_ENABLE = 1,
  IIS_DISABLE = 0
}
 

函数

void iis_tx_enable (uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
 IIS发送使能 更多...
 
void iis_tx_l_mute (uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
 IIS发送模式,左声道静音 更多...
 
void iis_tx_r_mute (uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
 IIS发送模式,右声道静音 更多...
 
void iis_tx_chk (uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
 IIS发送模式,SCK和LRCK时钟检测 更多...
 
void iis_tx_config (uint32_t iis_base, iis_tx_config_p tx_cfg)
 IIS发送模式,配置 更多...
 
void iis_rx_enable (uint32_t iis_base, iis_rx_channal_t cha, FunctionalState cmd)
 IIS接收使能 更多...
 
void iis_rx_mute (uint32_t iis_base, iis_rx_channal_t cha, FunctionalState cmd)
 IIS接收模式,静音 更多...
 
void iis_rx_chk (uint32_t iis_base, iis_rx_channal_t cha, FunctionalState cmd)
 IIS接收模式,SCK和LRCK时钟检测 更多...
 
void iis_rx_dma_chk (uint32_t iis_base, iis_rx_channal_t cha, FunctionalState cmd)
 IIS接收模式,DMA请求检测使能 更多...
 
void iis_rx_config (uint32_t iis_base, iis_rx_config_p rx_cfg)
 IIS接收配置 更多...
 
void iis_int_handler (uint32_t iis_base)
 IIS中断处理 更多...
 
void IISx_TXDMA_Init (IIS_DMA_TXInit_Typedef *IISDMA_Str)
 IISDMA 发送通道初始化 更多...
 
void IISx_RXDMA_Init (IIS_DMA_RXInit_Typedef *IISDMA_Str)
 IISDMA 接收通道初始化 更多...
 

详细描述

CI130X芯片iis驱动


结构体说明

◆ iis_tx_config_t

struct iis_tx_config_t

IIS TX初始化结构体

成员变量
iis_tx_channal_t cha

TX 发送通道选择

iis_sck_lrck_t sck_lrck

总线上SCK与LRCK的比例关系

iis_data_format_t tx_df

IIS 数据格式(标准IIS格式,左对齐格式,右对齐格式)

uint32_t tx_merge

双声道merge在一起(只有配置双声道时才能配置,且数据宽度必须为16bit),1 enable; 0 disable

iis_sound_channel_t tx_sc

IIS 声道选择(单声道还是双声道)

uint32_t tx_swap

发送时左右声道数据对调(单声道下左声道发送变为右声道),1 enable; 0 disable

uint32_t txch_copy

TX 通道复制功能,单通道数据复制到双通道送出(只有配置单声道才能配置)

iis_data_width_t txch_dw

TX 数据宽度

iis_txfifo_trig_t txfifo_trig

TX 发送FIFO触发等级配置

◆ iis_rx_config_t

struct iis_rx_config_t

IIS RX初始化结构体

成员变量
iis_rx_channal_t cha

RX 接收通道选择

iis_data_format_t rx_df

IIS 数据格式(标准IIS格式,左对齐格式,右对齐格式)

uint32_t rx_merge

两个 16bit merge在一起(数据宽度为16bit才能merge),1 enable; 0 disable

iis_sound_channel_t rx_sc

IIS 声道选择(单声道还是双声道)

uint32_t rx_swap

接收时左右声道数据对调(单声道下左声道发送变为右声道),1 enable; 0 disable

iis_data_width_t rxch_dw

RX 数据宽度

iis_rxfifo_trig_t rxfifo_trig

RX 接收FIFO触发等级配置

iis_sck_lrck_t sck_lrck

总线上SCK与LRCK的比例关系

◆ IIS_DMA_TXInit_Typedef

struct IIS_DMA_TXInit_Typedef

IISDMA TX初始化结构体

成员变量
IISDMAChax iisdmacha IISDMACha
IISDMA_RXTXxRollbackADDR rollbackaddr0size IISDMA传输地址回卷中断产生,需要IISDMA搬运多少次
IISDMA_RXTXxRollbackADDR rollbackaddr1size IISDMA传输地址回卷中断产生,需要IISDMA搬运多少次
IISDMA_TXRXSingleSIZEx tx0singlesize IISDMA单次搬运的数据大小
IISDMA_TXRXSingleSIZEx tx1singlesize IISDMA单次搬运的数据大小

◆ IIS_DMA_RXInit_Typedef

struct IIS_DMA_RXInit_Typedef

IISDMA RX初始化结构体

成员变量
IISDMAChax iisdmacha IISDMACha
IISDMA_RXTXxRollbackADDR rollbackaddrsize IISDMA搬运多少次之后,产生地址回卷中断
unsigned int rxaddr RX的地址设置
IISDMA_RXxInterrupt rxinterruptsize IISDMA搬运多少次之后,产生传输完成中断
IISDMA_TXRXSingleSIZEx rxsinglesize IISDMA单次传输数据大小

类型定义说明

◆ iis_rx_config_p

◆ iis_tx_config_p

枚举类型说明

◆ iis_base_t

IIS控制器定义

枚举值
IIS0 

IIS0控制器

IIS1 

IIS1控制器

IIS2 

IIS2控制器

◆ iis_cmd_t

枚举值
IIS_ENABLE 

使能

IIS_DISABLE 

不使能

◆ iis_data_format_t

IIS 数据格式(标准IIS格式,左对齐格式,右对齐格式)

枚举值
IIS_DF_IIS 

IIS格式标准

IIS_DF_MSB 

左对齐(MSB)格式标准

IIS_DF_LSB 

右对齐(LSB)格式标准

◆ iis_data_width_t

IIS数据宽度

枚举值
IIS_DW_16BIT 

数据宽度16bit

IIS_DW_24BIT 

数据宽度24bit

IIS_DW_32BIT 

数据宽度32bit

IIS_DW_20BIT 

数据宽度20bit

◆ iis_rx_channal_t

IIS RX 接收通道

枚举值
IIS_RX_CHANNAL_RX0 

IIS接收通道0

◆ iis_rxfifo_trig_t

IIS RX 接收FIFO触发等级配置

枚举值
IIS_RX_FIFO_1D4 

接收FIFO触发深度1/4满(32个word)

IIS_RX_FIFO_1D8 

接收FIFO触发深度1/8满(16个word)

IIS_RX_FIFO_1D16 

接收FIFO触发深度1/16满(8个word)

IIS_RX_FIFO_1D32 

接收FIFO触发深度1/32满(4个word)

◆ iis_sck_lrck_t

IIS 总线上SCK与LRCK的比例关系

枚举值
IIS_SCK_LRCK_32 

SCK与LRCK的比值为32,只有16bit数据宽度才能配置

IIS_SCK_LRCK_64 

SCK与LRCK的比值为64,所有数据宽度都能配置

◆ iis_sound_channel_t

IIS 声道选择(单声道还是双声道)

枚举值
IIS_SC_STEREO 

双声道

IIS_SC_MONO 

单声道

◆ iis_tx_channal_t

IIS TX 发送通道选择

枚举值
IIS_TX_CHANNAL_TX0 

IIS发送通道0

◆ iis_txfifo_trig_t

IIS TX 发送FIFO触发等级配置

枚举值
IIS_TX_FIFO_1D2 

发送FIFO触发深度1/2空(16个word)

IIS_TX_FIFO_1D4 

发送FIFO触发深度1/4空(8个word)

函数说明

◆ iis_int_handler()

void iis_int_handler ( uint32_t  iis_base)

IIS中断处理

参数
iis_baseIIS控制器基地址

◆ iis_rx_chk()

void iis_rx_chk ( uint32_t  iis_base,
iis_rx_channal_t  cha,
FunctionalState  cmd 
)

IIS接收模式,SCK和LRCK时钟检测

参数
iis_baseIIS控制器基地址
chaIIS接收通道
cmd是否使能时钟检测,使能后如果检测到SCK和LRCK时钟,可以产生对应的中断状态

◆ iis_rx_config()

void iis_rx_config ( uint32_t  iis_base,
iis_rx_config_p  rx_cfg 
)

IIS接收配置

参数
iis_baseIIS控制器基地址
tx_cfgIIS接收配置信息

◆ iis_rx_dma_chk()

void iis_rx_dma_chk ( uint32_t  iis_base,
iis_rx_channal_t  cha,
FunctionalState  cmd 
)

IIS接收模式,DMA请求检测使能

参数
iis_baseIIS控制器基地址
chaIIS接收通道
cmd是否使能检测DMA请求,开启后,有对应通道的DMA请求中断状态

◆ iis_rx_enable()

void iis_rx_enable ( uint32_t  iis_base,
iis_rx_channal_t  cha,
FunctionalState  cmd 
)

IIS接收使能

参数
iis_baseIIS控制器基地址
chaIIS接收通道
cmd是否使能

◆ iis_rx_mute()

void iis_rx_mute ( uint32_t  iis_base,
iis_rx_channal_t  cha,
FunctionalState  cmd 
)

IIS接收模式,静音

参数
iis_baseIIS控制器基地址
chaIIS接收通道
cmd是否使能静音

◆ iis_tx_chk()

void iis_tx_chk ( uint32_t  iis_base,
iis_tx_channal_t  cha,
FunctionalState  cmd 
)

IIS发送模式,SCK和LRCK时钟检测

参数
iis_baseIIS控制器基地址
chaIIS发送通道
cmd是否使能时钟检测,使能后如果检测到SCK和LRCK时钟,可以产生对应的中断状态

◆ iis_tx_config()

void iis_tx_config ( uint32_t  iis_base,
iis_tx_config_p  tx_cfg 
)

IIS发送模式,配置

参数
iis_baseIIS控制器基地址
tx_cfgIIS发送配置信息

◆ iis_tx_enable()

void iis_tx_enable ( uint32_t  iis_base,
iis_tx_channal_t  cha,
FunctionalState  cmd 
)

IIS发送使能

参数
iis_baseIIS控制器基地址
chaIIS发送通道
cmd是否使能

◆ iis_tx_l_mute()

void iis_tx_l_mute ( uint32_t  iis_base,
iis_tx_channal_t  cha,
FunctionalState  cmd 
)

IIS发送模式,左声道静音

参数
iis_baseIIS控制器基地址
chaIIS发送通道
cmd是否静音

◆ iis_tx_r_mute()

void iis_tx_r_mute ( uint32_t  iis_base,
iis_tx_channal_t  cha,
FunctionalState  cmd 
)

IIS发送模式,右声道静音

参数
iis_baseIIS控制器基地址
chaIIS发送通道
cmd是否静音

◆ IISx_RXDMA_Init()

void IISx_RXDMA_Init ( IIS_DMA_RXInit_Typedef IISDMA_Str)

IISDMA 接收通道初始化

参数
IISDMA_Str接收通道配置结构体

◆ IISx_TXDMA_Init()

void IISx_TXDMA_Init ( IIS_DMA_TXInit_Typedef IISDMA_Str)

IISDMA 发送通道初始化

参数
IISDMA_Str发送通道配置结构体