CI13LC SDK API手册  2.1.1
本手册用于描述CI13LC SDK各个组件和驱动API
结构体 | 枚举 | 函数
ci13lc_scu.h 文件参考

三代芯片scu底层驱动接口头文件 更多...

#include <stdbool.h>
#include "ci_system.h"
#include "sdk_default_config.h"

浏览源代码.

结构体

struct  IIS_Src_Config_t
 IIS 时钟源 SRC配置结构体 更多...
 
struct  IIS_Mclk_Config_t
 IIS MCLK配置结构体 更多...
 
struct  IIS_Clk_ConfigTypedef
 IIS 时钟配置结构体 更多...
 

枚举

enum  Qspi_Mode_t {
  QSPI_MODE_BOOT = 1,
  QSPI_MODE_NOMAL = 0
}
 QSPI控制器模式 更多...
 
enum  Nmi_Irq_t {
  NMI_IRQ_IWDG = 0x1,
  NMI_IRQ_EXT0 = 0x3,
  NMI_IRQ_EXT1 = 0x4,
  NMI_IRQ_TIMER0 = 0x5,
  NMI_IRQ_TIMER1 = 0x6,
  NMI_IRQ_UART0 = 0x7,
  NMI_IRQ_UART1 = 0x8,
  NMI_IRQ_UART2 = 0x9,
  NMI_IRQ_PA = 0xA,
  NMI_IRQ_PB = 0xB,
  NMI_IRQ_PC = 0xC,
  NMI_IRQ_VDT = 0xD,
  NMI_IRQ_V11_OK = 0xE
}
 nmi中断选择 更多...
 
enum  Sys_Clk_Gate_t {
  SLEEPING_GATE = 0,
  SLEEPDEEP_GATE = 1,
  CPU_CORECLK_GATE = 2,
  STCLK_GATE = 3,
  SRAM0_GATE = 4,
  SRAM1_GATE = 5,
  SRAM2_GATE = 6,
  SRAM3_GATE = 7,
  SRAM4_GATE = 8,
  SRAM5_GATE = 9,
  ROM_GATE = 11
}
 系统时钟选择 更多...
 
enum  Wakeup_Mask_t {
  WAKRUP_MASK_EXT0 = 1,
  WAKRUP_MASK_EXT1 = 2,
  WAKRUP_MASK_IWDG = 3,
  WAKRUP_MASK_TIMER0 = 5,
  WAKRUP_MASK_TIMER1 = 6,
  WAKRUP_MASK_UART0 = 7,
  WAKRUP_MASK_UART1 = 8,
  WAKRUP_MASK_UART2 = 9,
  WAKRUP_MASK_GPIO0 = 10,
  WAKRUP_MASK_GPIO1 = 11,
  WAKRUP_MASK_GPIO2 = 12,
  WAKRUP_MASK_IIS0 = 13,
  WAKRUP_MASK_VDT = 14,
  WAKRUP_MASK_V11_OK = 15,
  WAKRUP_MASK_IISDMA = 18
}
 唤醒中断选择 更多...
 
enum  IOResue_FUNCTION {
  FIRST_FUNCTION = 0,
  SECOND_FUNCTION = 1,
  THIRD_FUNCTION = 2,
  FORTH_FUNCTION = 3,
  FIFTH_FUNCTION = 4,
  SIXTH_FUNCTION = 5,
  SEVENTH_FUNCTION = 6
}
 IO复用功能选择 更多...
 
enum  ADIOResue_MODE {
  DIGITAL_MODE = 0,
  ANALOG_MODE = 1
}
 IO模拟数字功能选择 更多...
 
enum  IISNumx {
  IISNum0 = 0,
  IISNum1_RX = 1,
  IISNum1_TX = 2
}
 IIS号选择 更多...
 
enum  IIS_Mode_Sel_t {
  IIS_SLAVE = 1,
  IIS_MASTER = 0
}
 IIS主从模式选择 更多...
 
enum  IIS_Mclk_Mode_t {
  IIS_MCLK_MODENULL = 0,
  IIS_MCLK_IN = 1,
  IIS_MCLK_OUT = 2
}
 IIS MCLK 输入/输出 更多...
 
