28335-epwm产生pwm

上传人:n**** 文档编号:91122777 上传时间:2019-06-23 格式:DOC 页数:19 大小:865KB
返回 下载 相关 举报
28335-epwm产生pwm_第1页
第1页 / 共19页
28335-epwm产生pwm_第2页
第2页 / 共19页
28335-epwm产生pwm_第3页
第3页 / 共19页
28335-epwm产生pwm_第4页
第4页 / 共19页
28335-epwm产生pwm_第5页
第5页 / 共19页
点击查看更多>>
资源描述

《28335-epwm产生pwm》由会员分享,可在线阅读,更多相关《28335-epwm产生pwm(19页珍藏版)》请在金锄头文库上搜索。

1、28335 ePWM模块中产生PWM的必要配置一个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(事件触发模块)等五个模块。- 19 -Time-b

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

3、期为0.5ms。Counter-compare (CC) moduleCounter-compare (CC) module为比较器模块有CMPCTL (比较控制寄存器)设置CMPA、CMPB的重载模式CMPAHR(高速PWM用),CMPA(比较值寄存器A)设置EPWMxA的比较值,有影子寄存器。CMPB(比较值寄存器B)设置EPWMxB的比较值,有影子寄存器。本程序只应用了CMPA,设置计数器到零时重载CMPA。Action-qualifier (AQ) moduleAction-qualifier (AQ) module比较方式预设模块AQCTLA (输出A比较方式控制寄存器)设置EPWM

4、A的比较方式有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、EPWMB的输出为low或high或AQ

5、CSFRC不起作用,有影子寄存器,当寄存期被加载后的第二个时钟开始作用,如TBCLK=0时加载,TBCLK=1时开始起作用说明:CBD为TBCTR(计数器)与CMPB在down计数时相等使输出为low或high或反向或不动作CBU为TBCTR(计数器)与CMPB在up计数时相等使输出为low或high或反向或不动作CAD为TBCTR(计数器)与CMPA在down计数时相等使输出为low或high或反向或不动作CAU为TBCTR(计数器)与CMPA在up计数时相等使输出为low或high或反向或不动作PRD为TBCTR(计数器)与TBPRD(周期寄存器)相等时使输出为low或high或反向或不动

6、作ZRO为TBCTR(计数器)计到零时使输出为low或high或反向或不动作注意:以上均是相等时起作用,其它时间不管,只有AQCSFRC(软件连续强制控制寄存器)持续起作用如同时出现比较则优先级如图例:CMPA=100,CMPB=100,up计数,EPWMA初始为低,CAU设置高,CBU设置低,当TBCTR计到100时,CAU、CBU同时作用,根据优先级,EPWMA输出低。当CMPA=100,CMPB=110,其它不变,当TBCTR计到100时,EPWMA输出高,计到110时EPWMA输出低。本程序只应用了EPWMA输出通过Dead-band (DB) module产生互补的PWM波形。Act

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

8、束时为高。Dead-band (DB) moduleDead-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的反向。Event-trigger (ET) moduleEvent-trigger (ET) module中断事件模块ETSEL(中断选择寄存器)使能及事件源选择(SOCA触

9、发ADC转换,SOCB触发ADC转换,中断)ETPS(中断预设寄存器)xxxCNT记录时间发生次数,当与xxxPRD相等时,发出中断信号,xxxCNT停止计数,当标志为清除时xxxCNT置零重新计数ETFLG(中断标志寄存器)状态标志位,中断时为1ETCLR(中断标志清除寄存器)写1清除相应标志位ETFRC(强制中断寄存器)写1强制相应中断发生本程序选择SOCA触发ADC转换,TBCTR=0位中断事件源,xxxPRD为1。TMS320F280X系列DSP的EPWM讨论我们大家知道.2812,2407等系列的EVA.EVB模块等能产生丰富的PWM波型.但是要作为一个系列的话.我还是推荐大检查使用

10、280X系列.一个主要原因是它们的引脚可以完全共用.这就为我们研发从低到高的产品提供了一个通用平台.2809好象百元左右吧.2808是80RMB.小袖珍的热门DSP28016可能也就超不过30RMB.那可是32位60M主频的带全基本上的接口.我觉的280X系列从价位和封装上为我们提供了灵活的选择余地.但是现在280X的资料好象很少.看了一下他们的EPWM模块有些没弄明白.比如为使所有EPWM在一个同步时基上工作.他们的EPWMXSYNCI和EPWMXSYNCO是不是要级联起来.但是好象没看见EPWM1-EPWM6有外接这么多同步时钟接口啊.是不是在软件里Writing a 1 to the T

11、BCTLSWFSYNC 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 onEPWMxSYNCI.就不用管外设的同步始终接口EPWMSYNCI和EPWMSYNCO啊.其实多半做PWM控制的都希望能用硬件产生有固定时基的时钟信号啊.再就是有没有类似2407和2812等的影子寄存器(同步缓存寄存器).在定时周期中断中不用担心会在不恰当

12、的时候改变了比较和周期寄存器的内容.他们只会在当前执行了前一控制内容后再执行改变的寄存器内容.避免了时空错乱啊.280X有没有类似的设置啊?UID41338帖子3精华0积分0阅读权限10在线时间0 小时注册时间2009-8-9最后登录2009-8-9查看详细资料TOP 61IC代码工厂*永久免费*所有代码都通过官方审核,保证代码的完整性.ikki9899 新手上路 发短消息 加为好友 当前离线 2# 大 中 小 发表于 2009-8-9 08:44 只看该作者 This feature enables the ePWM module to be automatically synchroniz

13、ed to the time base of anotherePWM module. Lead or lag phase control can be added to the waveforms generated by different ePWMmodules to synchronize them. In up-down-count mode, the TBCTLPSHDIR bit configures the direction ofthe time-base counter immediately after a synchronization event. The new di

14、rection is independent of thedirection 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 TBCTLPHSEN bit configures the ePWM to ignore the synchronization input pulse. Thesynchronization pulse can

15、still be allowed to flow-through to the EPWMxSYNCO and be used tosynchronize 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. Seethe Application to Power Topologies Chapter 3 for more details on synchronization strategies.以上是很关键的一段话.大概意思是如果你选择EPWM1模块的时基,你就可以使能下游的其余EPWMX模块和EPWM1有共同的时基.用这些EPWM可以组成灵活的相位关系.但是万变不离其踪.他们有一个共同的时基.所有的相位和周期都是相对这个时基的增减关系啊.我们也不用担心动态改变比较和周

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号