DSP原理与应用The Technology & Applications of DSPs
第七章TMS320F28335的PWM控制
北京交通大学电气工程学院
夏明超郝瑞祥万庆祝
mchxia@http://
haorx@http://
qzhwan@http://
§
7.1
F28335的PWM控制
每个ePWM模块都支持下列特性:精确的16位时间定时器,可以进行周期和频率控制。两个PWM输出(EPWMxA and EPWMxB) (EPWMxAandEPWMxB)可以用于下面的控制–两个独立的PWM输出进行单边控制–两个独立的PWM输出进行双边对称控制–一个独立的个PWM输出进行双边非对称控制输边称与其它ePWM模块有关的可编程超前和滞后相控。每个周期硬件锁定相位(同步)。独立的上升沿和下降沿死区延时控制可编程错误区域控制(trip zone),用于故障时的周期循环控制(trip)和单次(one-shotoneshot)控制.一个控制条件可以使PWM输出强制为高,低,或高阻逻辑电平.所有事件都可以触发CPU中断,启动ADC开始转换。可编程事件有效降低了在中断时CPU的负担。PWM高频载波信号对于脉冲变压器门极驱动非常有用。
PWM 模块块结构框图图多
个
eP
ePWM
模块内部连接关系图
模块相关信号说明如下:
PWM
输出信号(EPWMxA and EPWMxB) (x=1…6)
通过IO引脚输出PWM信号.
错误触发(Trip-zone)信号(TZ1 to TZ6).
当被控单元产生错误时,通过这些输入信号为ePWM模块提供错误标识。设备的每个模块都可以配置成使用或者忽略任何外部错误信号(Trip-zone)。同时错误信号还可以通过GPIO外设进行异步配置。
时基同步输入信号(EPWMxSYNCI)和输出(EPWMxSYNCO)信号.
同步信号雏菊花形将ePWM模块连接在一起。每个模块可以配置成使用或忽略其同步输入信号。产生到引脚的时钟同步输入和输出信号只能是ePWM1 (ePWM module #1)。ePWM1的同步输出信号EPWM1SYNCO也连接到第一个增强捕获单元eCAP1模块的SYNCI.
ADC start-of-conversion signals (EPWMxSOCA and EPWMxSOCB).ADCstartofconversionsignals(EPWMxSOCAandEPWMxSOCB)
每个ePWM模块有两个ADC开始转换信号(每个ADC转换序列一个)任何ePWM模块都可触发任何一个序列。哪个事件触发ADC开始转换,可以在事件触发子模块中可以设计。
外设总线(Peripheral Bus)
外设总线是32-bits宽,允许宽允许16-bit和32-bit方式写入ePWM 寄存器文件。寄存器文件
ePWM
模块相关寄存器
DSP原理与应用
2012年9月3日
§
7.1.1 ePWM
主要子模块配置参数说明
一、时基Time-base (TB)
标定与系统时钟(SYSCLKOUT)有关的时基时钟,配置PWM时基计数器(TBCTR TBCTR)的频率或周期.
设置时基计数器的下列参数:
–计数增模式:用于非对称PWM
–计数器减模式:用于非对称PWM
–计数增-减模式:用于对称PWM
配置与另一个ePWM模块的时基相位关系.
通过硬件或软件同步不同模块之间的时基定时器
在同步事件之后配置时基计数器的方向(增或减)
配置仿真器(emulator)终止DSP时时基计数器的行为.指定ePWM模块同步输出源:
–同步输入信号
–时基计数器等于零
–时基计数器等于计数器比较器B (CMPB)
–无输出同步信号产生
二
计数器比较(
Counter-compare ,CC) 。指定输出EPWMxA 或EPWMxB 的PWM占空比
指定EPWMxA or EPWMxBEPWMxAorEPWMxB何时开关动作
三动作限定器(Action-qualifier ,AQ)。指定当时基或计数比较子模块事件发生时动作类型:
–无任何动作
–输出EPWMxA 或EPWMxB开关为高
–输出EPWMxA EPWMA或EPWMxB EPWMB开关为低
–输出EPWMxA 或EPWMxB 跳变
通过软件强制PWM输出状态
通过软件配置和控制PWM的死区(dead-band)
四死区(Dead-band ,DB) 。控制传统的高低开关互补死区关系
指定输出上升沿延时值
指定输出下降沿延时值
完全旁路死区模块这种情况下PWM波形无任何改变通过完全旁路死区模块,这种情况下
五
PWM
斩波(PWM-chopper,PC)
创建斩波频率.
斩波脉冲列内第一个脉冲的脉宽
第二个和后续的脉冲占空比
完全旁路PWM斩波模块,这种情况下,PWM波形无任何改变通过
六错误区控制(TripTrip-zonezone ,TZ)。配置ePWM模块响应模块响应一个个triptrip-zonezone信号,
所有的trip-zone信号或者忽略trip-zone引脚信号。
指定当故障发生时的下列故障控制动作(trip action):
–强制EPWMxA和EPWMxB为高
–强制EPWMxA 和EPWMxB为低
–强制EPWMxA和EPWMxB 为高阻态
–配置EPWMxA EPWMxA和EPWMxB忽略任何故障控制(trip)动作条件
配置ePWM如何响应每个故障控制(trip-zone)引脚:
–一次
–周期循环
使能故障控制(trip-zone)启动中断
完全旁路故障控制模块(trip-zone module)
§
7.1.2
计算PWM周期和频率
PWM事件频率由时基周期寄存器TBPRD 和时基计数器模式决定。下图给出在时基计数器增模式减模式和增减模式下PWM周期Tpwm和下图给出在时基计数器增模式,减模式和增减模式下
频率Fpwm关系。周期设置为4 (TBPRD = 4).每一步增加时间由时基时钟TBCLK决定,时基时钟由系统时钟决定时基时钟由系统时钟SYSCLKOUT标定。标定
(1)Up-Down-Count Mode:
在增减模式下,时基计数器从零开始,增加直到达到周期值模式数从零到到期值
(TBPRD),然后开始减小直到达到零。这样计数器重复模式,开始增加。
(2)Up-Count Mode:
在增计数模式时基计数器从零开始增加直到达到周期寄存器值在增计数模式,时基计数器从零开始增加,直到达到周期寄存器值(TBPRD)。然后时基计数器复位到零,再次开始增加。
(3)Down-Count Mode:
在减模式,时基计数器开始从周期值(TBPRD)开始减小,直到达到零。当达到零时,时基计数器复位到周期值,再次开始增计数。
时
基
频频率和周周期
§
7.1.3
时基周期影像寄存器
工作寄存器(Active Register)
工作寄存器控制硬件,负责硬件动作发生(cause)或唤醒(invoke)影像寄存器(Shadow Register)
影像寄存器为激活寄存器缓冲或提供临时保存位置。对硬件没有直接的控制在特定时刻影像寄存器内容转移到激活寄存器这样阻止接的控制。在特定时刻影像寄存器内容转移到激活寄存器。这样阻止由于寄存器被软件移步修改造成的冲突或错误。
时基周期寄存器影像模式:
当TBCTL[PRDLD] = 0时,TBPRD影像寄存器使能。当读和写TBPRD寄存器,在时基计数器为零时(TBCTR = 0x0000),影像寄存器内容转移到激活寄存器(TBPRD (Active) (TBPRD(Ati) TBPRD (shadow)) TBPRD(hd))。默认TBPRD影像寄存器处于使能状态。
时基周期立即装入模式:
如果(TBCTL[PRDLD] = 1)即选择立即装入模式, 则读写TBPRD寄存器直接改变激活寄存器。
§
7.1.4
时基计数器同步
每个ePWM模块都有一个同步输入(EPWMxSYNCI)和一个同步输出((EPWMxSYNCO). )第一个ePWM1的同步输入来自外部引脚。每个ePWM模块可以设置成使用或忽略同步脉冲输入。如果TBCTL
[PHSEN] 位置位,则当具备下列条件之一时,ePWM模块的时基计数器将自动装入相位寄存器将自动装相位寄存(TBPHS)的内容。的内容
同步输入脉冲EPWMxSYNCI:
当检测到输入同步脉冲时,相位寄存器值装入计数寄存器(TBPHS->TBCNT). 这种操作发生在下一个有效时基时钟沿
软件强制同步脉冲:
向TBCTL[SWFSYNC] 控制位写1产生一个软件强制同步。该脉冲与同步输入信号是或关系因此与在EPWMxSYNCI上的脉冲具有同冲与同步输入信号是或关系,因此与在
样的效果。
下图给出了ePWM模块的可能的同步连接。
同步连接模式
1
同步连接模式
2
§
7.1.5
多个ePWM模块时基时钟锁相TBCLKSYNC位可以用于全局同步所有ePWM模块的时基时钟。当TBCLKSYNC = 0时,所有的ePWM模块时基时钟停止(默认状态)。当TBCLKSYNC = 1时,在TBCLK信号的上升沿所有的ePWM时基时钟模块开始。为了精确同步TBCLK,TBCTL的比例因子位必须设置相同。正确的ePWM时钟使能过程如下:
1.分别使能各个ePWM模块时钟。1.
2. 设置TBCLKSYNC = 0。停止所有的ePWM模块的时基。3配置比例因子值(prescaler3. l)和期望的ePWMPWM模块。模块
4.设置TBCLKSYNC = 1.