C语言编程修养.doc
《C语言编程修养.doc》由会员分享,可在线阅读,更多相关《C语言编程修养.doc(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、如有侵权,请联系网站删除,仅供学习与交流C语言编程修养【精品文档】第 7 页在某些应用中让控制达到0%100%是非常重要的。TMS320x280x系列使用灵活、配置丰富,是在整个范围内实现满量程占空比控制的最佳选择。 增强型脉宽调制()模块在保证系统开销最小的前提下可提供0%100%占空比。这些模块有三种工作模式:加法计数模式、可逆计数模式和减法计数模式,本文重点讨论前两种工作模式。这里对TMS320x280xx/28xxx e的基本使用不做详细介绍,并假设用户已熟悉TMS320x280xx/28xxx ePWM(SPRU791)的使用。 PWM模块配置 ePWM模块包括以下几个子模块:时基(
2、TB)子模块、计数器-比较器(CC)子模块、动作限定(AQ)子模块、?死区(DB)发生器子模块、PWM斩波器(PC)子模块、故障断路器(Trip Zone)子模块、事件触发器(ET)子模块。图1为PWM模块结构框图。 图1:PWM模块结构框图。配置ePWM模块时需要对上述子模块中的寄存器进行初始化。必须正确配置控制寄存器,以便ePWM模块能工作在上述三种模式的任意一种模式中。 在无需0%或100%的占空比的情况下,配置和使用ePWM模块比较简单,按照TMS320x280xx/28xxx ePWM参考指南给出的程序就可实现ePWM模块的配置。但0%和/或100%占空比的应用则属于特殊情况,需要按
3、照附加的程序配置ePWM模块。附加程序在本文的网络版本中给出。 占空比的满量程调节 通过执行附加的软件实现满量程的占空比调节,该软件可以跟踪当前占空比值和下一个占空比值,并充分利用动作限定子模块所具有的灵活的配置性能。该附加程序代码位于PWM中断服务例程(ISR)中,如果要改变下一个周期寄存器的数值,可以在当前ISR中进行设置。下文描述了在可逆计数模式及加法计数模式下,该软件的执行过程。 1. 可逆计数模式 当工作在可逆计数模式(PWM波形对称)时,若加法计数达到的值与CMPA值相匹配,置位ePWMxA输出;若减法计数达到的值与CMPA值相匹配,ePWMxA输出复位;如果CMPA值与计数器的值
4、不匹配,则调用ISR并加载阴影寄存器。 在这种情况下,向CMPA寄存器加载0实现100%的ePWMxA占空比,向CMPA寄存器加载大于或等于周期的数值实现0%的ePWMxA占空比。代码的执行过程如下: 在当前周期的ISR中,计算下一个PWM周期的比较寄存器的值,这样通过当前ISR就可得知当前和下一个周期的占空比。获知下一个周期的占空比能更好的了解当前周期,详细描述如下: a. 当CMPA值由非零变为零时: (1) 改变动作确认控制寄存器的值,AQCTLA.bit.ZRO=AQ_SET。在下一个周期中立即使PWM引脚置位。 (2) 在下一个周期(实际上是第一个100%占空比)的ISR中,将动作确
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 编程 修养
限制150内