enum  IIS_SckLrck_Mode_t {
  IIS_SCKLRCK_MODENULL = 0,
  IIS_SCKLRCK_IN = 1,
  IIS_SCKLRCK_OUT = 2
}
 IIS SCK和LRCK 输入/输出 更多...
 
enum  Dtr_Clk_Sel_t {
  DTR_CLK_SEL_SRC_CLK = 0,
  DTR_CLK_SEL_PLL_CLK = 1
}
 DTRFLASH时钟来源选择 更多...
 
enum  IIS_Src_Source_t {
  IIS_SRC_SOURCE_IPCORE = 0,
  IIS_SRC_SOURCE_EXT_OSC = 1,
  IIS_SRC_SOURCE_INTER_RC = 2,
  IIS_SRC_SOURCE_PAD_IN = 3
}
 MCLK 时钟源SRC的 来源选择 更多...
 
enum  IIS_Mclk_Fs_t {
  IIS_MCLK_FS_128 = 0,
  IIS_MCLK_FS_192 = 1,
  IIS_MCLK_FS_256 = 2,
  IIS_MCLK_FS_384 = 3
}
 IIS MCLK 过采样率选择 更多...
 
enum  IIS_Sck_Lrck_Wid_t {
  IIS_SCK_LRCK_WID_32 = 0,
  IIS_SCK_LRCK_WID_64 = 1
}
 IIS SCK和LRCK的频率关系比值 更多...
 
enum  IIS_Mclk_Source_t {
  IIS_MCLK_SOURCE_SRC0 = 0,
  IIS_MCLK_SOURCE_SRC1 = 1,
  IIS_MCLK_SOURCE_PAD_IN = 3,
  IIS_MCLK_SOURCE_NONE = 4
}
 MCLK 时钟来源选择 更多...
 
enum  IIS_Mclk_t {
  IIS_MCLK_MCLK0 = 0,
  IIS_MCLK_MCLK1 = 1
}
 MCLK 选择 更多...
 
enum  IIS_Clk_Source_t {
  IIS_CLK_SOURCE_MCLK0 = 0,
  IIS_CLK_SOURCE_MCLK1 = 1,
  IIS_CLK_SOURCE_PAD_IN = 3,
  IIS_CLK_SOURCE_CODEC_AD = 4,
  IIS_CLK_SOURCE_CODEC_DA = 5,
  IIS_CLK_SOURCE_NONE = 6
}
 IIS SCK/LRCK输出来源 更多...
 
enum  Codec_Dac_Data_Sel_t {
  CODEC_DAC_DATA_FROM_IIS1_TX = 0,
  CODEC_DAC_DATA_FROM_PAD_IN = 1,
  CODEC_DAC_DATA_FROM_CODEC_ADC = 2
}
 codec dac 输出数据来源选择 更多...
 
enum  Pad_IIS_Data_Sel_t {
  PAD_IIS_DATA_FROM_IIS0_TX = 0,
  PAD_IIS_DATA_FROM_IIS1_TX = 1,
  PAD_IIS_DATA_FROM_CODEC_ADC = 2
}
 IIS pad sdo输出数据来源选择 更多...
 
enum  IIS_Clk_Mode_t {
  IIS_CLK_MODE_OUTPUT = 0,
  IIS_CLK_MODE_INPUT = 1
}
 IIS 输入输出选择 更多...
 
enum  Codec_Channel_t {
  CODEC_CHANNEL_AD = 0,
  CODEC_CHANNEL_DA = 1
}
 CODEC AD/DA 选择 更多...
 

函数

void scu_unlock_system_config (void)
 解锁系统控制寄存器 更多...
 
void scu_unlock_reset_config (void)
 解锁复位相关寄存器 更多...
 
void scu_unlock_clk_config (void)
 解锁时钟相关寄存器 更多...
 
void scu_lock_system_config (void)
 锁定系统控制寄存器 更多...
 
void scu_lock_clk_config (void)
 锁定时钟相关寄存器 更多...
 
void scu_lock_reset_config (void)
 锁定复位寄存器 更多...
 
int32_t scu_set_device_gate (uint32_t device_base, int32_t gate)
 设置外设时钟开关 更多...
 
