版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
微控制器原理及应用
PrincipleAndApplicationOfMicrocontroller
第九章
增强型脉宽调制模块ePWM
3如何用模拟电路实现可调的PWM波?请画出结构框图,运放、比较器等关键器件,载波、调制波、PWM波形请详细标注,并说明通过调整什么参数可以实现占空比大小的调节。作答主观题10分4有一个直流电机采用DRV8837进行控制,当OUT1-OUT2为正时,电机正转,反之电机反转;当OUT1=OUT2时,电机停止。请问当IN1给高电平,IN2输入的是占空比为10%的占空比,请问现在电机的运行状态。以10%的转速正转以90%的转速正转以10%的转速反转以90%的转速反转ABCD提交多选题1分第九章PWM的基础知识1C2000的ePWM2应用实例---“PWM,时间宠儿”3思考与练习9456
9.1.1
PWM概念
9.1.2
PWM信号的产生9.1PWM的基础知识9.1.1PWM概念PWM是PulseWidthModulation的缩写,即脉冲宽度调制,也就是宽度可调节的方波脉冲。相关的参数:周期、频率和占空比7
如图所示,假设脉冲高电平时间为1s,脉冲周期为2s,则此时脉冲占空比为50%,频率为0.5Hz。周期T:输出一次脉冲,即输出一次完整的高低电平的时间频率f:周期的倒数,即f=1/T占空比D:一个周期内,脉冲高电平时间与周期的比值(D=T1/T)89.1.2 PWM信号的产生模拟电子方法:由电子元件构成PWM发生器电路。其基本原理是,由三角波或锯齿波发生器产生高频调制波,经比较器产生PWM信号。三角波或锯齿波与可调直流电源比较,产生占空比可调的PWM信号;与正弦基波比较,产生占空比按正弦规律变化的SPWM信号。优点:
成本低、各环节波形和电压值可观测、易于扩展应用电路缺点:电路集成度低,参数调节困难,不利于产品化9数字化方法:由集成电路实现PWM输出,可以进行数字化控制,是目前PWM应用的主流方法,也是MCU的PWM模块的实现方法。与硬件构成PWM信号类似,数字逻辑将锯齿波发生器等效为一个计数器Count,将可调直流电源等效为比较点Compare。数字控制产生PWM需要3个寄存器:计数器、周期值和比较值。通过配置周期值和比较值就能够产生任意频率、占空比的PWM信号。9.1.2 PWM信号的产生10PWM的硬件调制PWM的数字逻辑调制原理9.1.2 PWM信号的产生119.2.1
ePWM概述
9.2.2
时基子模块(TB)
9.2.3比较子模块(CC)
9.2.4动作限定子模块(AQ)
9.2.5死区子模块(DB)*9.2.6PWM斩波子模块(PC)
9.2.7故障联防子模块(TZ)
9.2.8事件触发与中断管理子模块(ET)9.2.9软件思维导图9.2
C2000的ePWM
增强型PWM(ePWM)模块将PWM模块最小化到单一通道,资源独立,结构清晰,使用者可以很方便地进行配置和使用,而且可以通过时钟同步机制构建庞大的PWM模块群,该时钟同步机制还协同捕获(eCAP)模块,实现复杂的控制系统需求。129.2.1 ePWM概述F28027有4个ePWM模块:ePWM1、ePWM2、ePWM3和ePWM4,每个ePWM都有相同的内部逻辑电路,功能上都是相同的。13每个ePWM模块内部包含7个子模块:时基子模块TB、比较功能子模块CC、动作限定子模块AQ、死区控制子模块DB、斩波控制子模块PC、事件触发子模块ET和故障联防子模块TZ。9.2.1 ePWM概述14时基子模块(TB):具有计数功能,子模块输出计数值、计数器等0信号(CTR=ZERO)、计数器等于周期值信号(CTR=PRD)和计数方向信号(CTR_Dir)。比较功能子模块(CC):把TB的计数器值与设定进行比较,输出比较相等的触发信号(CTR=CMPA、CTR=CMPB)。动作限定子模块(AQ):综合TB子模块和CC子模块的输出信号,按预先设定的动作输出PWM波形。死区控制子模块(DB):在上升沿或下降沿延迟输出。斩波子模块(PC):可对PWM输出波形进行高频斩波调制。故障联防子模块(TZ):综合各种故障信号对PWM输出进行限定。事件触发子模块(ET)综合TB子模块和CC子模块的信号,产生中断事件和ADC采样启动信号。9.2.1 ePWM概述151.时基子模块(TB)功能:每个ePWM单元都有一个独立的时基单元,用来决定该ePWM模块相关的事件时序。通过同步输入信号可以将所有的ePWM工作在同一时基信号下,即所有的ePWM级联在一起,处于同步状态,可以看成一个整体。9.2.2 时基子模块(TB)主要功能:1.预分频功能(ClockPrescale)2.PWM周期值(TBPRD)3.时基计数器TBCTR4.时基时钟同步5.时基计数器相位控制16
9.2.2 时基子模块(TB)17(2)PWM周期值(TBPRD) TBPRD有两个寄存器:影子寄存器(PeriodShadow)和活动寄存器(PeriodActive)。它们具有相同的物理地址。由TBCTL[PRDLD]位控制周期寄存器的工作模式:影子寄存器模式或立即加载模式。默认情况下TBPRD采用影子寄存器模式。影子寄存器模式(TBCTL[PRDLD]=0时):对TBPRD的读写操作是对影子寄存器进行的,只有当TBCTR=0时,影子寄存器的值加载到工作寄存器。这种模式避免了工作寄存器在运行过程被修改而引起系统不可预见的故障。立即加载模式(TBCTL[PRDLD]=1时):直接对活动寄存器进行读写操作。9.2.2 时基子模块(TB)18(3)时基计数器TBCTR
时基计数器的计数模式有三种模式,分别是:增计数模式、减计数模式和增减计数模式。在这三种计数模式中,一个有效的TBCLK,时基计数器变化率为1。•增计数模式:时基计数器TBCTR从0开始加1计数,当计数值等于周期值时,时基计数器复位为0,重新开始加1计数。•减计数模式:时基计数器从周期值开始减1计数,当计数值等于0时,时基计数器复位为周期值,重新开始减1计数。•增减计数模式:时基计数器从0开始进行增计数模式工作,当计数器等于周期值时,时基计数器改变计数模式为减计数模式,当计数器等于0时,时基计数器再改变为增计数模式,周而复始。9.2.2 时基子模块(TB)19(3)时基计数器TBCTR
不同模式下,时基周期TPWM与TBPRD设置值的关系式为:增减计数模式:TPWM=2×TBPRD×TTBCLK增计数模式或减计数模式:TPWM=(TBPRD+1)×TTBCLK9.2.2 时基子模块(TB)20(4)时基时钟同步
每个ePWM模块的时基时钟TBCLK是独立的,它们都是由系统时钟信号SYSCLKOUT分频得到,如何保证协同工作的ePWM模块群中TBCTR同步于TBCLK?时钟(CLK)模块提供这种同步机制。在CLK模块中,提供一个同步开关TBCLKSYNC,当这个开关有效(置位)时,所有工作的ePWM模块的时基计数器TBCTR同步于TBCLK的第一个上升沿。当然为了更好同步于TBCLK,每个ePWM模块的分频必须设置一样。ePWM模块群时钟正确设置流程:1)在CLK模块中使能ePWM时钟信号;2)设置TBCLKSYNC=0,停止所有ePWM模块的时钟;3)配置ePWM模块;4)设置TBCLKSYNC=1,同时启动所有ePWM模块的时钟。9.2.2 时基子模块(TB)21(5)时基计数器相位控制
在C28x中,可以通过同步信号来构建满足设计要求的ePWM模块群层次关系。每个ePWM模块拥有一个同步信号输入(EPWMxSYNCI)和一个同步信号输出(EPWMxSYNCO)。第一个ePWM模块(ePWM1)的同步输入信号是来自芯片的引脚。同步信号还控制关联的捕获(eCAP)模块。右图给出了一种ePWM串接的同步连接。9.2.2 时基子模块(TB)22(5)时基计数器相位控制
同步输出信号EPWMxSYNCO就是实现ePWM模块群之间信号一致的手段。在ePWM模块同步链中,输出同步信号发生的时刻为:直接取自同步输入脉冲信号(EPWMxSYNCI、软件强制同步脉冲信号)在CTR=Zero时产生在CTR=CMPB时产生主模块同步信号到从模块的时间延迟为:–如果(TBCLK=SYSCLKOUT),延迟时间为:2×SYSCLKOUT–如果(TBCLK!=SYSCLKOUT),延迟时间为:1×TBCLK
同步脉冲信号实现不同ePWM模块的同步,而且通过TBPHS实现各ePWM模块的相位超前和滞后的控制。当同步输入信号发生时,时基相位TBPHS装载到时基计数器TBCTR,装载时刻一致,同步实现。如果每个ePWM模块TBPHS都为零,那么在同步输入信号作用下,每个ePWM模块的TBCTR都同时被复位为零。如果ePWM模块的TBPHS不为零,那么在同步信号作用下,TBPHS的值就装载进TBCTR,各个ePWM模块就存在计数初值的不同,也就是存在相位差。9.2.2 时基子模块(TB)23(5)时基计数器相位控制
在增减计数模式中,还可以通过配置TBCTL[PHSDIR]实现同步以后时基计数器TBCTR的计数方向,新方向与同步前计数方向无关联。在增计数模式或减计数模式,没有这个功能。时基增计数模式波形
时基增计数模式波形
9.2.2 时基子模块(TB)24(5)时基计数器相位控制
时基增减计数模式波形(同步后减计数)时基增减计数模式波形(同步后增计数)9.2.2 时基子模块(TB)253.TB子模块的软件架构(1)寄存器及驱动函数右表为TB子模块的相关寄存器及对应的驱动函数名。需要指出的是,ePWM1至ePWM4的起始地址分别为0x6800、0x6840、0x6880、0x68C0,各子模块寄存器地址减去起始地址即为偏移地址。寄存器描述偏移地址驱动函数功能TBCTL时基控制寄存器0x0000PWM_setClkDivPWM_setHighSpeedClkDivPWM_setCounterModePWM_setRunModePWM_setPeriodLoadPWM_setSwSyncPWM_enableCounterLoadPWM_disableCounterLoadPWM_setSyncModePWM_setPhaseDir配置PWM时钟频率配置PWM时钟频率配置计数器运行模式配置时基运行模式配置PWM周期装载模式设置软件同步允许计数器同步禁止计数器同步配置计数器同步模式配置同步事件后计数方向TBSTS时基状态寄存器0x0001
TBPHS时基相位寄存器0x0003PWM_setPhase配置移相大小TBCTR时基计数寄存器0x0004PWM_setCount设置计数器值TBPRD时基周期寄存器0x0005PWM_setPeriod设置周期值9.2.2 时基子模块(TB)263.TB子模块的软件架构(2)驱动函数描述时基子模块作为ePWM最基本的模块,PWM的时钟频率、周期值、模块群的时钟同步等功能均需通过时基子模块配置。驱动函数通过结构体指针myPwmx对寄存器进行读写操作。结构体指针的初始化和使用方法参见第4章。ePWMx的驱动函数由两个文件组成,分别是F2802x_Component/source/pwm.c和F2802x_Component/include/pwm.h。表9-2~表9-10给出了时基子模块驱动函数的描述和示例。9.2.2 时基子模块(TB)273.TB子模块的软件架构(2)驱动函数描述函数名PWM_setClkDiv函数原型PWM_setClkDiv(PWM_HandlepwmHandle,constPWM_ClkDiv_eclkDiv)功能描述PWM时钟分频输入参数1ePWMx的结构体指针myPwmx输入参数2PWM分频系数,为库函数枚举变量返回值无表9-2函数PWM_setClkDiv示例://CLKDIV设置的分频系数为2分频PWM_setClkDiv(myPwm1,PWM_ClkDiv_by_2);9.2.2 时基子模块(TB)283.TB子模块的软件架构(2)驱动函数描述表9-3函数PWM_setHighSpeedClkDiv示例://HSPCLKDIV设置的分频系数为1分频PWM_setHighSpeedClkDiv(myPwm1,PWM_HspClkDiv_by_1);函数名PWM_setHighSpeedClkDiv函数原型PWM_setHighSpeedClkDiv(PWM_HandlepwmHandle,constPWM_HspClkDiv_eclkDiv)功能描述PWM时钟分频输入参数1ePWMx的结构体指针myPwmx输入参数2PWM分频系数,为库函数枚举变量返回值无9.2.2 时基子模块(TB)293.TB子模块的软件架构(2)驱动函数描述表9-4函数PWM_setCounterMode示例://ePWM1为增计数模式PWM_setCounterMode(myPwm1,PWM_CounterMode_Up);函数名PWM_setCounterMode函数原型PWM_setCounterMode(PWM_HandlepwmHandle,constPWM_CounterMode_ecounterMode)功能描述计数器方向选择输入参数1ePWMx的结构体指针myPwmx输入参数2计数器方向,为库函数枚举变量返回值无9.2.2 时基子模块(TB)303.TB子模块的软件架构(2)驱动函数描述表9-5函数PWM_setRunMode示例://仿真时,PWM模块正常运行PWM_setRunMode(myPwm1,PWM_RunMode_FreeRun);函数名PWM_setRunMode函数原型PWM_setRunMode(PWM_HandlepwmHandle,constPWM_CounterMode_ecounterMode)功能描述仿真时PWM工作方式选择输入参数1ePWMx的结构体指针myPwmx输入参数2PWM工作方式选择,为库函数枚举变量返回值无9.2.2 时基子模块(TB)313.TB子模块的软件架构(2)驱动函数描述表9-6函数PWM_setPeriodLoad示例://ePWM1的周期值装置模式为影子模式PWM_setPeriodLoad(myPwm1,PWM_PeriodLoad_Shadow);函数名PWM_setPeriodLoad函数原型PWM_setPeriodLoad(PWM_HandlepwmHandle,constPWM_PeriodLoad_eperiodLoad)功能描述PWM周期值装载模式选择:影子模式或立即模式输入参数1ePWMx的结构体指针myPwmx输入参数2周期装载方式,为库函数枚举变量返回值无9.2.2 时基子模块(TB)323.TB子模块的软件架构(2)驱动函数描述表9-7函数PWM_enableCounterLoad示例://允许ePWM2收到同步信号后计数器装载初始相位值(TBPHS)PWM_enableCounterLoad(myPwm2);函数名PWM_enableCounterLoad函数原型PWM_enableCounterLoad(PWM_HandlepwmHandle)功能描述同步信号发生时,允许计数器装载初始相位值(TBPHS)输入参数ePWMx的结构体指针myPwmx返回值无9.2.2 时基子模块(TB)333.TB子模块的软件架构(2)驱动函数描述表9-8函数PWM_disableCounterLoad示例://禁止ePWM1计数器装载初始相位值(TBPHS)PWM_disableCounterLoad(myPwm1);函数名PWM_disableCounterLoad函数原型PWM_disableCounterLoad(PWM_HandlepwmHandle)功能描述禁止计数器装载初始相位值(TBPHS)输入参数ePWMx的结构体指针myPwmx返回值无9.2.2 时基子模块(TB)343.TB子模块的软件架构(2)驱动函数描述表9-9函数PWM_setSyncMode示例://计数器等于0时ePWM2输出同步脉冲信号EPWM2SYNCOPWM_setSyncMode(myPwm2,PWM_SyncMode_CountEqualZero);函数名PWM_setSyncMode函数原型PWM_setSyncMode(PWM_HandlepwmHandle,constPWM_SyncMode_esyncMode)功能描述设置ePWMx同步脉冲信号输出(EPWMxSYNCO)的模式输入参数1ePWMx的结构体指针myPwmx输入参数2同步脉冲信号输出模式,为库函数枚举变量返回值无9.2.2 时基子模块(TB)353.TB子模块的软件架构(2)驱动函数描述表9-10函数PWM_setPhase示例://TBPHS=120,即ePWM1计数器的初始相位值为120,收到同步信号时装载PWM_setPhase(myPwm1,120);函数名PWM_setPhase函数原型PWM_setPhase(PWM_HandlepwmHandle,constuint16_tphase)功能描述设置PWMx相位TBPHS输入参数1ePWMx的结构体指针myPwmx输入参数216位相位值返回值无9.2.2 时基子模块(TB)363.TB子模块的软件架构(2)驱动函数描述示例://PWM1的周期值1200,如果TB时钟频率为60MHz,则PWM周期为1200/60MHz=20μsPWM_setPeriod(myPwm1,1200);函数名PWM_setPeriod函数原型PWM_setPeriod(PWM_HandlepwmHandle,constuint16_tperiod)功能描述设置周期值输入参数1ePWMx的结构体指针myPwmx
输入参数216位无符号整型值:0~65535返回值无表9-11函数PWM_setPeriod9.2.2 时基子模块(TB)37CC子模块的功能
CC子模块主要功能是对TB子模块的计数器值TBCTR与给定的比较值进行比较,产生比较相等的事件,该事件作为后续AQ子模块的触发事件。有两个比较寄存器CMPA和CMPB,对应两个事件:(1)CTR=CMPA,也就是计数寄存器TACTR的值等于比较寄存器CMPA;(2)CTR=CMPB,也就是计数寄存器TACTR的值等于比较寄存器CMPB。9.2.3 比较子模块(CC)38CC子模块的功能
比较功能子模块功能框图9.2.3 比较子模块(CC)392.CC子模块的功能概述
比较功能子模块可以设置两个比较值(CMPA、CMPB)。它们分别有两个寄存器:影子寄存器和工作寄存器。影子寄存器和工作寄存器具有相同的物理地址。由CMPCTL[SHDWAMODE]或CMPCTL[SHDWBMODE]位控制比较值寄存器的工作模式:影子寄存器模式或立即加载模式。以CMPA为例说明:
(1)影子寄存器模式(CMPCTL[SHDWAMODE]=0):对CMPA的写操作是对影子寄存器进行的。在设置的特殊时刻,影子寄存器的值加载到工作寄存器。这种模式避免了工作寄存器在运行过程被修改引起系统不可预见的故障。加载的特殊时刻由CMCTRL[LOADMODE]决定,可以在CTR=0时刻、CTR=PRD时刻或两者都可以。
(2)立即加载模式(CMPCTL[SHDWAMODE]=1):直接对工作寄存器进行写操作。
比较功能子模块可以产生两个独立的比较事件,对于增计数或减计数,在一个PWM周期内,比较事件只发生一次。对于增减计数模式,在一个PWM周期内,如果比较寄存器的值在0~TBPRD之间,在一个PWM周期内,比较事件发生两次。
9.2.3 比较子模块(CC)402.CC子模块的功能概述
在增计数模式、减计数模式和增减计数模式下,比较功能子模块如何产生比较相等事件见下图,其中考虑了同步输入信号的影响。增计数产生比较相等事件减计数产生比较相等事件9.2.3 比较子模块(CC)412.CC子模块的功能概述
在增计数模式、减计数模式和增减计数模式下,比较功能子模块如何产生比较相等事件见下图,其中考虑了同步输入信号的影响。增减计数比较事件(同步后减计数)增减计数比较事件(同步后增计数)9.2.3 比较子模块(CC)423.CC子模块的软件架构(1)寄存器及驱动函数
下表为CC子模块的相关寄存器及其对应的驱动函数名。寄存器描述偏移地址驱动函数功能CMPCTL比较模块控制寄存器0x0007PWM_setShadowMode_CmpAPWM_setShadowMode_CmpBPWM_setLoadMode_CmpAPWM_setLoadMode_CmpB比较点A影子装载模式比较点B影子装载模式配置比较点A装载时刻配置比较点B装载时刻CMPA比较器A寄存器0x0009PWM_setCmpA配置比较寄存器A值CMPB比较器B寄存器0x000APWM_setCmpB配置比较寄存器B值9.2.3 比较子模块(CC)433.CC子模块的软件架构(2)驱动函数描述
CC子模块能够对PWM的占空比进行配置。表9-13~表9-15给出了CC子模块驱动函数的描述和示例。函数名PWM_setShadowMode_CmpA函数原型PWM_setShadowMode_CmpA(PWM_HandlepwmHandle,constPWM_ShadowMode_eshadowMode)功能描述设置比较点A为影子装载模式或立即装载模式输入参数1ePWMx的结构体指针myPwmx输入参数2装载模式选择,为库文件定义的枚举变量返回值无表9-13函数PWM_setShadowMode_CmpA示例://PWM1的比较点A装载模式为影子装载模式PWM_setShadowMode_CmpA(myPwm1,PWM_ShadowMode_Shadow);9.2.3 比较子模块(CC)443.CC子模块的软件架构(2)驱动函数描述表9-14函数PWM_setLoadMode_CmpA示例://PWM1的比较点A在TB计数器过零点时装载PWM_setLoadMode_CmpA(myPwm1,PWM_LoadMode_Zero);函数名PWM_setLoadMode_CmpA函数原型PWM_setLoadMode_CmpA(PWM_HandlepwmHandle,constPWM_LoadMode_eloadMode)功能描述影子寄存器模式时,设置比较点A的装载时刻输入参数1ePWMx的结构体指针myPwmx输入参数2装载时刻选择,为库文件定义的枚举变量返回值无9.2.3 比较子模块(CC)453.CC子模块的软件架构(2)驱动函数描述表9-15函数PWM_setCmpA示例://设置PWM1的比较点A寄存器:CMPA=1000PWM_setCmpA(myPwm1,1000);函数名PWM_setCmpA函数原型PWM_setCmpA(PWM_HandlepwmHandle,constuint16_tpwmData)功能描述设置比较点A寄存器的值输入参数1ePWMx的结构体指针myPwmx输入参数216位CMPA值返回值无9.2.3 比较子模块(CC)461.AQ子模块的功能 AQ子模块在PWM波形生成的环节中起到了关键作用,它决定了相应事件发生时应该输出什么样的电平。该模块是基于事件驱动的,可以认为该子模块输入的就是事件,输出的是动作。每个子模块有两路输出EPWMA和EPWMB,对这两路输出动作的设定是完全独立的,任何一个事件都可以对EPWMA或EPWMB产生任何动作。9.2.4 动作限定子模块(AQ)472.AQ子模块的功能概述(1)触发事件
AQ子模块的输入事件有4种,事件发生时触发AQ子模块,分别是:1)CTR=PRD,计数器寄存器TBCTR的值与周期寄存器TBPRD相等时;2)CTR=Zero,计数器寄存器TBCTR的值等于0时;3)CTR=CMPA,计数器寄存器TBCTR的值等于比较寄存器CMPA;4)CTR=CMPB,计数器寄存器TBCTR的值等于比较寄存器CMPB CTR_dir为计数方向,将计数方向输入给AQ子模块,能够把计数比较事件细分为增计数情形的计数比较事件(CAU和CBU)和减计数情形的计数比较事件(CAD和CBD)。
除了以上外部事件外,还可以用软件强制触发,通过AQSFRC、AQCSFRC控制。9.2.4 动作限定子模块(AQ)482.AQ子模块的功能概述(2)动作输出AQ子模块控制在触发事件产生时,2路PWM输出EPWMxA和EPWMxB表现出何种行为。PWM输出EPWMxA和EPWMxB可以设置为以下的动作:1)置高,EPWMxA或EPWMxB输出高电平;2)置低,EPWMxA或EPWMxB输出低电平;3)翻转,EPWMxA或EPWMxB输出电平与之前的电平相反;4)无动作,EPWMxA或EPWMxB的输出状态不变。动作设置对PWM输出EPWMxA和EPWMxB是独立的,任何有效事件都能用来产生预定的动作,例如事件CTR=CMPA和CTR=CMPB都可以作用于EPWMxA,不要认为A的事件只能用来产生A的PWM输出。9.2.4 动作限定子模块(AQ)492.AQ子模块的功能概述(3)PWM动作优先级控制
AQ子模块在同一时刻可能接收到多个触发事件,在这种情况下,AQ子模块如何响应呢?和中断优先级类似,AQ在硬件上也设计有事件的优先级。在众多事件中,软件强制的优先级始终是最高的。优先级增计数方向减计数方向
TBCTR=0增加到TBCTR=TBPRDTBCTR=TBPRD减少到TBCTR=01(最高)软件强制事件软件强制事件2计数器的值等于CMPB(CBU)计数器的值等于CMPB(CBD)3计数器的值等于CMPA(CAU)计数器的值等于CMPA(CAD)4计数器的值等0计数器的值等于TBPRD5计数器的值等于CMPB(CBD)计数器的值等于CMPB(CBU)6(最低)计数器的值等于CMPA(CAD)计数器的值等于CMPA(CAU)
右表给出了在增减计数模式下事件的优先级,优先级1代表最高优先级,优先级6代表最低优先级,优先级在TBCTR工作方向不同时略有差别。9.2.4 动作限定子模块(AQ)502.AQ子模块的功能概述(3)PWM动作优先级控制
优先级事件1(最高)软件强制事件2计数器的值等于TBPRD3计数器的值等于CMPB(CBU)4计数器的值等于CMPA(CAU)5(最低)计数器的值等于0
右表给出了增计数模式下事件的优先级,由于在增计数模式,减计数比较事件不会发生,因此列表中没有这些事件。9.2.4 动作限定子模块(AQ)512.AQ子模块的功能概述(3)PWM动作优先级控制
右表给出减计数模式下事件的优先级,也同样没有考虑增计数比较事件。PriorityLevelEvent1(最高)软件强制事件2计数器的值等于03计数器的值等于CMPB(CBD)4计数器的值等于CMPA(CAD)5(最低)计数器的值等于TBPRD9.2.4 动作限定子模块(AQ)522.AQ子模块的功能概述(4)软件强制事件(AQSFRC、AQCSFRC)
可以通过设置寄存器,产生一个软件强制事件。该软件强制事件可以是单次作用,也可以是连续作用。如果是单次作用,那么后续的事件将对输出进行更新。如果是连续作用,PWM输出将持续为低电平或高电平。
在连续作用模式下,AQCSFRC动作寄存器有两种装载方式:影子装载方式和立即装载方式。影子装载方式可以设置在计数器的值过零时刻、周期时刻或两者之一装载。9.2.4 动作限定子模块(AQ)533.AQ子模块的软件架构(1)寄存器及驱动函数下表为AQ子模块的相关寄存器及其对应的驱动函数名。寄存器描述偏移地址驱动函数功能AQCTLA动作限定器控制输出A寄存器(EPWMxA)0x000BPWM_setActionQual_CntDown_CmpA_PwmAPWM_setActionQual_CntDown_CmpB_PwmAPWM_setActionQual_CntUp_CmpA_PwmAPWM_setActionQual_CntUp_CmpB_PwmAPWM_setActionQual_Period_PwmAPWM_setActionQual_Zero_PwmA减计数,Counter=CMPA时,PWMA动作减计数,Counter=CMPB时,PWMA动作增计数,Counter=CMPA时,PWMA动作增计数,Counter=CMPB时,PWMA动作Counter=周期值时,PWMA动作Counter=0时,PWMA动作
AQCTRLB动作限定器控制输出B寄存器(EPWMxB)0x000CPWM_setActionQual_CntDown_CmpA_PwmBPWM_setActionQual_CntDown_CmpB_PwmBPWM_setActionQual_CntUp_CmpA_PwmBPWM_setActionQual_CntUp_CmpB_PwmBPWM_setActionQual_Period_PwmBPWM_setActionQual_Zero_PwmB减计数,Counter=CMPA时,PWMB动作减计数,Counter=CMPB时,PWMB动作增计数,Counter=CMPA时,PWMA动作增计数,Counter=CMPB时,PWMA动作Counter=周期值时,PWMA动作Counter=0时,PWMA动作
AQSFRC动作限定器软件强制寄存器0x000D
AQCSFRC动作限定器连续软件强制寄存器0x000E
9.2.4 动作限定子模块(AQ)543.AQ子模块的软件架构(2)驱动函数描述表9-20~表9-23给出了AQ子模块驱动函数的描述和示例。表9-20函数PWM_setActionQual_CntDown_CmpA_PwmA函数名PWM_setActionQual_CntDown_CmpA_PwmA函数原型PWM_setActionQual_CntDown_CmpA_PwmA(PWM_HandlepwmHandle,constPWM_ActionQual_eactionQual)功能描述计数器为减计数,其值等于CMPA时,EPWMxA动作设置输入参数1输入参数2ePWMx的结构体指针myPwmxEPWMx动作类型,为库函数定义的枚举变量返回值无示例://计数器为减计数,其值等于CMPA时,EPWM1A置高PWM_setActionQual_CntDown_CmpA_PwmA(myPwm1,PWM_ActionQual_Set)9.2.4 动作限定子模块(AQ)553.AQ子模块的软件架构(2)驱动函数描述表9-21函数PWM_setActionQual_CntDown_CmpB_PwmA示例://计数器为减计数,其值等于CMPB时,EPWM1A置低PWM_setActionQual_CntDown_CmpB_PwmA(myPwm1,PWM_ActionQual_Clear)函数名PWM_setActionQual_CntDown_CmpB_PwmA函数原型PWM_setActionQual_CntDown_CmpB_PwmA(PWM_HandlepwmHandle,constPWM_ActionQual_eactionQual)功能描述计数器为减计数,其值等于CMPB时,EPWMxA动作设置输入参数1ePWMx的结构体指针myPwmx输入参数2EPWMx动作类型,为库函数定义的枚举变量返回值无9.2.4 动作限定子模块(AQ)563.AQ子模块的软件架构(2)驱动函数描述表9-22函数PWM_setActionQual_Period_PwmA示例://计数器值等于TBPRD时,EPWM1A翻转PWM_setActionQual_Period_PwmA(myPwm1,PWM_ActionQual_Toggle);函数名PWM_setActionQual_Period_PwmA函数原型PWM_setActionQual_Period_PwmA(PWM_HandlepwmHandle,constPWM_ActionQual_eactionQual)功能描述计数器值等于TBPRD时,EPWMxA动作设置输入参数1ePWMx的结构体指针myPwmx输入参数2EPWMx动作类型,为库函数定义的枚举变量返回值无9.2.4 动作限定子模块(AQ)573.AQ子模块的软件架构(2)驱动函数描述表9-23函数PWM_setActionQual_Zero_PwmA示例://计数器值等于0时,EPWM1A置高PWM_setActionQual_Zero_PwmA(myPwm1,PWM_ActionQual_Set);函数名PWM_setActionQual_Zero_PwmA函数原型PWM_setActionQual_Zero_PwmA(PWM_HandlepwmHandle,constPWM_ActionQual_eactionQual)功能描述计数器值等于0时,EPWMxA动作设置输入参数1ePWMx的结构体指针myPwmx输入参数2EPWMx动作类型,为库函数定义的枚举变量返回值无9.2.4 动作限定子模块(AQ)583.AQ子模块的软件架构(3)应用实例通过TB、CC和AQ这3个子模块的设置,就可以输出PWM波形。以下给出几种常见的PWM波形及其配置方法。1)计数增减模式下输出对称PWM波形图9-19为增减计数模式下产生对称PWM波形。通过比较值设置实现PWM从0%到100%的调制。在这个例子里面,CMPA作为比较单元,CMPA的值增大,PWM输出高电平的比例增加,反之,CMPA的值减小,PWM输出高电平的比例减少。当CMPA=0时,PWM输出低电平,即占空比为0%;当CMPA=TBPRD时,PWM输出高电平,即占空比为100%。9.2.4 动作限定子模块(AQ)591)计数增减模式下输出对称PWM波形图9-19增减计数模式下产生对称PWM波形9.2.4 动作限定子模块(AQ)601)计数增减模式下输出对称PWM波形图9-20增减模式、独立调制,双边对称波形PWM_setActionQual_CntUp_CmpA_PwmA(myPwm1,PWM_ActionQual_Set);//CAU,PWM1A置高PWM_setActionQual_CntDown_CmpA_PwmA(myPwm1,PWM_ActionQual_Clear);//CAD,PWM1A置低PWM_setActionQual_CntUp_CmpB_PwmB(myPwm1,PWM_ActionQual_Set);//CBU,PWM1B置高PWM_setActionQual_CntDown_CmpB_PwmB(myPwm1,PWM_ActionQual_Clear);//CBD,PWM1B置低配置函数:9.2.4 动作限定子模块(AQ)611)计数增减模式下输出对称PWM波形图9-21增减模式、独立调制,双边对称波形,互补型PWM_setActionQual_CntUp_CmpA_PwmA(myPwm1,PWM_ActionQual_Set);//CAU,PWM1A置高PWM_setActionQual_CntDown_CmpA_PwmA(myPwm1,PWM_ActionQual_Clear);//CAD,PWM1A置低PWM_setActionQual_CntUp_CmpB_PwmB(myPwm1,PWM_ActionQual_Clear);//CBU,PWM1B置低PWM_setActionQual_CntDown_CmpB_PwmB(myPwm1,PWM_ActionQual_Set);//CBD,PWM1B置高配置函数:9.2.4 动作限定子模块(AQ)622) 非对称波形图9-22增模式,单边非对称波形,独立调制,高电平有效PWM_setActionQual_Zero_PwmA(myPwm1,PWM_ActionQual_Set);//Counter=0,PWM1A置高PWM_setActionQual_CntUp_CmpA_PwmA(myPwm1,PWM_ActionQual_Clear);//CAU,PWM1A置低PWM_setActionQual_Zero_PwmB(myPwm1,PWM_ActionQual_Set);//Counter=0,PWM1B置高PWM_setActionQual_CntUp_CmpB_PwmB(myPwm1,PWM_ActionQual_Clear);//CBU,PWM1B置低配置函数:9.2.4 动作限定子模块(AQ)632) 非对称波形图9-23增模式,单边非对称波形,独立调制,低电平有效PWM_setActionQual_Period_PwmA(myPwm1,PWM_ActionQual_Clear);//Counter=period,置低PWM_setActionQual_CntUp_CmpA_PwmA(myPwm1,PWM_ActionQual_Set);//CAU,置高PWM_setActionQual_Period_PwmB(myPwm1,PWM_ActionQual_Clear);//Counter=period,置低PWM_setActionQual_CntUp_CmpB_PwmB(myPwm1,PWM_ActionQual_Set);//CBU,置高配置函数:9.2.4 动作限定子模块(AQ)64死区子模块(DB):死区,通常叫死区时间(deadtime),用于避免功率开关控制信号翻转时发生误触发的情况。右图为三相逆变电路控制电机的电路拓扑。当PWM高电平时功率管导通,PWM低电平时功率管关断。显然,同一桥臂的上下功率管不应该同时导通,否则将直接短路。所以,同一桥臂上下功率管的导通状态必须互补,也就是PWM波形必须互补。但是,实际的硬件电路中开关管导通和关断的过程不是瞬时完成的,存在导通上升时间以及关断下降时间。9.2.4 动作限定子模块(AQ)65死区子模块(DB):死区,通常叫死区时间(deadtime),用于避免功率开关控制信号翻转时发生误触发的情况。9.2.5 死区子模块(DB)如上图所示,在功率管导通和关断过程,同一桥臂的上下管有可能直通,引起很大的短路电流而损坏开关管。为了避免这种短路,针对同一桥臂,必须在一个功率管完全关断后,再驱动另一个功率管导通,也就是说,导通和关断错开一定的时间,这个时间称为死区。死区子模块就是起到这种延时导通的作用。661.死区子模块的功能框图
死区子模块的功能框图如下图所示,实现的功能有:死区发生器时钟选择、死区时间的设置、输入源选择(DBCTL[IN_MODE])、极性选择(DBCTL[POLSEL])、输出模式(DBCTL[OUT-MODE])9.2.5 死区子模块(DB)672.死区子模块的功能概述(1)死区发生器时钟选择
死区子模块中死区发生器产生波形上升沿延时RED和下降沿延时FED,它是通过10位计数器来实现的。计数器时钟DBCLK可以选择为:-fDBCLK=fTBCLK,即与TBCLK同频,称为周期时钟-fDBCLK=2×fTBCLK,即为TBCLK的2倍频,称为半周期时钟9.2.5 死区子模块(DB)682.死区子模块的功能概述(2)死区时间的设置
死区子模块中上升沿时间延迟RED由寄存器DBRED控制,下降沿时间延迟FED由寄存器DBFED控制,这2个寄存器是10位的寄存器,具体数值代表死区计数器时钟的周期数。死区时延时间计算公式为:FED=DBFED×TTBCLKRED=DBRED×TTBCLK
其中TTBCLK是时基时钟TBCLK的周期。如果选择半周期时钟,计算公式为:FED=DBFED×TTBCLK/2RED=DBRED×TTBCLK/29.2.5 死区子模块(DB)692.死区子模块的功能概述(3)输入源选择(DBCTL[IN_MODE])
通过对应开关控制,死区子模块的输入信号是动作限定子模块的输出信号,记为EPWMxAin和EPWMxBin。信号源可以设置为:EPWMxAin作为上降沿和下升沿延时的信号源,该模式是缺省模式。EPWMxAin作为上降沿延时的信号源,EPWMxB作为下升沿延时的信号源。EPWMxAin作为下升沿延时的信号源,EPWMxB作为上降沿延时的信号源。EPWMxBin作为上降沿和下升沿延时的信号源。9.2.5 死区子模块(DB)702.死区子模块的功能概述(4)极性选择(DBCTL[POLSEL])
控制上升沿延时和(或)下降沿延时的信号输出时是否反转。(5)输出模式(DBCTL[OUT-MODE])通过S0、S1控制。选择死区延时输出或不经过死区延时直接输出。通过配置开关S0、S1、S2、S3的状态,可以产生不同的死区配置方案。9.2.5 死区子模块(DB)712.死区子模块的功能概述(5)输出模式(DBCTL[OUT-MODE])右表给出了当EPWMxAin作为上升沿和下降沿延时的信号源时的死区配置方案,列举的工作模式可以分为以下几类:•模式1:忽略下降沿时延和上升沿时延。该模式完全忽略死区子模块的存在。•模式2-5:典型的死区极性设置。许多电源开关驱动信号有死区的需求,电力电子同一桥臂功率管的控制常用AHC或ALC模式。•模式6:忽略上升沿时延。•模式7:忽略下降沿时延。
DBCTL[POLSEL]DBCTL[OUT_MODE]模式模式说明S3S2S1S01EPWMxAandEPWMxB无延迟XX002高电平有效,输出互补(AHC)10113低电平有效,输出互补(ALC)01114高有效(AH)00115低有效(AL)11116EPWMxA输出=EPWMxA输入(无延迟)EPWMxB输出=EPWMxA输入(下降沿延迟)0or10or1017EPWMxB输出=EPWMxB输入(无延迟)EPWMxA输出=EPWMxA输入(上降沿延迟)0or10or1109.2.5 死区子模块(DB)723.死区子模块的软件架构(1)寄存器及驱动函数下表为DB子模块的相关寄存器及其对应的驱动函数名。寄存器描述偏移地址驱动函数功能DBCTL死区控制寄存器0x000FPWM_enableDeadBandHalfCyclePWM_disableDeadBandHalfCyclePWM_setDeadBandInputModePWM_setDeadBandPolarityPWM_setDeadBandOutputMode使能死区计数器二倍频禁止死区计数器二倍频设置死区输入模式设置死区极性设置死区输出模式DBRED死区上升沿延时计数器0x0010PWM_setDeadBandRisingEdgeDelay死区上升沿延时时间DBFED死区下降沿延时计数器0x0011PWM_setDeadBandFallingEdgeDelay死区下降沿延时时间9.2.5 死区子模块(DB)733.死区子模块的软件架构(2)驱动函数描述表9-26~表9-30给出了DB子模块驱动函数的描述和示例。函数名PWM_disableDeadBandHalfCycle函数原型PWM_disableDeadBandHalfCycle(PWM_HandlepwmHandle)功能描述禁止死区时钟为TB时钟频率的2倍频输入参数1ePWMx的结构体指针myPwmx输入参数2无返回值无示例://PWM1的死区时钟频率等于TB时钟频率PWM_disableDeadBandHalfCycle(myPwm1);表9-26函数PWM_disableDeadBandHalfCycle9.2.5 死区子模块(DB)743.死区子模块的软件架构(2)驱动函数描述示例://EPWM1A作为死区上升沿和下降沿延时的信号源PWM_setDeadBandInputMode(myPwm1,PWM_DeadBandInputMode_EPWMxA_Rising_and_Falling);表9-27函数PWM_setDeadBandInputMode函数名PWM_setDeadBandInputMode函数原型PWM_setDeadBandInputMode(PWM_HandlepwmHandle,constPWM_DeadBandInputMode_einputMode)功能描述死区子模块输入源选择输入参数1ePWMx的结构体指针myPwmx输入参数2输入源信号选择,为库文件定义的枚举变量返回值无9.2.5 死区子模块(DB)753.死区子模块的软件架构(2)驱动函数描述示例://EPWM1B的输出极性取反PWM_setDeadBandPolarity(myPwm1,PWM_DeadBandPolarity_EPWMxB_Inverted);表9-28函数PWM_setDeadBandPolarity函数名PWM_setDeadBandPolarity函数原型PWM_setDeadBandPolarity(PWM_HandlepwmHandle,constPWM_DeadBandPolarity_epolarity)功能描述死区极性配置输入参数1ePWMx的结构体指针myPwmx输入参数2死区极性选择,为库文件定义的枚举变量返回值无9.2.5 死区子模块(DB)763.死区子模块的软件架构(2)驱动函数描述示例://EPWM1A通过上升沿延时输出,EPWM1B通过下降沿延时输出PWM_setDeadBandOutputMode(myPwm1,PWM_DeadBandOutputMode_EPWMxA_Rising_EPWMxB_Falling);表9-29函数PWM_setDeadBandOutputMode函数名PWM_setDeadBandOutputMode函数原型PWM_setDeadBandOutputMode(PWM_HandlepwmHandle,constPWM_DeadBandOutputMode_eoutputMode)功能描述死区输出模式选择输入参数1ePWMx的结构体指针myPwmx输入参数2死区输出模式选择,为库文件定义的枚举变量返回值无9.2.5 死区子模块(DB)773.死区子模块的软件架构(2)驱动函数描述示例://如图TB的时钟频率为60MHz,EPWM1的下降沿延时为60/60MHz=1μSPWM_setDeadBandFallingEdgeDelay(myPwm1,60);表9-30函数PWM_setDeadBandFallingEdgeDelay函数名PWM_setDeadBandFallingEdgeDelay函数原型PWM_setDeadBandFallingEdgeDelay(PWM_HandlepwmHandle,constuint16_tdelay)功能描述死区延时大小输入参数1ePWMx的结构体指针myPwmx输入参数2死区延时时间返回值无9.2.5 死区子模块(DB)78斩波子模块通过高频载波信号来调制经由AQ模块和DB模块输出的PWM波形,这项功能在控制高开关频率的功率器件时非常有用。9.2.6 PWM斩波子模块(PC)1.PC子模块的功能PC子模块功能框图如右图所示,其主要功能:设置斩波(载波)频率、设置第一个脉冲的宽度、设置第二个以及后续脉冲的占空比792.PC子模块的功能(1)高频载波调制原理下图为PWM波形经过PC子模块高频载波调制输出的原理。可以看出,经过PC子模块调制后输出的波形其实是将PWM波形同高频载波信号做逻辑与运算。原来低电平部分还是低电平,原来高电平部分变为高频载波。9.2.6 PWM斩波子模块(PC)802.PC子模块的功能(2)载波时钟PSCLK频率设置(PCCTL(CHPFREQ))PC子模块的时钟信号为系统时钟的8分频,斩波时钟PSCLK的频率,可选择对子模块时钟再进行1~8分频,即载波信号的频率为SYSCLKOUT/(8×n),n=1,2,...8。9.2.6 PWM斩波子模块(PC)812.PC子模块的功能(3)载波时钟PSCLK占空比设置(PCCTL(CHPDUTY))PC子模块可以设置斩波时钟PSCLK的占空比。右图给出了占空比从12.5%~87.5%之间变化的7种可供选择的载波信号。9.2.6 PWM斩波子模块(PC)822.PC子模块的功能(4)第一个脉冲的配置(PCCTL(OSHTWDH)在实际应用中,多数功率器件的开通电流要比维持电流大得多,对第一个脉冲的宽度有具体要求,用来给设备提供充足的激励能量,而后续的脉冲信号仅仅为了维持功率器件的持续导通与关断。PC子模块提供了对第一个脉冲宽度的设置。第一个脉冲的宽度可设置为任何16种可能的脉冲宽度值。第一个脉冲宽度或周期为:T1st.pulse=(OSHTWTH+1)×TSYSCLKOUT×8其中TSYSCLKOUT是系统时钟SYSCLKOUT周期,OSHTWTH取值为0到15。9.2.6 PWM斩波子模块(PC)832.PC子模块的功能(4)第一个脉冲的配置(PCCTL(OSHTWDH)第一个脉冲和后续脉冲波形如下图所示。(5)使能/放弃PC子模块作用(PCCTL(CHPEN))通过CHPEN信号可以使能或者放弃PC子模块的作用。9.2.6 PWM斩波子模块(PC)843.PC子模块的软件架构(1)寄存器及驱动函数下表为PC子模块的相关寄存器及其对应的驱动函数名。寄存器描述偏移地址驱动函数功能PCCTL斩波控制寄存器0x001EPWM_disableChoppingPWM_enableChoppingPWM_setChoppingClkFreqPWM_setChoppingDutyCyclePWM_setChoppingPulseWidth禁止斩波模块使能斩波模块设置斩波时钟频率设置斩波占空比设置斩波初始占空比9.2.6 PWM斩波子模块(PC)853.PC子模块的软件架构(2)驱动函数描述表9-32~表9-36给出了PC子模块驱动函数的描述和示例。示例://使能ePWM1的斩波子模块PWM_enableChopping(myPwm1);表9-32函数PWM_enableChopping函数名PWM_enableChopping函数原型PWM_enableChopping(PWM_HandlepwmHandle)功能描述使能斩波子模块输入参数ePWMx的结构体指针myPwmx返回值无9.2.6 PWM斩波子模块(PC)863.PC子模块的软件架构(2)驱动函数描述示例://设置斩波频率=系统时钟频率/(8*2)PWM_setChoppingClkFreq(myPwm1,PWM_ChoppingClkFreq_SysClkOut_by_2);表9-33函数PWM_setChoppingClkFreq函数名PWM_setChoppingClkFreq函数原型PWM_setChoppingClkFreq(PWM_HandlepwmHandle,constPWM_ChoppingClkFreq_eclkFreq)功能描述设置斩波频率输入参数1ePWMx的结构体指针myPwmx输入参数2斩波频率选择,为库文件定义的枚举变量返回值无9.2.6 PWM斩波子模块(PC)873.PC子模块的软件架构(2)驱动函数描述示例://设置斩波占空比=2/8=25%PWM_setChoppingDutyCycle(myPwm1,PWM_ChoppingDutyCycle_Two_Eighths);表9-34函数PWM_setChoppingDutyCycle函数名PWM_setChoppingDutyCycle函数原型PWM_setChoppingDutyCycle(PWM_HandlepwmHandle,constPWM_ChoppingDutyCycle_edutyCycle)功能描述设置斩波占空比输入参数1ePWMx的结构体指针myPwmx输入参数2斩波占空比选择,为库文件定义的枚举变量返回值无9.2.6 PWM斩波子模块(PC)883.PC子模块的软件架构(2)驱动函数描述示例://设置斩波第一个脉冲宽度=2×TSYSCLKOUT×8PWM_setChoppingPulseWidth(myPwm1,PWM_ChoppingPulseWidth_Two_Eighths_SysClkOut);表9-35函数PWM_setChoppingPulseWidth函数名PWM_setChoppingPulseWidth函数原型PWM_setChoppingPulseWidth(PWM_HandlepwmHandle,constPWM_ChoppingPulseWidth_epulseWidth)功能描述设置斩波第一个脉冲的宽度输入参数1ePWMx的结构体指针myPwmx输入参数2斩波第一个占空比大小选择,为库文件定义的枚举变量返回值无9.2.6 PWM斩波子模块(PC)899.2.7 故障联防子模块(TZ)故障联防子模块(TZ)当检测到某种故障时,故障联防子模块可以强制PWM的输出。例如,某种功率变换电路的过流或过压保护,当出现过流或过压等故障时,希望强制PWM输出信号关断功率开关管,避免故障严重化,保护设备安全。每个ePWM连接6路的触发信号TZn(TZ1到TZ6)。其中TZ1~TZ3和GPIO引脚复用,TZ4为含有EQEP1模块的DSP所产生的EQEP1ERR信号,TZ5反映系统时钟失效逻辑,TZ6是CPU输出的EMUSTOP信号。这些信号指明外部故障或者其他触发条件,ePWM模块可以利用这些触发信号来影响PWM波形的输出。901.TZ子模块的功能TZ子模块基本功能有:•触发输入信号TZ1到TZ6可以很方便配置到任一ePWM模块•在故障条件下,配置强制EPWMxA和EPWMxB输出的动作:高电平、低电平、高阻态、保持不变。•支持单次触发方式(OSHT),适用于短路或者过流等严重故障保护•支持周期循环触发方式(CBC),适用于限流操作•任一触发区输入信号可作为中断源,产生中断•支持软件强制触发•放弃TZ子模块功能9.2.7 故障联防子模块(TZ)911.TZ子模块的功能TZ子模块的功能框图9.2.7 故障联防子模块(TZ)922.TZ子模块的功能概述触发区信号TZ1~TZ6(简写为TZn)是低电平有效的输入信号。每个ePWM模块可以独立配置放弃或者使用这些触发信号,可以选择使用6种触发信号中的一种提供给ePWM模块产生连续或单次触发事件。TZ子模块对触发信号进行数字滤波,只有TZn输入信号具有最小3倍TBCLK的低电平宽度时才被认定为一个有效的触发信号,小于这个宽度的TZn信号被舍弃。切记使用TZn信号时要配置好GPIO复用功能。9.2.7 故障联防子模块(TZ)932.TZ子模块的功能概述(1)周期循环(CBC)触发事件周期循环触发是以计数器TBCTR的计数周期为单位的,在每一个周期内,如果捕获到触发信号,则EPWMxA和(或)EPWMxB的输出立即由TZCTL寄存器中所设定的状态决定,但是当PWM模块的计数器TBCTR计数到0时并且故障信号已经不存在时,EPWMxA和(或)EPWMxB的强制状态就会被清除。因此,在该模式下触发事件在每个ePWM周期内会被清除。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年状态监测的实时性与准确性分析
- 2026年近期过程控制行业技术报告解读
- 2026年现代机械加工工艺实例分析
- 2026年软件工具在自动化控制系统调试中的价值
- 2026年电气传动系统的低噪音设计
- 岩溶区地基施工方案
- 2026年公差的经济性与实践应用
- 2026年科技创新推动机械设计变革
- 2026上海师范大学附属官渡实验学校招聘1人备考题库及参考答案详解(满分必刷)
- 2026广东深圳市罗湖区清泉幼儿园教研员招聘1人备考题库及答案详解【新】
- (二模)东北三省三校2026年高三第二次模拟考试 语文试卷(含答案及解析)
- 2026年青岛金家岭金融聚集区管理委员会公开选聘工作人员考试参考题库及答案解析
- (一模)江门市2026年高三高考模拟考试政治试卷(含答案详解)
- 河北省石家庄市2026届高三一模考试化学试卷(含答案)
- GJB1406A-2021产品质量保证大纲要求
- 建筑地基处理技术规范DBJ-T 15-38-2019
- 《燃煤火力发电企业设备检修导则》
- 油田地面工程简介
- 驾照体检表完整版本
- 商铺出租可行性方案
- 2023年非车险核保考试真题模拟汇编(共396题)
评论
0/150
提交评论