CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
ci130x_iis.h
浏览该文件的文档.
1 
10 #ifndef __CI130X_IIS_H
11 #define __CI130X_IIS_H
12 
13 #include "ci130x_system.h"
14 #include "ci130x_iisdma.h"
15 #include "ci130x_scu.h"
16 #include <stdint.h>
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
32 typedef enum
33 {
37 }iis_base_t;
38 
43 typedef enum
44 {
50 
55 typedef enum
56 {
57  IIS_DF_IIS = 0,
58  IIS_DF_MSB = 1,
59  IIS_DF_LSB = 2,
61 
66 typedef enum
67 {
71 
76 typedef enum
77 {
79  //IIS_TX_CHANNAL_TX1 = 1, /*!< IIS发送通道1 */
81 
86 typedef enum
87 {
91 
96 typedef enum
97 {
99  //IIS_RX_CHANNAL_RX1 = 1, /*!< IIS接收通道1 */
100  //IIS_RX_CHANNAL_RX2 = 2, /*!< IIS接收通道2 */
102 
107 typedef enum
108 {
114 
119 typedef enum
120 {
124 
125 typedef enum
126 {
129 }iis_cmd_t;
130 
135 typedef struct
136 {
141  uint32_t txch_copy;
144  uint32_t tx_merge;
145  uint32_t tx_swap;
147 
152 typedef struct
153 {
160  uint32_t rx_merge;
161  uint32_t rx_swap;
163 
168 typedef struct
169 {
181 
182 
187 typedef struct
188 {
190  unsigned int rxaddr;
200 
201 //void iis_init(void);
202 
203 void iis_tx_enable(uint32_t iis_base,iis_tx_channal_t cha,FunctionalState cmd);
204 void iis_tx_l_mute(uint32_t iis_base,iis_tx_channal_t cha,FunctionalState cmd);
205 void iis_tx_r_mute(uint32_t iis_base,iis_tx_channal_t cha,FunctionalState cmd);
206 void iis_tx_chk(uint32_t iis_base,iis_tx_channal_t cha,FunctionalState cmd);
207 void iis_tx_config(uint32_t iis_base,iis_tx_config_p tx_cfg);
208 //void iis_tx_same(uint32_t iis_base,FunctionalState cmd);
209 
210 void iis_rx_enable(uint32_t iis_base,iis_rx_channal_t cha,FunctionalState cmd);
211 void iis_rx_mute(uint32_t iis_base,iis_rx_channal_t cha,FunctionalState cmd);
212 void iis_rx_chk(uint32_t iis_base,iis_rx_channal_t cha,FunctionalState cmd);
213 void iis_rx_dma_chk(uint32_t iis_base,iis_rx_channal_t cha,FunctionalState cmd);
214 void iis_rx_config(uint32_t iis_base,iis_rx_config_p rx_cfg);
215 //void iis_rx_cha_merge(uint32_t iis_base,uint8_t enable_rx0,uint8_t enable_rx1,uint8_t enable_rx2);
216 
217 void iis_int_handler(uint32_t iis_base);
218 
219 void IISx_TXDMA_Init(IIS_DMA_TXInit_Typedef* IISDMA_Str);
220 void IISx_RXDMA_Init(IIS_DMA_RXInit_Typedef* IISDMA_Str);
221 
226 #ifdef __cplusplus
227 }
228 #endif
229 
230 #endif /*__IIS_H*/
231 
232 /***************** (C) COPYRIGHT Chipintelli Technology Co., Ltd. *****END OF FILE****/
233 
iis_sound_channel_t
IIS 声道选择(单声道还是双声道)
Definition: ci130x_iis.h:66
Definition: ci130x_iis.h:127
三代芯片scu底层驱动接口头文件
IISDMA_TXRXSingleSIZEx
IISDMA单次搬运的数据大小,16*x个byte,x为1~31
Definition: ci130x_iisdma.h:83
iis_tx_channal_t cha
Definition: ci130x_iis.h:138
void iis_rx_chk(uint32_t iis_base, iis_rx_channal_t cha, FunctionalState cmd)
IIS接收模式,SCK和LRCK时钟检测
Definition: ci130x_iis.c:389
#define HAL_IIS2_BASE
Definition: ci130x_system.h:510
IISDMA RX初始化结构体
Definition: ci130x_iis.h:187
Definition: ci130x_iis.h:98
IISDMA_RXTXxRollbackADDR rollbackaddr1size
IISDMA传输地址回卷中断产生,需要IISDMA搬运多少次
Definition: ci130x_iis.h:173
unsigned int rxaddr
RX的地址设置
Definition: ci130x_iis.h:190
#define HAL_IIS0_BASE
Definition: ci130x_system.h:508
iis_sck_lrck_t sck_lrck
Definition: ci130x_iis.h:137
Definition: ci130x_iis.h:78
IISDMA_RXxInterrupt rxinterruptsize
IISDMA搬运多少次之后,产生传输完成中断
Definition: ci130x_iis.h:192
Definition: ci130x_iis.h:59
void iis_rx_enable(uint32_t iis_base, iis_rx_channal_t cha, FunctionalState cmd)
IIS接收使能
Definition: ci130x_iis.c:195
IISDMA_TXRXSingleSIZEx tx0singlesize
IISDMA单次搬运的数据大小
Definition: ci130x_iis.h:175
Definition: ci130x_iis.h:68
void iis_tx_l_mute(uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
IIS发送模式,左声道静音
Definition: ci130x_iis.c:218
IISDMA_RXTXxRollbackADDR rollbackaddrsize
IISDMA搬运多少次之后,产生地址回卷中断
Definition: ci130x_iis.h:194
void iis_tx_config(uint32_t iis_base, iis_tx_config_p tx_cfg)
IIS发送模式,配置
Definition: ci130x_iis.c:278
Definition: ci130x_iis.h:89
iis_data_format_t tx_df
Definition: ci130x_iis.h:142
二代芯片IISDMA底层驱动接口的头文件
IISDMA TX初始化结构体
Definition: ci130x_iis.h:168
void iis_rx_config(uint32_t iis_base, iis_rx_config_p rx_cfg)
IIS接收配置
Definition: ci130x_iis.c:430
struct iis_tx_config_t * iis_tx_config_p
Definition: ci130x_iis.h:48
iis_data_width_t txch_dw
Definition: ci130x_iis.h:140
Definition: ci130x_iis.h:88
iis_rx_channal_t
IIS RX 接收通道
Definition: ci130x_iis.h:96
void iis_tx_enable(uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
IIS发送使能
Definition: ci130x_iis.c:172
void iis_rx_mute(uint32_t iis_base, iis_rx_channal_t cha, FunctionalState cmd)
IIS接收模式,静音
Definition: ci130x_iis.c:369
iis_rxfifo_trig_t
IIS RX 接收FIFO触发等级配置
Definition: ci130x_iis.h:107
IISDMA_RXxInterrupt
IISDMA传输多少次(x+1次,x为0~31)之后,若开启传输完成中断,来传输完成中断
Definition: ci130x_iisdma.h:137
void iis_tx_r_mute(uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
IIS发送模式,右声道静音
Definition: ci130x_iis.c:238
Definition: ci130x_iis.h:46
IISDMA_TXRXSingleSIZEx rxsinglesize
IISDMA单次传输数据大小
Definition: ci130x_iis.h:196
uint32_t rx_swap
Definition: ci130x_iis.h:161
Definition: ci130x_iis.h:58
IISDMAChax
每个IISDMA对应的通道
Definition: ci130x_iisdma.h:68
uint32_t txch_copy
Definition: ci130x_iis.h:141
Definition: ci130x_iis.h:34
Definition: ci130x_iis.h:121
IIS RX初始化结构体
Definition: ci130x_iis.h:152
void iis_int_handler(uint32_t iis_base)
IIS中断处理
Definition: ci130x_iis.c:561
iis_rxfifo_trig_t rxfifo_trig
Definition: ci130x_iis.h:156
void iis_tx_chk(uint32_t iis_base, iis_tx_channal_t cha, FunctionalState cmd)
IIS发送模式,SCK和LRCK时钟检测
Definition: ci130x_iis.c:258
iis_data_width_t
IIS数据宽度
Definition: ci130x_iis.h:43
Definition: ci130x_iis.h:122
iis_txfifo_trig_t
IIS TX 发送FIFO触发等级配置
Definition: ci130x_iis.h:86
Definition: ci130x_iis.h:47
IISDMA_RXTXxRollbackADDR rollbackaddr0size
IISDMA传输地址回卷中断产生,需要IISDMA搬运多少次
Definition: ci130x_iis.h:171
Definition: ci130x_iis.h:110
chip级定义
iis_cmd_t
Definition: ci130x_iis.h:125
Definition: ci130x_iis.h:128
Definition: ci130x_iis.h:111
iis_data_format_t rx_df
Definition: ci130x_iis.h:158
Definition: ci130x_iis.h:36
IISDMA_RXTXxRollbackADDR
IISDMA搬运了多少次(x+1次,x为0~1023)之后,若开启地址绕回中断,将产生地址绕回中断 ...
Definition: ci130x_iisdma.h:109
Definition: ci130x_iis.h:109
iis_rx_channal_t cha
Definition: ci130x_iis.h:155
void iis_rx_dma_chk(uint32_t iis_base, iis_rx_channal_t cha, FunctionalState cmd)
IIS接收模式,DMA请求检测使能
Definition: ci130x_iis.c:410
uint32_t rx_merge
Definition: ci130x_iis.h:160
Definition: ci130x_iis.h:45
void IISx_TXDMA_Init(IIS_DMA_TXInit_Typedef *IISDMA_Str)
IISDMA 发送通道初始化
Definition: ci130x_iis.c:800
iis_sck_lrck_t
IIS 总线上SCK与LRCK的比例关系
Definition: ci130x_iis.h:119
FunctionalState
Definition: ci130x_system.h:86
iis_tx_channal_t
IIS TX 发送通道选择
Definition: ci130x_iis.h:76
iis_data_width_t rxch_dw
Definition: ci130x_iis.h:157
#define HAL_IIS1_BASE
Definition: ci130x_system.h:509
iis_txfifo_trig_t txfifo_trig
Definition: ci130x_iis.h:139
iis_data_format_t
IIS 数据格式(标准IIS格式,左对齐格式,右对齐格式)
Definition: ci130x_iis.h:55
uint32_t tx_merge
Definition: ci130x_iis.h:144
Definition: ci130x_iis.h:69
IISDMAChax iisdmacha
IISDMACha
Definition: ci130x_iis.h:179
IISDMA_TXRXSingleSIZEx tx1singlesize
IISDMA单次搬运的数据大小
Definition: ci130x_iis.h:177
Definition: ci130x_iis.h:57
Definition: ci130x_iis.h:112
iis_sound_channel_t tx_sc
Definition: ci130x_iis.h:143
IIS TX初始化结构体
Definition: ci130x_iis.h:135
struct iis_rx_config_t * iis_rx_config_p
uint32_t tx_swap
Definition: ci130x_iis.h:145
Definition: ci130x_iis.h:35
iis_base_t
IIS控制器定义
Definition: ci130x_iis.h:32
void IISx_RXDMA_Init(IIS_DMA_RXInit_Typedef *IISDMA_Str)
IISDMA 接收通道初始化
Definition: ci130x_iis.c:779
iis_sound_channel_t rx_sc
Definition: ci130x_iis.h:159