CI130X SDK API手册  2.2.0
本手册用于描述CI130X SDK各个组件和驱动API
枚举 | 函数
ci130x_dpmu.h 文件参考
#include "ci130x_system.h"
#include "ci130x_scu.h"

浏览源代码.

枚举

enum  Dpmu_Lowpower_Mode_t {
  DPMU_LOWPOWER_NO_MODE = 0,
  DPMU_LOWPOWER_SLEEP_MODE = 1,
  DPMU_LOWPOWER_DEEP_SLEEP_MODE = 2,
  DPMU_LOWPOWER_BOTH_MODE = 3
}
 
enum  Dpmu_Wakeup_Reset_Cfg_t {
  DPMU_WAKEUP_GPIO = 0,
  DPMU_WAKEUP_IWDG = 1,
  DPMU_WAKEUP_EFUSE = 2,
  DPMU_WAKEUP_TIMER01_GPWM01 = 3,
  DPMU_WAKEUP_IO_REG = 4,
  DPMU_WAKEUP_PMU_RC_REG = 5
}
 系统退出低功耗进入系统复位流程时是否复位 更多...
 
enum  Dpmu_Io_Pull_t {
  DPMU_IO_PULL_DISABLE = 0,
  DPMU_IO_PULL_UP = 1,
  DPMU_IO_PULL_DOWN = 2
}
 IO上下拉选择 更多...
 
enum  Dpmu_Io_Direction_t {
  DPMU_IO_DIRECTION_INPUT = 0,
  DPMU_IO_DIRECTION_OUTPUT = 1
}
 IO方向选择 更多...
 
enum  Dpmu_Xtal_Mode_t {
  DPMU_XTAL_EN = 10,
  DPMU_XTAL_BYP = 9,
  DPMU_XTAL_RF_EN = 8
}
 晶振功能配置选项 更多...
 
enum  Dpmu_Io_Schmitt_Trigger_t {
  DPMU_IO_SCHMITT_TRIGGER_DISABLE = 0,
  DPMU_IO_SCHMITT_TRIGGER_ENABLE = 1
}
 IO触发器选择 更多...
 
enum  Dpmu_Io_Slew_Rate_t {
  DPMU_IO_SLEW_RATE_SLOW = 0,
  DPMU_IO_SLEW_RATE_FAST = 1
}
 IO电压转换率模式 更多...
 
enum  Dpmu_Io_Driver_Strength_t {
  DPMU_IO_DRIVER_STRENGTH_0 = 0,
  DPMU_IO_DRIVER_STRENGTH_1 = 1,
  DPMU_IO_DRIVER_STRENGTH_2 = 2,
  DPMU_IO_DRIVER_STRENGTH_3 = 3
}
 IO驱动强度(数字越大,驱动能力越强) 更多...
 
enum  Dpmu_Src_Source_Sel_t {
  DPMU_SRC_USE_SYSTEM_DEFAULT = 0,
  DPMU_SRC_USE_INNER_RC = 1,
  DPMU_SRC_USE_OUTSIDE_OSC = 3
}
 SRC时钟源选择 更多...
 
enum  Dpmu_Vdt_Lv_t {
  DPMU_VDT_LV_2_4V = 0,
  DPMU_VDT_LV_2_5V,
  DPMU_VDT_LV_2_6V,
  DPMU_VDT_LV_2_7V,
  DPMU_VDT_LV_2_8V,
  DPMU_VDT_LV_2_9V,
  DPMU_VDT_LV_3_0V,
  DPMU_VDT_LV_3_1V
}
 低电压检测档位设置 更多...
 
enum  Dpmu_Update_En_Num_t {
  DPMU_UPDATE_EN_NUM_LDO1 = 0,
  DPMU_UPDATE_EN_NUM_LDO2,
  DPMU_UPDATE_EN_NUM_LDO3,
  DPMU_UPDATE_EN_NUM_VDT,
  DPMU_UPDATE_EN_NUM_TRIM
}
 PMU配置update的更新项 更多...
 
