CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
结构体 | 宏定义 | 枚举 | 函数
ci130x_scu.h 文件参考

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

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

浏览源代码.

结构体

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

宏定义

#define MAIN_FREQUENCY   200000000
 
#define SRC_FREQUENCY_NORMAL   12288000U
 
#define SRC_FREQUENCY_LOWPOWER   12288000U
 

枚举

enum  Qspi_Mode_t {
  QSPI_MODE_BOOT = 1,
  QSPI_MODE_NOMAL = 0
}
 QSPI0控制器模式 更多...
 
enum  Nmi_Irq_t {
  NMI_IRQ_IWGD = 0x1,
  NMI_IRQ_WWGD = 0x2,
  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 = 0xC,
  NMI_IRQ_V11_OK = 0xE,
  NMI_IRQ_ADC = 0xF
}
 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,
  SRAM6_GATE = 10,
  ROM_GATE = 11
}
 系统时钟选择 更多...
 
enum  IOResue_FUNCTION {
  FIRST_FUNCTION = 0,
  SECOND_FUNCTION = 1,
  THIRD_FUNCTION = 2,
  FORTH_FUNCTION = 3,
  FIFTH_FUNCTION = 4,
  SIXTH_FUNCTION = 5
}
 IO复用功能选择 更多...
 
enum  ADIOResue_MODE {
  DIGITAL_MODE = 0,
  ANALOG_MODE = 1
}
 IO模拟数字功能选择 更多...
 
enum  PinPad_Name {
  PA0 = 0,
  PA1 = 1,
  BOOT_SEL_0_PAD = 2,
  SPI0_CS_PAD = 3,
  SPI0_D1_PAD = 4,
  SPI0_D2_PAD = 5,
  PA2 = 6,
  PA3 = 7,
  PA4 = 8,
  PA5 = 9,
  PA6 = 10,
  PA7 = 11,
  PB0 = 12,
  PB1 = 13,
  PB2 = 14,
  PB3 = 15,
  PB4 = 16,
  PB5 = 17,
  PB6 = 18,
  PB7 = 19,
  PC0 = 20,
  KEY_RSTN_PAD = 21,
  TEST_EN_PAD = 22,
  SPI0_D0_PAD = 23,
  SPI0_CLK_PAD = 24,
  SPI0_D3_PAD = 25,
  PC1 = 26,
  PC2 = 27,
  PC3 = 28,
  PC4 = 29,
  PC5 = 30,
  PD0 = 31,
  PD1 = 32,
  PD2 = 33,
  PD3 = 34,
  PD4 = 35,
  PD5 = 36
}
 IO复用列表,左至右依次为第1功能 ~ 第6功能,用"---"表示无第几复用功能 更多...
 
enum  IISNumx {
  IISNum0 = 0,
  IISNum1_RX = 1,
  IISNum1_TX = 2,
  IISNum2 = 3
}
 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  DmaInt_Sel_t {
  DMAINT_SEL_CHANNEL0 = 0,
  DMAINT_SEL_CHANNEL1 = 1,
  DMAINT_SEL_CHANNELALL = 2
}
 DMA 中断 channel 选择 更多...
 
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_SRC2 = 2,
  IIS_MCLK_SOURCE_PAD_IN = 3
}
 MCLK 时钟来源选择 更多...
 
enum  IIS_Mclk_t {
  IIS_MCLK_MCLK0 = 0,
  IIS_MCLK_MCLK1 = 1,
  IIS_MCLK_MCLK2 = 2
}
 MCLK 选择 更多...
 
enum  IIS_Clk_Source_t {
  IIS_CLK_SOURCE_MCLK0 = 0,
  IIS_CLK_SOURCE_MCLK1 = 1,
  IIS_CLK_SOURCE_MCLK2 = 2,
  IIS_CLK_SOURCE_PAD_IN = 3,
  IIS_CLK_SOURCE_CODEC_AD = 4,
  IIS_CLK_SOURCE_CODEC_DA = 5,
  IIS_CLK_SOURCE_PDM = 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_DATA_FROM_PDM = 3
}
 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,
  PAD_IIS_DATA_FROM_PDM = 3
}
 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 (Ext_Num num, FunctionalState cmd)
 设置外部事件中断唤醒 更多...
 
int32_t scu_clear_ext_int_state (Ext_Num 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_set_dma_mode (DmaInt_Sel_t channel)
 设置 DMA chanel 中断开启 更多...
 
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、2)的分频 更多...
 
void scu_iis_mclk_Config (IIS_Mclk_Config_t *config)
 设置IIS MCLK(0、1、2) 时钟参数 更多...
 
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_pdm_mclk_config (IIS_Mclk_Source_t src)
 设置 PDM MCLK 时钟参数 更多...
 
void scu_iis_clk_config (IISNumx device, IIS_Clk_Source_t clk_source)
 设置IIS(0、1、2)时钟参数 更多...
 
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和pdm的mclk来源,iis pad输出的mclk和sck lrck来源。 slave模式时,iis时钟从外部输入,配置iis pad为输入模式 更多...
 
void scu_rc_trim_en (bool en)
 RC trim使能 更多...
 
void scu_rc_trim_state_clear (void)
 清除RC trim的状态 更多...
 
uint8_t scu_get_rc_trim_state (void)
 获取RC trim状态设置 更多...
 
uint8_t scu_get_rc_trim_c_value (void)
 获取RC trim的粗调值 更多...
 
uint8_t scu_get_rc_trim_f_value (void)
 获取RC trim的细调值 更多...
 
void scu_set_wwdg_halt ()
 设置watchdog计数和复位受到CPU HALTED信号控制 更多...
 
void scu_clean_wwdg_halt ()
 设置watchdog计数和复位不受CPU HALTED信号控制 更多...
 
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 dsu_init (unsigned int addr)
 启动NPU模块. 更多...
 

详细描述

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

版本
0.1
日期
2021-07-05

宏定义说明

◆ SRC_FREQUENCY_LOWPOWER

#define SRC_FREQUENCY_LOWPOWER   12288000U

枚举类型说明

◆ Qspi_Mode_t

QSPI0控制器模式

枚举值
QSPI_MODE_BOOT 

BOOT模式

QSPI_MODE_NOMAL 

正常模式

函数说明

◆ dsu_init()

void dsu_init ( unsigned int  addr)

启动NPU模块.