关键词不能为空

当前您在: 主页 > 英语 >

28335_EPWM产生PWM

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2020-10-31 10:39
tags:5655

daily怎么读-grades

2020年10月31日发(作者:贡奎)


28335 ePWM模块中产生PWM的必要配置





1





一个ePWM module包括Time-base (TB) module,Counter-compare (CC) module,
Action-qualifier (AQ) module,Dead-band (DB) module,PWM-chopper (PC) module,
Event- trigger (ET) module,Trip-zone (TZ) module等七个模块。正常的 发出PWM波要配
置TB(定时器模块)、CC(比较计数器模块)、AQ(比较方式预设模块)、DB (死区模
块)、ET(事件触发模块)等五个模块。

2


Time-base (TB) module



Time-base (TB) module为定时器模块,有
TBCTL(控制寄存器)配置定时器的时钟、计数模式、同步模式
TBSTS(状态寄存器)
TBPHSHR(高速PWM用)
TBPHS(相位寄 存器)计数器的起始计数位置,例如寄存器为0x0100则计数器从
0x0100开始计数
TBCTR(计数器)
TBPRD(周期寄存器)设置计数器的计数周期。只有TBPRD( 周期寄存器)有影子寄
存器。
本程序的设置为count-up-and-down mode计数模式,相位为零,ePWM2 、ePWM3、
ePWM4、 ePWM5、 ePWM6,通过ePWM1的计数器到零时进行同步,计数周期为0.5ms。



3


Counter-compare (CC) module



Counter-compare (CC) module为比较器模块有
CMPCTL (比较控制寄存器)设置CMPA、CMPB的重载模式
CMPAHR(高速PWM用),
CMPA(比较值寄存器A)设置EPWMxA的比较值,有影子寄存器。
CMPB(比较值寄存器B)设置EPWMxB的比较值,有影子寄存器。
本程序只应用了CMPA,设置计数器到零时重载CMPA。










4


Action-qualifier (AQ) module



Action-qualifier (AQ) module比较方式预设模块
AQCTLA (输出A比较方式控制寄存器)设置EPWMA的比较方式有CBD、CBU、
CAD、CAU、PRD、ZRO,无影子寄存器,立即装载
AQCTLB (输出B比较方式控制寄 存器)设置EPWMB的比较方式有CBD、CBU、
CAD、CAU、PRD、ZRO,无影子寄存器 ,立即装载
AQSFRC (软件强制控制寄存器)设置AQCSFRC重载方式(RLDCSF), 通过
(OTSFB、ACTSFB)设置EPWMB、(OTSFA、ACTSFA)设置EPWMA启 动一次强制
置位无效、置零、置高、反向,当OTSFB、OTSFA被写1时,动作一次,写0无效, 无
影子寄存器
AQCSFRC (软件连续强制控制寄存器)可以强制EPWMA、EPWM B的输出为low
或high或AQCSFRC不起作用,有影子寄存器,当寄存期被加载后的第二个时 钟开始作用,
如TBCLK=0时加载,TBCLK=1时开始起作用
说明:
CB D为TBCTR(计数器)与CMPB在down计数时相等使输出为low或high或反向
或不动作
CBU为TBCTR(计数器)与CMPB在up计数时相等使输出为low或high或反向或

5


不动作
CAD为TBCTR(计数器)与CMPA在dow n计数时相等使输出为low或high或反向
或不动作
CAU为TBCTR(计数器)与C MPA在up计数时相等使输出为low或high或反向或
不动作
PRD为TBCTR(计 数器)与TBPRD(周期寄存器)相等时使输出为low或high或反
向或不动作
ZRO为TBCTR(计数器)计到零时使输出为low或high或反向或不动作
注意:以 上均是相等时起作用,其它时间不管,只有AQCSFRC(软件连续强制控制
寄存器)持续起作用
如同时出现比较则优先级如图
例:CMPA=100,CMPB=100,up计数,EPW MA初始为低,CAU设置高,CBU设
置低,当TBCTR计到100时,CAU、CBU同时作用, 根据优先级,EPWMA输出低。
当CMPA=100,CMPB=110,其它不变,当TBCTR 计到100时,EPWMA输出高,
计到110时EPWMA输出低。




