CI13LC SDK API手册  2.1.1
本手册用于描述CI13LC SDK各个组件和驱动API
ci13lc_iis.h
浏览该文件的文档.
1 
10 #ifndef __CI13LC_IIS_H
11 #define __CI13LC_IIS_H
12 
13 #include "ci_system.h"
14 #include "ci_iisdma.h"
15 #include "ci_scu.h"
16 #include <stdint.h>
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
32 typedef enum
33 {
36 }iis_base_t;
37 
42 typedef enum
43 {
49 
54 typedef enum
55 {
56  IIS_DF_IIS = 0,
57  IIS_DF_MSB = 1,
58  IIS_DF_LSB = 2,
60 
65 typedef enum
66 {
70 
75 typedef enum
76 {
78  //IIS_TX_CHANNAL_TX1 = 1, /*!< IIS发送通道1 */
80 
85 typedef enum
86 {
90 
95 typedef enum
96 {
98  //IIS_RX_CHANNAL_RX1 = 1, /*!< IIS接收通道1 */
99  //IIS_RX_CHANNAL_RX2 = 2, /*!< IIS接收通道2 */
101 
106 typedef enum
107 {
113 
118 typedef enum
119 {
123 
124 typedef enum
125 {
128 }iis_cmd_t;
129 
134 typedef struct
135 {
140  uint32_t txch_copy;
143  uint32_t tx_merge;
144  uint32_t tx_swap;
146 
151 typedef struct
152 {
159  uint32_t rx_merge;
160  uint32_t rx_swap;
162 
167 typedef struct
168 {
180 
181 
186 typedef struct
187 {
189  unsigned int rxaddr;
199 
200 //void iis_init(void);
201 
202 void iis_tx_enable(uint32_t iis_base,iis_tx_channal_t cha,FunctionalState cmd);
203 void iis_tx_l_mute(uint32_t iis_base,iis_tx_channal_t cha,FunctionalState cmd);
204 void iis_tx_r_mute(uint32_t iis_base,iis_tx_channal_t cha,FunctionalState cmd);
205 void iis_tx_chk(uint32_t iis_base,iis_tx_channal_t cha,FunctionalState cmd);
206 void iis_tx_config(uint32_t iis_base,iis_tx_config_p tx_cfg);
207 //void iis_tx_same(uint32_t iis_base,FunctionalState cmd);
208 
209 void iis_rx_enable(uint32_t iis_base,iis_rx_channal_t cha,FunctionalState cmd);
210 void iis_rx_mute(uint32_t iis_base,iis_rx_channal_t cha,FunctionalState cmd);
211 void iis_rx_chk(uint32_t iis_base,iis_rx_channal_t cha,FunctionalState cmd);
212 void iis_rx_dma_chk(uint32_t iis_base,iis_rx_channal_t cha,FunctionalState cmd);
213 void iis_rx_config(uint32_t iis_base,iis_rx_config_p rx_cfg);
214 //void iis_rx_cha_merge(uint32_t iis_base,uint8_t enable_rx0,uint8_t enable_rx1,uint8_t enable_rx2);
215 
216 void iis_int_handler(uint32_t iis_base);
217 
218 void IISx_TXDMA_Init(IIS_DMA_TXInit_Typedef* IISDMA_Str);
219 void IISx_RXDMA_Init(IIS_DMA_RXInit_Typedef* IISDMA_Str);
220 
225 #ifdef __cplusplus
226 }
227 #endif
228 
229 #endif /*__IIS_H*/
230 
231 /***************** (C) COPYRIGHT Chipintelli Technology Co., Ltd. *****END OF FILE****/
232 
IISDMA底层驱动接口的头文件
Definition: ci13lc_iis.h:44
IISDMAChax iisdmacha
IISDMACha
Definition: ci13lc_iis.h:178
Definition: ci13lc_iis.h:56
unsigned int rxaddr
RX的地址设置
Definition: ci13lc_iis.h:189
uint32_t rx_merge
Definition: ci13lc_iis.h:159
Definition: ci13lc_iis.h:97
void iis_rx_chk(uint32_t iis_base, iis_rx_channal_t cha, FunctionalState cmd)
IIS接收模式,SCK和LRCK时钟检测
Definition: ci13lc_iis.c:279
Definition: ci13lc_iis.h:47
struct iis_tx_config_t * iis_tx_config_p
void iis_int_handler(uint32_t iis_base)
IIS中断处理
Definition: ci13lc_iis.c:452
IISDMA_RXTXxRollbackADDR rollbackaddrsize
IISDMA搬运多少次之后,产生地址回卷中断
Definition: ci13lc_iis.h:193
uint32_t txch_copy
Definition: ci13lc_iis.h:140
uint32_t tx_swap
Definition: ci13lc_iis.h:144
iis_data_width_t
IIS数据宽度
Definition: ci13lc_iis.h:42
iis_rxfifo_trig_t rxfifo_trig
Definition: ci13lc_iis.h:155
IIS RX初始化结构体
Definition: ci13lc_iis.h:151
IISDMA_TXRXSingleSIZEx
IISDMA单次搬运的数据大小,16*x个byte,x为1~31
Definition: ci13lc_iisdma.h:82
Definition: ci13lc_iis.h:111
uint32_t tx_merge
Definition: ci13lc_iis.h:143
Definition: ci13lc_iis.h:45
Definition: ci13lc_iis.h:88
iis_sck_lrck_t sck_lrck
Definition: ci13lc_iis.h:136
Definition: ci13lc_iis.h:34
#define HAL_IIS1_BASE
Definition: ci13lc.h:90
IISDMA_RXTXxRollbackADDR
IISDMA搬运了多少次(x+1次,x为0~1023)之后,若开启地址绕回中断,将产生地址绕回中断 ...
Definition: ci13lc_iisdma.h:108
void IISx_TXDMA_Init(IIS_DMA_TXInit_Typedef *IISDMA_Str)
IISDMA 发送通道初始化
Definition: ci13lc_iis.c:557
void iis_tx_r_mute(uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
IIS发送模式,右声道静音
Definition: ci13lc_iis.c:130
Definition: ci13lc_iis.h:58
iis_sound_channel_t
IIS 声道选择(单声道还是双声道)
Definition: ci13lc_iis.h:65
Definition: ci13lc_iis.h:87
Definition: ci13lc_iis.h:108
Definition: ci13lc_iis.h:127
#define HAL_IIS0_BASE
Definition: ci13lc.h:89
Definition: ci13lc_iis.h:120
Definition: ci13lc_iis.h:67
Definition: ci13lc_iis.h:57
Definition: ci13lc_iis.h:109
IISDMA_RXxInterrupt rxinterruptsize
IISDMA搬运多少次之后,产生传输完成中断
Definition: ci13lc_iis.h:191
IISDMA_RXTXxRollbackADDR rollbackaddr1size
IISDMA传输地址回卷中断产生,需要IISDMA搬运多少次
Definition: ci13lc_iis.h:172
uint32_t rx_swap
Definition: ci13lc_iis.h:160
iis_data_format_t rx_df
Definition: ci13lc_iis.h:157
void iis_tx_chk(uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
IIS发送模式,SCK和LRCK时钟检测
Definition: ci13lc_iis.c:150
iis_tx_channal_t
IIS TX 发送通道选择
Definition: ci13lc_iis.h:75
iis_sound_channel_t rx_sc
Definition: ci13lc_iis.h:158
IISDMA_RXxInterrupt
IISDMA传输多少次(x+1次,x为0~31)之后,若开启传输完成中断,来传输完成中断
Definition: ci13lc_iisdma.h:136
iis_data_format_t
IIS 数据格式(标准IIS格式,左对齐格式,右对齐格式)
Definition: ci13lc_iis.h:54
iis_rxfifo_trig_t
IIS RX 接收FIFO触发等级配置
Definition: ci13lc_iis.h:106
iis_cmd_t
Definition: ci13lc_iis.h:124
iis_sound_channel_t tx_sc
Definition: ci13lc_iis.h:142
struct iis_rx_config_t * iis_rx_config_p
Definition: ci13lc_iis.h:110
Definition: ci13lc_iis.h:121
void IISx_RXDMA_Init(IIS_DMA_RXInit_Typedef *IISDMA_Str)
IISDMA 接收通道初始化
Definition: ci13lc_iis.c:536
chip级定义
IISDMA TX初始化结构体
Definition: ci13lc_iis.h:167
IISDMAChax
每个IISDMA对应的通道
Definition: ci13lc_iisdma.h:69
void iis_rx_config(uint32_t iis_base, iis_rx_config_p rx_cfg)
IIS接收配置
Definition: ci13lc_iis.c:322
void iis_rx_mute(uint32_t iis_base, iis_rx_channal_t cha, FunctionalState cmd)
IIS接收模式,静音
Definition: ci13lc_iis.c:259
scu底层驱动接口头文件
iis_txfifo_trig_t txfifo_trig
Definition: ci13lc_iis.h:138
iis_rx_channal_t
IIS RX 接收通道
Definition: ci13lc_iis.h:95
iis_tx_channal_t cha
Definition: ci13lc_iis.h:137
void iis_tx_enable(uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
IIS发送使能
Definition: ci13lc_iis.c:64
void iis_rx_enable(uint32_t iis_base, iis_rx_channal_t cha, FunctionalState cmd)
IIS接收使能
Definition: ci13lc_iis.c:87
void iis_tx_l_mute(uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
IIS发送模式,左声道静音
Definition: ci13lc_iis.c:110
Definition: ci13lc_iis.h:126
iis_txfifo_trig_t
IIS TX 发送FIFO触发等级配置
Definition: ci13lc_iis.h:85
Definition: ci13lc_iis.h:68
iis_rx_channal_t cha
Definition: ci13lc_iis.h:154
IISDMA_TXRXSingleSIZEx tx0singlesize
IISDMA单次搬运的数据大小
Definition: ci13lc_iis.h:174
Definition: ci13lc_iis.h:46
iis_data_width_t rxch_dw
Definition: ci13lc_iis.h:156
IIS TX初始化结构体
Definition: ci13lc_iis.h:134
iis_base_t
IIS控制器定义
Definition: ci13lc_iis.h:32
Definition: ci13lc_iis.h:35
FunctionalState
Definition: ci_system.h:46
IISDMA_TXRXSingleSIZEx rxsinglesize
IISDMA单次传输数据大小
Definition: ci13lc_iis.h:195
void iis_rx_dma_chk(uint32_t iis_base, iis_rx_channal_t cha, FunctionalState cmd)
IIS接收模式,DMA请求检测使能
Definition: ci13lc_iis.c:301
void iis_tx_config(uint32_t iis_base, iis_tx_config_p tx_cfg)
IIS发送模式,配置
Definition: ci13lc_iis.c:171
Definition: ci13lc_iis.h:77
IISDMA_RXTXxRollbackADDR rollbackaddr0size
IISDMA传输地址回卷中断产生,需要IISDMA搬运多少次
Definition: ci13lc_iis.h:170
iis_sck_lrck_t
IIS 总线上SCK与LRCK的比例关系
Definition: ci13lc_iis.h:118
iis_data_width_t txch_dw
Definition: ci13lc_iis.h:139
IISDMA RX初始化结构体
Definition: ci13lc_iis.h:186
IISDMA_TXRXSingleSIZEx tx1singlesize
IISDMA单次搬运的数据大小
Definition: ci13lc_iis.h:176
iis_data_format_t tx_df
Definition: ci13lc_iis.h:141