购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.6 ePWM模块配置

PWM(脉宽调制)是对脉冲宽度进行调制的技术,即通过对一系列的脉冲宽度进行调制,来等效地获得所需要的波形。

F28335的每个ePWM模块相互独立,并由ePWMxA和ePWMxB组成。可以配置为两路独立的单边沿PWM输出,或者两路独立的但相互对称的双边沿PWM输出以及一对双边沿非对称的PWM输出。共有6对这样的ePWM模块,因为每对PWM模块中的两个PWM输出均可以单独使用,所以也可以认为有12路单路ePWM。

除此之外还有6个APWM,这6个APWM通过CAP模块扩展配置,可以独立使用,所以F28335最多可以有18路PWM输出。每一组模块都包含7个模块:TB时基模块、CC计数比较模块、AQ动作模块、DB死区产生模块、PWM斩波模块PC、TZ错误联防模块、事件触发模块ET。

2.6.1 General选项卡

ePWM的配置模块如图2-7所示。

图2-7 ePWM

1)Module:选择所使用的ePWM模块。F28335可选16路ePWM模块。

2)Timer period units:以时钟周期“Clock cycles”或以秒“Seconds”为单位确定定时器周期值(为减小误差,获得最佳结果,建议选择时钟周期)。

3)Specify timer period via:填写定时器周期的方式。可以选择通过对话框填写“Specify via dialog”或者输入端口“Input port”确定。如果定时器周期不变,可以选择通过对话框填写specify via dialog,如果选择输入端口Input port,需要填写定时器初始周期值Timer initial period,只有当将“Specify timer period via”设置为输入端口“Input port”选项时,此参数才会出现。

4)Timer period:确定定时器周期值。当Timer period units(3)选择时钟周期时,此处单位为时钟周期步长(对于150MHz的F28335,1=s);当Timer period units(3)选择s时,此处单位为s。

5)Reload for time base period register(PRDLD):选择何时更新定时器周期值,默认计数值等于0时更新,也可选择同步事件或是立即更新。

6)Counting mode:定时器的计数方式。有增计数、减计数和增减计数三种计数方式(见图2-8)。

图2-8 定时器计数方式

· 当选择增减计数时:EPWMCLK=150MHz,所以

· 如果想得到10kHz计时周期(载波频率),Timer period数值为7500。计算方法:

· 当选择增计数或者减计数时:Timer period数值为7500,则定时器周期为20kHz。计算方法: ,即20kHz

7)Synchronization action:确定相对于时基同步信号EPWMxSYNCI的相位偏置。

8)Specify software synchronization via input port(SWFSYNC):为基于时间的同步输入信号EPWMxSYNCI创建一个输入端口SYNC,可以实现跨多个ePWM模块的精确同步。

9)Synchronization output(SYNCO):确定时基计数器何时同步。

10)Time base clock(TBCLK)prescaler divider:时基时钟分频。

ePWM模块的时间基础时钟(TBCLK)分频器(CLKDIV)和高速时间基础时钟(HSPCLKDIV)分频器(HSPCLKDIV)配置时间基础时钟速度(TBCLK),使用以下公式计算TBCLK:

TBCLK(Hz)=PWM时钟(Hz)/(HSPCLKDIV·CLKDIV)

例如,CLKDIV和HSPCLKDIV的默认值都是1,PWM时钟的默认频率是100MHz,那么:

TBCLK(Hz)=100MHz/(1×1)=100MHz

TBCLK(s)=1/TBCLK(Hz)=1/(100M)Hz=0.01μs

时间基数时钟(TBCLK)分频器的选择有:1、2、4、8、16、32、64和128。

时间块时钟(TBCLK)预估分频器参数对应于时基控制寄存器(TBCTL)的CLKDIV字段。

11)High speed clock(HSPCLKDIV)prescaler divider:高速时基时钟分频。

