CI13LC SDK API手册  2.1.1
本手册用于描述CI13LC SDK各个组件和驱动API
结构体 | 宏定义 | 类型定义 | 函数
ci13lc_iis.c 文件参考

二代芯片IIS底层驱动接口 更多...

#include "ci_iis.h"
#include "ci_assert.h"
#include "FreeRTOS.h"

结构体

struct  iis_register
 

宏定义

#define IIS_CHK_TX_NUM   (5)
 
#define IIS_CHK_RX_NUM   (5)
 
#define IIS_CHK_DMA_NUM   (5)
 
#define IIS_EN   (0x1 << 0)
 
#define IIS_RX_LOAD_EN   (0x1 << 0)
 
#define IIS_TX_LOAD_EN   (0x1 << 10)
 
#define IIS_RX_CH_MERGE   (0x1 << 30)
 

类型定义

typedef struct iis_register iis_register_t
 
typedef struct iis_registeriis_register_p
 

函数

static void iis_wait_load_ctrl (uint32_t iis_base)
 
void iis_tx_enable (uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
 IIS发送使能 更多...
 
void iis_rx_enable (uint32_t iis_base, iis_rx_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_tx_same (uint32_t iis_base, FunctionalState cmd)
 IIS发送模式,立体环绕音使能(tx channel1不能工作,所以该接口不支持) 更多...
 
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_rx_cha_merge (uint32_t iis_base, uint8_t enable_rx0, uint8_t enable_rx1, uint8_t enable_rx2)
 IIS接收模式,接收通道merge(rx channel1、channel2不能工作,所以该接口不支持) 更多...
 
void iis_int_handler (uint32_t iis_base)
 IIS中断处理 更多...
 
void IIS_DMA_IRQHandler (void)
 IISDMA0中断处理函数 更多...
 
void IISx_RXDMA_Init (IIS_DMA_RXInit_Typedef *IISDMA_Str)
 IISDMA 接收通道初始化 更多...
 
void IISx_TXDMA_Init (IIS_DMA_TXInit_Typedef *IISDMA_Str)
 IISDMA 发送通道初始化 更多...
 

详细描述

二代芯片IIS底层驱动接口

版本
0.1
日期
2021-07-05

结构体说明

◆ iis_register

struct iis_register
成员变量
volatile uint32_t iis_chken_dma_rx[3]

属性:RW 偏移:0x34、0x38、0x3C 位宽:32 功能:RX0、RX1、RX2 DMA请求检测寄存器

volatile uint32_t iis_chken_rx[3]

属性:RW 偏移:0x40、0x44、0x48 位宽:32 功能:RX0、RX1、RX2 IIS时钟检测寄存器

volatile uint32_t iis_chken_tx[2]

属性:RW 偏移:0x50、0x54 位宽:32 功能:TX0、TX1 IIS时钟检测寄存器

volatile uint32_t iis_int0
volatile uint32_t iis_load_ctrl

属性:RW 偏移:0x30 位宽:32 功能:装载使能控制寄存器

volatile uint32_t iis_rx_ctrl[3]

属性:RW 偏移:0x20、0x24、0x28 位宽:32 功能:接收通道0、1、2控制寄存器

volatile uint32_t iis_tx_ctrl[2]

属性:RW 偏移:0x10、0x14 位宽:32 功能:发送通道控制寄存器

volatile uint32_t reserved_0[3]
volatile uint32_t reserved_2[2]
volatile uint32_t reserved_3
volatile uint32_t reserved_4

宏定义说明

◆ IIS_CHK_DMA_NUM

#define IIS_CHK_DMA_NUM   (5)

◆ IIS_CHK_RX_NUM

#define IIS_CHK_RX_NUM   (5)

◆ IIS_CHK_TX_NUM

#define IIS_CHK_TX_NUM   (5)

◆ IIS_EN

#define IIS_EN   (0x1 << 0)

◆ IIS_RX_CH_MERGE

#define IIS_RX_CH_MERGE   (0x1 << 30)

◆ IIS_RX_LOAD_EN

#define IIS_RX_LOAD_EN   (0x1 << 0)

◆ IIS_TX_LOAD_EN

#define IIS_TX_LOAD_EN   (0x1 << 10)

类型定义说明

◆ iis_register_p

typedef struct iis_register* iis_register_p

◆ iis_register_t

typedef struct iis_register iis_register_t

函数说明

◆ IIS_DMA_IRQHandler()

void IIS_DMA_IRQHandler ( void  )

IISDMA0中断处理函数

◆ iis_rx_cha_merge()

void iis_rx_cha_merge ( uint32_t  iis_base,
uint8_t  enable_rx0,
uint8_t  enable_rx1,
uint8_t  enable_rx2 
)

IIS接收模式,接收通道merge(rx channel1、channel2不能工作,所以该接口不支持)

参数
iis_baseIIS控制器基地址
enable_rx0发送通道0是否merge
enable_rx1发送通道1是否merge
enable_rx2发送通道2是否merge

◆ iis_tx_same()

void iis_tx_same ( uint32_t  iis_base,
FunctionalState  cmd 
)

IIS发送模式,立体环绕音使能(tx channel1不能工作,所以该接口不支持)

参数
iis_baseIIS控制器基地址
cmd是否使能立体环绕音

◆ iis_wait_load_ctrl()

static void iis_wait_load_ctrl ( uint32_t  iis_base)
static