CI13LC SDK API手册  2.1.1
本手册用于描述CI13LC SDK各个组件和驱动API
ci13lc_scu.h
浏览该文件的文档.
1 
11 #ifndef CI13LC_SCU_H
12 #define CI13LC_SCU_H
13 
14 #include <stdbool.h>
15 #include "ci_system.h"
16 #include "sdk_default_config.h"
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
26 typedef enum
27 {
33 
45 typedef enum
46 {
47  NMI_IRQ_IWDG = 0x1,
48  NMI_IRQ_EXT0 = 0x3,
49  NMI_IRQ_EXT1 = 0x4,
55  NMI_IRQ_PA = 0xA,
56  NMI_IRQ_PB = 0xB,
57  NMI_IRQ_PC = 0xC,
58  NMI_IRQ_VDT = 0xD,
60 }Nmi_Irq_t;
61 
66 typedef enum
67 {
78  ROM_GATE = 11,
80 
85 typedef enum
86 {
103 
107 typedef enum
108 {
117 
121 typedef enum
122 {
126 
131 typedef enum
132 {
134  IISNum0 = 0,
139 }IISNumx;
140 
145 typedef enum
146 {
152 
157 typedef enum
158 {
163 
168 typedef enum
169 {
174 
179 typedef enum
180 {
186 
191 typedef enum
192 {
202 
207 typedef enum
208 {
218 
223 typedef enum
224 {
230 
235 typedef enum
236 {
246 
251 typedef enum
252 {
257 }IIS_Mclk_t;
258 
263 typedef enum
264 {
278 
283 typedef enum
284 {
292 
297 typedef enum
298 {
306 
311 typedef enum
312 {
318 
323 typedef enum
324 {
330 
335 typedef struct
336 {
338  uint32_t source_div;
340 
345 typedef struct
346 {
352 
357 typedef struct
358 {
367 
371 void scu_unlock_system_config(void);
372 
376 void scu_unlock_reset_config(void);
377 
381 void scu_unlock_clk_config(void);
382 
386 void scu_lock_system_config(void);
387 
391 void scu_lock_clk_config(void);
392 
396 void scu_lock_reset_config(void);
397 
406 int32_t scu_set_device_gate(uint32_t device_base, int32_t gate);
407 
415 int32_t scu_set_device_reset(uint32_t device_base);
416 
424 int32_t scu_set_device_reset_release(uint32_t device_base);
425 
431 int32_t scu_get_system_reset_state(void);
432 
440 
447 
456 void scu_set_ext_filter_config(Ext_Num num,FunctionalState cmd,uint32_t param);
457 
465 int8_t scu_para_en_disable(uint32_t device_base);
466 
474 int8_t scu_para_en_enable(uint32_t device_base);
475 
489 int32_t scu_set_div_parameter(uint32_t device_base,uint32_t div_num);
490 
495 void scu_spiflash_no_boot_set(void);
496 
501 void scu_run_in_flash(void);
502 
507 void scu_run_not_in_flash(void);
508 
516 
522 
530 
546 
555 
563 void scu_iis_clk_config(IISNumx device, IIS_Clk_Source_t clk_source);
564 
573 
581 
589 
599 
609 
615 void scu_nmi_irq_cfg(Nmi_Irq_t irq);
616 
624 
628 void dsu_init(void);
629 
630 #ifdef __cplusplus
631 }
632 #endif
633 
634 #endif /*CI13LC_SCU_H*/
635 
636 /***************** (C) COPYRIGHT Chipintelli Technology Co., Ltd. *****END OF FILE****/
Definition: ci13lc_scu.h:98
Ext_Num
Definition: ci13lc.h:484
做输入时,无输出选择
Definition: ci13lc_scu.h:276
void scu_lock_system_config(void)
锁定系统控制寄存器
Definition: ci13lc_scu.c:67
int32_t scu_set_system_clk_gate(Sys_Clk_Gate_t base, FunctionalState gate)
设置系统时钟开关
Definition: ci13lc_scu.c:82
Definition: ci13lc_scu.h:70
Definition: ci13lc_scu.h:100
IIS_Mclk_Fs_t
IIS MCLK 过采样率选择
Definition: ci13lc_scu.h:207
IIS_Mclk_Source_t
MCLK 时钟来源选择
Definition: ci13lc_scu.h:235
Definition: ci13lc_scu.h:52
void scu_set_ext_filter_config(Ext_Num num, FunctionalState cmd, uint32_t param)
设置pad输入信号(外部事件)滤波
Definition: ci13lc_scu.c:209
MCLK1产生的SCK/LRCK
Definition: ci13lc_scu.h:268
过采样率384
Definition: ci13lc_scu.h:216
IIS 时钟配置结构体
Definition: ci13lc_scu.h:357
Definition: ci13lc_scu.h:75
来源于 SRC0
Definition: ci13lc_scu.h:238
int32_t scu_set_div_parameter(uint32_t device_base, uint32_t div_num)
设置外设时钟分频
Definition: ci13lc_scu.c:436
ADIOResue_MODE
IO模拟数字功能选择
Definition: ci13lc_scu.h:121
Definition: ci13lc_scu.h:112
Definition: ci13lc_scu.h:71
BOOT模式
Definition: ci13lc_scu.h:29
IIS1_RX的编号
Definition: ci13lc_scu.h:136
Definition: ci13lc_scu.h:161
Definition: ci13lc_scu.h:171
Definition: ci13lc_scu.h:48
IIS MCLK配置结构体
Definition: ci13lc_scu.h:345
来源于 INTERNAL RC
Definition: ci13lc_scu.h:198
int32_t scu_clear_ext_int_state(Wakeup_Mask_t num)
清除唤醒中断状态
Definition: ci13lc_scu.c:195
Definition: ci13lc_scu.h:111
CODEC DA
Definition: ci13lc_scu.h:328
Definition: ci13lc_scu.h:172
IIS_Mclk_Mode_t
IIS MCLK 输入/输出
Definition: ci13lc_scu.h:157
Definition: ci13lc_scu.h:72
IIS_Clk_Source_t clk_cfg
Definition: ci13lc_scu.h:363
Definition: ci13lc_scu.h:58
void scu_run_not_in_flash(void)
设置程序不在FLASH中运行
Definition: ci13lc_scu.c:537
Qspi_Mode_t
QSPI控制器模式
Definition: ci13lc_scu.h:26
SCK/LRCK=32
Definition: ci13lc_scu.h:226
Nmi_Irq_t
nmi中断选择
Definition: ci13lc_scu.h:45
int8_t scu_para_en_disable(uint32_t device_base)
配置外设分频参数之前需将CLK_DIV_PARAM_EN_CFG寄存器相应位置0
Definition: ci13lc_scu.c:338
Definition: ci13lc_scu.h:90
Definition: ci13lc_scu.h:50
void scu_iis_codec_dac_data_config(Codec_Dac_Data_Sel_t src)
设置 codec dac IIS 输出数据来源
Definition: ci13lc_scu.c:750
IIS_Mode_Sel_t model_sel
Definition: ci13lc_scu.h:360
codec dac输出数据来源于PAD_IN
Definition: ci13lc_scu.h:288
IIS_Sck_Lrck_Wid_t sck_lrck
Definition: ci13lc_scu.h:350
MCLK0产生的SCK/LRCK
Definition: ci13lc_scu.h:266
Definition: ci13lc_scu.h:95
IIS_Mclk_t mclk
Definition: ci13lc_scu.h:347
IIS_Mclk_Fs_t fs
Definition: ci13lc_scu.h:349
void scu_wait_pll_lock_state()
等待 PLL 处于 LOCK 状态
Definition: ci13lc_scu.c:564
输出
Definition: ci13lc_scu.h:314
IIS做MASTER
Definition: ci13lc_scu.h:150
int32_t scu_set_device_reset(uint32_t device_base)
配置外设复位
Definition: ci13lc_scu.c:230
输入
Definition: ci13lc_scu.h:316
uint32_t source_div
Definition: ci13lc_scu.h:338
void scu_lock_clk_config(void)
锁定时钟相关寄存器
Definition: ci13lc_scu.c:72
void iis_clk_config(IIS_Clk_ConfigTypedef *config)
IIS时钟配置。 master模式时,配置iis的sck和lrck来源,codec的mclk来源,iis pad输出的mclk和sck lrck来源...
Definition: ci13lc_scu.c:778
Definition: ci13lc_scu.h:57
void scu_nmi_irq_cfg(Nmi_Irq_t irq)
nmi中断使能
Definition: ci13lc_scu.c:847
来源于 EXT_OSC
Definition: ci13lc_scu.h:196
int32_t scu_set_ext_wakeup_int(Wakeup_Mask_t num, FunctionalState cmd)
设置唤醒中断使能
Definition: ci13lc_scu.c:173
Definition: ci13lc_scu.h:114
Definition: ci13lc_scu.h:92
int32_t scu_get_system_reset_state(void)
获取系统复位状态
Definition: ci13lc_scu.c:832
Definition: ci13lc_scu.h:99
Definition: ci13lc_scu.h:47
Definition: ci13lc_scu.h:78
Definition: ci13lc_scu.h:89
Definition: ci13lc_scu.h:54
Dtr_Clk_Sel_t
DTRFLASH时钟来源选择
Definition: ci13lc_scu.h:179
IIS_Mclk_Source_t src
Definition: ci13lc_scu.h:348
Wakeup_Mask_t
唤醒中断选择
Definition: ci13lc_scu.h:85
Definition: ci13lc_scu.h:59
void scu_iis_pad_mclk_config(IIS_Mclk_Source_t src, IIS_Clk_Mode_t mode)
设置IIS PAD MCLK时钟参数
Definition: ci13lc_scu.c:696
Codec_Channel_t
CODEC AD/DA 选择
Definition: ci13lc_scu.h:323
Definition: ci13lc_scu.h:68
过采样率128
Definition: ci13lc_scu.h:210
Definition: ci13lc_scu.h:109
来源于 PAD IN
Definition: ci13lc_scu.h:200
做输入时,无输出来源
Definition: ci13lc_scu.h:244
IIS_SckLrck_Mode_t clk_mode
Definition: ci13lc_scu.h:365
Sys_Clk_Gate_t
系统时钟选择
Definition: ci13lc_scu.h:66
IIS 时钟源 SRC配置结构体
Definition: ci13lc_scu.h:335
Definition: ci13lc_scu.h:159
IIS_Src_Source_t
MCLK 时钟源SRC的 来源选择
Definition: ci13lc_scu.h:191
Pad_IIS_Data_Sel_t
IIS pad sdo输出数据来源选择
Definition: ci13lc_scu.h:297
Definition: ci13lc_scu.h:170
PLL倍频前的时钟
Definition: ci13lc_scu.h:182
void scu_iis_mclk_config(IIS_Mclk_Config_t *config)
设置IIS MCLK(0、1) 时钟参数
Definition: ci13lc_scu.c:616
来源于 SRC1
Definition: ci13lc_scu.h:240
Definition: ci13lc_scu.h:74
Definition: ci13lc_scu.h:96
Definition: ci13lc_scu.h:49
Definition: ci13lc_scu.h:51
void scu_unlock_system_config(void)
解锁系统控制寄存器
Definition: ci13lc_scu.c:49
Definition: ci13lc_scu.h:113
Definition: ci13lc_scu.h:91
chip级定义
IIS pad sdo输出数据来源于IIS1_TX
Definition: ci13lc_scu.h:302
IIS_Mclk_Mode_t mclk_mode
Definition: ci13lc_scu.h:364
CODEC AD
Definition: ci13lc_scu.h:326
Definition: ci13lc_scu.h:77
MCLK0
Definition: ci13lc_scu.h:254
SCK/LRCK=64
Definition: ci13lc_scu.h:228
Definition: ci13lc_scu.h:160
IISNumx device_select
Definition: ci13lc_scu.h:359
IIS_Clk_Mode_t
IIS 输入输出选择
Definition: ci13lc_scu.h:311
IIS_Mode_Sel_t
IIS主从模式选择
Definition: ci13lc_scu.h:145
Definition: ci13lc_scu.h:88
IIS_SckLrck_Mode_t
IIS SCK和LRCK 输入/输出
Definition: ci13lc_scu.h:168
Definition: ci13lc_scu.h:87
codec_ad_sck_in
Definition: ci13lc_scu.h:272
正常模式
Definition: ci13lc_scu.h:31
void scu_iis_codec_mclk_config(Codec_Channel_t channel, IIS_Mclk_Source_t src)
设置CODEC MCLK 时钟参数
Definition: ci13lc_scu.c:724
void scu_lock_reset_config(void)
锁定复位寄存器
Definition: ci13lc_scu.c:77
PLL倍频后的时钟
Definition: ci13lc_scu.h:184
Definition: ci13lc_scu.h:93
IIS pad sdo输出数据来源于IIS0_TX
Definition: ci13lc_scu.h:300
codec dac输出数据来源于CODEC_ADC
Definition: ci13lc_scu.h:290
IIS_Clk_Source_t
IIS SCK/LRCK输出来源
Definition: ci13lc_scu.h:263
codec dac输出数据来源于IIS1_TX
Definition: ci13lc_scu.h:286
void scu_run_in_flash(void)
设置程序在FLASH中运行
Definition: ci13lc_scu.c:526
IIS_Sck_Lrck_Wid_t
IIS SCK和LRCK的频率关系比值
Definition: ci13lc_scu.h:223
Codec_Dac_Data_Sel_t
codec dac 输出数据来源选择
Definition: ci13lc_scu.h:283
Definition: ci13lc_scu.h:115
IIS_Mclk_t
MCLK 选择
Definition: ci13lc_scu.h:251
void scu_unlock_clk_config(void)
解锁时钟相关寄存器
Definition: ci13lc_scu.c:55
void scu_spiflash_no_boot_set(void)
配置QSPI0 非boot 模式
Definition: ci13lc_scu.c:514
IIS_Src_Config_t src_cfg
Definition: ci13lc_scu.h:361
Definition: ci13lc_scu.h:55
Definition: ci13lc_scu.h:97
Definition: ci13lc_scu.h:101
Definition: ci13lc_scu.h:76
过采样率192
Definition: ci13lc_scu.h:212
void scu_unlock_reset_config(void)
解锁复位相关寄存器
Definition: ci13lc_scu.c:61
Definition: ci13lc_scu.h:53
void scu_iis_pad_clk_config(IIS_Clk_Source_t clk_source, IIS_Clk_Mode_t mode)
设置 IIS PAD CLK 时钟参数
Definition: ci13lc_scu.c:669
MCLK1
Definition: ci13lc_scu.h:256
IIS0的编号
Definition: ci13lc_scu.h:134
IOResue_FUNCTION
IO复用功能选择
Definition: ci13lc_scu.h:107
IIS1_TX的编号
Definition: ci13lc_scu.h:138
int32_t scu_set_device_reset_release(uint32_t device_base)
配置外设复位释放
Definition: ci13lc_scu.c:284
codec_da_sck_in
Definition: ci13lc_scu.h:274
Definition: ci13lc_scu.h:56
Definition: ci13lc_scu.h:94
来源于 PAD IN
Definition: ci13lc_scu.h:242
IIS_Src_Source_t source
Definition: ci13lc_scu.h:337
void scu_sel_dtrflash_clk(Dtr_Clk_Sel_t clk)
设置DTR控制器时钟来源
Definition: ci13lc_scu.c:546
FunctionalState
Definition: ci_system.h:46
void scu_iis_pad_data_config(Pad_IIS_Data_Sel_t src)
设置 pad IIS输出数据来源选择
Definition: ci13lc_scu.c:764
sdk配置文件
IIS_Mclk_Config_t mclk_cfg
Definition: ci13lc_scu.h:362
void scu_set_ext0_ext1_int(Ext_Num num, FunctionalState en)
外部中断使能
Definition: ci13lc_scu.c:869
Definition: ci13lc_scu.h:110
Definition: ci13lc_scu.h:124
Definition: ci13lc_scu.h:123
PAD输入的SCK/LRCK
Definition: ci13lc_scu.h:270
Definition: ci13lc_scu.h:69
int8_t scu_para_en_enable(uint32_t device_base)
配置外设分频参数之后需将CLK_DIV_PARAM_EN_CFG寄存器相应位置1
Definition: ci13lc_scu.c:387
Definition: ci13lc_scu.h:73
void scu_iis_clk_config(IISNumx device, IIS_Clk_Source_t clk_source)
设置IIS(0、1)时钟参数
Definition: ci13lc_scu.c:644
int32_t scu_set_device_gate(uint32_t device_base, int32_t gate)
设置外设时钟开关
Definition: ci13lc_scu.c:99
来源于 IPCORE
Definition: ci13lc_scu.h:194
void dsu_init(void)
启动NPU模块.
Definition: ci13lc_dsu.c:20
IISNumx
IIS号选择
Definition: ci13lc_scu.h:131
IIS做SLAVE
Definition: ci13lc_scu.h:148
过采样率256
Definition: ci13lc_scu.h:214
void scu_iis_src_config(IIS_Src_Config_t *config, IIS_Mclk_Source_t src)
设置IIS MCLK 时钟来源 SRC 时钟(0、1)的分频
Definition: ci13lc_scu.c:573
IIS pad sdo输出数据来源于CODEC_ADC
Definition: ci13lc_scu.h:304