SRPWM (高精度脉宽调制器)
简介
PWM 脉宽调制是电力电子应用中非常重要的一种控制技术。 ET6000系列实时为控制器在SRPWM(Super Resolution PWM)高精度PWM外设中提供了许多差异化功能,具备灵活的周期、相位以及死区调整; 丰富的同步机制;具备高级的保护功能;支持高达ps级的高精度调制。 用于电机控制和电源控制 (PFC、LLC、OBC……) 等电力电子场景。
ET6001的SRPWM 外设包含 12 通道 PWM 发波子模块,其中有 4 个通道 (0~3 通道,共 8 个支路) 支持高精度 PWM 发波,其余通道仅支持标准精度 PWM 发波。
功能概述
支持输出 12 通道。
每个通道输出2路(A/B)PWM
每个通道的2路PWM可配置为独立或互补关系
支持多个定时单元
12 个22位定时单元,可任意配置为独立或主从关系(通过2路同步信号同步)
每个通道均支持输入2路同步信号和输出2路同步信号
支持高精度功能
每个通道的周期、占空比以及死区可独立进行高精度调整
高精度调整功能可旁路
高精度可达156ps
支持丰富的比较事件
每个通道4个主比较器和4个从比较器
可配置1个周期内单次比较或多次比较
可配置大于等于、小于等于、等于
可作为同步信号输出
支持丰富的波形生成事件PG(PWM Generate)
每个通道支持23种事件生成PWM
每个通道的2路PWM可独立配置波形生成事件
支持突发发波模式
支持丰富的保护机制
支持异常信号预处理
统计
滤波
Blanking功能
支持前级保护
每个通道6路异常信号输入
多种保护模式:CBC模式、One-Shot模式、无约束(立即)模式
保护起始结束时机可配
多种保护动作:置0、置1、高阻、取反
支持后级保护
通道内和通道间的互斥保护
互斥保护条件可配
支持 12 路中断
每路中断支持14种中断源,其中事件中断源支持24种中断事件
支持连接到其他片内外设
支持连接到ADC
支持连接到DAC
支持连接到ACMP
支持广播更新寄存器功能
全部通道或者任意指定通道同时配置
支持关键参数寄存器多种加载模式
立即加载模式
通道间同步加载模式
通道内影子加载模式
支持广播更新:全部通道或者任意指定通道同时配置
支持谷值开关功能
软件配置流程
配置流程如下:
配置IOMUX(必选)
配置相应的引脚为SRPWM模式
TB 时基单元初始化(必选)
调用
SRPWM_initTBStruct()初始化结构体参数调用
SRPWM_initTB()传入参数结构体指针
CMP 比较值单元初始化(可选)
调用
SRPWM_initCMPStruct()初始化结构体参数调用
SRPWM_initCMP()传入参数结构体指针
PG 波形发生单元初始化(可选)
调用
SRPWM_initPGStruct()初始化结构体参数调用
SRPWM_initPG()传入参数结构体指针
DB死区单元初始化(可选)
调用
SRPWM_initDBStruct()初始化结构体参数调用
SRPWM_initDB()传入参数结构体指针
BURST 突发单元初始化(可选)
调用
SRPWM_initBurstStruct()初始化结构体参数调用
SRPWM_initBurst()传入参数结构体指针
FPP故障预处理单元初始化(可选)
调用
SRPWM_initFPPStruct()初始化结构体参数调用
SRPWM_initFPP()传入参数结构体指针
PREP前级保护单元初始化(可选)
调用
SRPWM_initPREPStruct()初始化结构体参数调用
SRPWM_initPREP()传入参数结构体指针
PSTP后级保护单元初始化(可选)
调用
SRPWM_initPSTPStruct()初始化结构体参数调用
SRPWM_initPSTP()传入参数结构体指针
Valley谷值开关单元初始化(可选)
调用
SRPWM_initValleyStruct()初始化结构体参数调用
SRPWM_initValley()传入参数结构体指针
事件输出单元(可选)
调用
SRPWM_setADCTriggerSource()传入触发ADC的事件调用
SRPWMCOM_configADCTriggerMux()传入触发ADC的序号调用
SRPWM_selectSyncOut()传入输出的同步事件调用
SRPWMCOM_selectSyncToSRPWM()传入事件到同步的通道
中断(可选)
调用
SRPWM_enableEvtInterrupt()传入事件类型中断源调用
SRPWM_enableInterrupt()传入中断类型
使能高精度旁路(必选)
调用
SRPWM_enableHRPWMBypass()传入通道
广播功能(可选)
调用
SRPWMCOM_enableBroadcast()传入需要广播的通道
使能通道(必选)
调用
SRPWMCOM_enable()传入通道
时基初始化单元(TB)
计数时钟/计数方式
计数时钟
SRPWM模块挂在AHB BUS1上,在SDK等示例中,时钟默认都配置为200Mhz,如果要使用高精度部分,时钟必须固定在200Mhz,所以这里不建议修改。
计数模式
计数方式包含两种模式可选
SRPWM_COUNTMODE_UP和SRPWM_COUNTMODE_UPDOWN。
向上计数模式
SRPWM_COUNTMODE_UP:在该模式下,计数器从 0 开始递增计数,计数至 CFG_TB_PRD[cfg_tb_prd[26:5]] - 1 值时,完成一个周期的计数,并且复位至 0 重新开始计数。 * 在计数值为 0 时,信号SRPWM_PG_EVT_ZERO事件产生。在计数值为 CFG_TB_PRD[cfg_tb_prd[26:5]] - 1 的时候,信号
SRPWM_PG_EVT_PRD事件产生。Fpwm = Tpwm_clk / (CFG_TB_PRD[cfg_tb_prd[26:5]])。
备注
这里的周期值配置需要注意和TI的存在差异,ET6001输出频率Fpwm = Tpwm_clk/TB_PRD; TI的输出频率Fpwm = Tpwm_clk/(TB_PRD+1);
向上向下计数模式
SRPWM_COUNTMODE_UPDOWN:计数器从 0 开始递增计数,计数至 CFG_TB_PRD[cfg_tb_prd[26:5]] 后进行递减计数,当计数器计数为 1,完成一个周期的计数。下一个周期继续从 0 开始进行先递增后递减计数。 * 在计数值为 0 时,信号SRPWM_PG_EVT_ZERO事件产生。在计数值为 CFG_TB_PRD[cfg_tb_prd[26:5]] 的时候,信号
SRPWM_PG_EVT_PRD事件产生。Fpwm = Tpwm_clk / (2 * CFG_TB_PRD[cfg_tb_prd[26:5]]) 详细计算见 ET6001用户手册。
同步输入
同步输入信号源在TB中进行配置,同步信号用于在事件发生时将对应配置的相位值加载到对应的计数器中,计数器从相位值开始计数,
syncIn0和syncIn1信号源选择源如下,可以进行mask_or配置;
#define SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS0 ((uint8_t)(0x0001))
#define SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS1 ((uint8_t)(0x0002))
#define SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS2 ((uint8_t)(0x0004))
#define SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS3 ((uint8_t)(0x0008))
#define SRPWM_TBCOUNTER_SYNCEVT_SYNC_IN0 ((uint8_t)(0x0010))
#define SRPWM_TBCOUNTER_SYNCEVT_SYNC_IN1 ((uint8_t)(0x0020))
#define SRPWM_TBCOUNTER_SYNCEVT_SOFTWARE_UPDATE_EVT ((uint8_t)(0x0040))
如果此时计数方式配置为UPDOWN模式,此时还可以配置同步加载后计数器的计数方向,
sync0CountDir `` 和 ``sync1CountDir `` 的配置选项为 ``SRPWM_SYNC_DIR_DOWN和SRPWM_SYNC_DIR_UP;当软件代码中选择了上述任意信号源后,则同步输入功能将被使能。如果没有选择任何信号源,则同步输入功能将被禁用。
SRPWM_TBInitTypeDef `` 结构体中的 `waitSync0TimerEn` 用于开启是否在等待到同步信号到来时开始计数器计数,默认值为 ``DISABLE,如果需要在同步信号到来后开始计数,则需要将该值设置为ENABLE。
如果选择源
SRPWM_TBCOUNTER_SYNCEVT_SYNC_IN0和SRPWM_TBCOUNTER_SYNCEVT_SYNC_IN1中的信号,这里的信号来自于其他PWM组的同步输出信号,多组信号源需要通过SRPWMCOM中进行配置,具体配置参考 同步信号输入参考;
如果信号源选择
SRPWM_TBCOUNTER_SYNCEVT_SOFTWARE_UPDATE_EVT事件,在需要同步信号的触发时使用SRPWMCOM_generateSwEvt()函数进行配置;参数channelMask指定SRPWM模块的通道号。如果信号源选择
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POSx事件,x等于0~3; 对应信号源来自外部输入GPIO接口输入或者其他外设模块的故障信号灯,通过XBAR模块输入选择 INPUTXBAR_OUT 信号和 PFXBAR_OUT 信号源;
输入源对应关系前级关系,XBAR中需要在XBAR中进行源选择,如果故障源来自外部IO连接输入选择前INXB_OUT进行配置,如果故障源来自其他模块的信号,如ACMP/ETIMER等选择PFXBAR_OUT进行配置,PFXB也可以选择INXB作为源,但是此时即使是同一个IO的输入也会出现不同的延时:
PWM组 |
XBAR输入通路 |
Fault信号预处理组 |
对应同步输入信号源 |
|---|---|---|---|
SRPWM0~3 |
INXB_OUT0 |
SRPWM_FPP_FAULT_SIG_GRP0 |
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS0 |
INXB_OUT1 |
SRPWM_FPP_FAULT_SIG_GRP1 |
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS1 |
|
PFXB_OUT0 |
SRPWM_FPP_FAULT_SIG_GRP2 |
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS2 |
|
PFXB_OUT1 |
SRPWM_FPP_FAULT_SIG_GRP3 |
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS3 |
|
PFXB_OUT2 |
SRPWM_FPP_FAULT_SIG_GRP4 |
||
PFXB_OUT3 |
SRPWM_FPP_FAULT_SIG_GRP5 |
||
SRPWM4~7 |
INXB_OUT2 |
SRPWM_FPP_FAULT_SIG_GRP0 |
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS0 |
INXB_OUT3 |
SRPWM_FPP_FAULT_SIG_GRP1 |
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS1 |
|
PFXB_OUT4 |
SRPWM_FPP_FAULT_SIG_GRP2 |
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS2 |
|
PFXB_OUT5 |
SRPWM_FPP_FAULT_SIG_GRP3 |
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS3 |
|
PFXB_OUT6 |
SRPWM_FPP_FAULT_SIG_GRP4 |
||
PFXB_OUT7 |
SRPWM_FPP_FAULT_SIG_GRP5 |
||
SRPWM8~11 |
INXB_OUT4 |
SRPWM_FPP_FAULT_SIG_GRP0 |
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS0 |
INXB_OUT5 |
SRPWM_FPP_FAULT_SIG_GRP1 |
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS1 |
|
PFXB_OUT8 |
SRPWM_FPP_FAULT_SIG_GRP2 |
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS2 |
|
PFXB_OUT9 |
SRPWM_FPP_FAULT_SIG_GRP3 |
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS3 |
|
PFXB_OUT10 |
SRPWM_FPP_FAULT_SIG_GRP4 |
||
PFXB_OUT11 |
SRPWM_FPP_FAULT_SIG_GRP5 |
备注
如果同步信号来自其他SRPWM组的输入,信号会有3个cycle的延时; 如果想使用外部的信号来同步可以将同步信号选择同一个,进行相同的输入处理即可;
计数比较单元(CMP)和动作矩阵单元(PG)
这两节主要见用户手册有详细描述,对于API配置方面常用的就是CMP比较值配置和动作波形矩阵两个部分;
CMP
比较单元主要是比较值的配置,包含4个主比较器(COMPA/COMPB/COMPC/COMPD)和4个从比较器(SCOMPA/SCOMPB/SCOMPC/SCOMPD);比较值主要用于产生对应的事件进行动作事件;
这里比较简单,需要注意的是ET系列的事件相对于其他系列多了一个事件产生时间点的差异,常规模式下对应事件的产生都是当比较值等于计时器值时产生;ET600X对应事件同时可以配置为
SRPWM_CMP_EVTOUT_MODE_UP_AND_DOWN_EVENT模式,在该模式下,事件产生的时间点为:向上计数时:当比较值大于等于计时器值时产生事件。
向下计数时:当比较值小于等于计时器值时产生事件。
PG
波形发生器有 23 个事件源可选(22 个动作矩阵事件,外加 1 个软件事件 SRPWM_PG_EVT_SW),每个事件可以配置 4 个动作配置,每个事件可单独配置或者同时配置:
SRPWM 模块 A/B 路的输出事件通过
SRPWM_setPG()函数进行配置。参数
SRPWMx指定 SRPWM 模块的通道号。参数
pwmAB指定选择配置哪一路的输出SRPWM_A和SRPWM_B。参数
event指定选择哪个事件产生动作。参数
value指定选择的对应事件产生什么动作。
23 个事件源如下,事件响应优先级按以下顺序依次从高到低(根据不同计数方向有所不同,但是基本顺序一致), SRPWM_PG_EVT_SW 优先级最高:
SRPWM_PG_EVT_SW
SRPWM_PG_EVT_FPP_FAULT_POS0
SRPWM_PG_EVT_FPP_FAULT_POS1
SRPWM_PG_EVT_FPP_FAULT_POS2
SRPWM_PG_EVT_FPP_FAULT_POS3
SRPWM_PG_EVT_CMPD_UP
SRPWM_PG_EVT_CMPC_UP
SRPWM_PG_EVT_CMPB_UP
SRPWM_PG_EVT_CMPA_UP
SRPWM_PG_EVT_SCMPD_UP
SRPWM_PG_EVT_SCMPC_UP
SRPWM_PG_EVT_SCMPB_UP
SRPWM_PG_EVT_SCMPA_UP
SRPWM_PG_EVT_ZERO
SRPWM_PG_EVT_CMPD_DOWN
SRPWM_PG_EVT_CMPC_DOWN
SRPWM_PG_EVT_CMPB_DOWN
SRPWM_PG_EVT_CMPA_DOWN
SRPWM_PG_EVT_SCMPD_DOWN
SRPWM_PG_EVT_SCMPC_DOWN
SRPWM_PG_EVT_SCMPB_DOWN
SRPWM_PG_EVT_SCMPA_DOWN
SRPWM_PG_EVT_PERIOD
4 个动作矩阵选择如下:
SRPWM_PG_NONE // 不动作
SRPWM_PG_CLEAR // 拉低
SRPWM_PG_SET // 拉高
SRPWM_PG_TOGGLE // 翻转
死区输出单元(DB)
死区输出的几种模式
这里参考TI的死区输出,在几种输出模式下,ET系列需要进行怎样配置:
在上图中给出了上升沿延迟和下降沿延迟输出的方式的输出,死区互补输出的几种方式主要通过配置A/B路的死区配置; 示例上下边沿延迟统一配置为10:
死区模式1,死区结构体初始化配置:
initDBStruct->a.selComplementChannel = DISABLE; initDBStruct->a.selRisingDelay = ENABLE; initDBStruct->a.selFallingDelay = DISABLE; initDBStruct->a.selOutputState = SRPWM_DB_OUTPUT_STATE_POS_OR_NEG_AFTER; initDBStruct->a.risingDelay = 10; initDBStruct->a.fallingDelay = 0; initDBStruct->b.selComplementChannel = DISABLE; initDBStruct->b.selRisingDelay = DISABLE; initDBStruct->b.selFallingDelay = ENABLE; initDBStruct->b.selOutputState = SRPWM_DB_OUTPUT_STATE_POS_OR_NEG_INVERT; initDBStruct->b.risingDelay = 0; initDBStruct->b.fallingDelay = 10;
死区模式2,死区结构体初始化配置:
initDBStruct->a.selComplementChannel = DISABLE; initDBStruct->a.selRisingDelay = ENABLE; initDBStruct->a.selFallingDelay = DISABLE; initDBStruct->a.selOutputState = SRPWM_DB_OUTPUT_STATE_POS_OR_NEG_INVERT; initDBStruct->a.risingDelay = 10; initDBStruct->a.fallingDelay = 0; initDBStruct->b.selComplementChannel = DISABLE; initDBStruct->b.selRisingDelay = DISABLE; initDBStruct->b.selFallingDelay = ENABLE; initDBStruct->b.selOutputState = SRPWM_DB_OUTPUT_STATE_POS_OR_NEG_AFTER; initDBStruct->b.risingDelay = 0; initDBStruct->b.fallingDelay = 10;
死区模式3,死区结构体初始化配置:
initDBStruct->a.selComplementChannel = DISABLE; initDBStruct->a.selRisingDelay = ENABLE; initDBStruct->a.selFallingDelay = DISABLE; initDBStruct->a.selOutputState = SRPWM_DB_OUTPUT_STATE_POS_OR_NEG_AFTER; initDBStruct->a.risingDelay = 10; initDBStruct->a.fallingDelay = 0; initDBStruct->b.selComplementChannel = DISABLE; initDBStruct->b.selRisingDelay = DISABLE; initDBStruct->b.selFallingDelay = ENABLE; initDBStruct->b.selOutputState = SRPWM_DB_OUTPUT_STATE_POS_OR_NEG_AFTER; initDBStruct->b.risingDelay = 0; initDBStruct->b.fallingDelay = 10;
死区模式4,死区结构体初始化配置:
initDBStruct->a.selComplementChannel = DISABLE; initDBStruct->a.selRisingDelay = ENABLE; initDBStruct->a.selFallingDelay = DISABLE; initDBStruct->a.selOutputState = SRPWM_DB_OUTPUT_STATE_POS_OR_NEG_INVERT; initDBStruct->a.risingDelay = 10; initDBStruct->a.fallingDelay = 0; initDBStruct->b.selComplementChannel = DISABLE; initDBStruct->b.selRisingDelay = DISABLE; initDBStruct->b.selFallingDelay = ENABLE; initDBStruct->b.selOutputState = SRPWM_DB_OUTPUT_STATE_POS_OR_NEG_INVERT; initDBStruct->b.risingDelay = 0; initDBStruct->b.fallingDelay = 10;
突发模式输出单元(Brust mode)
突发模式使能的情况下,有两种模式可选 SRPWM_BURST_N_WAVE_IN_BACK 和 SRPWM_BURST_N_WAVE_IN_FRONT,在突发同步输出使能后同步信号生效,
SRPWM_BURST_N_WAVE_IN_BACK模式为N个发波周期在空闲周期后面。
SRPWM_BURST_N_WAVE_IN_FRONT模式为N个发波周期在空闲周期前面。
brust模式输出期间是否受外部信号影响说明:
在输出期间,又接受到同步信号时,输出不会被打断重新开始计数;
在突发计数输出期间,突发模式关闭,也会等到当前突发周期输出完成后再关闭,不会被强制打断恢复正常输出;
突发模式的输出单波形为一个PWM周期,没有其他时钟源作为输入;
突发模式的同步信号都是使用的同一个PWM时钟下的计数值,所以不会出现一个突发周期输出完成后没有下一个同步信号来的情况;
Brust sync信号源如下:
#define SRPWM_BURST_START_SYNC_ZERO_EVT ((uint8_t)(0x0001)) #define SRPWM_BURST_START_SYNC_PRD_EVT ((uint8_t)(0x0002)) #define SRPWM_BURST_START_SYNC_SCMPA_UP_EVT ((uint8_t)(0x0004)) #define SRPWM_BURST_START_SYNC_SCMPB_UP_EVT ((uint8_t)(0x0008)) #define SRPWM_BURST_START_SYNC_SCMPA_DOWN_EVT ((uint8_t)(0x0010)) #define SRPWM_BURST_START_SYNC_SCMPB_DOWN_EVT ((uint8_t)(0x0020))
Fault 信号处理
这个模块是对统一输入的Fault信号进行前级的滤波消隐等处理操作,6组FPP处理单元独立,每路fault信号进行单独处理;下图为Fault信号预处理简略流程,详细可以见用户手册,针对流程中的每个模块配置进行说明:
信号沿选择
信号沿选择共4种方式 SRPWM_FPPFaultSigEgdeSel:
SRPWM_FPP_FAULT_SIG_EGDE_SEL_DIRECT:直接输入,不做任何处理;SRPWM_FPP_FAULT_SIG_EGDE_SEL_INVERT:对输入fault信号取反操作;SRPWM_FPP_FAULT_SIG_EGDE_SEL_POS:对输入fault信号仅取上升沿;SRPWM_FPP_FAULT_SIG_EGDE_SEL_NES:对输入fault信号仅取下降沿;
消隐功能
针对输入的故障信号进行消隐,消隐是指在非消隐区间的fault信号无效;
fault信号消隐模式选择共三种
SRPWM_FPPBlankingMode:SRPWM_FPP_BLK_MODE_NONE:不做消隐处理,上级信号直接输出;SRPWM_FPP_BLK_MODE_NORMAL:正常消隐模式,常规消隐是指在非消隐区间内,输入的fault信号完全无效,在消隐区间内产生的fault信号有效;SRPWM_FPP_BLK_MODE_LATCH:锁存消隐模式,锁存是指将非消隐有效区间内的fault信号锁存,直到消隐区间内产生一次fault信号后失效,不管非消隐区间产生多少次fault信号,统一只锁存一次有效;
消隐区间有效区间的配置, 消隐区间的开始和结束都通过触发事件产生,消隐信号开始和结束的消隐触发源从 所有事件集合 中选择,信号源为单选:
小技巧
如果选择消隐功能后,必须要配置消隐延迟使能,如果想在消隐信号触发后立即生效,将延时时间配置为0即可;
滤波功能
滤波功能在消隐之后,主要用于将意外脉冲信号过滤掉,防止出现误触发操作;使能滤波后,设置滤波窗口,当对应故障信号大于滤波窗口时,对应fault信号才正常输出;
每次滤波计数器清零之后只有第一个低于滤波阈值的脉冲信号会被滤掉,后续计数值后持续增加导致滤波不生效,需要使用
SRPWM_setADCTriggerSource()函数进行清除。参数
SRPWMx指定SRPWM模块的通道号。参数
faultSigGroup指定清除哪组fault信号的滤波计数值 (SRPWM_FPP_FAULT_SIG_GRPx)。
锁存功能
经过消隐和滤波后到最后的信号输出有两种模式可选
SRPWM_FPPFaultMode:SRPWM_FPP_FAULT_MODE_NORMAL:常规fault配置输出;SRPWM_FPP_FAULT_MODE_ONE_BLK_ONE_FAULT:一个消隐周期有效内只输出第一个有效的脉冲事件输出,该模式只能在消隐模式下有效;
锁存输出信号
锁存功能的配置需要注意的功能实现有以下几项:
锁存输入源:经过上述两个步骤的输出,锁存输入源可以选择滤波前的信号
SRPWM_FPP_COUNT_SIG_FILTER_BEFORE还是滤波后的信号SRPWM_FPP_COUNT_SIG_FILTER_BEHIND;fault信号锁存计数模式,每个fault信号的上升沿计数值增加一次,当fault计数值达到配置阈值后锁存一次故障信号,后续的fault信号不再响应,直到fault 计数值被清零(清零事件:周期事件、过零事件或者软件清除事件)才会再开始下一次fault进行锁存计数;
输出的锁存信号有两个来源:消隐部分的消隐锁存输出通路和上面的次数计数并产生相应事件;两者可以或上输出也可以单个输出;
下表为fault源和信号输出的对应关系,方便项目前期的方案制定:
XBAR输入通路 |
Fault信号预处理组 |
Fault实时事件 |
Fault上升沿事件(脉冲) |
Fault锁存事件 |
|
|---|---|---|---|---|---|
SRPWM0~3 |
INXB_OUT0 |
SRPWM_FPP_FAULT_SIG_GRP0 |
FPP_FAULT_REAL0 |
FPP_FAULT_POS0 |
FPP_FAULT_LATCH0 |
INXB_OUT1 |
SRPWM_FPP_FAULT_SIG_GRP1 |
FPP_FAULT_REAL1 |
FPP_FAULT_POS1 |
FPP_FAULT_LATCH1 |
|
PFXB_OUT0 |
SRPWM_FPP_FAULT_SIG_GRP2 |
FPP_FAULT_REAL2 |
FPP_FAULT_POS2 |
FPP_FAULT_LATCH2 |
|
PFXB_OUT1 |
SRPWM_FPP_FAULT_SIG_GRP3 |
FPP_FAULT_REAL3 |
FPP_FAULT_POS3 |
FPP_FAULT_LATCH3 |
|
PFXB_OUT2 |
SRPWM_FPP_FAULT_SIG_GRP4 |
FPP_FAULT_REAL4 |
FPP_FAULT_LATCH4 |
||
PFXB_OUT3 |
SRPWM_FPP_FAULT_SIG_GRP5 |
FPP_FAULT_REAL5 |
FPP_FAULT_LATCH5 |
||
SRPWM4~7 |
INXB_OUT2 |
SRPWM_FPP_FAULT_SIG_GRP0 |
FPP_FAULT_REAL0 |
FPP_FAULT_POS0 |
FPP_FAULT_LATCH0 |
INXB_OUT3 |
SRPWM_FPP_FAULT_SIG_GRP1 |
FPP_FAULT_REAL1 |
FPP_FAULT_POS1 |
FPP_FAULT_LATCH1 |
|
PFXB_OUT4 |
SRPWM_FPP_FAULT_SIG_GRP2 |
FPP_FAULT_REAL2 |
FPP_FAULT_POS2 |
FPP_FAULT_LATCH2 |
|
PFXB_OUT5 |
SRPWM_FPP_FAULT_SIG_GRP3 |
FPP_FAULT_REAL3 |
FPP_FAULT_POS3 |
FPP_FAULT_LATCH3 |
|
PFXB_OUT6 |
SRPWM_FPP_FAULT_SIG_GRP4 |
FPP_FAULT_REAL4 |
FPP_FAULT_LATCH4 |
||
PFXB_OUT7 |
SRPWM_FPP_FAULT_SIG_GRP5 |
FPP_FAULT_REAL5 |
FPP_FAULT_LATCH5 |
||
SRPWM8~11 |
INXB_OUT4 |
SRPWM_FPP_FAULT_SIG_GRP0 |
FPP_FAULT_REAL0 |
FPP_FAULT_POS0 |
FPP_FAULT_LATCH0 |
INXB_OUT5 |
SRPWM_FPP_FAULT_SIG_GRP1 |
FPP_FAULT_REAL1 |
FPP_FAULT_POS1 |
FPP_FAULT_LATCH1 |
|
PFXB_OUT8 |
SRPWM_FPP_FAULT_SIG_GRP2 |
FPP_FAULT_REAL2 |
FPP_FAULT_POS2 |
FPP_FAULT_LATCH2 |
|
PFXB_OUT9 |
SRPWM_FPP_FAULT_SIG_GRP3 |
FPP_FAULT_REAL3 |
FPP_FAULT_POS3 |
FPP_FAULT_LATCH3 |
|
PFXB_OUT10 |
SRPWM_FPP_FAULT_SIG_GRP4 |
FPP_FAULT_REAL4 |
FPP_FAULT_LATCH4 |
||
PFXB_OUT11 |
SRPWM_FPP_FAULT_SIG_GRP5 |
FPP_FAULT_REAL5 |
FPP_FAULT_LATCH5 |
谷值开关功能配置
谷值开关技术可以用于减少开关损耗,控制PWM的开启时机;具体的事件源流程如下:
谷值功能模块每个SRPWM通路只有1组Valley模块,输出的信号也只有一个,所以对应的 FPP_FAULT_POSx 信号输出选择哪一个需要进行配置选择;
谷值配置内部流程,信号从输入到输出需要经过哪些处理过程:
输出分为延迟输出和不延迟输出两个部分,延迟输出的延迟时钟个数分为两个来源:
直接使用软件配置的延迟时间;
软件的延迟时间 加上两个跳变沿的间隔计数时钟数,(下图中的计数就是加上跳变沿的时钟数作为延迟时钟
SRPWM_VALLEY_DELAY_MODE_INTERVAL_CNT_AND_SW_DELAY);
SRPWM_VALLEY_DELAY_MODE_SW_DELAY SRPWM_VALLEY_DELAY_MODE_INTERVAL_CNT_AND_SW_DELAY SRPWM_VALLEY_DELAY_MODE_INTERVAL_CNT_DIVIDE2_AND_SW_DELAY SRPWM_VALLEY_DELAY_MODE_INTERVAL_CNT_DIVIDE4_AND_SW_DELAY SRPWM_VALLEY_DELAY_MODE_INTERVAL_CNT_DIVIDE8_AND_SW_DELAY SRPWM_VALLEY_DELAY_MODE_INTERVAL_CNT_DIVIDE16_AND_SW_DELAY
下面为选择某一路输入对应配置的举例:
Valley功能的配置可以通过
SRPWM_initValley()函数进行初始化。参数
SRPWMx指定SRPWM模块的通道号。参数
initValley初始化结构体配置,包含上述流程中的相关参数。
初始化完成后,需要使用
SRPWM_enableValley()函数进行使能。谷值检测和捕获的触发信号源:
SRPWM_VALLEY_TRIGGER_SW
SRPWM_VALLEY_TRIGGER_ZERO
SRPWM_VALLEY_TRIGGER_PERIOD
SRPWM_VALLEY_TRIGGER_ZERO_OR_PERIOD
SRPWM_VALLEY_TRIGGER_SCMPC_UP
SRPWM_VALLEY_TRIGGER_SCMPC_DOWN
SRPWM_VALLEY_TRIGGER_SCMPD_UP
SRPWM_VALLEY_TRIGGER_SCMPD_DOWN
SRPWM_VALLEY_TRIGGER_FAULT_POS0
SRPWM_VALLEY_TRIGGER_FAULT_POS1
SRPWM_VALLEY_TRIGGER_FAULT_POS2
SRPWM_VALLEY_TRIGGER_FAULT_POS3
前级保护配置
前级保护信号的输入来自故障信号处理的输出信号,保护方式分为三种模式,并且A/B路的保护模式独立配置;但是如果选择
fastProtectMask模式使能的话,所有的信号通路都会使能异步信号通路;前级保护路径总得分3种输出通路:
图中通路1是同步模式下前级保护PWM输出;
图中通路2不做前级保护,PWM信号直接输出到下一级;
图中通路3是在异步模式下快速输出,需要使能fastmode,仅输出动作指示信号,与通路2输出的信号在后级保护模块控制PWM动作;
前级保护生效时输出4种状态
SRPWM_PreprotectState:SRPWM_PREP_STATE_HIZ SRPWM_PREP_STATE_CLR SRPWM_PREP_STATE_SET SRPWM_PREP_STATE_INVERT
下面针对三种模式下的第一种通路做配置和输出说明,另外两种通路输出不做细讲。
CBC模式
CBC输出通路1
CBC保护模式:fault信号触发有效时,立即将PWM输出置为配置的保护状态,故障信号解除时,保护动作并不立即撤销,需要等待同步事件触发后再撤销,同步事件源从 所有事件集合 中选择;
示例保护A路输出状态,CBC模式下在该初始化配置下输出波形:
initPREPStruct->a.cbcFaultProtectSig = SRPWM_PREP_SIG_FAULT_REAL0; initPREPStruct->a.cbcFaultProtectState = SRPWM_PREP_STATE_CLR; initPREPStruct->a.cbcEndSyncSel = SRPWM_ALLEVT_PRD_EVT; initPREPStruct->a.setHighDly = 0; initPREPStruct->a.setLowDly = 10;
OS模式
OS(One-Shot)保护模式:可配置保护的起始和结束时刻。保护时刻同步源从 所有事件集合 中选择;
若使能了保护的起始和结束功能,PWM进入保护和退出保护状态,需要根据起始和结束同步信号以及异常信号的到来和消失共同决定;
initPREPStruct->a.osFaultProtectSig = SRPWM_PREP_SIG_FAULT_LATCH0; initPREPStruct->a.osFaultProtectState = SRPWM_PREP_STATE_CLR; initPREPStruct->a.osStartSyncEn = ENABLE; initPREPStruct->a.osEndSyncEn = ENABLE; initPREPStruct->a.osStartSyncSel = SRPWM_ALLEVT_ZERO_EVT; initPREPStruct->a.osEndSyncSel = SRPWM_ALLEVT_CMPB_DOWN_EVT; initPREPStruct->a.setHighDly = 0; initPREPStruct->a.setLowDly = 0;
若未使能保护的起始和结束功能,异常信号到来时,立即保护,异常信号消失时,立即退出保护,该模式下与UNRES模式下输出一致,但是不能没有最低延时(最小输出脉宽限制);
initPREPStruct->a.osFaultProtectSig = SRPWM_PREP_SIG_FAULT_LATCH0; initPREPStruct->a.osFaultProtectState = SRPWM_PREP_STATE_CLR; initPREPStruct->a.osStartSyncEn = DISABLE; initPREPStruct->a.osEndSyncEn = DISABLE; initPREPStruct->a.osStartSyncSel = SRPWM_ALLEVT_ZERO_EVT; initPREPStruct->a.osEndSyncSel = SRPWM_ALLEVT_CMPB_DOWN_EVT; initPREPStruct->a.setHighDly = 0; initPREPStruct->a.setLowDly = 0;
若仅使能保护的起始功能,异常信号和起始信号均到来时,进入保护状态,异常信号消失时,立即退出保护;
initPREPStruct->a.osFaultProtectSig = SRPWM_PREP_SIG_FAULT_REAL0; initPREPStruct->a.osFaultProtectState = SRPWM_PREP_STATE_CLR; initPREPStruct->a.osStartSyncEn = ENABLE; initPREPStruct->a.osEndSyncEn = DISABLE; initPREPStruct->a.osStartSyncSel = SRPWM_ALLEVT_ZERO_EVT; initPREPStruct->a.osEndSyncSel = SRPWM_ALLEVT_CMPB_DOWN_EVT; initPREPStruct->a.setHighDly = 0; initPREPStruct->a.setLowDly = 0;
若仅使能保护的结束功能,异常信号到来时,立即保护,异常信号和结束信号均到来时,退出保护状态;
initPREPStruct->a.osFaultProtectSig = SRPWM_PREP_SIG_FAULT_REAL0; initPREPStruct->a.osFaultProtectState = SRPWM_PREP_STATE_CLR; initPREPStruct->a.osStartSyncEn = DISABLE; initPREPStruct->a.osEndSyncEn = ENABLE; initPREPStruct->a.osStartSyncSel = SRPWM_ALLEVT_ZERO_EVT; initPREPStruct->a.osEndSyncSel = SRPWM_ALLEVT_SW_EVT; initPREPStruct->a.setHighDly = 0; initPREPStruct->a.setLowDly = 0;
UNRES模式
UNRES(无约束)立即保护模式:异常信号到来时,立即保护;异常信号消失时,立即退出保护。故障事件消除的最小保护时间需要大于等于最短持续时间,这是为了防止中间出现预期以外的窄脉冲误触发事件;
示例保护A路输出状态,初始化配置如下:
initPREPStruct->a.unresFaultProtectSig = SRPWM_PREP_SIG_FAULT_REAL0; initPREPStruct->a.unresFaultProtectState = SRPWM_PREP_STATE_CLR; initPREPStruct->a.setHighDly = 0; initPREPStruct->a.setLowDly = 0;
SRPWM模块通道无约束保护模式的最小保护宽度可以通过
SRPWM_setPREPUnresMinTime()函数进行配置。参数
SRPWMx指定SRPWM模块的通道号。参数
min_time指定无约束模式下保护状态持续最小脉冲宽度。
次级保护配置
次级保护功能可以在不需要时钟驱动的条件下对 PWM 波信号的快速故障保护,次级保护的输入来源分别来自两个部分:
一个是前级保护模块中输出的PREPPROTECT保护动作指示,该动作指示输出直接作用与次级保护的PWM最后输出;
一个是从前一级高精度模块输出的信号,进行次级保护区域进行处理;
从高精度输出的信号在次级保护中可以经过以下处理的过程,最后输出的A/B两路输出的状态可以受三个信号来源的影响:
最后的输出信号是三种输出状态组合的输出,根据事件状态优先级决定最后的PWM输出;
PSTP逻辑输出参数示例
在PSTP中可以配置互斥模式输出,可以用于防止最后的输出信号出现A/B路同时打开的情况;
互斥状态判断共有4种方式选择,可以在
SRPWMCOM_SRPWM_MutexCondition结构体中选择;符合互斥状态的环境下A/B路的输出状态共4种可配:不动作、输出1、输出0、输出高阻;
这里以PSTP保护的过程对信号需要进行的处理进行举例:
initPSTPStruct->a.invertEn = ENABLE; initPSTPStruct->b.invertEn = DISABLE; initPSTPStruct->swapSyncEn = DISABLE; initPSTPStruct->swapEn = ENABLE; initPSTPStruct->mutexConditionAB = SRPWMCOM_A_HIGH_B_HIGH; initPSTPStruct->mutexEn = ENABLE; initPSTPStruct->a.mutexOutState = SRPWM_PSTP_MUTEX_OUTSTATE_CLEAR; initPSTPStruct->b.mutexOutState = SRPWM_PSTP_MUTEX_OUTSTATE_CLEAR;
输出事件的优先级除了和事件优先级有关以外,还和输出状态有关,保护动作(除无动作外)优先级为: 置高阻动作(软件强制、故障保护、互斥保护中的任何一个高阻动作)> 软件强制置0 > 软件强制置1 > 故障保护或互斥保护置0 > 故障保护或互斥保护置1 > 故障保护取反 > 无强制动作;
软件强制输出动作配置
软件强制输出状态配置方法:SRPWM模块通道的
cfg_pstp_sft_force信号的的触发可以通过SRPWMCOM_forcePSTPOutState()函数进行配置。参数
channel指定SRPWM模块的通道号,哪个SRPWM模块就选择哪个通道。参数
pwmAB指定是A路输出还是B路输出SRPWM_A和SRPWM_B。参数
state指定对应路的PWM强制输出状态,共四种状态,在SRPWM_PSTPOutState结构体中选择。
HRPWM(高精度调整单元)
高精度调整单元处于前级保护和次级保护之间,下图为对 高精度处理通路流程,理清信号输入和输出处理通路:
Bypass通路
通路1为HRPWM bypass通路,从前级输入的信号通过Filter滤波模块后绕开DLL模块直接输出到后级:
Filter滤波部分也可以直接选择不使能,此时前级信号直接输出到后级,信号输出不做延迟;
FILter滤波使能后,但是滤波窗口配置为0,滤波输出信号延迟1个SRPWM 工作周期;
Filter滤波使能后,滤波窗口配置为N,滤波输出信号延迟N+1个SRPWM 工作周期,滤波输出脉冲PWM波脉宽对比输入减少N个SRPWM 工作周期;
SRPWM模块通道旁路使能的选择可以通过
SRPWM_enableHRPWMBypass()函数进行配置。SRPWM模块通道滤波使能的选择可以通过
SRPWM_enableHRPWMFilter()函数进行配置。SRPWM模块通道滤波使能后对于滤波窗口的宽度可以通过
SRPWM_setHRPWMFilterWidth()函数进行配置。参数
SRPWMx指定SRPWM模块的通道号。参数
width指定滤波窗口宽度。
三种滤波模式下输入和输出对比图:
滤波功能的使用需要注意以下几点:
在使用fastfault模式的情况下,不建议使能滤波功能;
滤波功能可以用来限制输入给DLL的最小脉冲宽度限制,避免由于窄脉冲波形输入DLL导致不可预见性问题;
高精度调整通路(HRPWM)
通路2为高精度使能配置,高精度可配参数调整部分支持对PWM周期、占空比、死区延迟;将高精度周期参数调整、高精度占空比调整参数和高精度死区参数进行组合运算 产生上边沿和下降沿的调整参数,并且将计算得到的整数倍调整值对PWM信号进行整数倍的上升沿河下降沿调整,将计算得到的小数调整值送往DLL进行调整输出;
使用高精度调整通路,需要注意的事项:
仅SRPWM0、SRPWM1、SRPWM2、SRPWM3模块的A/B路可以使用HRPWM功能,配置HRPWM输出使能有效;
要使用HRPWM部分,需要确保SRPWM模块的时钟在200Mhz,高精度微调步长为 (1/200Mhz)/32 = 156.25ps ;
只有主比较器(CMPA/CMPB/CMPC/CMPD)的值可以进行高精度调整配置;
并且在输出事件上选用固定的比较值,PWMA路输出使用CMPA产生上升沿事件、使用CMPB产生下降沿事件;PWMB路输出使用CMPC产生上升沿事件、使用CMPD产生下降沿事件;
使能高精度调整需要使能的配置项:
使用
SRPWM_disableHRPWMBypass()函数使PWM输出经过高精度调整通路。使用
SRPWM_enableHRPWMDLL()函数使能对应通路的DLL控制通路。使用
SRPWMCOM_enableHR()函数使能对应通路的高精度输出。
高精度调整通路到输出计算方式:高精度调整能配置参数包括周期值、比较值和死区延时值,主要针对在死区模块部分配置选择使用哪个寄存器的高精度配置值进行最后的DLL延迟计算;
高精度周期值参数调整
周期值的高精度调整参数,高精度数据宽度为5bit,配置范围为0~31;具体计算可见用户手册中的 19.4.9.4 SRPWM波周期值计算 章节;其中包块两种计数模式下关于周期值的计算方式。
高精度占空比参数调整
高精度占空比的调整包括压缩(上升沿延迟)高脉冲宽度或扩展(下降沿延迟)高脉冲宽度,高精度数据宽度为5bit,配置范围为0~31;
需要根据死区配置通路选择,选择最后计算延迟的计数值:
s0a = 0 A路死区输入选择PWMA,A路的占空比参数来自于CMPA和CMPB;
s3a ≠ 2 : A路的上升沿延迟时间来自于CMPA_HR, A路下降沿的延迟时间来自CMPB_HR;
s3a = 2 : A路的上升沿延迟时间来自于CMPB_HR, A路下降沿的延迟时间来自CMPA_HR;
s0a = 1 A路死区输入选择PWMB,A路的占空比参数来自于CMPC和CMPD;
s3a ≠ 2 : A路的上升沿延迟时间来自于CMPC_HR, A路下降沿的延迟时间来自CMPD_HR;
s3a = 2 : A路的上升沿延迟时间来自于CMPD_HR, A路下降沿的延迟时间来自CMPC_HR;
s0b = 0 B路死区输入选择PWMB,A路的占空比参数来自于CMPC和CMPD;
s3b ≠ 2 : B路的上升沿延迟时间来自于CMPC_HR, A路下降沿的延迟时间来自CMPD_HR;
s3b = 2 : B路的上升沿延迟时间来自于CMPD_HR, A路下降沿的延迟时间来自CMPC_HR;
s0b = 1 B路死区输入选择PWMA,A路的占空比参数来自于CMPA和CMPB;
s3b ≠ 2 : B路的上升沿延迟时间来自于CMPA_HR, A路下降沿的延迟时间来自CMPB_HR;
s3b = 2 : B路的上升沿延迟时间来自于CMPB_HR, A路下降沿的延迟时间来自CMPA_HR;
占空比高精度配置示例: - 常规占空比高精度配置,默认配置下,仅使能高精度模式输出中关于压缩和扩展值的计算使用的哪个高精度寄存器值。
高精度死区延迟参数调整
高精度死区参数的调整包括上升沿延迟或下降沿延迟宽度,高精度数据宽度为5bit,配置范围为0~31;
根据死区配置通路选择,选择最后计算延迟的计数值:
s3a = 0 A路输出不做死区配置,所有死区相关延迟参数配置值无效;
s3a ≠ 0 A路输出死区配置有效;
s1a = 0 : A路的上升沿延迟时间配置无效;
s1a = 1 : A路的高精度上升沿延迟时间来自于寄存器DB_APOS_DLY的低5bit,可以在初始化时进行配置,也可以使用单独的函数
SRPWM_setDBHR()函数进行配置。s2a = 0 : A路的下降沿延迟时间配置无效;
s2a = 1 : A路的高精度下降沿延迟时间来自于寄存器DB_ANEG_DLY的低5bit,可以在初始化时进行配置,也可以使用单独的函数
SRPWM_setDBHR()函数进行配置。s3b = 0 B路输出不做死区配置,所有死区相关延迟参数配置值无效;
s3b ≠ 0 B路输出输出死区配置有效;
s1b = 0 : B路的上升沿延迟时间配置无效;
s1b = 1 : B路的高精度上升沿延迟时间来自于寄存器DB_BPOS_DLY的低5bit,可以在初始化时进行配置,也可以使用单独的函数
SRPWM_setDBHR()函数进行配置。s2b = 0 : B路的下降沿延迟时间配置无效;
s2b = 1 : B路的高精度下降沿延迟时间来自于寄存器DB_BNEG_DLY的低5bit,可以在初始化时进行配置,也可以使用单独的函数
SRPWM_setDBHR()函数进行配置。
SRPWM模块死区高精度参数可以通过
SRPWM_setDBHR()函数进行配置。参数
SRPWMx指定SRPWM模块的通道号。参数
edge指定需要配置哪一路的高精度延迟时间。参数
deadTimeHR指定产生ADC触发信号的事件源。
死区高精度配置示例:
常规死区高精度配置,使能高精度模式输出中关于压缩和扩展值的计算使用的哪个高精度比较值寄存器值,并同时加上死区延迟参数。
参数加载方式
参数加载方式主要用在模块中七种关键参数(周期值、相位值、主比较器值、从比较器值、PWM动作矩阵值、死区调整值、Burst发波参数)的加载模式,主要分为立即加载模式和影子加载模式;除列举出的七种关键参数,其他参数均为立即加载模式。
立即加载模式
立即加载模式下,表示对应值配置后立即生效,就是立即写到活动寄存器中;此时的数据为最新配置的数据。
但是在当前模式下容易导致比较值、周期值等配置值被随意修改,导致输出波形异常。
影子加载模式
影子加载模式分通道内的影子加载和通道间的影子加载模式
通道内同步影子加载
这是常规的影子加载方式,通道内影子加载配置需要在对该参数配置时,使能影子加载功能(统一命名都是ShadowLoadEn后缀),并配置影子加载同步触发信号(统一命名ShadowLoadSel,触发信号源选择 同步加载触发事件集合 ),修改的参数值配置先写入影子寄存器值,然后在同步触发信号来时,再从影子寄存器加载到活动寄存器中生效;
配置为向上计数模式,并且使能影子加载模式,同步加载触发事件选择周期更新事件:
通道间同步影子加载
通道间的同步加载模式是指同时触发多个SRPWM的多个参数值,这个相当于一个门控信号,仅在这些通道接收到一次配置指令触发后,才能开始响应对应参数配置的同步加载触发事件,否则即使存在同步加载触发事件,也不会生效;
需要在配置影子加载模式下,增加
SRPWM_enableShadowMultiRegSync()函数配置。参数
SRPWMx指定SRPWM模块的通道号。参数
regMask指定哪几个配置寄存器需要同步更新使能,Mask_OR 方式选择。SRPWM_SHD_MULTI_SYNC_PRD SRPWM_SHD_MULTI_SYNC_PHASE SRPWM_SHD_MULTI_SYNC_CMP SRPWM_SHD_MULTI_SYNC_SCMP SRPWM_SHD_MULTI_SYNC_PG SRPWM_SHD_MULTI_SYNC_DB SRPWM_SHD_MULTI_SYNC_BURST
这里的通道间的影子加载事件只有SRPWMCOM模块中的软件强制触发事件源有效。上述配置完成后,通过
SRPWMCOM_forceMultiChannelShadow()函数配置。参数
channelMask指定SRPWM模块的通道,Mask_OR 方式选择,共 12 个通道可配。
配置向上计数模式,使能配置周期值/主比较器值参数选择影子加载模式,触发事件源统一选择周期事件同步加载;同步使能通道间的影子加载模式
SRPWM_SHD_MULTI_SYNC_PRD|SRPWM_SHD_MULTI_SYNC_CMP。
注意事项:通道间的同步加载,实际加载点还是每个参数配置的对应加载触发事件的时间点,软件强制触发更新事件,只是说明在这次软件强制触发更新后的第一个同步加载触发事件有效,第一个生效后,后面如果没有继续的软件强制更新信号后,会忽略同步加载触发信号;
通道间的同步加载模式还可以进行对齐更新,对齐更新动作需要在软件强制更新事件后,同步加载触发事件也需要等下一个周期开始后,再准备响应同步加载事件;这个需要通过
SRPWM_enableMultiShadowWaitPrd()函数配置。对齐更新模式流程:
等待SRPWMCOM中的软件更新后;
SRPWMx计数周期等到下一个周期开始(zero_evt)事件之后;
第一次同步加载触发事件生效,影子值加载到活动寄存器;
后续的同步加载触发事件不生效,继续等待下一次强制软件更新事件。
通道间的互斥信号
通道间的互斥信号判断共 12 组,统一放在SRPWMCOM模块中,信号来源于 12 个SRPWMx中的输出信号,形成互斥判断指示信号后,分别送回 12 个SRPWMx通道中。这些 通道间的互斥标志可与通道内的互斥判断组合得到每一个通道的互斥检测结果 。下图为每组互斥信号的判断流程:
12 组互斥信号的输出状态可以在屏蔽中或上输出到某个SRPWM中,根据配置流程可以通过以下几个函数进行:
使用
SRPWMCOM_initMutex()函数配置全局互斥初始化,如果每组互斥状态来源一致可以或配置一次配置多组,如果不同则需要每次单独进行初始化配置;
参数
init初始化参数结构体.
initStruct->mutexResultGroupMask = SRPWM_MUTEX_RESULT_GRP_0; //互斥通道组选择,可以mask_or initStruct->mutexSig0 = SRPWMCOM_MUTEX_SIG_SRPWM0_A; //互斥通道信号0源选择 initStruct->mutexSig1 = SRPWMCOM_MUTEX_SIG_SRPWM0_A; //互斥通道信号1源选择 initStruct->mutexCondition = SRPWMCOM_A_LOW_B_LOW; //互斥通道状态判断条件
使用
SRPWMCOM_enableMutex()函数使能对应的互斥信号组使能,每组互斥信号组必须使能后才有效,这是一个单独的寄存器可以同时使能多个互斥通道组。
参数
mutexResultGroupMask使能哪组互斥通道,可以Mask_OR配置。
SRPWM_MUTEX_RESULT_GRP_0 SRPWM_MUTEX_RESULT_GRP_1 SRPWM_MUTEX_RESULT_GRP_2 SRPWM_MUTEX_RESULT_GRP_3 SRPWM_MUTEX_RESULT_GRP_4 SRPWM_MUTEX_RESULT_GRP_5 SRPWM_MUTEX_RESULT_GRP_6 SRPWM_MUTEX_RESULT_GRP_7 SRPWM_MUTEX_RESULT_GRP_8 SRPWM_MUTEX_RESULT_GRP_9 SRPWM_MUTEX_RESULT_GRP_10 SRPWM_MUTEX_RESULT_GRP_11 SRPWM_MUTEX_RESULT_GRP_ALL
使用
SRPWMCOM_disableMutexMsk()函数使能互斥通道组输出到哪个SRPWM中,即取消对应某个SRPWM Channel输出中对对应互斥通道组输出信号的屏蔽,如果某个SRPWM需要的互斥信号来自于多个互斥通道组,可以多次调用对应函数。
参数
channel指定取消屏蔽的SRPWM模块的通道。参数
mutexResultGroupMask指定取消屏蔽的互斥通道组。
这里输出到每组SRPWMx的互斥信号为指示信号,仅用于指示状态,需要配置通道内的互斥功能使能,才能使对应状态能作用到输出上,比如输出到SRPWM0的互斥信号来自于
SRPWM_MUTEX_RESULT_GRP_0、SRPWM_MUTEX_RESULT_GRP_1、SRPWM_MUTEX_RESULT_GRP_5三组互斥通道组。 那么最后输出到SRPWM0的互斥信号为这三组互斥判断的结果做或运算,形成最后的互斥标志, 或上的互斥标志再与通道内的互斥标志做或运算作用到输出。通道间的两路信号做互斥保护,互斥信号进行了锁存,需要软件清除才能退出保护动作,回到正常输出状态,也就是说互斥条件成立,立即进行保护动作,互斥条件消失,需要软件配置
SRPWMCOM_clearMutexStatus()去清除互斥保护动作。
小技巧
ET6001项目中通道间的互斥和通道内的互斥作用输出存在差异:通道内的互斥保护,在互斥条件成立时,立即进行保护动作,互斥条件消失时,立即退出保护动作,不需要软件清除;而通道间的互斥保护,在互斥条件成立时,立即进行保护动作,互斥条件消失时,需要软件清除对应组的互斥标志才能退出保护动作,等待下一个互斥状态。
广播功能
SRPWM模块的广播功能是指一次可同时配置多个SRPWM组,可以看成一个全局加载配置。传统模式下每组SRPWM配置需要单独进行,如果使用广播加载,可以一次配置多组SRPWM模块;广播加载功能本身不是使用SRPWM外设的寄存器实现的,采用SYSC外设进行实现。
广播配置的实现
广播功能的配置需要通过 SRPWM_GLOBAL 组进行配置,配置实现流程为:
使用
SRPWMCOM_enableBroadcast()函数先选择需要进行广播配置的SRPWM,这个函数是对SYSC寄存器进行配置,这里使能后后续广播配置才会加载到对应的SRPWM通道中;
参数
channelMask使能哪组通道进行广播配置,可以Mask_OR配置。SRPWM_CHANNEL_0 SRPWM_CHANNEL_1 SRPWM_CHANNEL_2 SRPWM_CHANNEL_3 SRPWM_CHANNEL_4 SRPWM_CHANNEL_5 SRPWM_CHANNEL_6 SRPWM_CHANNEL_7 SRPWM_CHANNEL_8 SRPWM_CHANNEL_9 SRPWM_CHANNEL_10 SRPWM_CHANNEL_11 SRPWM_CHANNEL_ALL
使用
SRPWM_GLOBAL作为SRPWM通道组替代原有的SRPWMx,进行时基、比较等常规配置流程;每个SRPWM子组的配置都可以使用广播功能进行,但是关于 SRPWMCOM的相关寄存器配置 需要单独进行,在使用广播配置多组SRPWM模块之后,如果要进行输出,仍需使用
SRPWMCOM_enable()函数进行配置;这种方式的配置对于后期的变占空比或者周期等更新配置,可以通过广播功能进行一次配置多个SRPWM模块,减少代码量同时减少配置时间,加快环路频率;
事件输出软件配置
触发/同步/Blanking 信号
ADC触发信号
SRPWM 模块送往 ADC 的触发信号从 输出事件可选同步集合 中选择,支持 共 24 种事件源。
SRPWM模块每个通道可以选择 2 路 ADC 触发信号输出
SOC_A和SOC_B。SRPWMM模块 12 个通道总共可以产生 12 x2 路 ADC 触发信号,最终选出 12 路送往 ADC。
SRPWM模块通道的ADC触发信号的选择可以通过
SRPWM_setADCTriggerSource()函数进行配置。参数
SRPWMx指定SRPWM模块的通道号。参数
adcSOCType指定ADC触发信号的选择。参数
socSource指定产生ADC触发信号的事件源。
SRPWM模块 12 x2 路ADC 触发信号选出 12 路输出通过
SRPWMCOM_configADCTriggerMux()函数进行配置。参数
SRPWMCOM_ADCTrigger指定产生 12 x2 路 ADC 触发信号。参数
SRPWM_ADCTriggerNumber指定送往ADC模块的输出触发信号编号。
小技巧
参数SRPWM_ADCTriggerNumber与ADC模块初始化结构体 ADC_InitTypeDef 成员变量 trigger 一一对应。
1 /* 初始化ADC */
2 ADC_initStruct(&stInit);
3 stInit.virtualChannelMask = ADC_VIRTUAL_CHANNEL0;
4 stInit.triggerMode = ADC_TRIGGER_MODE_CONTINUOUS;
5 stInit.trigger = ADC_TRIGGER_SRPWM_TRIGGER_NUM0;
6 ADC_init(ADC0, &stInit);
取消ADC触发信号的选择可以通过
SRPWM_clearADCTriggerSource()函数进行配置。参数
SRPWMx指定SRPWM模块的通道号。参数
adcSOCType指定ADC触发信号的选择。参数
socSource指定产生ADC触发信号的事件源。
倍频ADC触发信号相关配置函数:
分频ADC触发信号相关配置函数:
SRPWMM模块 12 个通道总共可以产生 12 x2 路 ADC 触发信号,最终选出 2 路送往 EQEP和XBAR。
送往EQEP和XBAR的信号可通过
SRPWMCOM_selectTriggerToQEP()函数进行配置。参数
srcTrigger指定产生ADC触发信号的事件源。参数
triggerNumber指定送往ADC模块的输出触发信号编号。参数
dstQepNumber指定输出的EQEP目的模块号。
送往XBAR的信号名称分别为
ADCSOCAO和ADCSOCBO。
DAC同步/ACMP同步/ACMPBlanking 信号
SRPWM 模块送往 BDAC/ACMP 的触发信号从 输出事件可选同步集合 中选择,支持 共 24 种事件源。
SRPWM模块每个通道可以选择 1 路 DAC 触发信号输出。
SRPWMM模块 12 个通道总共可以产生 12 路 BDAC 触发信号,最终选出 2 路分别送往送往2个DAC模块。
SRPWM模块通道的ADC触发信号的选择可以通过
SRPWM_setDACTrigger()函数进行配置。参数
channel指定SRPWM模块的通道号。参数
srcEvent指定产生ADC触发信号的事件源。参数
dstDacNumber指定输出的DAC目的模块号。
SRPWM模块每个通道可以选择 1 路 ACMP 触发信号输出。
SRPWMM模块 12 个通道总共可以产生 12 路 BDAC 触发信号,最终选出 8 路分别送往送往8个ACMP模块DAC子模块。
SRPWM模块的ACMP触发信号的选择可以通过
SRPWM_setACMPTrigger()函数进行配置。参数
channel指定SRPWM模块的通道号。参数
srcEvent指定产生ADC触发信号的事件源。参数
dstAcmpNumber指定输出的ACMP目的模块号。
SRPWM模块每个通道可以选择 1 路 ACMP Blanking信号输出。
SRPWMM模块 12 个通道总共可以产生 12 路 BDAC Blanking信号,最终选出 8 路分别送往送往8个ACMP模块DAC子模块。
SRPWM模块的ACMP Blanking信号的选择可以通过
SRPWM_setACMPBlankingTrigger()函数进行配置。参数
channel指定SRPWM模块的通道号。参数
srcEvent指定产生ADC触发信号的事件源。参数
dstAcmpNumber指定输出的ACMP目的模块号。
同步信号
SRPWM 模块 每个通道可以从 所有事件集合 中选择 一个事件作为同步信号输出。
SRPWM 模块 每个通道输出 2 路同步信号, 分别是
sync_out0和sync_out1。SRPWM 模块 每个通道选择同步信号的输出可以通过
SRPWM_selectSyncOut()函数进行配置。参数
SRPWMx指定SRPWM模块的通道号。参数
srcSync指定产生同步信号的事件源。参数
dstSyncTypeOut指定输出信号类型(sync_out0和sync_out1)。
SRPWM 模块 12 个通道输出的 12 对
sync_out[1:0]信号在 SRPWMCOM_PROC 模块中进行交叉互联处理。可通过SRPWMCOM_selectSyncToSRPWM()函数进行配置。参数
srcSync指定 12 x2 路sync_out信号源中的一个。参数
dstSyncTypeIn指定目的通道的输入信号类型(sync_in0和sync_in1)。参数
dstChannel指定目的通道号。
SRPWM 模块 12 个通道输出的 12 对
sync_out[1:0]信号可以选出 4路送往 XBAR 模块, 可通过SRPWMCOM_selectSyncToXBAR()函数进行配置。参数
srcSync指定 12 x2 路sync_out信号源中的一个。参数
dstXbarNumber指定目的XBAR通道号(0~3)。
SRPWM 模块 12 个通道输出的 12 路
sync_out0信号可以一一对应直接送往ETIMER模块的 12 个通道。
中断信号
SRPWM 模块 每个通道可以产生1bit 中断信号, 该1bit 中断信号直接送往CPU的中断控制器。
每个通道1bit 中断信号产生来源于多路 中断源集合 相或,中断源包含:
事件中断(1bit)
实时异常fault中断(6bit)
锁存异常fault中断(6bit)
burst结束指示中断(1bit)
中断相关配置函数:
事件中断产生
事件中断产生来源于 输出事件可选同步集合 中的一个或多个。
选择后的事件中断信号可以进行分频操作,可通过函数
SRPWM_enableEvtInterruptFreqDiv()进行配置。参数
SRPWMx指定SRPWM模块的通道号。参数
outEventMask指定产生事件中断的输出事件源。
事件中断信号的选择可以通过
SRPWM_enableEvtInterrupt()和SRPWM_setEvtInterruptFreqDiv()函数进行配置。参数
SRPWMx指定SRPWM模块的通道号。参数
div指定产生事件中断分频系数。
DMA请求信号
SRPWM 模块 每个通道可以产生1bit DMA请求信号, 最终选出4bit 送往 DMAMUX 模块, 可通过函数
DMA触发同步信号的产生,来源于 输出事件可选同步集合 中的一个或多个, 可通过函数
SRPWMCOM_enableDMA()进行配置。参数
dmaChannel指定SRPWM模块DMA物理通道号。参数
channel指定产生DMA请求的PWM通道。
DMA触发信号的倍频和分频操作可以通过
SRPWM_enableDMAFreqDiv()和SRPWM_enableDMAFreqMulti()函数进行配置。参数
SRPWMx指定SRPWM模块的通道号。参数
outEventMask指定产生DMA请求的输出事件源。参数
div指定DMA请求分频系数。
其他相关配置函数:
事件类型说明:
输出事件可选同步集合包含以下信号:
SRPWM_OUTEVT_SYNC_ZERO_EVT
SRPWM_OUTEVT_SYNC_PRD_EVT
SRPWM_OUTEVT_SYNC_CMPA_UP_EVT
SRPWM_OUTEVT_SYNC_CMPB_UP_EVT
SRPWM_OUTEVT_SYNC_CMPC_UP_EVT
SRPWM_OUTEVT_SYNC_CMPD_UP_EVT
SRPWM_OUTEVT_SYNC_CMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPA_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPB_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPC_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPD_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_PWMA_NEG
SRPWM_OUTEVT_SYNC_PWMA_POS
SRPWM_OUTEVT_SYNC_PWMB_NEG
SRPWM_OUTEVT_SYNC_PWMB_POS
SRPWM_OUTEVT_SYNC_TIMER_SYNC0
SRPWM_OUTEVT_SYNC_TIMER_SYNC1
所有事件集合包含以下信号:
SRPWM_ALLEVT_ZERO_EVT
SRPWM_ALLEVT_PRD_EVT
SRPWM_ALLEVT_SCMP_UP_EVT0
SRPWM_ALLEVT_SCMP_UP_EVT1
SRPWM_ALLEVT_SCMP_UP_EVT2
SRPWM_ALLEVT_SCMP_UP_EVT3
SRPWM_ALLEVT_SCMP_DOWN_EVT4
SRPWM_ALLEVT_SCMP_DOWN_EVT5
SRPWM_ALLEVT_SCMP_DOWN_EVT6
SRPWM_ALLEVT_SCMP_DOWN_EVT7
SRPWM_ALLEVT_CMP_EVT0
SRPWM_ALLEVT_CMP_EVT1
SRPWM_ALLEVT_CMP_EVT2
SRPWM_ALLEVT_CMP_EVT3
SRPWM_ALLEVT_CMP_EVT4
SRPWM_ALLEVT_CMP_EVT5
SRPWM_ALLEVT_CMP_EVT6
SRPWM_ALLEVT_CMP_EVT7
SRPWM_ALLEVT_FPP_FAULT_POS0
SRPWM_ALLEVT_FPP_FAULT_POS1
SRPWM_ALLEVT_FPP_FAULT_POS2
SRPWM_ALLEVT_FPP_FAULT_POS3
SRPWM_ALLEVT_SYNC0
SRPWM_ALLEVT_SYNC1
SRPWM_ALLEVT_BURST_OVER
SRPWM_ALLEVT_PWMB_NEG
SRPWM_ALLEVT_PWMB_POS
SRPWM_ALLEVT_PWMA_NEG
SRPWM_ALLEVT_PWMA_POS
SRPWM_ALLEVT_SW_EVT
同步加载事件集合包含以下信号:
SRPWM_SYNCEVTLOAD1_ZERO_EVT
SRPWM_SYNCEVTLOAD1_PERIOD_EVT
SRPWM_SYNCEVTLOAD1_SCMPA_UP_EVT
SRPWM_SYNCEVTLOAD1_SCMPB_UP_EVT
SRPWM_SYNCEVTLOAD1_SCMPA_DOWN_EVT
SRPWM_SYNCEVTLOAD1_SCMPB_DOWN_EVT
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS0
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS1
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS2
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS3
SRPWM_SYNCEVTLOAD1_SYNC0
SRPWM_SYNCEVTLOAD1_SYNC1
SRPWM_SYNCEVTLOAD1_BURST_OVER
SRPWM_SYNCEVTLOAD1_SW_EVT
中断源集合包含以下信号:
SRPWM_IT_EVT: incident interruption
SRPWM_IT_BURST_OVER: burst ends
SRPWM_IT_FAULT_REAL0: real time fault0
SRPWM_IT_FAULT_REAL1: real time fault1
SRPWM_IT_FAULT_REAL2: real time fault2
SRPWM_IT_FAULT_REAL3: real time fault3
SRPWM_IT_FAULT_REAL4: real time fault4
SRPWM_IT_FAULT_REAL5: real time fault5
SRPWM_IT_FAULT_LATCH0: fault0 after latching
SRPWM_IT_FAULT_LATCH1: fault1 after latching
SRPWM_IT_FAULT_LATCH2: fault2 after latching
SRPWM_IT_FAULT_LATCH3: fault3 after latching
SRPWM_IT_FAULT_LATCH4: fault4 after latching
SRPWM_IT_FAULT_LATCH5: fault5 after latching
应用示例
基础发波示例:SRPWM/SRPWM_PWM_Output。
互补带死区的两路波形示例: SRPWM/SRPWM_PWM_DB。
三相同步发波示例:SRPWM/SRPWM_3Phases_Interrupt。
后级保护封波和互斥保护示例:SRPWM/SRPWM_ACMP_XBAR_PostProtect_mutex。
后级保护封波示例:SRPWM/SRPWM_ADCWdg_XBAR_PreProtect。
burst的PWMf发波示例: SRPWM/SRPWM_BurstPWM_CascadeSynchro_DMA。
加载方式和高精度配置示例:SRPWM/SRPWM_SynchroLoad_ShadowLoad_HighPrecision。
blanking功能示例: SRPWM/SRPWM_PWM_Blanking。
API Reference
Header File
Functions
-
void SRPWMCOM_enable(uint16_t channelMask)
specifying spwm modules is enabled via the spwmcom module
- Attention
This function should be called after all SRPWM_initXXXX() functions.
- 参数:
channelMask –
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
SRPWM_CHANNEL_ALL
-
void SRPWMCOM_disable(uint16_t channelMask)
specifying spwm modules is disabled via the spwmcom module
- 参数:
channelMask –
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
SRPWM_CHANNEL_ALL
-
void SRPWMCOM_generateSwEvt(uint16_t channelMask)
Generates a Software Event For Various Sync Signal Selections.
- 参数:
channelMask –
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
SRPWM_CHANNEL_ALL
-
void SRPWMCOM_enableLatchCnt(uint16_t channel)
enable the counter latch function of the spwm module
- 参数:
channel – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
-
void SRPWMCOM_disableLatchCnt(uint16_t channel)
disable the counter latch function of the spwm module
- 参数:
channel – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
-
void SRPWMCOM_setLatchCntSrc(uint16_t channel, SRPWMCOM_LatchCntSrc latchSrc)
counter latch sync signal select signal
- 参数:
channel – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
latchSrc – the specified latch source
-
uint32_t SRPWMCOM_getTimeBaseCounterValue(uint16_t channel)
get the current value of the time base counter by latch
- 参数:
channel – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
- 返回:
uint32_t return the time base counter value
-
void SRPWMCOM_enableBroadcast(uint16_t channelMask)
enable the broadcast function
- 参数:
channelMask – select the channel to be enabled
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
SRPWM_CHANNEL_ALL
- 返回:
* void
-
void SRPWMCOM_disableBroadcast(uint16_t channelMask)
disable the broadcast function
- 参数:
channelMask – select the channel to be disabled
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
SRPWM_CHANNEL_ALL
- 返回:
* void
-
void SRPWM_initTBStruct(SRPWM_TBInitTypeDef *initStruct)
TBInitStruct Init.
- 参数:
initStruct –
-
void SRPWM_initTB(SRPWM_Type *SRPWMx, SRPWM_TBInitTypeDef *init)
initialize time base including period\counting mode\ synchronization signal\ phase etc
- 参数:
SRPWMx – select the specified srpwm
init – the pointer to the srpwm init structure
periodShadowLoadSel - phase0ShadowLoadSel
SRPWM_SYNCEVTLOAD1_ZERO_EVT
SRPWM_SYNCEVTLOAD1_PERIOD_EVT
SRPWM_SYNCEVTLOAD1_SCMPA_UP_EVT
SRPWM_SYNCEVTLOAD1_SCMPB_UP_EVT
SRPWM_SYNCEVTLOAD1_SCMPA_DOWN_EVT
SRPWM_SYNCEVTLOAD1_SCMPB_DOWN_EVT
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS0
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS1
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS2
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS3
SRPWM_SYNCEVTLOAD1_SYNC0
SRPWM_SYNCEVTLOAD1_SYNC1
SRPWM_SYNCEVTLOAD1_BURST_OVER
SRPWM_SYNCEVTLOAD1_SW_EVT
syncIn0
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS0
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS1
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS2
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS3
SRPWM_TBCOUNTER_SYNCEVT_SYNC_IN0
SRPWM_TBCOUNTER_SYNCEVT_SYNC_IN1
SRPWM_TBCOUNTER_SYNCEVT_SOFTWARE_UPDATE_EVT
syncIn1
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS0
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS1
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS2
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS3
SRPWM_TBCOUNTER_SYNCEVT_SYNC_IN0
SRPWM_TBCOUNTER_SYNCEVT_SYNC_IN1
SRPWM_TBCOUNTER_SYNCEVT_SOFTWARE_UPDATE_EVT
-
void SRPWM_initCMPStruct(SRPWM_CMPInitTypeDef *initStruct)
CMPStruct Init.
- 参数:
initStruct – pointer to the srpwm cmp init structure
-
void SRPWM_initCMP(SRPWM_Type *SRPWMx, SRPWM_CMPInitTypeDef *init)
initialize the cmp includes 4 cmp 4 scmp and synchronous loading of master slave
- 参数:
SRPWMx – select the specified srpwm
init – pointer to the srpwm cmp init structure
cmpShadowLoadSel - scmpShadowLoadSel
SRPWM_SYNCEVTLOAD1_ZERO_EVT
SRPWM_SYNCEVTLOAD1_PERIOD_EVT
SRPWM_SYNCEVTLOAD1_SCMPA_UP_EVT
SRPWM_SYNCEVTLOAD1_SCMPB_UP_EVT
SRPWM_SYNCEVTLOAD1_SCMPA_DOWN_EVT
SRPWM_SYNCEVTLOAD1_SCMPB_DOWN_EVT
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS0
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS1
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS2
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS3
SRPWM_SYNCEVTLOAD1_SYNC0
SRPWM_SYNCEVTLOAD1_SYNC1
SRPWM_SYNCEVTLOAD1_BURST_OVER
SRPWM_SYNCEVTLOAD1_SW_EVT
-
void SRPWM_initDBStruct(SRPWM_DBInitTypeDef *initStruct)
DBStruct Init.
- 参数:
initStruct – pointer to the srpwm db init structure
-
void SRPWM_initDB(SRPWM_Type *SRPWMx, SRPWM_DBInitTypeDef *init)
initialize the dead zone
- 参数:
SRPWMx – select the specified srpwm
init – pointer to the srpwm db init structure
shadowLoadSel
SRPWM_SYNCEVTLOAD2_ZERO_EVT
SRPWM_SYNCEVTLOAD2_PERIOD_EVT
SRPWM_SYNCEVTLOAD2_SCMPC_UP_EVT
SRPWM_SYNCEVTLOAD2_SCMPD_UP_EVT
SRPWM_SYNCEVTLOAD2_SCMPC_DOWN_EVT
SRPWM_SYNCEVTLOAD2_SCMPD_DOWN_EVT
SRPWM_SYNCEVTLOAD2_FPP_FAULT_POS0
SRPWM_SYNCEVTLOAD2_FPP_FAULT_POS1
SRPWM_SYNCEVTLOAD2_FPP_FAULT_POS2
SRPWM_SYNCEVTLOAD2_FPP_FAULT_POS3
SRPWM_SYNCEVTLOAD2_SYNC0
SRPWM_SYNCEVTLOAD2_SYNC1
SRPWM_SYNCEVTLOAD2_BURST_OVER
SRPWM_SYNCEVTLOAD2_SW_EVT
-
void SRPWM_setTimeBasePeriod(SRPWM_Type *SRPWMx, uint32_t periodCount)
set the period value of standard accuracy
- 参数:
SRPWMx – select the specified srpwm
periodCount – the standard precision of the period value range: 0x0 ~ 0x3FFFFF
-
uint32_t SRPWM_getTimeBasePeriod(SRPWM_Type *SRPWMx)
get the period value of standard accuracy
- 参数:
SRPWMx – select the specified srpwm
- 返回:
* uint32_t The period count value.
-
void SRPWM_setCounterCompareValue(SRPWM_Type *SRPWMx, SRPWM_CounterCompareModule compModule, uint32_t compCount)
set the counter compare value of standard accuracy
- 参数:
SRPWMx – select the specified srpwm
compModule – the counter compare module
compCount – the standard precision of the comparison value
- 返回:
* void
-
void SRPWM_setPhaseShift(SRPWM_Type *SRPWMx, SRPWM_PhaseType phaseType, uint32_t phaseCount)
set the phase shift value
- 参数:
SRPWMx – select the specified srpwm
phaseType – the phase type
phaseCount – the standard precision of the phase value
- 返回:
* void
-
void SRPWM_setDB(SRPWM_Type *SRPWMx, SRPWM_Edge edge, uint16_t deadTime)
set the dead time of the rising edge and falling edge of the ab road
- 参数:
SRPWMx – select the specified srpwm
edge – select the rising or falling edge of the dead delay
deadTime – standard accuracy for deadband delay
-
void SRPWMCOM_forcePGSwSigOnePulse(uint16_t channelMask, SRPWM_AB pwmAB)
a software triggered forced action is performed on the ab signal of the specified channel
- 参数:
channelMask – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
SRPWM_CHANNEL_ALL
pwmAB – specify either the a signal or the b signal
-
void SRPWMCOM_forcePGSwSigHighLevel(uint16_t channelMask, SRPWM_AB pwmAB)
continuously force trigger the ab signal of the specified channel
- 参数:
channelMask – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
SRPWM_CHANNEL_ALL
pwmAB – the specified ab signal
-
void SRPWMCOM_forcePGSwSigLowLevel(uint16_t channelMask, SRPWM_AB pwmAB)
exit the continuous forced trigger action for the ab signal of the specified channel
- 参数:
channelMask – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
SRPWM_CHANNEL_ALL
pwmAB – the specified ab signal
-
void SRPWM_initPGStruct(SRPWM_PGInitTypeDef *initStruct)
PGStruct Init.
- 参数:
initStruct – pointer to the srpwm pg init structure
-
void SRPWM_initPG(SRPWM_Type *SRPWMx, SRPWM_PGInitTypeDef *init)
initialize the action matrix
- 参数:
SRPWMx – select the specified srpwm
init – pointer to the srpwm pg init structure
shadowLoadSel
SRPWM_SYNCEVTLOAD2_ZERO_EVT
SRPWM_SYNCEVTLOAD2_PERIOD_EVT
SRPWM_SYNCEVTLOAD2_SCMPC_UP_EVT
SRPWM_SYNCEVTLOAD2_SCMPD_UP_EVT
SRPWM_SYNCEVTLOAD2_SCMPC_DOWN_EVT
SRPWM_SYNCEVTLOAD2_SCMPD_DOWN_EVT
SRPWM_SYNCEVTLOAD2_FPP_FAULT_POS0
SRPWM_SYNCEVTLOAD2_FPP_FAULT_POS1
SRPWM_SYNCEVTLOAD2_FPP_FAULT_POS2
SRPWM_SYNCEVTLOAD2_FPP_FAULT_POS3
SRPWM_SYNCEVTLOAD2_SYNC0
SRPWM_SYNCEVTLOAD2_SYNC1
SRPWM_SYNCEVTLOAD2_BURST_OVER
SRPWM_SYNCEVTLOAD2_SW_EVT
PWMA_PGSwEndSyncSel - PWMA_PGSwStartSyncSel - PWMB_PGSwEndSyncSel - PWMB_PGSwStartSyncSel
SRPWM_PG_SWSYNC_ZERO_EVT
SRPWM_PG_SWSYNC_PRD_EVT
SRPWM_PG_SWSYNC_SCMPA_UP_EVT
SRPWM_PG_SWSYNC_SCMPB_UP_EVT
SRPWM_PG_SWSYNC_SCMPA_DOWN_EVT
SRPWM_PG_SWSYNC_SCMPB_DOWN_EVT
SRPWM_PG_SWSYNC_PWMB_NEG
SRPWM_PG_SWSYNC_PWMB_POS
SRPWM_PG_SWSYNC_PWMA_NEG
SRPWM_PG_SWSYNC_PWMA_POS
-
void SRPWM_setPG(SRPWM_Type *SRPWMx, SRPWM_AB pwmAB, SRPWM_PGEvt event, SRPWM_PGValue value)
sets the action for the specified action event
- 参数:
SRPWMx – select the specified srpwm
pwmAB – select the specified srpwm
event – select the specified action event
value – select the specified action value
-
void SRPWM_enableInterrupt(SRPWM_Type *SRPWMx, uint16_t interruptFlagMask)
enables the specified interrupt for the specified module
- 参数:
SRPWMx – select the specified srpwm
interruptFlagMask – the specified interrupt source
SRPWM_IT_EVT: incident interruption
SRPWM_IT_BURST_OVER: burst ends
SRPWM_IT_FAULT_REAL0: real time fault0
SRPWM_IT_FAULT_REAL1: real time fault1
SRPWM_IT_FAULT_REAL2: real time fault2
SRPWM_IT_FAULT_REAL3: real time fault3
SRPWM_IT_FAULT_REAL4: real time fault4
SRPWM_IT_FAULT_REAL5: real time fault5
SRPWM_IT_FAULT_LATCH0: fault0 after latching
SRPWM_IT_FAULT_LATCH1: fault1 after latching
SRPWM_IT_FAULT_LATCH2: fault2 after latching
SRPWM_IT_FAULT_LATCH3: fault3 after latching
SRPWM_IT_FAULT_LATCH4: fault4 after latching
SRPWM_IT_FAULT_LATCH5: fault5 after latching
-
void SRPWM_disableInterrupt(SRPWM_Type *SRPWMx, uint16_t interruptFlagMask)
Disable the specified interrupt for the specified module.
- 参数:
SRPWMx – select the specified srpwm
interruptFlagMask – the specified interrupt source
SRPWM_IT_EVT: incident interruption
SRPWM_IT_BURST_OVER: burst ends
SRPWM_IT_FAULT_REAL0: real time fault0
SRPWM_IT_FAULT_REAL1: real time fault1
SRPWM_IT_FAULT_REAL2: real time fault2
SRPWM_IT_FAULT_REAL3: real time fault3
SRPWM_IT_FAULT_REAL4: real time fault4
SRPWM_IT_FAULT_REAL5: real time fault5
SRPWM_IT_FAULT_LATCH0: fault0 after latching
SRPWM_IT_FAULT_LATCH1: fault1 after latching
SRPWM_IT_FAULT_LATCH2: fault2 after latching
SRPWM_IT_FAULT_LATCH3: fault3 after latching
SRPWM_IT_FAULT_LATCH4: fault4 after latching
SRPWM_IT_FAULT_LATCH5: fault5 after latching
-
void SRPWM_setInterruptMask(SRPWM_Type *SRPWMx, uint16_t interruptFlagMask)
enables the specified interrupt mask for the specified module
- 参数:
SRPWMx – select the specified srpwm
interruptFlagMask – the specified interrupt source
SRPWM_IT_EVT: incident interruption
SRPWM_IT_BURST_OVER: burst ends
SRPWM_IT_FAULT_REAL0: real time fault0
SRPWM_IT_FAULT_REAL1: real time fault1
SRPWM_IT_FAULT_REAL2: real time fault2
SRPWM_IT_FAULT_REAL3: real time fault3
SRPWM_IT_FAULT_REAL4: real time fault4
SRPWM_IT_FAULT_REAL5: real time fault5
SRPWM_IT_FAULT_LATCH0: fault0 after latching
SRPWM_IT_FAULT_LATCH1: fault1 after latching
SRPWM_IT_FAULT_LATCH2: fault2 after latching
SRPWM_IT_FAULT_LATCH3: fault3 after latching
SRPWM_IT_FAULT_LATCH4: fault4 after latching
SRPWM_IT_FAULT_LATCH5: fault5 after latching
-
void SRPWM_clearInterruptMask(SRPWM_Type *SRPWMx, uint16_t interruptFlagMask)
Disable the specified interrupt mask for the specified module.
- 参数:
SRPWMx – select the specified srpwm
interruptFlagMask – the specified interrupt source
SRPWM_IT_EVT: incident interruption
SRPWM_IT_BURST_OVER: burst ends
SRPWM_IT_FAULT_REAL0: real time fault0
SRPWM_IT_FAULT_REAL1: real time fault1
SRPWM_IT_FAULT_REAL2: real time fault2
SRPWM_IT_FAULT_REAL3: real time fault3
SRPWM_IT_FAULT_REAL4: real time fault4
SRPWM_IT_FAULT_REAL5: real time fault5
SRPWM_IT_FAULT_LATCH0: fault0 after latching
SRPWM_IT_FAULT_LATCH1: fault1 after latching
SRPWM_IT_FAULT_LATCH2: fault2 after latching
SRPWM_IT_FAULT_LATCH3: fault3 after latching
SRPWM_IT_FAULT_LATCH4: fault4 after latching
SRPWM_IT_FAULT_LATCH5: fault5 after latching
-
void SRPWM_forceInterrupt(SRPWM_Type *SRPWMx, uint16_t interruptFlagMask)
the software forces an interrupt
- 参数:
SRPWMx – select the specified srpwm
interruptFlagMask – the specified interrupt source
SRPWM_IT_EVT: incident interruption
SRPWM_IT_BURST_OVER: burst ends
SRPWM_IT_FAULT_REAL0: real time fault0
SRPWM_IT_FAULT_REAL1: real time fault1
SRPWM_IT_FAULT_REAL2: real time fault2
SRPWM_IT_FAULT_REAL3: real time fault3
SRPWM_IT_FAULT_REAL4: real time fault4
SRPWM_IT_FAULT_REAL5: real time fault5
SRPWM_IT_FAULT_LATCH0: fault0 after latching
SRPWM_IT_FAULT_LATCH1: fault1 after latching
SRPWM_IT_FAULT_LATCH2: fault2 after latching
SRPWM_IT_FAULT_LATCH3: fault3 after latching
SRPWM_IT_FAULT_LATCH4: fault4 after latching
SRPWM_IT_FAULT_LATCH5: fault5 after latching
-
void SRPWM_clearInterruptStatus(SRPWM_Type *SRPWMx, uint16_t interruptFlagMask)
clear the interrupt flag
- 参数:
SRPWMx – select the specified srpwm
interruptFlagMask – the specified interrupt source
SRPWM_IT_EVT: incident interruption
SRPWM_IT_BURST_OVER: burst ends
SRPWM_IT_FAULT_REAL0: real time fault0
SRPWM_IT_FAULT_REAL1: real time fault1
SRPWM_IT_FAULT_REAL2: real time fault2
SRPWM_IT_FAULT_REAL3: real time fault3
SRPWM_IT_FAULT_REAL4: real time fault4
SRPWM_IT_FAULT_REAL5: real time fault5
SRPWM_IT_FAULT_LATCH0: fault0 after latching
SRPWM_IT_FAULT_LATCH1: fault1 after latching
SRPWM_IT_FAULT_LATCH2: fault2 after latching
SRPWM_IT_FAULT_LATCH3: fault3 after latching
SRPWM_IT_FAULT_LATCH4: fault4 after latching
SRPWM_IT_FAULT_LATCH5: fault5 after latching
-
ITStatus SRPWM_getInterruptStatus(SRPWM_Type *SRPWMx, uint16_t interruptFlag)
gets the specified interrupt source mask state of the specified module
- 参数:
SRPWMx – select the specified srpwm
interruptFlagMask – the specified interrupt source
SRPWM_IT_EVT: incident interruption
SRPWM_IT_BURST_OVER: burst ends
SRPWM_IT_FAULT_REAL0: real time fault0
SRPWM_IT_FAULT_REAL1: real time fault1
SRPWM_IT_FAULT_REAL2: real time fault2
SRPWM_IT_FAULT_REAL3: real time fault3
SRPWM_IT_FAULT_REAL4: real time fault4
SRPWM_IT_FAULT_REAL5: real time fault5
SRPWM_IT_FAULT_LATCH0: fault0 after latching
SRPWM_IT_FAULT_LATCH1: fault1 after latching
SRPWM_IT_FAULT_LATCH2: fault2 after latching
SRPWM_IT_FAULT_LATCH3: fault3 after latching
SRPWM_IT_FAULT_LATCH4: fault4 after latching
SRPWM_IT_FAULT_LATCH5: fault5 after latching
- 返回:
ITStatus
-
ITStatus SRPWM_getInterruptStatusRaw(SRPWM_Type *SRPWMx, uint16_t interruptFlag)
gets the specified interrupt source raw state of the specified module
- 参数:
SRPWMx – select the specified srpwm
interruptFlagMask – the specified interrupt source
SRPWM_IT_EVT: incident interruption
SRPWM_IT_BURST_OVER: burst ends
SRPWM_IT_FAULT_REAL0: real time fault0
SRPWM_IT_FAULT_REAL1: real time fault1
SRPWM_IT_FAULT_REAL2: real time fault2
SRPWM_IT_FAULT_REAL3: real time fault3
SRPWM_IT_FAULT_REAL4: real time fault4
SRPWM_IT_FAULT_REAL5: real time fault5
SRPWM_IT_FAULT_LATCH0: fault0 after latching
SRPWM_IT_FAULT_LATCH1: fault1 after latching
SRPWM_IT_FAULT_LATCH2: fault2 after latching
SRPWM_IT_FAULT_LATCH3: fault3 after latching
SRPWM_IT_FAULT_LATCH4: fault4 after latching
SRPWM_IT_FAULT_LATCH5: fault5 after latching
- 返回:
ITStatus
-
void SRPWM_enableEvtInterrupt(SRPWM_Type *SRPWMx, uint32_t outEventMask)
enable specifies the synchronization signal that the module uses to generate the event interrupt request signal
- 参数:
SRPWMx – select the specified srpwm
outEventMask – you can select multiple interrupt events by masking
SRPWM_OUTEVT_SYNC_ZERO_EVT
SRPWM_OUTEVT_SYNC_PRD_EVT
SRPWM_OUTEVT_SYNC_CMPA_UP_EVT
SRPWM_OUTEVT_SYNC_CMPB_UP_EVT
SRPWM_OUTEVT_SYNC_CMPC_UP_EVT
SRPWM_OUTEVT_SYNC_CMPD_UP_EVT
SRPWM_OUTEVT_SYNC_CMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPA_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPB_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPC_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPD_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_PWMA_NEG
SRPWM_OUTEVT_SYNC_PWMA_POS
SRPWM_OUTEVT_SYNC_PWMB_NEG
SRPWM_OUTEVT_SYNC_PWMB_POS
SRPWM_OUTEVT_SYNC_TIMER_SYNC0
SRPWM_OUTEVT_SYNC_TIMER_SYNC1
-
void SRPWM_disableEvtInterrupt(SRPWM_Type *SRPWMx, uint32_t outEventMask)
disable specifies the synchronization signal that the module uses to generate the event interrupt request signal
- 参数:
SRPWMx –
outEventMask – you can select multiple interrupt events by masking
SRPWM_OUTEVT_SYNC_ZERO_EVT
SRPWM_OUTEVT_SYNC_PRD_EVT
SRPWM_OUTEVT_SYNC_CMPA_UP_EVT
SRPWM_OUTEVT_SYNC_CMPB_UP_EVT
SRPWM_OUTEVT_SYNC_CMPC_UP_EVT
SRPWM_OUTEVT_SYNC_CMPD_UP_EVT
SRPWM_OUTEVT_SYNC_CMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPA_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPB_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPC_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPD_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_PWMA_NEG
SRPWM_OUTEVT_SYNC_PWMA_POS
SRPWM_OUTEVT_SYNC_PWMB_NEG
SRPWM_OUTEVT_SYNC_PWMB_POS
SRPWM_OUTEVT_SYNC_TIMER_SYNC0
SRPWM_OUTEVT_SYNC_TIMER_SYNC1
-
void SRPWM_enableEvtInterruptFreqDiv(SRPWM_Type *SRPWMx)
enable event interrupt crossover
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_disableEvtInterruptFreqDiv(SRPWM_Type *SRPWMx)
disable event interrupt crossover
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_setEvtInterruptFreqDiv(SRPWM_Type *SRPWMx, uint8_t div)
select the crossover factor for event interrupts
- 参数:
SRPWMx – select the specified srpwm
div – the frequency divider of the event interrupt signal
-
void SRPWM_enableEvtInterruptFreqMulti(SRPWM_Type *SRPWMx)
enable event interrupt multiplier
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_disableEvtInterruptFreqMulti(SRPWM_Type *SRPWMx)
disable event interrupt multiplier
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_setEvtInterruptFreqMulti(SRPWM_Type *SRPWMx, uint16_t multi)
select the crossover factor for event interrupts
- 参数:
SRPWMx – select the specified srpwm
multi – the frequency multiple of the event interrupt signal
-
void SRPWM_initBurstStruct(SRPWM_BurstInitTypeDef *initStruct)
BurstStruct Init.
- 参数:
initStruct – pointer to a SRPWM_BurstInitTypeDef structure
-
void SRPWM_initBurst(SRPWM_Type *SRPWMx, SRPWM_BurstInitTypeDef *init)
initialize the burst function
- 参数:
SRPWMx – select the specified srpwm
init – pointer to a SRPWM_BurstInitTypeDef structure
shadowLoadSel
SRPWM_SYNCEVTLOAD1_ZERO_EVT
SRPWM_SYNCEVTLOAD1_PERIOD_EVT
SRPWM_SYNCEVTLOAD1_SCMPA_UP_EVT
SRPWM_SYNCEVTLOAD1_SCMPB_UP_EVT
SRPWM_SYNCEVTLOAD1_SCMPA_DOWN_EVT
SRPWM_SYNCEVTLOAD1_SCMPB_DOWN_EVT
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS0
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS1
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS2
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS3
SRPWM_SYNCEVTLOAD1_SYNC0
SRPWM_SYNCEVTLOAD1_SYNC1
SRPWM_SYNCEVTLOAD1_BURST_OVER
SRPWM_SYNCEVTLOAD1_SW_EVT
startSync
SRPWM_BURST_START_SYNC_ZERO_EVT
SRPWM_BURST_START_SYNC_PRD_EVT
SRPWM_BURST_START_SYNC_SCMPA_UP_EVT
SRPWM_BURST_START_SYNC_SCMPB_UP_EVT
SRPWM_BURST_START_SYNC_SCMPA_DOWN_EVT
SRPWM_BURST_START_SYNC_SCMPB_DOWN_EVT
-
void SRPWM_setBurstM(SRPWM_Type *SRPWMx, uint8_t m)
set the m value of the burst function
- 参数:
SRPWMx – select the specified srpwm
m – the m value
-
void SRPWM_setBurstN(SRPWM_Type *SRPWMx, uint8_t n)
set the n value of the burst function
- 参数:
SRPWMx – select the specified srpwm
n – the n value
-
void SRPWM_initFPPStruct(SRPWM_FPPInitTypeDef *initStruct)
FPPStruct Init.
- 参数:
initStruct – pointer to a SRPWM_FPPInitTypeDef structure
-
void SRPWM_initFPP(SRPWM_Type *SRPWMx, SRPWM_FPPInitTypeDef *init)
FPP initialization.
- 参数:
SRPWMx – select the specified srpwm
init – pointer to a SRPWM_FPPInitTypeDef structure
blkEndSigSel - blkStartSigSel
SRPWM_ALLEVT_ZERO_EVT
SRPWM_ALLEVT_PRD_EVT
SRPWM_ALLEVT_SCMPA_UP_EVT
SRPWM_ALLEVT_SCMPB_UP_EVT
SRPWM_ALLEVT_SCMPC_UP_EVT
SRPWM_ALLEVT_SCMPD_UP_EVT
SRPWM_ALLEVT_SCMPA_DOWN_EVT
SRPWM_ALLEVT_SCMPB_DOWN_EVT
SRPWM_ALLEVT_SCMPC_DOWN_EVT
SRPWM_ALLEVT_SCMPD_DOWN_EVT
SRPWM_ALLEVT_CMPA_UP_EVT
SRPWM_ALLEVT_CMPB_UP_EVT
SRPWM_ALLEVT_CMPC_UP_EVT
SRPWM_ALLEVT_CMPD_UP_EVT
SRPWM_ALLEVT_CMPA_DOWN_EVT
SRPWM_ALLEVT_CMPB_DOWN_EVT
SRPWM_ALLEVT_CMPC_DOWN_EVT
SRPWM_ALLEVT_CMPD_DOWN_EVT
SRPWM_ALLEVT_FPP_FAULT_POS0
SRPWM_ALLEVT_FPP_FAULT_POS1
SRPWM_ALLEVT_FPP_FAULT_POS2
SRPWM_ALLEVT_FPP_FAULT_POS3
SRPWM_ALLEVT_SYNC0
SRPWM_ALLEVT_SYNC1
SRPWM_ALLEVT_BURST_OVER
SRPWM_ALLEVT_PWMB_NEG
SRPWM_ALLEVT_PWMB_POS
SRPWM_ALLEVT_PWMA_NEG
SRPWM_ALLEVT_PWMA_POS
SRPWM_ALLEVT_SW_EVT
faultSigGroupMask
SRPWM_FPP_FAULT_SIG_GRP0
SRPWM_FPP_FAULT_SIG_GRP1
SRPWM_FPP_FAULT_SIG_GRP2
SRPWM_FPP_FAULT_SIG_GRP3
SRPWM_FPP_FAULT_SIG_GRP4
SRPWM_FPP_FAULT_SIG_GRP5
-
void SRPWM_clearFPPFaultCnt(SRPWM_Type *SRPWMx, uint8_t faultSigGroup)
clears the exception count of the specified fpp exception preprocessing signal 0 5 for the specified module
- 参数:
SRPWMx – select the specified srpwm
faultSigGroup – specify fpp signals 0~5
SRPWM_FPP_FAULT_SIG_GRP0
SRPWM_FPP_FAULT_SIG_GRP1
SRPWM_FPP_FAULT_SIG_GRP2
SRPWM_FPP_FAULT_SIG_GRP3
SRPWM_FPP_FAULT_SIG_GRP4
SRPWM_FPP_FAULT_SIG_GRP5
-
void SRPWM_clearFPPLatchFault(SRPWM_Type *SRPWMx, uint8_t faultSigGroup)
clears the specified fpp exception of the specified module preprocesses the latch exception signal 0 5
- 参数:
SRPWMx – select the specified srpwm
faultSigGroup – specify fpp signals 0~5
SRPWM_FPP_FAULT_SIG_GRP0
SRPWM_FPP_FAULT_SIG_GRP1
SRPWM_FPP_FAULT_SIG_GRP2
SRPWM_FPP_FAULT_SIG_GRP3
SRPWM_FPP_FAULT_SIG_GRP4
SRPWM_FPP_FAULT_SIG_GRP5
-
void SRPWM_clearFPPFilterCnt(SRPWM_Type *SRPWMx, uint8_t faultSigGroup)
clears the filter count of 0~5 for the specified fpp exception preprocessing for the specified module
- 参数:
SRPWMx – select the specified srpwm
faultSigGroup – specify fpp signals 0~5
SRPWM_FPP_FAULT_SIG_GRP0
SRPWM_FPP_FAULT_SIG_GRP1
SRPWM_FPP_FAULT_SIG_GRP2
SRPWM_FPP_FAULT_SIG_GRP3
SRPWM_FPP_FAULT_SIG_GRP4
SRPWM_FPP_FAULT_SIG_GRP5
-
FlagStatus SRPWM_getFPPFaultStatus(SRPWM_Type *SRPWMx, uint16_t faultSig)
gets the exception of the specified latch and real time exception signal for the specified module
- 参数:
SRPWMx – select the specified srpwm
faultSig – specify fpp signals 0~5
SRPWM_FPP_FAULT_REAL0
SRPWM_FPP_FAULT_REAL1
SRPWM_FPP_FAULT_REAL2
SRPWM_FPP_FAULT_REAL3
SRPWM_FPP_FAULT_REAL4
SRPWM_FPP_FAULT_REAL5
SRPWM_FPP_FAULT_LATCH0
SRPWM_FPP_FAULT_LATCH1
SRPWM_FPP_FAULT_LATCH2
SRPWM_FPP_FAULT_LATCH3
SRPWM_FPP_FAULT_LATCH4
SRPWM_FPP_FAULT_LATCH5
- 返回:
FlagStatus
-
uint16_t SRPWM_getFPPFaultCnt(SRPWM_Type *SRPWMx, uint8_t faultSigGroup)
obtain the exception count of the specified fpp exception preprocessing signal 0 5 for the specified module
- 参数:
SRPWMx – select the specified srpwm
faultSigGroup – specify fpp signals 0~5
SRPWM_FPP_FAULT_SIG_GRP0
SRPWM_FPP_FAULT_SIG_GRP1
SRPWM_FPP_FAULT_SIG_GRP2
SRPWM_FPP_FAULT_SIG_GRP3
SRPWM_FPP_FAULT_SIG_GRP4
SRPWM_FPP_FAULT_SIG_GRP5
- 返回:
uint16_t
-
void SRPWM_initValleyStruct(SRPWM_ValleyInitTypeDef *initStruct)
initializes the SRPWM_ValleyInitTypeDef structure
- 参数:
initStruct –
- 返回:
* void
-
void SRPWM_initValley(SRPWM_Type *SRPWMx, SRPWM_ValleyInitTypeDef *init)
configures the specified srpwm valley
- 参数:
SRPWMx – select the specified srpwm
init –
- 返回:
* void
-
void SRPWM_enableValley(SRPWM_Type *SRPWMx)
configures the specified srpwm valley
- 参数:
SRPWMx – select the specified srpwm
- 返回:
* void
-
void SRPWM_disableValley(SRPWM_Type *SRPWMx)
configures the specified srpwm valley
- 参数:
SRPWMx – select the specified srpwm
- 返回:
* void
-
void SRPWM_forceValley(SRPWM_Type *SRPWMx)
configures the specified srpwm valley
- 参数:
SRPWMx – select the specified srpwm
- 返回:
* void
-
void SRPWMCOM_enterPREPOneShot(uint16_t channelMask, SRPWM_AB pwmAB)
forcefully trigger os prep protection once for the ab signal of the specified channel
- 参数:
channelMask – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
SRPWM_CHANNEL_ALL
pwmAB – the specified ab signal
-
void SRPWMCOM_exitPREPOneShot(uint16_t channelMask, SRPWM_AB pwmAB)
quit forcefully trigger os prep protection once for the ab signal of the specified channel
- 参数:
channelMask – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
SRPWM_CHANNEL_ALL
pwmAB – the specified ab signal
-
void SRPWMCOM_forcePREPCycleByCycle(uint16_t channelMask, SRPWM_AB pwmAB)
forcefully trigger CBC prep protection once for the ab signal of the specified channel
- 参数:
channelMask – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
SRPWM_CHANNEL_ALL
pwmAB – optional ab signal
-
void SRPWM_setPREPUnresMinTime(SRPWM_Type *SRPWMx, uint16_t min_time)
set unres prep protection pulse time min value
- 参数:
SRPWMx – select the specified srpwm
min_time – unres protect min time value
-
void SRPWM_initPREPStruct(SRPWM_PREPInitTypeDef *initStruct)
PREPStruct Init.
- 参数:
initStruct –
-
void SRPWM_initPREP(SRPWM_Type *SRPWMx, SRPWM_PREPInitTypeDef *init)
initialize the exception pre protection feature
- 参数:
SRPWMx – select the specified srpwm
init – parameter for structure SRPWM_PREPInitTypeDef initialization
cbcFaultProtectSig - osFaultProtectSig - unresFaultProtectSig
SRPWM_PREP_SIG_FAULT_REAL0
SRPWM_PREP_SIG_FAULT_REAL1
SRPWM_PREP_SIG_FAULT_REAL2
SRPWM_PREP_SIG_FAULT_REAL3
SRPWM_PREP_SIG_FAULT_REAL4
SRPWM_PREP_SIG_FAULT_REAL5
SRPWM_PREP_SIG_FAULT_LATCH0
SRPWM_PREP_SIG_FAULT_LATCH1
SRPWM_PREP_SIG_FAULT_LATCH2
SRPWM_PREP_SIG_FAULT_LATCH3
SRPWM_PREP_SIG_FAULT_LATCH4
SRPWM_PREP_SIG_FAULT_LATCH5
SRPWM_PREP_SIG_SW
osStartSyncSel - osEndSyncSel - cbcEndSyncSel
SRPWM_ALLEVT_ZERO_EVT
SRPWM_ALLEVT_PRD_EVT
SRPWM_ALLEVT_SCMPA_UP_EVT
SRPWM_ALLEVT_SCMPB_UP_EVT
SRPWM_ALLEVT_SCMPC_UP_EVT
SRPWM_ALLEVT_SCMPD_UP_EVT
SRPWM_ALLEVT_SCMPA_DOWN_EVT
SRPWM_ALLEVT_SCMPB_DOWN_EVT
SRPWM_ALLEVT_SCMPC_DOWN_EVT
SRPWM_ALLEVT_SCMPD_DOWN_EVT
SRPWM_ALLEVT_CMPA_UP_EVT
SRPWM_ALLEVT_CMPB_UP_EVT
SRPWM_ALLEVT_CMPC_UP_EVT
SRPWM_ALLEVT_CMPD_UP_EVT
SRPWM_ALLEVT_CMPA_DOWN_EVT
SRPWM_ALLEVT_CMPB_DOWN_EVT
SRPWM_ALLEVT_CMPC_DOWN_EVT
SRPWM_ALLEVT_CMPD_DOWN_EVT
SRPWM_ALLEVT_FPP_FAULT_POS0
SRPWM_ALLEVT_FPP_FAULT_POS1
SRPWM_ALLEVT_FPP_FAULT_POS2
SRPWM_ALLEVT_FPP_FAULT_POS3
SRPWM_ALLEVT_SYNC0
SRPWM_ALLEVT_SYNC1
SRPWM_ALLEVT_BURST_OVER
SRPWM_ALLEVT_PWMB_NEG
SRPWM_ALLEVT_PWMB_POS
SRPWM_ALLEVT_PWMA_NEG
SRPWM_ALLEVT_PWMA_POS
SRPWM_ALLEVT_SW_EVT
-
void SRPWM_clearPREPTimer(SRPWM_Type *SRPWMx, uint8_t state)
clears the specified time counter for the specified module
- 参数:
SRPWMx – select the specified srpwm
state – the specified time counter
SRPWM_PREP_A_SET_TIMER
SRPWM_PREP_A_CLR_TIMER
SRPWM_PREP_A_INVERT_TIMER
SRPWM_PREP_A_HIZ_TIMER
SRPWM_PREP_B_SET_TIMER
SRPWM_PREP_B_CLR_TIMER
SRPWM_PREP_B_INVERT_TIMER
SRPWM_PREP_B_HIZ_TIMER
-
FlagStatus SRPWM_getPREPSigState(SRPWM_Type *SRPWMx, SRPWM_PREP_SigState sigState)
gets the indication status of the specified signal for the specified module
- 参数:
SRPWMx – select the specified srpwm
sigState – the specified signal that needs to be acquired
- 返回:
FlagStatus
-
uint32_t SRPWM_getPREPFaultTime(SRPWM_Type *SRPWMx, SRPWM_AB ab, SRPWM_PreprotectState sig)
obtains the specified signal exception time before the specified module s prep exception protection
- 参数:
SRPWMx – select the specified srpwm
ab – optional pwma and pwmb signals
sig – the specified signal that needs to be acquired
- 返回:
uint16_t
-
void SRPWMCOM_forcePSTPOutState(uint16_t channel, SRPWM_AB pwmAB, SRPWM_PSTPOutState state)
the A/B signal of the specified channel is forced to output the post protection status
- 参数:
channel – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
pwmAB – optional signals
state – optional state
-
void SRPWMCOM_initMutexStruct(SRPWMCOM_MutexInitTypeDef *initStruct)
MutexStruct Init.
- 参数:
initStruct –
-
void SRPWMCOM_initMutex(SRPWMCOM_MutexInitTypeDef *init)
initialize the mutex function
- 参数:
init – the mutex init struct
mutexResultGroupMask
SRPWM_MUTEX_RESULT_GRP_0
SRPWM_MUTEX_RESULT_GRP_1
SRPWM_MUTEX_RESULT_GRP_2
SRPWM_MUTEX_RESULT_GRP_3
SRPWM_MUTEX_RESULT_GRP_4
SRPWM_MUTEX_RESULT_GRP_5
SRPWM_MUTEX_RESULT_GRP_6
SRPWM_MUTEX_RESULT_GRP_7
SRPWM_MUTEX_RESULT_GRP_8
SRPWM_MUTEX_RESULT_GRP_9
SRPWM_MUTEX_RESULT_GRP_10
SRPWM_MUTEX_RESULT_GRP_11
SRPWM_MUTEX_RESULT_GRP_ALL
-
void SRPWMCOM_enableMutex(uint16_t mutexResultGroupMask)
enables the mutex determination function for the specified channel
- 参数:
mutexResultGroupMask – the specified mutex group number
SRPWM_MUTEX_RESULT_GRP_0
SRPWM_MUTEX_RESULT_GRP_1
SRPWM_MUTEX_RESULT_GRP_2
SRPWM_MUTEX_RESULT_GRP_3
SRPWM_MUTEX_RESULT_GRP_4
SRPWM_MUTEX_RESULT_GRP_5
SRPWM_MUTEX_RESULT_GRP_6
SRPWM_MUTEX_RESULT_GRP_7
SRPWM_MUTEX_RESULT_GRP_8
SRPWM_MUTEX_RESULT_GRP_9
SRPWM_MUTEX_RESULT_GRP_10
SRPWM_MUTEX_RESULT_GRP_11
SRPWM_MUTEX_RESULT_GRP_ALL
-
void SRPWMCOM_disableMutex(uint16_t mutexResultGroupMask)
disable specifies the mutex determination function of the channel
- 参数:
mutexResultGroupMask – the specified mutex group number
SRPWM_MUTEX_RESULT_GRP_0
SRPWM_MUTEX_RESULT_GRP_1
SRPWM_MUTEX_RESULT_GRP_2
SRPWM_MUTEX_RESULT_GRP_3
SRPWM_MUTEX_RESULT_GRP_4
SRPWM_MUTEX_RESULT_GRP_5
SRPWM_MUTEX_RESULT_GRP_6
SRPWM_MUTEX_RESULT_GRP_7
SRPWM_MUTEX_RESULT_GRP_8
SRPWM_MUTEX_RESULT_GRP_9
SRPWM_MUTEX_RESULT_GRP_10
SRPWM_MUTEX_RESULT_GRP_11
SRPWM_MUTEX_RESULT_GRP_ALL
-
void SRPWMCOM_enableMutexMsk(uint16_t channel, uint16_t mutexResultGroupMask)
the mutex generated by enabling masking acts on the specified channel
- 参数:
channel – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
mutexResultGroupMask – the specified mutex group number
SRPWM_MUTEX_RESULT_GRP_0
SRPWM_MUTEX_RESULT_GRP_1
SRPWM_MUTEX_RESULT_GRP_2
SRPWM_MUTEX_RESULT_GRP_3
SRPWM_MUTEX_RESULT_GRP_4
SRPWM_MUTEX_RESULT_GRP_5
SRPWM_MUTEX_RESULT_GRP_6
SRPWM_MUTEX_RESULT_GRP_7
SRPWM_MUTEX_RESULT_GRP_8
SRPWM_MUTEX_RESULT_GRP_9
SRPWM_MUTEX_RESULT_GRP_10
SRPWM_MUTEX_RESULT_GRP_11
SRPWM_MUTEX_RESULT_GRP_ALL
-
void SRPWMCOM_disableMutexMsk(uint16_t channel, uint16_t mutexResultGroupMask)
the mutex created by the incapacitation shield acts on the specified channel
- 参数:
channel – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
mutexResultGroupMask – the specified mutex group number
SRPWM_MUTEX_RESULT_GRP_0
SRPWM_MUTEX_RESULT_GRP_1
SRPWM_MUTEX_RESULT_GRP_2
SRPWM_MUTEX_RESULT_GRP_3
SRPWM_MUTEX_RESULT_GRP_4
SRPWM_MUTEX_RESULT_GRP_5
SRPWM_MUTEX_RESULT_GRP_6
SRPWM_MUTEX_RESULT_GRP_7
SRPWM_MUTEX_RESULT_GRP_8
SRPWM_MUTEX_RESULT_GRP_9
SRPWM_MUTEX_RESULT_GRP_10
SRPWM_MUTEX_RESULT_GRP_11
SRPWM_MUTEX_RESULT_GRP_ALL
-
FlagStatus SRPWMCOM_getMutexStatus(uint16_t mutexResultGroup)
to obtain the mutex status of the specified spwm module note that only one set of spw ms is supported at the same time
- 参数:
mutexResultGroup – the specified mutex group number
SRPWM_MUTEX_RESULT_GRP_0
SRPWM_MUTEX_RESULT_GRP_1
SRPWM_MUTEX_RESULT_GRP_2
SRPWM_MUTEX_RESULT_GRP_3
SRPWM_MUTEX_RESULT_GRP_4
SRPWM_MUTEX_RESULT_GRP_5
SRPWM_MUTEX_RESULT_GRP_6
SRPWM_MUTEX_RESULT_GRP_7
SRPWM_MUTEX_RESULT_GRP_8
SRPWM_MUTEX_RESULT_GRP_9
SRPWM_MUTEX_RESULT_GRP_10
SRPWM_MUTEX_RESULT_GRP_11
- 返回:
FlagStatus
-
uint16_t SRPWMCOM_getMutexStatusAllBits(void)
gets the mutex status for all channels
- 返回:
uint16_t
SRPWM_MUTEX_RESULT_GRP_0
SRPWM_MUTEX_RESULT_GRP_1
SRPWM_MUTEX_RESULT_GRP_2
SRPWM_MUTEX_RESULT_GRP_3
SRPWM_MUTEX_RESULT_GRP_4
SRPWM_MUTEX_RESULT_GRP_5
SRPWM_MUTEX_RESULT_GRP_6
SRPWM_MUTEX_RESULT_GRP_7
SRPWM_MUTEX_RESULT_GRP_8
SRPWM_MUTEX_RESULT_GRP_9
SRPWM_MUTEX_RESULT_GRP_10
SRPWM_MUTEX_RESULT_GRP_11
-
void SRPWMCOM_clearMutexStatus(uint16_t mutexResultGroupMask)
clears the mutex status of the specified spwm
- 参数:
mutexResultGroupMask –
SRPWM_MUTEX_RESULT_GRP_0
SRPWM_MUTEX_RESULT_GRP_1
SRPWM_MUTEX_RESULT_GRP_2
SRPWM_MUTEX_RESULT_GRP_3
SRPWM_MUTEX_RESULT_GRP_4
SRPWM_MUTEX_RESULT_GRP_5
SRPWM_MUTEX_RESULT_GRP_6
SRPWM_MUTEX_RESULT_GRP_7
SRPWM_MUTEX_RESULT_GRP_8
SRPWM_MUTEX_RESULT_GRP_9
SRPWM_MUTEX_RESULT_GRP_10
SRPWM_MUTEX_RESULT_GRP_11
SRPWM_MUTEX_RESULT_GRP_ALL
-
void SRPWM_initPSTPStruct(SRPWM_PSTPInitTypeDef *initStruct)
PSTPStruct Init.
- 参数:
initStruct – the pointer to the structure of the PSTP init
-
void SRPWM_initPSTP(SRPWM_Type *SRPWMx, SRPWM_PSTPInitTypeDef *init)
initialize the post protect function
- 参数:
SRPWMx – select the specified srpwm
init – the pointer to the structure of the PSTP init
-
FlagStatus SRPWM_getPSTPFaultState(SRPWM_Type *SRPWMx, SRPWM_PSTPFaultStateSig sig)
gets the exception status of the specified signal for the post processing of the pstp exception for the specified module
- 参数:
SRPWMx – select the specified srpwm
sig – the specified signal that needs to be acquired
- 返回:
FlagStatus
-
void SRPWM_setPeriodHR(SRPWM_Type *SRPWMx, uint8_t periodHR)
set the period value including high accuracy
- 参数:
SRPWMx – select the specified srpwm
periodHR – high accuracy of period values
- 返回:
* void
-
void SPPWM_setCompareHR(SRPWM_Type *SRPWMx, SRPWM_Edge edge, uint8_t cmpHR)
set the high accuracy of the compare value
- 参数:
SRPWMx – select the specified srpwm
edge – the edge type
cmpHR – the high accuracy of the compare value
- 返回:
* void
-
void SRPWM_setDBHR(SRPWM_Type *SRPWMx, SRPWM_Edge edge, uint8_t deadTimeHR)
set the high accuracy of the deadband
- 参数:
SRPWMx – select the specified srpwm
edge – select the rising or falling edge of the dead delay
deadTimeHR – high accuracy of the deadband
- 返回:
* void
-
void SRPWMCOM_enableHR(uint16_t channelMask)
the spwmcom common module enables the high precision functions of the specified module
- Attention
only channel 0~3 support high precision function
- 参数:
channelMask –
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
-
void SRPWMCOM_disableHR(uint16_t channelMask)
the spwmcom common module disables the high precision functions of the specified module
- Attention
only channel 0~3 support high precision function
- 参数:
channelMask –
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
-
void SRPWM_enableHRPWMDLL(uint16_t channel, SRPWM_AB ab)
enable the dll function in the sysc module to turn on the high precision function for srpwm
- 参数:
channelMask – pwm channel 0~3
ab –
-
void SRPWM_disableHRPWMDLL(uint16_t channel, SRPWM_AB ab)
disables the dll function in the sysc module and turns off the high precision function to the srpwm
- 参数:
channelMask – pwm channel 0~3
ab –
-
void SRPWM_enableHRPWMBypass(SRPWM_Type *SRPWMx)
enable specifies the spwm module s high precision bypass function
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_disableHRPWMBypass(SRPWM_Type *SRPWMx)
disable specifies the spwm module s high precision bypass function
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_enableHRPWMFilter(SRPWM_Type *SRPWMx)
enable the spwm module s high precision filtering function
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_disableHRPWMFilter(SRPWM_Type *SRPWMx)
disable the spwm module s high precision filtering function
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_setHRPWMFilterWidth(SRPWM_Type *SRPWMx, uint16_t width)
configure the high precision input filter length that specifies the spwm module
- 参数:
SRPWMx – select the specified srpwm
width – the filter length
-
uint8_t SRPWM_getHRPWMEgdeDly(SRPWM_Type *SRPWMx, SRPWM_Edge edge)
obtain the delay time of the specified rising and falling edges of the specified module ab signal
- 参数:
SRPWMx – the specified module
edge – specify the rising and falling edges of the ab signal
- 返回:
uint8_t
-
void SRPWMCOM_enableDMA(SRPWM_DMAChannel dmaChannel, uint16_t channel)
Enables the DMA request for the specified SRPWM channel(s).
备注
This function modifies the DMA selection register and enables the specified DMA channel.
- 参数:
dmaChannel – The DMA channel to be enabled. ref to SRPWM_DMAChannel.
channel – the specified channel
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
- 返回:
void
-
void SRPWMCOM_disableDMA(SRPWM_DMAChannel dmaChannel)
Disables the DMA request for the specified SRPWM channel.
备注
This function modifies the DMA enable register and disables the specified DMA channel.
- 参数:
dmaChannel – The DMA channel to be disabled. It should be one of the following:
SRPWM_DMA_CHANNEL0
SRPWM_DMA_CHANNEL1
SRPWM_DMA_CHANNEL2
SRPWM_DMA_CHANNEL3
- 返回:
void
-
void SRPWM_setDMARequest(SRPWM_Type *SRPWMx, uint32_t outEventMask)
enable specifies the synchronization signal that the module uses to generate the dma request signal
- 参数:
SRPWMx – select the specified srpwm
outEventMask – synchronize collections with output events. Channel Group Output Event Collections
SRPWM_OUTEVT_SYNC_ZERO_EVT
SRPWM_OUTEVT_SYNC_PRD_EVT
SRPWM_OUTEVT_SYNC_CMPA_UP_EVT
SRPWM_OUTEVT_SYNC_CMPB_UP_EVT
SRPWM_OUTEVT_SYNC_CMPC_UP_EVT
SRPWM_OUTEVT_SYNC_CMPD_UP_EVT
SRPWM_OUTEVT_SYNC_CMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPA_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPB_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPC_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPD_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_PWMA_NEG
SRPWM_OUTEVT_SYNC_PWMA_POS
SRPWM_OUTEVT_SYNC_PWMB_NEG
SRPWM_OUTEVT_SYNC_PWMB_POS
SRPWM_OUTEVT_SYNC_TIMER_SYNC0
SRPWM_OUTEVT_SYNC_TIMER_SYNC1
-
void SRPWM_clearDMARequest(SRPWM_Type *SRPWMx, uint32_t outEventMask)
disable specifies the synchronization signal that the module uses to generate the dma request signal
- 参数:
SRPWMx – select the specified srpwm
outEventMask – synchronize collections with output events. Channel Group Output Event Collections
SRPWM_OUTEVT_SYNC_ZERO_EVT
SRPWM_OUTEVT_SYNC_PRD_EVT
SRPWM_OUTEVT_SYNC_CMPA_UP_EVT
SRPWM_OUTEVT_SYNC_CMPB_UP_EVT
SRPWM_OUTEVT_SYNC_CMPC_UP_EVT
SRPWM_OUTEVT_SYNC_CMPD_UP_EVT
SRPWM_OUTEVT_SYNC_CMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPA_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPB_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPC_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPD_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_PWMA_NEG
SRPWM_OUTEVT_SYNC_PWMA_POS
SRPWM_OUTEVT_SYNC_PWMB_NEG
SRPWM_OUTEVT_SYNC_PWMB_POS
SRPWM_OUTEVT_SYNC_TIMER_SYNC0
SRPWM_OUTEVT_SYNC_TIMER_SYNC1
-
void SRPWM_enableDMAFreqDiv(SRPWM_Type *SRPWMx)
enable the crossover function of dma
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_disableDMAFreqDiv(SRPWM_Type *SRPWMx)
Disable the crossover function of dma.
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_setDMAFreqDiv(SRPWM_Type *SRPWMx, uint8_t div)
select the divider factor for the dma request signal
- 参数:
SRPWMx – select the specified srpwm
div – the frequency division factor of the dma request event
-
void SRPWM_enableDMAFreqMulti(SRPWM_Type *SRPWMx)
enable the frequency doubling function after dma crossover
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_disableDMAFreqMulti(SRPWM_Type *SRPWMx)
disable the frequency doubling function after dma crossover
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_setDMAFreqMulti(SRPWM_Type *SRPWMx, uint16_t multi)
select the frequency multiplication coefficient of the signal after the dma request signal is divided
- 参数:
SRPWMx – select the specified srpwm
multi – the frequency multiplier of the dma request
-
void SRPWMCOM_selectTriggerToQEP(SRPWMCOM_ADCTrigger srcTrigger, SRPWM_ADCTriggerNumber triggerNumber, SRPWMCOM_QEPx dstQepNumber)
select the sync signal output to QEPx
- 参数:
srcTrigger – the trigger source matrix used to send to the adc
dstQepNumber – select the number in the trigger source matrix
triggerNumber – select the number in the trigger source matrix
- 返回:
* void
-
void SRPWMCOM_configADCTriggerMux(SRPWMCOM_ADCTrigger srcTrigger, SRPWM_ADCTriggerNumber dstTriggerNum)
select which spwm trigger0 1 signal is used as the trigger signal to the sarc module
- 参数:
srcTrigger – [in] select the specific trigger source in the trigger source matrix for the specified index
dstTriggerNum – [out] select the number in the trigger source matrix in the row and column
-
void SRPWM_setADCTriggerSource(SRPWM_Type *SRPWMx, SRPWM_ADCStartOfConversionType adcSOCType, uint32_t socSource)
enable specifies the synchronization signal that the module uses to generate the sadc0 request signal where sadc0 represents one of the two trigs trigger0 which can output an spwm
- 参数:
SRPWMx – select the specified srpwm
adcSOCType – each pwm block can give the adc two trigger sync signals a choice of 1 of 2 is required for the adc as the trigger
socSource – the trigger source, the trigger source can be one or combination of the following:
SRPWM_OUTEVT_SYNC_ZERO_EVT
SRPWM_OUTEVT_SYNC_PRD_EVT
SRPWM_OUTEVT_SYNC_CMPA_UP_EVT
SRPWM_OUTEVT_SYNC_CMPB_UP_EVT
SRPWM_OUTEVT_SYNC_CMPC_UP_EVT
SRPWM_OUTEVT_SYNC_CMPD_UP_EVT
SRPWM_OUTEVT_SYNC_CMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPA_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPB_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPC_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPD_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_PWMA_NEG
SRPWM_OUTEVT_SYNC_PWMA_POS
SRPWM_OUTEVT_SYNC_PWMB_NEG
SRPWM_OUTEVT_SYNC_PWMB_POS
SRPWM_OUTEVT_SYNC_TIMER_SYNC0
SRPWM_OUTEVT_SYNC_TIMER_SYNC1
-
void SRPWM_clearADCTriggerSource(SRPWM_Type *SRPWMx, SRPWM_ADCStartOfConversionType adcSOCType, uint32_t socSource)
disable specifies the synchronization signal that the module uses to generate the sadc0 request signal where sadc0 represents one of the two trigs trigger0 which can output an spwm
- 参数:
SRPWMx – select the specified srpwm
adcSOCType – each pwm block can give the adc two trigger sync signals a choice of 1 of 2 is required for the adc as the trigger
socSource – the trigger source, the trigger source can be one or combination of the following:
SRPWM_OUTEVT_SYNC_ZERO_EVT
SRPWM_OUTEVT_SYNC_PRD_EVT
SRPWM_OUTEVT_SYNC_CMPA_UP_EVT
SRPWM_OUTEVT_SYNC_CMPB_UP_EVT
SRPWM_OUTEVT_SYNC_CMPC_UP_EVT
SRPWM_OUTEVT_SYNC_CMPD_UP_EVT
SRPWM_OUTEVT_SYNC_CMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPA_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPB_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPC_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPD_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_PWMA_NEG
SRPWM_OUTEVT_SYNC_PWMA_POS
SRPWM_OUTEVT_SYNC_PWMB_NEG
SRPWM_OUTEVT_SYNC_PWMB_POS
SRPWM_OUTEVT_SYNC_TIMER_SYNC0
SRPWM_OUTEVT_SYNC_TIMER_SYNC1
-
void SRPWM_enableADCTriggerEventPrescale(SRPWM_Type *SRPWMx, SRPWM_ADCStartOfConversionType adcSOCType)
enables the divide function of the trigger signal sent to the adc
- 参数:
SRPWMx – select the specified srpwm
adcSOCType – each pwm block can give the adc two trigger sync signals a choice of A of B is required for the adc as the trigger
-
void SRPWM_disableADCTriggerEventPrescale(SRPWM_Type *SRPWMx, SRPWM_ADCStartOfConversionType adcSOCType)
disables the divide function of the trigger signal sent to the adc
- 参数:
SRPWMx – select the specified srpwm
adcSOCType – each pwm block can give the adc two trigger sync signals a choice of A of B is required for the adc as the trigger
-
void SRPWM_setADCTriggerEventPrescale(SRPWM_Type *SRPWMx, SRPWM_ADCStartOfConversionType adcSOCType, uint8_t preScaleCount)
select the divider factor of the trigger signal to be sent to the adc
- 参数:
SRPWMx – select the specified srpwm
adcSOCType – each pwm block can give the adc two trigger sync signals a choice of A of B is required for the adc as the trigger
preScaleCount – the frequency division factor of the trigger signal sent to the adc
-
void SRPWM_enableADCTriggerFreqMulti(SRPWM_Type *SRPWMx, SRPWM_ADCStartOfConversionType adcSOCType)
enable the multiplication function of the signal sent to the adc after it is divided
- 参数:
SRPWMx – select the specified srpwm
adcSOCType – each pwm block can give the adc two trigger sync signals a choice of 1 of 2 is required for the adc as the trigger
-
void SRPWM_disableADCTriggerFreqMulti(SRPWM_Type *SRPWMx, SRPWM_ADCStartOfConversionType adcSOCType)
disable the multiplication function of the signal sent to the adc after it is divided
- 参数:
SRPWMx – select the specified srpwm
adcSOCType – each pwm block can give the adc two trigger sync signals a choice of 1 of 2 is required for the adc as the trigger
-
void SRPWM_setADCTriggerFreqMulti(SRPWM_Type *SRPWMx, SRPWM_ADCStartOfConversionType adcSOCType, uint16_t multi)
select the multiplication factor of the signal after the trigger signal sent to the adc is divided
- 参数:
SRPWMx – select the specified srpwm
adcSOCType – each pwm block can give the adc two trigger sync signals a choice of 1 of 2 is required for the adc as the trigger
multi – the frequency multiplier of the trigger signal sent to the adc
-
void SRPWMCOM_selectSyncToSRPWM(SRPWMCOM_SRPWM_SYNCOUT srcSync, SRPWM_SyncType dstSyncTypeIn, uint16_t dstChannel)
the synchronization signal(spwmcom sync in 0/1) is selected for each spwm module(spwm sync out 0/1) via the spwmcom module
- 参数:
srcSync – select the sync signal 0 or 1 in detail in sync signal
dstSyncTypeIn – select the synchronization signal input type for the destination srpwm
SRPWM_SYNC0
SRPWM_SYNC1
dstChannel –
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
-
void SRPWM_selectSyncOut(SRPWM_Type *SRPWMx, uint32_t srcSync, SRPWM_SyncType dstSyncTypeOut)
select the output of sync signal 0
- 参数:
SRPWMx – select the specified srpwm
srcSync – select the specified sync signal
SRPWM_ALLEVT_ZERO_EVT
SRPWM_ALLEVT_PRD_EVT
SRPWM_ALLEVT_SCMPA_UP_EVT
SRPWM_ALLEVT_SCMPB_UP_EVT
SRPWM_ALLEVT_SCMPC_UP_EVT
SRPWM_ALLEVT_SCMPD_UP_EVT
SRPWM_ALLEVT_SCMPA_DOWN_EVT
SRPWM_ALLEVT_SCMPB_DOWN_EVT
SRPWM_ALLEVT_SCMPC_DOWN_EVT
SRPWM_ALLEVT_SCMPD_DOWN_EVT
SRPWM_ALLEVT_CMPA_UP_EVT
SRPWM_ALLEVT_CMPB_UP_EVT
SRPWM_ALLEVT_CMPC_UP_EVT
SRPWM_ALLEVT_CMPD_UP_EVT
SRPWM_ALLEVT_CMPA_DOWN_EVT
SRPWM_ALLEVT_CMPB_DOWN_EVT
SRPWM_ALLEVT_CMPC_DOWN_EVT
SRPWM_ALLEVT_CMPD_DOWN_EVT
SRPWM_ALLEVT_FPP_FAULT_POS0
SRPWM_ALLEVT_FPP_FAULT_POS1
SRPWM_ALLEVT_FPP_FAULT_POS2
SRPWM_ALLEVT_FPP_FAULT_POS3
SRPWM_ALLEVT_SYNC0
SRPWM_ALLEVT_SYNC1
SRPWM_ALLEVT_BURST_OVER
SRPWM_ALLEVT_PWMB_NEG
SRPWM_ALLEVT_PWMB_POS
SRPWM_ALLEVT_PWMA_NEG
SRPWM_ALLEVT_PWMA_POS
SRPWM_ALLEVT_SW_EVT
dstSyncTypeOut – select the specified sync signal output type
-
void SRPWM_selectSyncOutDly(SRPWM_Type *SRPWMx, SRPWM_SyncType syncTypeOut, uint8_t delay)
select the delay of sync signal
- 参数:
SRPWMx – select the specified srpwm
syncTypeOut – select the specified sync signal output type
delay – delay value
-
void SRPWMCOM_selectSyncToXBAR(SRPWMCOM_SRPWM_SYNCOUT srcSync, SRPWMCOM_XBARx dstXbarNumber)
select the sync signal output to xbar
- 参数:
srcSync – the specified output signal
dstXbarNumber – the specified xbar number
-
void SRPWM_setDACTrigger(uint16_t channel, uint32_t srcEvent, SRPWMCOM_DACx dstDacNumber)
set the trigger signal of the dac
- 参数:
channel – select the specified srpwm
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
srcEvent – select the specified event
SRPWM_OUTEVT_SYNC_ZERO_EVT
SRPWM_OUTEVT_SYNC_PRD_EVT
SRPWM_OUTEVT_SYNC_CMPA_UP_EVT
SRPWM_OUTEVT_SYNC_CMPB_UP_EVT
SRPWM_OUTEVT_SYNC_CMPC_UP_EVT
SRPWM_OUTEVT_SYNC_CMPD_UP_EVT
SRPWM_OUTEVT_SYNC_CMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPA_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPB_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPC_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPD_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_PWMA_NEG
SRPWM_OUTEVT_SYNC_PWMA_POS
SRPWM_OUTEVT_SYNC_PWMB_NEG
SRPWM_OUTEVT_SYNC_PWMB_POS
SRPWM_OUTEVT_SYNC_TIMER_SYNC0
SRPWM_OUTEVT_SYNC_TIMER_SYNC1
dstDacNumber – select the ACMP number
- 返回:
* void
-
void SRPWM_setACMPTrigger(uint16_t channel, uint32_t srcEvent, SRPWMCOM_ACMPx dstAcmpNumber)
set the trigger signal of the ACMP
- 参数:
channel – select the specified srpwm
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
srcEvent – select the specified event
SRPWM_OUTEVT_SYNC_ZERO_EVT
SRPWM_OUTEVT_SYNC_PRD_EVT
SRPWM_OUTEVT_SYNC_CMPA_UP_EVT
SRPWM_OUTEVT_SYNC_CMPB_UP_EVT
SRPWM_OUTEVT_SYNC_CMPC_UP_EVT
SRPWM_OUTEVT_SYNC_CMPD_UP_EVT
SRPWM_OUTEVT_SYNC_CMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPA_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPB_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPC_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPD_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_PWMA_NEG
SRPWM_OUTEVT_SYNC_PWMA_POS
SRPWM_OUTEVT_SYNC_PWMB_NEG
SRPWM_OUTEVT_SYNC_PWMB_POS
SRPWM_OUTEVT_SYNC_TIMER_SYNC0
SRPWM_OUTEVT_SYNC_TIMER_SYNC1
dstAcmpNumber – select the ACMP number
- 返回:
* void
-
void SRPWM_setACMPBlankingTrigger(uint16_t channel, uint32_t srcEvent, SRPWMCOM_ACMPx dstAcmpNumber)
select the trigger signal of the ACMP blanking
- 参数:
channel – select the specified srpwm
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
srcEvent – select the specified event
SRPWM_OUTEVT_SYNC_ZERO_EVT
SRPWM_OUTEVT_SYNC_PRD_EVT
SRPWM_OUTEVT_SYNC_CMPA_UP_EVT
SRPWM_OUTEVT_SYNC_CMPB_UP_EVT
SRPWM_OUTEVT_SYNC_CMPC_UP_EVT
SRPWM_OUTEVT_SYNC_CMPD_UP_EVT
SRPWM_OUTEVT_SYNC_CMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_CMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPA_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPB_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPC_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPD_UP_EVT
SRPWM_OUTEVT_SYNC_SCMPA_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPB_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPC_DOWN_EVT
SRPWM_OUTEVT_SYNC_SCMPD_DOWN_EVT
SRPWM_OUTEVT_SYNC_PWMA_NEG
SRPWM_OUTEVT_SYNC_PWMA_POS
SRPWM_OUTEVT_SYNC_PWMB_NEG
SRPWM_OUTEVT_SYNC_PWMB_POS
SRPWM_OUTEVT_SYNC_TIMER_SYNC0
SRPWM_OUTEVT_SYNC_TIMER_SYNC1
dstAcmpNumber – select the ACMP number
- 返回:
* void
-
void SRPWMCOM_forceMultiChannelShadow(uint16_t channelMask)
enable Multiple Spwm Module Configuration Registers Force Synchronous Updates
- 参数:
channelMask –
SRPWM_CHANNEL_0
SRPWM_CHANNEL_1
SRPWM_CHANNEL_2
SRPWM_CHANNEL_3
SRPWM_CHANNEL_4
SRPWM_CHANNEL_5
SRPWM_CHANNEL_6
SRPWM_CHANNEL_7
SRPWM_CHANNEL_8
SRPWM_CHANNEL_9
SRPWM_CHANNEL_10
SRPWM_CHANNEL_11
SRPWM_CHANNEL_ALL
-
void SRPWM_enableShadowMultiRegSync(SRPWM_Type *SRPWMx, uint8_t regMask)
multiple configuration registers of an enabling specified module are updated synchronously
- 参数:
SRPWMx – select the specified srpwm
regMask – select the specified register
SRPWM_SHD_MULTI_SYNC_PRD
SRPWM_SHD_MULTI_SYNC_PHASE
SRPWM_SHD_MULTI_SYNC_CMP
SRPWM_SHD_MULTI_SYNC_SCMP
SRPWM_SHD_MULTI_SYNC_PG
SRPWM_SHD_MULTI_SYNC_DB
SRPWM_SHD_MULTI_SYNC_BURST
-
void SRPWM_disableShadowMultiRegSync(SRPWM_Type *SRPWMx, uint8_t regMask)
multiple configuration registers of an disabling specified module are updated synchronously
- 参数:
SRPWMx – select the specified srpwm
regMask – select the specified register
SRPWM_SHD_MULTI_SYNC_PRD
SRPWM_SHD_MULTI_SYNC_PHASE
SRPWM_SHD_MULTI_SYNC_CMP
SRPWM_SHD_MULTI_SYNC_SCMP
SRPWM_SHD_MULTI_SYNC_PG
SRPWM_SHD_MULTI_SYNC_DB
SRPWM_SHD_MULTI_SYNC_BURST
-
void SRPWM_enableMultiShadowWaitPrd(SRPWM_Type *SRPWMx)
enables the shadow function of the specified module
- 参数:
SRPWMx – select the specified srpwm
-
void SRPWM_disableMultiShadowWaitPrd(SRPWM_Type *SRPWMx)
incapacitation specifies the shadow function of the module
- 参数:
SRPWMx – select the specified srpwm
-
FlagStatus SRPWM_getShadowUpdateStatus(SRPWM_Type *SRPWMx, SRPWM_ShadowUpdateStatus reg)
gets the shadow update completion status for the specified module
- 参数:
SRPWMx – select the specified srpwm
reg – select the specified register
- 返回:
FlagStatus
-
void SRPWM_clearShadowUpdateStatus(SRPWM_Type *SRPWMx, SRPWM_ShadowUpdateStatus reg)
clears the shadow update completion status for the specified module
- 参数:
SRPWMx – select the specified srpwm
reg – select the specified register
Structures
-
struct SRPWM_TBInitTypeDef
timebase initializes the struct
-
struct SRPWM_AB_CMP_HRInitTypeDef
-
struct SRPWM_CMPInitTypeDef
the comparator initializes the struct
-
struct SRPWM_AB_PGInitTypeDef
the pwm generator initializes the struct of A/B
-
struct SRPWM_PGInitTypeDef
the pwm generator initializes the struct
-
struct SRPWM_AB_DBInitTypeDef
the deadband initializes the struct of A/B
-
struct SRPWM_DBInitTypeDef
the deadband initializes the struct
-
struct SRPWM_BurstInitTypeDef
the burst initializes the struct
-
struct SRPWM_FPPInitTypeDef
the fault pre-protection initializes the struct
-
struct SRPWM_ValleyInitTypeDef
the valley initializes the struct
-
struct SRPWM_AB_PREPInitTypeDef
the preprotect initializes the struct of A/B
-
struct SRPWM_PREPInitTypeDef
the preprotect initializes the struct
-
struct SRPWM_AB_PSTPInitTypeDef
the postprotect initializes the struct of A/B
-
struct SRPWM_PSTPInitTypeDef
the postprotect initializes the struct
-
struct SRPWMCOM_MutexInitTypeDef
the mutex initializes the struct
Macros
-
SRPWM_CHANNEL_0
-
SRPWM_CHANNEL_1
-
SRPWM_CHANNEL_2
-
SRPWM_CHANNEL_3
-
SRPWM_CHANNEL_4
-
SRPWM_CHANNEL_5
-
SRPWM_CHANNEL_6
-
SRPWM_CHANNEL_7
-
SRPWM_CHANNEL_8
-
SRPWM_CHANNEL_9
-
SRPWM_CHANNEL_10
-
SRPWM_CHANNEL_11
-
SRPWM_CHANNEL_ALL
-
SRPWM_MUTEX_RESULT_GRP_0
-
SRPWM_MUTEX_RESULT_GRP_1
-
SRPWM_MUTEX_RESULT_GRP_2
-
SRPWM_MUTEX_RESULT_GRP_3
-
SRPWM_MUTEX_RESULT_GRP_4
-
SRPWM_MUTEX_RESULT_GRP_5
-
SRPWM_MUTEX_RESULT_GRP_6
-
SRPWM_MUTEX_RESULT_GRP_7
-
SRPWM_MUTEX_RESULT_GRP_8
-
SRPWM_MUTEX_RESULT_GRP_9
-
SRPWM_MUTEX_RESULT_GRP_10
-
SRPWM_MUTEX_RESULT_GRP_11
-
SRPWM_MUTEX_RESULT_GRP_ALL
-
SRPWM_SYNCEVTLOAD1_ZERO_EVT
-
SRPWM_SYNCEVTLOAD1_PERIOD_EVT
-
SRPWM_SYNCEVTLOAD1_SCMPA_UP_EVT
-
SRPWM_SYNCEVTLOAD1_SCMPB_UP_EVT
-
SRPWM_SYNCEVTLOAD1_SCMPA_DOWN_EVT
-
SRPWM_SYNCEVTLOAD1_SCMPB_DOWN_EVT
-
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS0
-
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS1
-
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS2
-
SRPWM_SYNCEVTLOAD1_FPP_FAULT_POS3
-
SRPWM_SYNCEVTLOAD1_SYNC0
-
SRPWM_SYNCEVTLOAD1_SYNC1
-
SRPWM_SYNCEVTLOAD1_BURST_OVER
-
SRPWM_SYNCEVTLOAD1_SW_EVT
-
SRPWM_SYNCEVTLOAD2_ZERO_EVT
-
SRPWM_SYNCEVTLOAD2_PERIOD_EVT
-
SRPWM_SYNCEVTLOAD2_SCMPC_UP_EVT
-
SRPWM_SYNCEVTLOAD2_SCMPD_UP_EVT
-
SRPWM_SYNCEVTLOAD2_SCMPC_DOWN_EVT
-
SRPWM_SYNCEVTLOAD2_SCMPD_DOWN_EVT
-
SRPWM_SYNCEVTLOAD2_FPP_FAULT_POS0
-
SRPWM_SYNCEVTLOAD2_FPP_FAULT_POS1
-
SRPWM_SYNCEVTLOAD2_FPP_FAULT_POS2
-
SRPWM_SYNCEVTLOAD2_FPP_FAULT_POS3
-
SRPWM_SYNCEVTLOAD2_SYNC0
-
SRPWM_SYNCEVTLOAD2_SYNC1
-
SRPWM_SYNCEVTLOAD2_BURST_OVER
-
SRPWM_SYNCEVTLOAD2_SW_EVT
-
SRPWM_ALLEVT_ZERO_EVT
-
SRPWM_ALLEVT_PRD_EVT
-
SRPWM_ALLEVT_SCMPA_UP_EVT
-
SRPWM_ALLEVT_SCMPB_UP_EVT
-
SRPWM_ALLEVT_SCMPC_UP_EVT
-
SRPWM_ALLEVT_SCMPD_UP_EVT
-
SRPWM_ALLEVT_SCMPA_DOWN_EVT
-
SRPWM_ALLEVT_SCMPB_DOWN_EVT
-
SRPWM_ALLEVT_SCMPC_DOWN_EVT
-
SRPWM_ALLEVT_SCMPD_DOWN_EVT
-
SRPWM_ALLEVT_CMPA_UP_EVT
-
SRPWM_ALLEVT_CMPB_UP_EVT
-
SRPWM_ALLEVT_CMPC_UP_EVT
-
SRPWM_ALLEVT_CMPD_UP_EVT
-
SRPWM_ALLEVT_CMPA_DOWN_EVT
-
SRPWM_ALLEVT_CMPB_DOWN_EVT
-
SRPWM_ALLEVT_CMPC_DOWN_EVT
-
SRPWM_ALLEVT_CMPD_DOWN_EVT
-
SRPWM_ALLEVT_FPP_FAULT_POS0
-
SRPWM_ALLEVT_FPP_FAULT_POS1
-
SRPWM_ALLEVT_FPP_FAULT_POS2
-
SRPWM_ALLEVT_FPP_FAULT_POS3
-
SRPWM_ALLEVT_SYNC0
-
SRPWM_ALLEVT_SYNC1
-
SRPWM_ALLEVT_BURST_OVER
-
SRPWM_ALLEVT_PWMB_NEG
-
SRPWM_ALLEVT_PWMB_POS
-
SRPWM_ALLEVT_PWMA_NEG
-
SRPWM_ALLEVT_PWMA_POS
-
SRPWM_ALLEVT_SW_EVT
-
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS0
-
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS1
-
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS2
-
SRPWM_TBCOUNTER_SYNCEVT_FPP_FAULT_POS3
-
SRPWM_TBCOUNTER_SYNCEVT_SYNC_IN0
-
SRPWM_TBCOUNTER_SYNCEVT_SYNC_IN1
-
SRPWM_TBCOUNTER_SYNCEVT_SOFTWARE_UPDATE_EVT
-
SRPWM_OUTEVT_SYNC_ZERO_EVT
-
SRPWM_OUTEVT_SYNC_PRD_EVT
-
SRPWM_OUTEVT_SYNC_CMPA_UP_EVT
-
SRPWM_OUTEVT_SYNC_CMPB_UP_EVT
-
SRPWM_OUTEVT_SYNC_CMPC_UP_EVT
-
SRPWM_OUTEVT_SYNC_CMPD_UP_EVT
-
SRPWM_OUTEVT_SYNC_CMPA_DOWN_EVT
-
SRPWM_OUTEVT_SYNC_CMPB_DOWN_EVT
-
SRPWM_OUTEVT_SYNC_CMPC_DOWN_EVT
-
SRPWM_OUTEVT_SYNC_CMPD_DOWN_EVT
-
SRPWM_OUTEVT_SYNC_SCMPA_UP_EVT
-
SRPWM_OUTEVT_SYNC_SCMPB_UP_EVT
-
SRPWM_OUTEVT_SYNC_SCMPC_UP_EVT
-
SRPWM_OUTEVT_SYNC_SCMPD_UP_EVT
-
SRPWM_OUTEVT_SYNC_SCMPA_DOWN_EVT
-
SRPWM_OUTEVT_SYNC_SCMPB_DOWN_EVT
-
SRPWM_OUTEVT_SYNC_SCMPC_DOWN_EVT
-
SRPWM_OUTEVT_SYNC_SCMPD_DOWN_EVT
-
SRPWM_OUTEVT_SYNC_PWMA_NEG
-
SRPWM_OUTEVT_SYNC_PWMA_POS
-
SRPWM_OUTEVT_SYNC_PWMB_NEG
-
SRPWM_OUTEVT_SYNC_PWMB_POS
-
SRPWM_OUTEVT_SYNC_TIMER_SYNC0
-
SRPWM_OUTEVT_SYNC_TIMER_SYNC1
-
SRPWM_BURST_START_SYNC_ZERO_EVT
-
SRPWM_BURST_START_SYNC_PRD_EVT
-
SRPWM_BURST_START_SYNC_SCMPA_UP_EVT
-
SRPWM_BURST_START_SYNC_SCMPB_UP_EVT
-
SRPWM_BURST_START_SYNC_SCMPA_DOWN_EVT
-
SRPWM_BURST_START_SYNC_SCMPB_DOWN_EVT
-
SRPWM_PG_SWSYNC_ZERO_EVT
-
SRPWM_PG_SWSYNC_PRD_EVT
-
SRPWM_PG_SWSYNC_SCMPA_UP_EVT
-
SRPWM_PG_SWSYNC_SCMPB_UP_EVT
-
SRPWM_PG_SWSYNC_SCMPA_DOWN_EVT
-
SRPWM_PG_SWSYNC_SCMPB_DOWN_EVT
-
SRPWM_PG_SWSYNC_PWMB_NEG
-
SRPWM_PG_SWSYNC_PWMB_POS
-
SRPWM_PG_SWSYNC_PWMA_NEG
-
SRPWM_PG_SWSYNC_PWMA_POS
-
SRPWM_FPP_FAULT_SIG_GRP0
-
SRPWM_FPP_FAULT_SIG_GRP1
-
SRPWM_FPP_FAULT_SIG_GRP2
-
SRPWM_FPP_FAULT_SIG_GRP3
-
SRPWM_FPP_FAULT_SIG_GRP4
-
SRPWM_FPP_FAULT_SIG_GRP5
-
SRPWM_FPP_FAULT_REAL0
-
SRPWM_FPP_FAULT_REAL1
-
SRPWM_FPP_FAULT_REAL2
-
SRPWM_FPP_FAULT_REAL3
-
SRPWM_FPP_FAULT_REAL4
-
SRPWM_FPP_FAULT_REAL5
-
SRPWM_FPP_FAULT_LATCH0
-
SRPWM_FPP_FAULT_LATCH1
-
SRPWM_FPP_FAULT_LATCH2
-
SRPWM_FPP_FAULT_LATCH3
-
SRPWM_FPP_FAULT_LATCH4
-
SRPWM_FPP_FAULT_LATCH5
-
SRPWM_PREP_SIG_FAULT_REAL0
-
SRPWM_PREP_SIG_FAULT_REAL1
-
SRPWM_PREP_SIG_FAULT_REAL2
-
SRPWM_PREP_SIG_FAULT_REAL3
-
SRPWM_PREP_SIG_FAULT_REAL4
-
SRPWM_PREP_SIG_FAULT_REAL5
-
SRPWM_PREP_SIG_FAULT_LATCH0
-
SRPWM_PREP_SIG_FAULT_LATCH1
-
SRPWM_PREP_SIG_FAULT_LATCH2
-
SRPWM_PREP_SIG_FAULT_LATCH3
-
SRPWM_PREP_SIG_FAULT_LATCH4
-
SRPWM_PREP_SIG_FAULT_LATCH5
-
SRPWM_PREP_SIG_SW
-
SRPWM_PREP_A_SET_TIMER
-
SRPWM_PREP_A_CLR_TIMER
-
SRPWM_PREP_A_INVERT_TIMER
-
SRPWM_PREP_A_HIZ_TIMER
-
SRPWM_PREP_B_SET_TIMER
-
SRPWM_PREP_B_CLR_TIMER
-
SRPWM_PREP_B_INVERT_TIMER
-
SRPWM_PREP_B_HIZ_TIMER
-
SRPWM_IT_EVT
-
SRPWM_IT_BURST_OVER
-
SRPWM_IT_FAULT_REAL0
-
SRPWM_IT_FAULT_REAL1
-
SRPWM_IT_FAULT_REAL2
-
SRPWM_IT_FAULT_REAL3
-
SRPWM_IT_FAULT_REAL4
-
SRPWM_IT_FAULT_REAL5
-
SRPWM_IT_FAULT_LATCH0
-
SRPWM_IT_FAULT_LATCH1
-
SRPWM_IT_FAULT_LATCH2
-
SRPWM_IT_FAULT_LATCH3
-
SRPWM_IT_FAULT_LATCH4
-
SRPWM_IT_FAULT_LATCH5
-
SRPWM_SHD_MULTI_SYNC_PRD
-
SRPWM_SHD_MULTI_SYNC_PHASE
-
SRPWM_SHD_MULTI_SYNC_CMP
-
SRPWM_SHD_MULTI_SYNC_SCMP
-
SRPWM_SHD_MULTI_SYNC_PG
-
SRPWM_SHD_MULTI_SYNC_DB
-
SRPWM_SHD_MULTI_SYNC_BURST
-
SRPWMCOM_DMA0_MSK
-
SRPWMCOM_DMA1_MSK
-
SRPWMCOM_DMA2_MSK
-
SRPWMCOM_DMA3_MSK
Enumerations
-
enum SRPWM_AB
specify the A or B route of the srpwm
Values:
-
enumerator SRPWM_A
specify the A route of the srpwm
-
enumerator SRPWM_B
specify the B route of the srpwm
-
enumerator SRPWM_A
-
enum SRPWM_CounterCompareModule
specify the counter compare module of the srpwm
Values:
-
enumerator SRPWM_COUNTER_COMPARE_A
Counter compare A
-
enumerator SRPWM_COUNTER_COMPARE_B
Counter compare B
-
enumerator SRPWM_COUNTER_COMPARE_C
Counter compare C
-
enumerator SRPWM_COUNTER_COMPARE_D
Counter compare D
-
enumerator SRPWM_COUNTER_COMPARE_A_SLAVE
Counter compare A slave
-
enumerator SRPWM_COUNTER_COMPARE_B_SLAVE
Counter compare B slave
-
enumerator SRPWM_COUNTER_COMPARE_C_SLAVE
Counter compare C slave
-
enumerator SRPWM_COUNTER_COMPARE_D_SLAVE
Counter compare D slave
-
enumerator SRPWM_COUNTER_COMPARE_A
-
enum SRPWM_PhaseType
specify the phase type of the srpwm
Values:
-
enumerator SRPWM_PHASE0
phase 0
-
enumerator SRPWM_PHASE1
phase 1
-
enumerator SRPWM_PHASE0
-
enum SRPWM_SyncType
specify the sync number of the srpwm
Values:
-
enumerator SRPWM_SYNC0
-
enumerator SRPWM_SYNC1
-
enumerator SRPWM_SYNC0
-
enum SRPWM_ADCStartOfConversionType
specify the start of conversion type of the srpwm
Values:
-
enumerator SRPWM_SOC_A
-
enumerator SRPWM_SOC_B
-
enumerator SRPWM_SOC_A
-
enum SRPWMCOM_ADCTrigger
Specify the ADC trigger source of the srpwm.
Values:
-
enumerator SRPWMCOM_ADC_SRPWM0_SOC_A
-
enumerator SRPWMCOM_ADC_SRPWM0_SOC_B
-
enumerator SRPWMCOM_ADC_SRPWM1_SOC_A
-
enumerator SRPWMCOM_ADC_SRPWM1_SOC_B
-
enumerator SRPWMCOM_ADC_SRPWM2_SOC_A
-
enumerator SRPWMCOM_ADC_SRPWM2_SOC_B
-
enumerator SRPWMCOM_ADC_SRPWM3_SOC_A
-
enumerator SRPWMCOM_ADC_SRPWM3_SOC_B
-
enumerator SRPWMCOM_ADC_SRPWM4_SOC_A
-
enumerator SRPWMCOM_ADC_SRPWM4_SOC_B
-
enumerator SRPWMCOM_ADC_SRPWM5_SOC_A
-
enumerator SRPWMCOM_ADC_SRPWM5_SOC_B
-
enumerator SRPWMCOM_ADC_SRPWM6_SOC_A
-
enumerator SRPWMCOM_ADC_SRPWM6_SOC_B
-
enumerator SRPWMCOM_ADC_SRPWM7_SOC_A
-
enumerator SRPWMCOM_ADC_SRPWM7_SOC_B
-
enumerator SRPWMCOM_ADC_SRPWM8_SOC_A
-
enumerator SRPWMCOM_ADC_SRPWM8_SOC_B
-
enumerator SRPWMCOM_ADC_SRPWM9_SOC_A
-
enumerator SRPWMCOM_ADC_SRPWM9_SOC_B
-
enumerator SRPWMCOM_ADC_SRPWM10_SOC_A
-
enumerator SRPWMCOM_ADC_SRPWM10_SOC_B
-
enumerator SRPWMCOM_ADC_SRPWM11_SOC_A
-
enumerator SRPWMCOM_ADC_SRPWM11_SOC_B
-
enumerator SRPWMCOM_ADC_SRPWM0_SOC_A
-
enum SRPWM_ADCTriggerNumber
specify the trigger number of the srpwm
Values:
-
enumerator SRPWM_ADC_TRIGGER_NUM0
-
enumerator SRPWM_ADC_TRIGGER_NUM1
-
enumerator SRPWM_ADC_TRIGGER_NUM2
-
enumerator SRPWM_ADC_TRIGGER_NUM3
-
enumerator SRPWM_ADC_TRIGGER_NUM4
-
enumerator SRPWM_ADC_TRIGGER_NUM5
-
enumerator SRPWM_ADC_TRIGGER_NUM6
-
enumerator SRPWM_ADC_TRIGGER_NUM7
-
enumerator SRPWM_ADC_TRIGGER_NUM8
-
enumerator SRPWM_ADC_TRIGGER_NUM9
-
enumerator SRPWM_ADC_TRIGGER_NUM10
-
enumerator SRPWM_ADC_TRIGGER_NUM11
-
enumerator SRPWM_ADC_TRIGGER_NUM0
-
enum SRPWMCOM_LatchCntSrc
specifies the source from which the latched timebase counter value is held
Values:
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM0_SYNCOUT0
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM0_SYNCOUT1
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM1_SYNCOUT0
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM1_SYNCOUT1
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM2_SYNCOUT0
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM2_SYNCOUT1
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM3_SYNCOUT0
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM3_SYNCOUT1
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM4_SYNCOUT0
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM4_SYNCOUT1
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM5_SYNCOUT0
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM5_SYNCOUT1
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM6_SYNCOUT0
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM6_SYNCOUT1
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM7_SYNCOUT0
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM7_SYNCOUT1
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM8_SYNCOUT0
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM8_SYNCOUT1
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM9_SYNCOUT0
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM9_SYNCOUT1
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM10_SYNCOUT0
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM10_SYNCOUT1
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM11_SYNCOUT0
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM11_SYNCOUT1
-
enumerator SRPWMCOM_LATCHCNT_SRC_EN_POS_EDGE
-
enumerator SRPWMCOM_LATCHCNT_SRC_SRPWM0_SYNCOUT0
-
enum SRPWMCOM_SRPWM_SYNCOUT
specify the srpwm sync output number
Values:
-
enumerator SRPWMCOM_SRPWM0_SYNCOUT0
-
enumerator SRPWMCOM_SRPWM0_SYNCOUT1
-
enumerator SRPWMCOM_SRPWM1_SYNCOUT0
-
enumerator SRPWMCOM_SRPWM1_SYNCOUT1
-
enumerator SRPWMCOM_SRPWM2_SYNCOUT0
-
enumerator SRPWMCOM_SRPWM2_SYNCOUT1
-
enumerator SRPWMCOM_SRPWM3_SYNCOUT0
-
enumerator SRPWMCOM_SRPWM3_SYNCOUT1
-
enumerator SRPWMCOM_SRPWM4_SYNCOUT0
-
enumerator SRPWMCOM_SRPWM4_SYNCOUT1
-
enumerator SRPWMCOM_SRPWM5_SYNCOUT0
-
enumerator SRPWMCOM_SRPWM5_SYNCOUT1
-
enumerator SRPWMCOM_SRPWM6_SYNCOUT0
-
enumerator SRPWMCOM_SRPWM6_SYNCOUT1
-
enumerator SRPWMCOM_SRPWM7_SYNCOUT0
-
enumerator SRPWMCOM_SRPWM7_SYNCOUT1
-
enumerator SRPWMCOM_SRPWM8_SYNCOUT0
-
enumerator SRPWMCOM_SRPWM8_SYNCOUT1
-
enumerator SRPWMCOM_SRPWM9_SYNCOUT0
-
enumerator SRPWMCOM_SRPWM9_SYNCOUT1
-
enumerator SRPWMCOM_SRPWM10_SYNCOUT0
-
enumerator SRPWMCOM_SRPWM10_SYNCOUT1
-
enumerator SRPWMCOM_SRPWM11_SYNCOUT0
-
enumerator SRPWMCOM_SRPWM11_SYNCOUT1
-
enumerator SRPWMCOM_SRPWM0_SYNCOUT0
-
enum SRPWMCOM_XBARx
specify the xbar number
Values:
-
enumerator SRPWMCOM_XBAR0
-
enumerator SRPWMCOM_XBAR1
-
enumerator SRPWMCOM_XBAR2
-
enumerator SRPWMCOM_XBAR3
-
enumerator SRPWMCOM_XBAR0
-
enum SRPWMCOM_DACx
specify the dac number
Values:
-
enumerator SRPWMCOM_DAC0
-
enumerator SRPWMCOM_DAC1
-
enumerator SRPWMCOM_DAC0
-
enum SRPWMCOM_ACMPx
specify the acmp number
Values:
-
enumerator SRPWMCOM_ACMP0_H
-
enumerator SRPWMCOM_ACMP0_L
-
enumerator SRPWMCOM_ACMP1_H
-
enumerator SRPWMCOM_ACMP1_L
-
enumerator SRPWMCOM_ACMP2_H
-
enumerator SRPWMCOM_ACMP2_L
-
enumerator SRPWMCOM_ACMP3_H
-
enumerator SRPWMCOM_ACMP3_L
-
enumerator SRPWMCOM_ACMP0_H
-
enum SRPWMCOM_QEPx
specify the qep number
Values:
-
enumerator SRPWMCOM_QEP0
-
enumerator SRPWMCOM_QEP1
-
enumerator SRPWMCOM_QEP0
-
enum SRPWMCOM_MutexSig
specify the mutex signal
Values:
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM0_A
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM1_A
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM2_A
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM3_A
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM4_A
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM5_A
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM6_A
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM7_A
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM8_A
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM9_A
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM10_A
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM11_A
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM0_B
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM1_B
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM2_B
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM3_B
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM4_B
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM5_B
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM6_B
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM7_B
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM8_B
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM9_B
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM10_B
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM11_B
-
enumerator SRPWMCOM_MUTEX_SIG_SRPWM0_A
-
enum SRPWMCOM_SRPWM_MutexCondition
specify the mutex condition
Values:
-
enumerator SRPWMCOM_A_LOW_B_LOW
-
enumerator SRPWMCOM_A_LOW_B_HIGH
-
enumerator SRPWMCOM_A_HIGH_B_LOW
-
enumerator SRPWMCOM_A_HIGH_B_HIGH
-
enumerator SRPWMCOM_A_LOW_B_LOW
-
enum SRPWM_CountMode
specifies the counting mode of the srpwm
Values:
-
enumerator SRPWM_COUNTMODE_UPDOWN
-
enumerator SRPWM_COUNTMODE_UP
-
enumerator SRPWM_COUNTMODE_UPDOWN
-
enum SRPWM_SyncDirMode
specifies the sync direction of the srpwm
Values:
-
enumerator SRPWM_SYNC_DIR_DOWN
-
enumerator SRPWM_SYNC_DIR_UP
-
enumerator SRPWM_SYNC_DIR_DOWN
-
enum SRPWM_CMPEventOutMode
specifies the event output mode of the srpwm
Values:
-
enumerator SRPWM_CMP_EVTOUT_MODE_EQUAL_EVENT
an event occurs when the counter value is equal to the comparator value
-
enumerator SRPWM_CMP_EVTOUT_MODE_UP_AND_DOWN_EVENT
when counting upwards,the counter value is greater than or equal to the comparator value;or when counting downward,less than or equal to the comparator produces an event
-
enumerator SRPWM_CMP_EVTOUT_MODE_EQUAL_EVENT
-
enum SRPWM_PGEvt
specify the pwm generate(PG) event
Values:
-
enumerator SRPWM_PG_EVT_FPP_FAULT_POS0
-
enumerator SRPWM_PG_EVT_FPP_FAULT_POS1
-
enumerator SRPWM_PG_EVT_FPP_FAULT_POS2
-
enumerator SRPWM_PG_EVT_FPP_FAULT_POS3
-
enumerator SRPWM_PG_EVT_CMPD_UP
-
enumerator SRPWM_PG_EVT_CMPC_UP
-
enumerator SRPWM_PG_EVT_CMPB_UP
-
enumerator SRPWM_PG_EVT_CMPA_UP
-
enumerator SRPWM_PG_EVT_SCMPD_UP
-
enumerator SRPWM_PG_EVT_SCMPC_UP
-
enumerator SRPWM_PG_EVT_SCMPB_UP
-
enumerator SRPWM_PG_EVT_SCMPA_UP
-
enumerator SRPWM_PG_EVT_ZERO
-
enumerator SRPWM_PG_EVT_CMPD_DOWN
-
enumerator SRPWM_PG_EVT_CMPC_DOWN
-
enumerator SRPWM_PG_EVT_CMPB_DOWN
-
enumerator SRPWM_PG_EVT_CMPA_DOWN
-
enumerator SRPWM_PG_EVT_SCMPD_DOWN
-
enumerator SRPWM_PG_EVT_SCMPC_DOWN
-
enumerator SRPWM_PG_EVT_SCMPB_DOWN
-
enumerator SRPWM_PG_EVT_SCMPA_DOWN
-
enumerator SRPWM_PG_EVT_PERIOD
-
enumerator SRPWM_PG_EVT_SW
-
enumerator SRPWM_PG_EVT_FPP_FAULT_POS0
-
enum SRPWM_PGValue
specify the output value of the PG event
Values:
-
enumerator SRPWM_PG_NONE
-
enumerator SRPWM_PG_CLEAR
-
enumerator SRPWM_PG_SET
-
enumerator SRPWM_PG_TOGGLE
-
enumerator SRPWM_PG_NONE
-
enum SRPWM_DBOutputState
specify the output state of the DB
Values:
-
enumerator SRPWM_DB_OUTPUT_STATE_NONE
-
enumerator SRPWM_DB_OUTPUT_STATE_POS_OR_NEG_AFTER
-
enumerator SRPWM_DB_OUTPUT_STATE_POS_OR_NEG_INVERT
-
enumerator SRPWM_DB_OUTPUT_STATE_NONE
-
enum SRPWM_BurstMode
specifies the wave mode of burst
Values:
-
enumerator SRPWM_BURST_N_WAVE_IN_BACK
-
enumerator SRPWM_BURST_N_WAVE_IN_FRONT
-
enumerator SRPWM_BURST_N_WAVE_IN_BACK
-
enum SRPWM_FPPFaultMode
specify the failure mode of the fpp
Values:
-
enumerator SRPWM_FPP_FAULT_MODE_NORMAL
-
enumerator SRPWM_FPP_FAULT_MODE_ONE_BLK_ONE_FAULT
-
enumerator SRPWM_FPP_FAULT_MODE_NORMAL
-
enum SRPWM_FPPBlankingMode
specify the blanking mode of the fpp
Values:
-
enumerator SRPWM_FPP_BLK_MODE_NONE
-
enumerator SRPWM_FPP_BLK_MODE_NORMAL
-
enumerator SRPWM_FPP_BLK_MODE_LATCH
-
enumerator SRPWM_FPP_BLK_MODE_NONE
-
enum SRPWM_FPPFaultSigEgdeSel
specify the edge selection of the fault signal
Values:
-
enumerator SRPWM_FPP_FAULT_SIG_EGDE_SEL_DIRECT
-
enumerator SRPWM_FPP_FAULT_SIG_EGDE_SEL_INVERT
-
enumerator SRPWM_FPP_FAULT_SIG_EGDE_SEL_POS
-
enumerator SRPWM_FPP_FAULT_SIG_EGDE_SEL_NES
-
enumerator SRPWM_FPP_FAULT_SIG_EGDE_SEL_DIRECT
-
enum SRPWM_FPPCountSigSel
specify the count signal selection of the fpp
Values:
-
enumerator SRPWM_FPP_COUNT_SIG_FILTER_BEFORE
-
enumerator SRPWM_FPP_COUNT_SIG_FILTER_BEHIND
-
enumerator SRPWM_FPP_COUNT_SIG_FILTER_BEFORE
-
enum SRPWM_PREP_SigState
specify the state of the prep signal
Values:
-
enumerator SRPWM_PREP_A_SIG_STATE_UNRES
-
enumerator SRPWM_PREP_A_SIG_STATE_OS
-
enumerator SRPWM_PREP_A_SIG_STATE_CBC
-
enumerator SRPWM_PREP_A_SIG_STATE_HIZ
-
enumerator SRPWM_PREP_A_SIG_STATE_INVERT
-
enumerator SRPWM_PREP_A_SIG_STATE_CLR
-
enumerator SRPWM_PREP_A_SIG_STATE_SET
-
enumerator SRPWM_PREP_B_SIG_STATE_UNRES
-
enumerator SRPWM_PREP_B_SIG_STATE_OS
-
enumerator SRPWM_PREP_B_SIG_STATE_CBC
-
enumerator SRPWM_PREP_B_SIG_STATE_HIZ
-
enumerator SRPWM_PREP_B_SIG_STATE_INVERT
-
enumerator SRPWM_PREP_B_SIG_STATE_CLR
-
enumerator SRPWM_PREP_B_SIG_STATE_SET
-
enumerator SRPWM_PREP_A_SIG_STATE_UNRES
-
enum SRPWM_PreprotectState
specify the output state of the prep signal
Values:
-
enumerator SRPWM_PREP_STATE_HIZ
-
enumerator SRPWM_PREP_STATE_CLR
-
enumerator SRPWM_PREP_STATE_SET
-
enumerator SRPWM_PREP_STATE_INVERT
-
enumerator SRPWM_PREP_STATE_HIZ
-
enum SRPWM_PSTPOutState
specify the output status of the pstp
Values:
-
enumerator SRPWM_PSTP_MUTEX_OUTSTATE_NONE
-
enumerator SRPWM_PSTP_MUTEX_OUTSTATE_SET
-
enumerator SRPWM_PSTP_MUTEX_OUTSTATE_CLEAR
-
enumerator SRPWM_PSTP_MUTEX_OUTSTATE_HIZ
-
enumerator SRPWM_PSTP_MUTEX_OUTSTATE_NONE
-
enum SRPWM_PSTPFaultStateSig
specify the fault state of the pstp
Values:
-
enumerator SRPWM_PSTP_FAULT_STATE_SIG_A_SET_CLR_HIZ
-
enumerator SRPWM_PSTP_FAULT_STATE_SIG_B_SET_CLR_HIZ
-
enumerator SRPWM_PSTP_FAULT_STATE_SIG_AB_MUTEX
-
enumerator SRPWM_PSTP_FAULT_STATE_SIG_A_SET_CLR_HIZ
-
enum SRPWM_ValleyEdgeDetectMode
specify the valley edge detect mode
Values:
-
enumerator SRPWM_VALLEY_EDGE_DETECT_MODE_RISING
-
enumerator SRPWM_VALLEY_EDGE_DETECT_MODE_FALLING
-
enumerator SRPWM_VALLEY_EDGE_DETECT_MODE_FALLING_AND_RISING
-
enumerator SRPWM_VALLEY_EDGE_DETECT_MODE_RISING
-
enum SRPWM_ValleyTrigger
specify the valley trigger mode
Values:
-
enumerator SRPWM_VALLEY_TRIGGER_SW
-
enumerator SRPWM_VALLEY_TRIGGER_ZERO
-
enumerator SRPWM_VALLEY_TRIGGER_PERIOD
-
enumerator SRPWM_VALLEY_TRIGGER_ZERO_OR_PERIOD
-
enumerator SRPWM_VALLEY_TRIGGER_SCMPC_UP
-
enumerator SRPWM_VALLEY_TRIGGER_SCMPC_DOWN
-
enumerator SRPWM_VALLEY_TRIGGER_SCMPD_UP
-
enumerator SRPWM_VALLEY_TRIGGER_SCMPD_DOWN
-
enumerator SRPWM_VALLEY_TRIGGER_FAULT_POS0
-
enumerator SRPWM_VALLEY_TRIGGER_FAULT_POS1
-
enumerator SRPWM_VALLEY_TRIGGER_FAULT_POS2
-
enumerator SRPWM_VALLEY_TRIGGER_FAULT_POS3
-
enumerator SRPWM_VALLEY_TRIGGER_SW
-
enum SRPWM_ValleyTargetEdge
specify the valley target edge
Values:
-
enumerator SRPWM_VALLEY_TARGET_EDGE_NONE
-
enumerator SRPWM_VALLEY_TARGET_EDGE_1
-
enumerator SRPWM_VALLEY_TARGET_EDGE_2
-
enumerator SRPWM_VALLEY_TARGET_EDGE_3
-
enumerator SRPWM_VALLEY_TARGET_EDGE_4
-
enumerator SRPWM_VALLEY_TARGET_EDGE_5
-
enumerator SRPWM_VALLEY_TARGET_EDGE_6
-
enumerator SRPWM_VALLEY_TARGET_EDGE_7
-
enumerator SRPWM_VALLEY_TARGET_EDGE_NONE
-
enum SRPWM_ValleyCountEdge
specify the valley count edge
Values:
-
enumerator SRPWM_VALLEY_COUNT_EDGE_NONE
-
enumerator SRPWM_VALLEY_COUNT_EDGE_1
-
enumerator SRPWM_VALLEY_COUNT_EDGE_2
-
enumerator SRPWM_VALLEY_COUNT_EDGE_3
-
enumerator SRPWM_VALLEY_COUNT_EDGE_4
-
enumerator SRPWM_VALLEY_COUNT_EDGE_5
-
enumerator SRPWM_VALLEY_COUNT_EDGE_6
-
enumerator SRPWM_VALLEY_COUNT_EDGE_7
-
enumerator SRPWM_VALLEY_COUNT_EDGE_8
-
enumerator SRPWM_VALLEY_COUNT_EDGE_9
-
enumerator SRPWM_VALLEY_COUNT_EDGE_10
-
enumerator SRPWM_VALLEY_COUNT_EDGE_11
-
enumerator SRPWM_VALLEY_COUNT_EDGE_12
-
enumerator SRPWM_VALLEY_COUNT_EDGE_13
-
enumerator SRPWM_VALLEY_COUNT_EDGE_14
-
enumerator SRPWM_VALLEY_COUNT_EDGE_15
-
enumerator SRPWM_VALLEY_COUNT_EDGE_NONE
-
enum SRPWM_ValleyDelayMode
specify the valley delay mode
Values:
-
enumerator SRPWM_VALLEY_DELAY_MODE_SW_DELAY
-
enumerator SRPWM_VALLEY_DELAY_MODE_INTERVAL_CNT_AND_SW_DELAY
-
enumerator SRPWM_VALLEY_DELAY_MODE_INTERVAL_CNT_DIVIDE2_AND_SW_DELAY
-
enumerator SRPWM_VALLEY_DELAY_MODE_INTERVAL_CNT_DIVIDE4_AND_SW_DELAY
-
enumerator SRPWM_VALLEY_DELAY_MODE_INTERVAL_CNT_DIVIDE8_AND_SW_DELAY
-
enumerator SRPWM_VALLEY_DELAY_MODE_INTERVAL_CNT_DIVIDE16_AND_SW_DELAY
-
enumerator SRPWM_VALLEY_DELAY_MODE_SW_DELAY
-
enum SRPWM_ValleyCaptureSrc
specify the valley capture source
Values:
-
enumerator SRPWM_VALLEY_CAPTURE_SRC_FAULT_REAL0
-
enumerator SRPWM_VALLEY_CAPTURE_SRC_FAULT_REAL1
-
enumerator SRPWM_VALLEY_CAPTURE_SRC_FAULT_REAL2
-
enumerator SRPWM_VALLEY_CAPTURE_SRC_FAULT_REAL3
-
enumerator SRPWM_VALLEY_CAPTURE_SRC_FAULT_REAL0
-
enum SRPWM_Edge
specify the edge of the signal
Values:
-
enumerator SRPWM_EDGE_POS_A
-
enumerator SRPWM_EDGE_NEG_A
-
enumerator SRPWM_EDGE_POS_B
-
enumerator SRPWM_EDGE_NEG_B
-
enumerator SRPWM_EDGE_POS_A
-
enum SRPWM_ShadowUpdateStatus
specify the shadow update status
Values:
-
enumerator SRPWM_SHD_UPT_STATUS_PRD_UPT_DONE
-
enumerator SRPWM_SHD_UPT_STATUS_PHASE_UPT_DONE
-
enumerator SRPWM_SHD_UPT_STATUS_CMP_UPT_DONE
-
enumerator SRPWM_SHD_UPT_STATUS_SCMP_UPT_DONE
-
enumerator SRPWM_SHD_UPT_STATUS_PG_UPT_DONE
-
enumerator SRPWM_SHD_UPT_STATUS_DB_UPT_DONE
-
enumerator SRPWM_SHD_UPT_STATUS_BURST_UPT_DONE
-
enumerator SRPWM_SHD_UPT_STATUS_MULTI_CFG_DONE
-
enumerator SRPWM_SHD_UPT_STATUS_PRD_UPT_DONE