enum  Dpmu_Rc_Freq_Sel_t {
  DPMU_RC_FREQ_12d288M = 0,
  DPMU_RC_FREQ_2M,
  DPMU_RC_FREQ_4M,
  DPMU_RC_FREQ_8M,
  DPMU_RC_FREQ_16M,
  DPMU_RC_FREQ_24M,
  DPMU_RC_FREQ_32M,
  DPMU_RC_FREQ_64M
}
 RC的频率段选择 更多...
 
enum  Dpmu_LDO1_Lv_t {
  DPMU_LDO1_LV_2_75V = 0,
  DPMU_LDO1_LV_2_8V = 1,
  DPMU_LDO1_LV_2_85V = 2,
  DPMU_LDO1_LV_2_9V = 3,
  DPMU_LDO1_LV_2_95V = 4,
  DPMU_LDO1_LV_3_0V = 5,
  DPMU_LDO1_LV_3_05V = 6,
  DPMU_LDO1_LV_3_1V = 7,
  DPMU_LDO1_LV_3_15V = 8,
  DPMU_LDO1_LV_3_2V = 9,
  DPMU_LDO1_LV_3_25V = 10,
  DPMU_LDO1_LV_3_3V = 11,
  DPMU_LDO1_LV_3_35V = 12,
  DPMU_LDO1_LV_3_4V = 13,
  DPMU_LDO1_LV_3_45V = 14,
  DPMU_LDO1_LV_3_5V = 15
}
 LDO1的电压选择(配置值为0 ~ 15) 更多...
 
enum  Dpmu_LDO2_Lv_t {
  DPMU_LDO2_LV_2_725VV = 0,
  DPMU_LDO2_LV_2_75V = 1,
  DPMU_LDO2_LV_3_5V = 31
}
 LDO2的电压选择(配置值为0 ~ 31):2.725V + n * 0.025V,n为0 ~ 31 更多...
 
enum  Dpmu_LDO3_Lv_t {
  DPMU_LDO3_LV_0_85V = 0,
  DPMU_LDO3_LV_0_875V = 1,
  DPMU_LDO3_LV_0_9V = 2,
  DPMU_LDO3_LV_0_925V = 3,
  DPMU_LDO3_LV_0_95V = 4,
  DPMU_LDO3_LV_0_975V = 5,
  DPMU_LDO3_LV_1_0V = 6,
  DPMU_LDO3_LV_1_025V = 7,
  DPMU_LDO3_LV_1_05V = 8,
  DPMU_LDO3_LV_1_075V = 9,
  DPMU_LDO3_LV_1_1V = 10,
  DPMU_LDO3_LV_1_125V = 11,
  DPMU_LDO3_LV_1_15V = 12,
  DPMU_LDO3_LV_1_175 = 13,
  DPMU_LDO3_LV_1_2V = 14,
  DPMU_LDO3_LV_1_225V = 15
}
 LDO3的电压选择(配置值为0 ~ 15) 更多...
 
enum  Dpmu_PMU_Trim_Lv_t {
  DPMU_PMU_TRIM_LV_0_71V = 0,
  DPMU_PMU_TRIM_LV_0_7156V = 1,
  DPMU_PMU_TRIM_LV_0_88V = 31
}
 PMU trim的电压选择(配置值为0 ~ 31):0.71V + n * 0.0056V,n为0 ~ 31 更多...
 

函数

void dpmu_unlock_cfg_config (void)
 解锁dpmu配置寄存器 更多...
 
void dpmu_lock_cfg_config (void)
 锁定dpmu配置寄存器 更多...
 
void dpmu_set_io_reuse (PinPad_Name pin, IOResue_FUNCTION io_function)
 配置管脚复用对应功能 更多...
 
void dpmu_set_adio_reuse (PinPad_Name pin, ADIOResue_MODE adio_mode)
 配置管脚数字模拟功能 更多...
 