本程序只应用了EPWMA输出通过Dead-band (DB) module产生互补的PWM波形。

6


Action- qualifier (AQ) module比较方式预设模块配置如下:AQCTLA (输出A比较方式控
制寄存器)的CAU置高,CAD置低,其它无效。在初始化中配置。
AQCSFRC (软件连续强制控制寄存器)通过AQSFRC(软件强制控制寄存器)的
R LDCSF配置为TBCTR(计数器)计到零时装载,根据需要每次中断配置CSFA置高、置
低或软 件连续强制无效。其优先级最高,强制时CAU置高,CAD置低不起作用,无效时
CAU置高,CAD 置低起作用。
AQSFRC(软件强制控制寄存器)的ACTSFA配置为置低,当本周期软件连续强 制无
效时,向OTSFA写1,保证有效高周期的起始是低状态,防止上一周期结束时为高。




7


Dead-band (DB) module



Dead-band (DB) module 死区模块
DBCTL(死区控制寄存器)设置S5,S4,S3,S2,S1,S0开关选择的
DBRED(死区上升沿延时)上升沿延时时间
DBFED(死区下降沿延时)下降沿延时时间
本程序的设置为S5=0,S4=0,S3= 1,S2=0,S1=1,S0=1;延时时间为5us。EPWMxA=
EPWMxA in,EPWMxB为EPWMxA in的反向。



8


Event-trigger (ET) module



Event-trigger (ET) module中断事件模块
ETSEL (中断选择寄存器)使能及事件源选择(SOCA触发ADC转换,SOCB触发
ADC转换,中断)
ETPS(中断预设寄存器)xxxCNT记录时间发生次数,当与xxxPRD相等时,发出中
断信号,xxxCNT停止计数,当标志为清除时xxxCNT置零重新计数
ETFLG(中断标志寄存器)状态标志位,中断时为1
ETCLR(中断标志清除寄存器)写1清除相应标志位
ETFRC(强制中断寄存器)写1强制相应中断发生
本程序选择SOCA触发ADC转换,TBCTR=0位中断事件源,xxxPRD为1。
TMS320F280X系列DSP的EPWM讨论
我们大家知道.2812,2407等系 列的模
块等能产生丰富的PWM波型.但是要作为一个
系列的话.我还是推荐大检查使用280 X系列.
一个主要原因是它们的引脚可以完全共用.这
就为我们研发从低到高的产品提供了一个 通用
平台.2809好象百元左右吧.2808是80RMB.小
袖珍的热门DSP28016 可能也就超不过30RMB.
那可是32位60M主频的带全基本上的接口.我
觉的280X系 列从价位和封装上为我们提供了
灵活的选择余地.

- 9 -



但是现在280X的资料好象很少.看了一下他们
的EPWM模块有 些没弄明白.比如为使所有EPWM
在一个同步时基上工作.他们的EPWMXSYNCI和
E PWMXSYNCO是不是要级联起来.但是好象没看
见EPWM1-EPWM6有外接这么多同步时钟 接口
啊.是不是在软件里Writing a 1 to the
TBCTL[SWFSYNC] control bit invokes a
software forced synchronization. This
pulse is ORed with the synchronization
input signal, and therefore has the same
effect as a pulse on

EPWMxSYNCI.就不用管外 设的同步始终接口
EPWMSYNCI和EPWMSYNCO啊.其实多半做PWM控
制的都希 望能用硬件产生有固定时基的时钟信
号啊.再就是有没有类似2407和2812等的影子
寄存 器(同步缓存寄存器).在定时周期中断中
不用担心会在不恰当的时候改变了比较和周期
寄存器 的内容.他们只会在当前执行了前一控
制内容后再执行改变的寄存器内容.避免了时
空错乱啊. 280X有没有类似的设置啊?
TOP