int32_t scu_set_device_reset (uint32_t device_base)
 配置外设复位 更多...
 
int32_t scu_set_device_reset_release (uint32_t device_base)
 配置外设复位释放 更多...
 
int32_t scu_get_system_reset_state (void)
 获取系统复位状态 更多...
 
int32_t scu_set_ext_wakeup_int (Wakeup_Mask_t num, FunctionalState cmd)
 设置唤醒中断使能 更多...
 
int32_t scu_clear_ext_int_state (Wakeup_Mask_t num)
 清除唤醒中断状态 更多...
 
void scu_set_ext_filter_config (Ext_Num num, FunctionalState cmd, uint32_t param)
 设置pad输入信号(外部事件)滤波 更多...
 
int8_t scu_para_en_disable (uint32_t device_base)
 配置外设分频参数之前需将CLK_DIV_PARAM_EN_CFG寄存器相应位置0 更多...
 
int8_t scu_para_en_enable (uint32_t device_base)
 配置外设分频参数之后需将CLK_DIV_PARAM_EN_CFG寄存器相应位置1 更多...
 
int32_t scu_set_div_parameter (uint32_t device_base, uint32_t div_num)
 设置外设时钟分频 更多...
 
void scu_spiflash_no_boot_set (void)
 配置QSPI0 非boot 模式 更多...
 
void scu_run_in_flash (void)
 设置程序在FLASH中运行 更多...
 
void scu_run_not_in_flash (void)
 设置程序不在FLASH中运行 更多...
 
void scu_sel_dtrflash_clk (Dtr_Clk_Sel_t clk)
 设置DTR控制器时钟来源 更多...
 
void scu_wait_pll_lock_state ()
 等待 PLL 处于 LOCK 状态 更多...
 
void scu_iis_src_config (IIS_Src_Config_t *config, IIS_Mclk_Source_t src)
 设置IIS MCLK 时钟来源 SRC 时钟(0、1)的分频 更多...
 
void scu_iis_mclk_config (IIS_Mclk_Config_t *config)
 设置IIS MCLK(0、1) 时钟参数 更多...
 
void scu_iis_pad_mclk_config (IIS_Mclk_Source_t src, IIS_Clk_Mode_t mode)
 设置IIS PAD MCLK时钟参数 更多...
 
void scu_iis_codec_mclk_config (Codec_Channel_t channel, IIS_Mclk_Source_t src)
 设置CODEC MCLK 时钟参数 更多...
 
void scu_iis_clk_config (IISNumx device, IIS_Clk_Source_t clk_source)
 设置IIS(0、1)时钟参数 更多...
 
void scu_iis_pad_clk_config (IIS_Clk_Source_t clk_source, IIS_Clk_Mode_t mode)
 设置 IIS PAD CLK 时钟参数 更多...
 
void scu_iis_codec_dac_data_config (Codec_Dac_Data_Sel_t src)
 设置 codec dac IIS 输出数据来源 更多...
 
void scu_iis_pad_data_config (Pad_IIS_Data_Sel_t src)
 设置 pad IIS输出数据来源选择 更多...
 
void iis_clk_config (IIS_Clk_ConfigTypedef *config)
 IIS时钟配置。 master模式时,配置iis的sck和lrck来源,codec的mclk来源,iis pad输出的mclk和sck lrck来源。 slave模式时,iis时钟从外部输入,配置iis pad为输入模式 更多...
 
int32_t scu_set_system_clk_gate (Sys_Clk_Gate_t base, FunctionalState gate)
 设置系统时钟开关 更多...
 
void scu_nmi_irq_cfg (Nmi_Irq_t irq)
 nmi中断使能 更多...
 
void scu_set_ext0_ext1_int (Ext_Num num, FunctionalState en)
 外部中断使能 更多...
 
void dsu_init (void)
 启动NPU模块. 更多...
 

详细描述

三代芯片scu底层驱动接口头文件

版本
0.1
日期
2021-07-05

枚举类型说明

◆ Qspi_Mode_t

QSPI控制器模式

枚举值
QSPI_MODE_BOOT 

BOOT模式

QSPI_MODE_NOMAL 

正常模式

函数说明

◆ dsu_init()

void dsu_init ( void  )

启动NPU模块.