CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
宏定义 | 函数
ci130x_iisdma.c 文件参考

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

#include "ci130x_iisdma.h"
#include "ci_log.h"
#include "ci130x_scu.h"

宏定义

#define IISDC_CI_ASSERT(x, msg)
 

函数

void IISDMA_DMICModeConfig (IISDMA_TypeDef *IISDMAx, FunctionalState cmd)
 IISDMA的DMIC通道使能 更多...
 
void IISDMA_ChannelENConfig (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx, IISDMA_TXRX_ENx iisdma_txrx_sel, FunctionalState cmd)
 IISDMA某个通道的发送或者接收使能 更多...
 
void IISDMA_ADDRRollBackINT (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx, IISDMA_TXRX_ENx iisdma_txrx_sel, FunctionalState cmd)
 IISDMA发送/接收传输完成,需要进行地址切换的中断使能 更多...
 
void IISDMA_ChannelIntENConfig (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx, IISDMA_TXRX_ENx iisdma_txrx_sel, FunctionalState cmd)
 IISDMA发送/接收通道数据传输完成一次中断使能 更多...
 
void IISDMA_EN (IISDMA_TypeDef *IISDMAx, FunctionalState cmd)
 IISDMA使能控制 更多...
 
void IISxDMA_RADDR (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx, unsigned int rxaddr)
 IISDMA接收地址配置 更多...
 
void IISxDMA_RNUM (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx, IISDMA_RXxInterrupt iisrxtointerrupt, IISDMA_RXTXxRollbackADDR rollbacktimes, IISDMA_TXRXSingleSIZEx rxsinglesize)
 IISDMA接收数据长度配置 更多...
 
void IISxDMA_TADDR0 (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx, unsigned int txaddr0)
 IISDMA TADDR0 发送地址寄存器配置 更多...
 
void IISxDMA_TNUM0 (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx, IISDMA_RXTXxRollbackADDR rollbackaddr, IISDMA_TXRXSingleSIZEx txsinglesize)
 配置发送通道传输多少次后产生地址切换中断,及每次发送的数据大小 更多...
 
void IISxDMA_TADDR1 (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx, unsigned int txaddr1)
 IISDMA TADDR1 发送地址寄存器配置 更多...
 
void IISxDMA_TNUM1 (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx, IISDMA_RXTXxRollbackADDR rollbackaddr, IISDMA_TXRXSingleSIZEx txsinglesize)
 配置发送通道传输多少次后产生地址切换中断,及每次发送的数据大小 更多...
 
void IISDMA_PriorityConfig (IISDMA_TypeDef *IISDMAx, IISDMA_Priorityx iisdma_priority)
 IISDMA优先级设置 更多...
 
void IISDMA_INT_All_Clear (IISDMA_TypeDef *IISDMAx)
 IISDMA所有中断状态清除 更多...
 
void IISDMA_INT_Clear (IISDMA_TypeDef *IISDMAx, unsigned int tmp)
 IISDMA单独清除某个通道的中断 更多...
 
int IISDMA_ADDRRollBackSTATE (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx, IISDMA_TXRX_ENx iisdma_txrx_sel)
 IISDMA发送/接收传输通道完成一次地址切换的状态 更多...
 
int CHECK_IISDMA_DATABUSBUSY (IISDMA_TypeDef *IISDMAx)
 IISDMA数据总线busy状态 更多...
 
void IISDMA_RXCompleteClear (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx)
 清除IISDMA接收通道完成传输的计数 更多...
 
void IISxDMA_TXADDRRollbackInterruptClear (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx, IISDMA_TXADDR_Sel txrestart_addr)
 清除IISDMA发送内部的传输次数,并选择下一次传输开始的地址为TADDR0或者TADDR1 更多...
 
void IISDMA_RXTXClear (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx, IISDMA_TXRX_ENx iisdmarxtx)
 清除IISDMA接收/发送的传输次数,清除之后,发送和接收的地址为当前配置的地址 更多...
 
unsigned int IISxDMA_RXADDR (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx)
 返回IISDMA接收通道上次传输BM端最后一个数据的地址信息 更多...
 
int IISDMA_TX_ADDR_Get (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx)
 返回当前TX正在传输的地址为TADDR0还是TADDR1 更多...
 
uint32_t Get_IISxDMA_RADDR (IISDMA_TypeDef *IISDMAx, IISDMAChax iisx)
 返回当前IISDMA数据接收,存储的首地址 更多...
 
void i2s_dma_straight_to_vad (uint32_t iis, uint32_t block_times, uint32_t endroll_addr)
 IIS直通模式配置 更多...
 
void iisdma_config (iisdma_config_p config)
 IISDMA配置 更多...
 

详细描述

二代芯片IISDMA底层驱动接口

版本
0.1
日期
2019-05-10

宏定义说明

◆ IISDC_CI_ASSERT

#define IISDC_CI_ASSERT (   x,
  msg 
)
值:
if( ( x ) == 0 ) \
{ \
mprintf("%s",msg); \
mprintf("IISDC Line:%d\n",__LINE__); \
while(1) asm volatile ("ebreak"); \
}

函数说明

◆ i2s_dma_straight_to_vad()

void i2s_dma_straight_to_vad ( uint32_t  iis,
uint32_t  block_times,
uint32_t  endroll_addr 
)

IIS直通模式配置

参数
iisIIS0、IIS1、IIS2可选
block_times传输阈值设置
endroll_addr接收地址回卷的最后一个地址

◆ IISDMA_DMICModeConfig()

void IISDMA_DMICModeConfig ( IISDMA_TypeDef IISDMAx,
FunctionalState  cmd 
)

IISDMA的DMIC通道使能

参数
IISDMAxIISDMA0
cmd使能或者禁止。ENABLE,把IIS0和IIS1的RX当做DMIC通道;DISABLE,IIS接收通道模式