61IC代码工厂*永久免费*所有代码都
通过官方审核,保证代码的完整性.
ikki9899
2
#
大 中 小 发表于 2009-8-9
08:44 只看该作者
This feature enables the ePWM module to be
automatically synchronized to the time

新手上路

?
?

base of another
ePWM module. Lead or lag phase control can
be added to the waveforms generated by
different ePWM
modules to synchronize them. In
up-down-count mode, the TBCTL[PSHDIR] bit
- 10 -
发短消息
加为好友


?
当前离线
configures the direction of
the time-base counter immediately after a
synchronization event. The new direction
is independent of the
direction prior to the synchronization
event. The TBPHS bit is ignored in
count-up or count-down modes.
See Figure 2-7 through Figure 2-10 for
examples.

Clearing the TBCTL[PHSEN] bit configures
the ePWM to ignore the synchronization
input pulse. The
synchronization pulse can still be
allowed to flow-through to the EPWMxSYNCO
and be used to
synchronize other ePWM modules. In this
way, you can set up a master time-base (for
example, ePWM1)
and downstream modules (ePWM2 - ePWMx) may
elect to run in synchronization with the
master. See
the Application to Power Topologies
Chapter 3 for more details on
synchronization strategies.

以上是很关键的一段话.大概意思是如果你选
择EPWM1模块的时基,你就可以使 能下游的其
余EPWMX模块和EPWM1有共同的时基.用这些
EPWM可以组成灵活的相位 关系.但是万变不
离其踪.他们有一个共同的时基.所有的相位
和周期都是相对这个时基的增减 关系啊.我们
也不用担心动态改变比较和周期寄存器的内
容会对占空比产生不确定的影响.TI 的工程
师早为我们设计好了同步缓存寄存器的内容.
类似于2812和2407的影子寄存器. 只有在下

- 11 -


一个比较周期里才可以改变占空比的.这个 设
计非常有用的.再就是刘和平老师翻译的影子
寄存器我感觉有些怪异.还是叫同步缓存寄存< br>器好理解些啊.

cccdv
TOP
3
#
大 中 小 发表于 2009-8-9 08:45 只看该作者
有啊,呵呵,感觉2812和28016不是一个应用场合的东西。2812主要是有

地址和数据总线可以带一大堆东西,flashram,显示器,等等。只要加几
新手上路
个片选信号做一个地址扩展,跟访问内部地址差不多。28016就是做电机控

?
制器用用了,顶多接片LCD,再I2C或spi加个eeprom,不会再有其他东西
发短< br>了。这种场合,不可能用2812这么贵的芯片了。不过感觉这种场合用28016
还是有点没意 思,100个脚,封装太大了。实际用的又不可能这么多。还有,
消息
?
加为其中AD有16个脚,一般项多用2,3个,电源加上地又有10多个脚,能做
IO口的只有30多 个。管脚利用率太低了。
要不是以前用的有点习惯了,宁可选freescale的dsp
好友
?
当前
离线

shlplato
TOP

4
#
大 中 小 发表于 2009-8-9 08:47 只看该作者
内部是级连的,只需要软件设置一下采用什么同步,比如zero,pr d等..28016
新手上路
去ti里面找spru791D吧(如果没有记错的话),pwm同步是可以设置的,他们

?
发短
是60m的主频,带can通信,大量应用于低成本的数字电源,2801的 16路ad
口,我觉得一点也不多,总而言之,资源的多少取决于你的期望的设计目标,
需要达 到什么性能.能用28016的绝对不用2801.
消息
?
加为
当前
好友
?
离线



- 12 -


如何用ePWM模块实现0%~100%占空比
控制
上网时间:2007年
11月01日

所属类别:
电源管理
I
电源管理
I
技术方案
I
技术方案
I
技术方案