有关该值在设置时基时钟(TBCLK)速度中的作用的说明,请参阅时基时钟(TBCLK)预调度器分配器。选项是除以1、2、4、6、8、10、12和14。选择“Enable high resolution PWM(HRPWM-period)”将此选项设置为1。该参数对应于基于时间的控制寄存器(TBCTL)的HSPCLKDIV字段。

2.6.2 ePWMA选项卡

此处以ePWMA界面增减计数为例介绍,如图2-9所示,ePWMB介绍同理。

图2-9 ePWM配置

1)Enable ePWMA:使能ePWMA。

2)CMPA units:确定CMPA单位,时钟周期“Clock cycles”或是百分比“Percentages”。

3)Specify CMPA via:指定脉宽来源。根据对话框填写“Specify via dialog”或者输入端口“Input port”。

4)如果选择输入端口需填写CMPA initial value初始值,当将CMPx源的Specify CMPA via设置为输入端口“Input port”时,会出现此字段。在此例中,x代表A或B。输入PWM外设开始工作时所使用的CMPA或CMPB的初始脉宽。随后对WA或WB端口的输入改变了CMPA或CMPB脉冲宽度。

5)Reload for compare A Register(SHDWAMODE):比较寄存器周期何时重载。

6)Action when counter=ZERO,Action when counter=period(PRD),Action when counter=CMPA on up-count(CAU),Action when counter=CMPA on down-count(CAD),Action when counter=CMPB on up-count(CBU),Action when counter=CMPB on down-count(CBD):这些设置以及ePWMA和ePWMB页面中的其他剩余设置,确定动作限定符(AQ)子模块的行为。AQ模块确定哪些事件被转换成各种动作类型,产生ePWMxA和ePWMxB输出信号所需的转换波形。

对于这四个字段中的每一个,可用的选择是Do nothing、Clear、Set和Toggle。

7)Compare value reload condition,Add continuous software force input port,Continuous software force logic,Reload condition for software force:这四个设置决定了动作限定符(AQ)子模块如何处理S/W强制事件,这是一个由软件(CPU)通过控制寄存器位发起的异步事件。

①Compare value reload condition:比较值重载条件决定是否以及何时从影子寄存器重载动作限定符S/W强制寄存器。选项有:计数器上的负载等于零(CTR=零)(默认值)、计数器上的负载等于周期(CTR=PRD)、任意加载和冻结。

②Add continuous software force input port:添加连续软件执行输入端口,创建一个输入端口SFA,可用于控制软件执行逻辑。将以下值之一作为无符号整数数据类型发送到SFA:

· 0=强制禁用:不执行任何操作(默认)

· 1=强制低:清除低

· 2=强制高:设置高

③Continuous software force logic:如果未创建SFA输入端口,则可以使用连续软件执行逻辑。可以指定以下选项之一:

· Forcing disable:Do nothing(default)

· Forcing low:Clear low

· Forcing high:Set high

④Reload condition for software force:软件执行重载情况(何时重载)。

2.6.3 Deadband unit选项卡

死区Deadband unit接口可以为死区生成器(DB)子模块指定参数,如图2-10所示。

图2-10 死区Deadband unit

1)Use deadband for ePWM3A:使能ePWM3A死区。

2)Use deadband for ePWM3B:使能ePWM3B死区。

3)Deadband polarity:死区极性。

死区类型(见图2-11):

图2-11 死区类型

· AH:高电平有效

· AL:低电平有效

· AHC:高电平有效互补

· ALC:低电平有效互补

· Signal source for rising edge(RED):上升信号源,选择参考信号上升沿

· Signal source for falling edge(FED):下降信号源,选择参考信号下降沿

· Deadband period source:死区时间确定方式,可以选择通过对话框填写“ Specify via dialog ”或者输入端口“ Input port ”确定

· Deadband Rising edge(RED)period(0~1023):确定上升沿死区时间

· Deadband Falling edge(FED)period(0~1023):确定下降沿死区时间 sr7SfVAnsmA2ULzFRW/OqcYc05QYLZj8mDeTR2IdzSyptSMsfvxHUSKTY0S3ZgUk

点击中间区域
呼出菜单
上一章
目录
下一章
×