void dpmu_set_io_open_drain (PinPad_Name pin, FunctionalState cmd)
 配置管脚开漏功能(例如IIC需要引脚配置成此功能) 更多...
 
void dpmu_set_io_pull (PinPad_Name pin, Dpmu_Io_Pull_t pull)
 配置管脚上下拉功能 更多...
 
void dpmu_set_io_direction (PinPad_Name pin, Dpmu_Io_Direction_t dir)
 配置管脚方向 更多...
 
void dpmu_set_io_slew_rate (PinPad_Name pin, Dpmu_Io_Slew_Rate_t slew_rate)
 配置管脚电压转换率模式 更多...
 
void dpmu_set_io_schmitt_trigger (PinPad_Name pin, Dpmu_Io_Schmitt_Trigger_t schmitt_trigger)
 配置管脚触发器模式 更多...
 
void dpmu_set_io_driver_strength (PinPad_Name pin, Dpmu_Io_Driver_Strength_t driver_strength)
 配置管脚驱动强度 更多...
 
void dpmu_osc_pad_for_gpio (FunctionalState en)
 配置晶振脚PA0、PA1功能选择(晶振/GPIO) 更多...
 
void dpmu_iwdg_reset_none_config (void)
 IWDG模块检测到系统喂狗异常时的复位范围:无复位操作 更多...
 
void dpmu_iwdg_reset_system_config (void)
 IWDG模块检测到系统喂狗异常时的复位范围:复位全系统 更多...
 
void dpmu_iwdg_reset_bus_config (void)
 IWDG模块检测到系统喂狗异常时的复位范围:复位系统总线 更多...
 
void dpmu_twdg_reset_none_config (void)
 WWDG模块检测到系统喂狗异常时的复位范围:无复位操作 更多...
 
void dpmu_twdg_reset_sysytem_config (void)
 WWDG模块检测到系统喂狗异常时的复位范围:复位全系统 更多...
 
void dpmu_twdg_reset_bus_config (void)
 WWDG模块检测到系统喂狗异常时的复位范围:复位系统总线 更多...
 
void dpmu_software_reset_none_config (void)
 软件无复位操作 更多...
 
void dpmu_software_reset_system_config (void)
 软件复位全系统 更多...
 
void dpmu_software_reset_bus_config (void)
 软件复位系统总线 更多...
 
void dpmu_core_reset_none_config ()
 cpu内核发出复位请求时的复位范围:无复位操作 更多...
 
void dpmu_core_reset_system_config ()
 cpu内核发出复位请求时的复位范围:复位CPU内核 更多...
 
void dpmu_core_reset_bus_config ()
 cpu内核发出复位请求时的复位范围:复位系统总线 更多...
 
void dpmu_set_ext_filter_config (Ext_Num num, FunctionalState flag, uint32_t param)
 设置pad输入信号(外部事件)滤波 更多...
 
void dpmu_set_iwdg_halt ()
 设置iwatchdog计数和复位受到CPU HALTED信号控制 更多...
 
void dpmu_clean_iwdg_halt ()
 设置watchdog计数和复位不受CPU HALTED信号控制 更多...
 
void dpmu_set_src_source (Dpmu_Src_Source_Sel_t sel)
 选择SRC时钟的来源 更多...
 
void dpmu_pmu_trim_en (bool en)
 PMU trim使能 更多...
 
void dpmu_set_pmu_trim_value (uint8_t val)
 设置pmu trim信号 更多...
 
uint8_t dpmu_get_pmu_trim_value (void)
 设置pmu trim信号 更多...
 
void dpmu_pmu_div_resistance_en (bool en)
 PMU分压电阻使能 更多...
 
void dpmu_vdt_lv_set (Dpmu_Vdt_Lv_t lv)
 设置PMU的低电压检测档位 更多...
 
void dpmu_vdt_en (bool en)
 低电压检测使能 更多...
 