关键字:
占空比 ePWM PWM 满量程
在某些应用中让占空比控制 达到满量程0%~100%是非常重要的。TMS320x280x系列处理
器使用灵活、配置丰富,是 在整个范围内实现满量程占空比控制的最佳选择。
增强型脉宽调制(ePWM)模块在保证系统开销 最小的前提下可提供0%~100%占空比。这些
模块有三种工作模式:加法计数模式、可逆计数模式和 减法计数模式,本文重点讨论前两种
工作模式。这里对TMS320x280xx28xxx ePWM的基本使用不做详细介绍,并假设用户已
熟悉TMS320x280xx28xxx ePWM(SPRU791)的使用。
PWM模块配置
ePWM模块包括以下几个子模块:时基(TB)子模块、计数器-比较器(CC)子模块、动作限定< br>(AQ)子模块、?死区(DB)发生器子模块、PWM斩波器(PC)子模块、故障断路器(Trip Zone)
子模块、事件触发器(ET)子模块。图1为PWM模块结构框图。

- 13 -



1

PWM
模块结构框图。

配 置ePWM模块时需要对上述子模块中的寄存器进行初始化。必须正确配置控制寄存器,
以便ePWM模 块能工作在上述三种模式的任意一种模式中。
在无需0%或100%的占空比的情况下,配置和使用 ePWM模块比较简单,按照TMS320x
280xx28xxx ePWM参考指南给出的程序就可 实现ePWM模块的配置。但0%和或100%
占空比的应用则属于特殊情况,需要按照附加的程序配置 ePWM模块。附加程序在本文的
网络版本中给出。
占空比的满量程调节
通过 执行附加的软件实现满量程的占空比调节,该软件可以跟踪当前占空比值和下一个占空
比值,并充分利用 动作限定子模块所具有的灵活的配置性能。该附加程序代码位于PWM中
断服务例程(ISR)中,如果 要改变下一个周期寄存器的数值,可以在当前ISR中进行设置。
下文描述了在可逆计数模式及加法计数 模式下,该软件的执行过程。
1. 可逆计数模式
当工作在可逆计数模式(PWM波形 对称)时,若加法计数达到的值与CMPA值相匹配,置位
ePWMxA输出;若减法计数达到的值与C MPA值相匹配,ePWMxA输出复位;如果CMP
A值与计数器的值不匹配,则调用ISR并加载阴 影寄存器。
在这种情况下,向CMPA寄存器加载0实现100%的ePWMxA占空比,向CMP A寄存器
加载大于或等于周期的数值实现0%的ePWMxA占空比。代码的执行过程如下:
在当前周期的ISR中,计算下一个PWM周期的比较寄存器的值,这样通过当前ISR就可
得知当前 和下一个周期的占空比。获知下一个周期的占空比能更好的了解当前周期,详细描
述如下:
a. 当CMPA值由非零变为零时:

- 14 -


(1) 改变动作确认控制寄存器的值,=AQ_SET。在下一个周期中立即使P
WM引脚置位。
(2) 在下一个周期(实际上是第一个100%占空比)的ISR中,将动作确认寄存器的值变为初
始值。
b. 当CMPA值由零变为非零时:
(1) 改变动作确认控制寄存器的值,=AQ_CLEAR,=A
Q_NO_ACTION。
(2) 改变LOADAMODE位的值,加载零或周期值。
需要注意的是,=AQ_SE T未发生变化,因此,对于最后一个'CMPA=0'
周期之后的下一个周期,即使CMPA值等于1, 当CMPA值与计数器值一致时,ePWM引
脚也应置为高电平。
将动作确认寄存器和控制 寄存器的值变回到SIR初始时的值,为下一个周期做准备。(实际
上第一个非0%周期或者第一个非零 CMPA周期都跟有一个零CMPA周期。)当CMPA值进
入周期寄存器和返回时无需上述操作。应初 始化为ET_1S
T,即每一事件都产生中断。
2. 加法计数方式
当采用加 法计数模式工作时,若计数器的值与ZRO值匹配,置位ePWMxA输出,若计数
器的值与CMPA值 匹配,则ePWMxA输出复位。CMPA值与计数器的值不匹配时调用IS
R,并加载阴影寄存器。
在这种情况下,向CMPA寄存器加载大于周期的一个值即可实现100%的ePWMxA占空比;向CMPA寄存器加载0实现0%的ePWMxA占空比。代码的执行过程如下:
采用加法计数 模式工作时,在当前周期的ISR中,计算下一个PWM周期的比较寄存器的
值。因此,通过当前ISR 就可得知当前和下一个周期的占空比。获知下一个周期的占空比
能更好的了解当前周期,详细描述如下:
a. 当CMPA的值由非零变为零时:
(1) 改变动作确认控制寄存器的值,=AQ_CLEAR。在下一个周期中立即
清除PWM引脚的状态。
(2) 在下一个周期(实际上是第一个100%占空比)的ISR中,将动作确认寄存器的值变为初
始值。
b. 当CMPA值由零变为非零时:
(1) 改变动作确认控制寄存器的值=AQ_SET。

- 15 -


(2) 改变LOADAMODE位的值,加载零或周期值。
需要注意的是 :=AQ_CLEAR未发生变化。因此,在最后一个CMPA=0
周期后的下一个周期,即使该周期的 CMPA值等于1,在CMPA匹配时也应清除ePWM引
脚的状态。
(3) 将动作确认 寄存器和控制寄存器的值变回到ISR初始值,为下一个周期工作做准备。(实
际上第一个非0%周期或 者第一个非零CMPA周期都跟有一个零CMPA周期)。
当CMPA值进入周期寄存器和返回时无需上述操作。
应初始化为ET_1ST,即每一事 件都产生中断。也应按此
方法配置PWM时基子模块,这样可确保在可逆计数模式下,可在半个PWM周 期内即可执
行完ISR代码;而在加法计数模式下,可在一个PWM周期内执行完ISR代码。
软件流程
代码执行的软件流程图如图2所示。

- 16 -



2
:代码执行的软件流程图。

程序代码示例
下列ISR程序代码可用于实现加法计数模式下ePWM模块的0%-100%占空比调节。这些
代码为ePWM1A和ePWM1B提供独立控制,并使ePWM1B对ePWM1A起到补充作用。


- 17 -



- 18 -



3

ISR
程序代码。



- 19 -

每个的英文-一撮


唱歌的英语怎么读-浓稠的反义词


什么是佣金-escalator


想报托福培训班-无赖的意思


漂亮女孩英文怎么说-吃字


音乐会的英语-does和do的用法区别


千钧一发的发是什么意思-twelve怎么读


戍卒-lovers



本文更新与2020-10-31 10:39,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/434925.html

28335_EPWM产生PWM的相关文章

  • 爱心与尊严的高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊严高中作文题库

    1.关于爱心和尊严的作文八百字 我们不必怀疑富翁的捐助,毕竟普施爱心,善莫大焉,它是一 种美;我们也不必指责苛求受捐者的冷漠的拒绝,因为人总是有尊 严的,这也是一种美。

    小学作文
  • 爱心与尊重的作文题库

    1.作文关爱与尊重议论文 如果说没有爱就没有教育的话,那么离开了尊重同样也谈不上教育。 因为每一位孩子都渴望得到他人的尊重,尤其是教师的尊重。可是在现实生活中,不时会有

    小学作文
  • 爱心责任100字作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任心的作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文
  • 爱心责任作文题库

    1.有关爱心,坚持,责任的作文题库各三个 一则150字左右 (要事例) “胜不骄,败不馁”这句话我常听外婆说起。 这句名言的意思是说胜利了抄不骄傲,失败了不气馁。我真正体会到它

    小学作文