void dpmu_ldo2_en (bool en)
 LDO2输出使能 更多...
 
void dpmu_ldo3_en (bool en)
 LDO3输出使能 更多...
 
void dpmu_ldo1_lv_set (uint8_t lv)
 LDO1输出电压调整 更多...
 
void dpmu_ldo2_lv_set (uint8_t lv)
 LDO2输出电压调整 更多...
 
void dpmu_ldo3_lv_set (uint8_t lv)
 LDO3输出电压调整 更多...
 
void dpmu_config_update_en (Dpmu_Update_En_Num_t num)
 PMU update en配置 更多...
 
void dpmu_rc_freq_sel (Dpmu_Rc_Freq_Sel_t sel)
 RC频率段选择 更多...
 
void dpmu_set_rc_trim_c_value (uint8_t val)
 RC trim时粗调值设置 更多...
 
void dpmu_set_rc_trim_f_value (uint8_t val)
 RC trim时精调值设置 更多...
 
void dpmu_set_rc_en (bool en)
 RC 使能设置 更多...
 
void dpmu_set_rc_update_cfg (void)
 RC配置寄存器更新 更多...
 
void dpmu_pll_config (uint32_t in_clk, uint32_t out_clk)
 配置系统主频 更多...
 
uint32_t dpmu_get_pll_frequency ()
 获取系统主频 更多...
 
void dpmu_set_vdt_mask (bool en)
 设置VDT中断屏蔽 更多...
 
void dpmu_osc_pad_cfg_fma (uint8_t num)
 晶振IO频率和驱动能力选择 更多...
 
void dpmu_use_rc (void)
 设置使用SRC时钟作为系统时钟 更多...
 
void dpmu_set_low_power_mode (Dpmu_Lowpower_Mode_t mode)
 
void dpmu_wakeup_reset_cfg (Dpmu_Wakeup_Reset_Cfg_t model, FunctionalState flag)
 系统退出低功耗进入系统复位流程时是否复位模块 更多...
 
void dpmu_set_wakeup_int (int32_t wake_int_num, FunctionalState flag)
 低功耗唤醒源使能 更多...
 
uint32_t dpmu_get_wakeup_state (void)
 获取唤醒状态 更多...
 

枚举类型说明

◆ Dpmu_Lowpower_Mode_t

枚举值
DPMU_LOWPOWER_NO_MODE 
DPMU_LOWPOWER_SLEEP_MODE 
DPMU_LOWPOWER_DEEP_SLEEP_MODE 
DPMU_LOWPOWER_BOTH_MODE 

◆ Dpmu_Wakeup_Reset_Cfg_t

系统退出低功耗进入系统复位流程时是否复位

枚举值
DPMU_WAKEUP_GPIO 
DPMU_WAKEUP_IWDG 
DPMU_WAKEUP_EFUSE 
DPMU_WAKEUP_TIMER01_GPWM01 
DPMU_WAKEUP_IO_REG 
DPMU_WAKEUP_PMU_RC_REG 

函数说明

◆ dpmu_get_wakeup_state()

uint32_t dpmu_get_wakeup_state ( void  )

获取唤醒状态

返回
state: 唤醒状态寄存器值

◆ dpmu_set_low_power_mode()

void dpmu_set_low_power_mode ( Dpmu_Lowpower_Mode_t  mode)

◆ dpmu_set_wakeup_int()

void dpmu_set_wakeup_int ( int32_t  wake_int_num,
FunctionalState  flag 
)

低功耗唤醒源使能

参数
wake_int_num,唤醒源共8组,可配置 0 ~ 7
flag,ENABLE,使能。DISABLE,不使能

◆ dpmu_wakeup_reset_cfg()

void dpmu_wakeup_reset_cfg ( Dpmu_Wakeup_Reset_Cfg_t  model,
FunctionalState  flag 
)

系统退出低功耗进入系统复位流程时是否复位模块

参数
model,复位的模块
flag,ENABLE,复位。DISABLE,不复位