tms320f28027的PWM模块教学文案.docx
- 文档编号:24207542
- 上传时间:2023-05-25
- 格式:DOCX
- 页数:9
- 大小:784.41KB
tms320f28027的PWM模块教学文案.docx
《tms320f28027的PWM模块教学文案.docx》由会员分享,可在线阅读,更多相关《tms320f28027的PWM模块教学文案.docx(9页珍藏版)》请在冰豆网上搜索。
tms320f28027的PWM模块教学文案
tms320f28027的PWM模块
总结一下28027的PWM模块。
28027包含PWM1,PWM2,PWM3,PWM4四个PWM模块,所有的PWM模块的寄存器结构都一样,唯一的区别就是同步时的操作顺序不一样。
PWM模块可以分为时基(Timerbase),计数器比较(CounterCompare),PWM波形发生器(ActionQualifer),死区设置(DeadBand),高频PWM斩波(PWMchopper),错误处理(TripZone),事件触发及中断(EventTriggerandInterrupt)等子模块组成,基本框图如下。
下面按照文档SPRUGE9E的顺序逐个来看这些子模块:
1. 时间基准
这个模块的作用就是产生三个信号,
CTR=PRD 计数寄存器的值等于周期寄存器时,产生的脉冲序列
CTR=0 计数寄存器的值等于0时,产生的脉冲序列
CTR-DIR 表示计数方向,计数器向上计数时常为1;向下计数时常为0,向上计数到Period后向下到0(up-down)则为1-0交替。
另外这个模块能接受上个PWM模块发来的同步信号,并向下一个PWM模块发送同步信号。
TBCTL设置项如下:
计数模式(up,down,up-down),
同步使能(收到同步信号时是否加载相位寄存器的值到计数寄存器),
周期寄存器的操作方式(直接读写或先写入shadow寄存器然后在某时刻加载到周期寄存器)
同步信号输出触发方式
软件同步
分频系数(设置PWM模块的时钟频率)
同步后计数方向设置(在up-down计数模式时,设置同步后的计数方向,其他模式下,该设置无效)
仿真时PWM计数设置
TBSTS PWM状态寄存器
TBPHS 相位寄存器(仅在同步时用到)
TBCTR 计数寄存器
TBPRD 周期寄存器
其他寄存器在高分辨率的PWM时才用到,现在先不管
PWM模块同步可以理解为多个周期相等的PWM模块发出PWM信号时,计数器的值相等或保持固定的差值。
这个在做空间矢量电压时很重要。
28027的同步过程如下图:
PWM1可以接受外部的同步信号,然后发出一个同步信号给PWM2,同样PWM2生成一个同步信号给PWM3。
。
。
只有PWM1可以接受外部的同步信号(引脚名EPWM1SYNCI),其他PWM模块可以接受上一个模块的同步信号。
每个PWM模块都能发出同步信号给下一个模块,具体设置在TBCTL寄存器(SYNCOSEL)。
(00-输入同步信号触发;01-CTR=0触发;10-CTRCMPB触发;11-禁止发出同步信号)
时间基准模块有几个设置实例的时序图,这里选了一个。
其中在PWM模块收到同步信号时,计数寄存器将加载相位寄存器的值。
2. 计数比较模块
这个模块的作用就是将比较寄存器CMPA,CMPB的值与前面的计数寄存器TBCTR进行比较,生成CTR=CMPA和CTR=CMPB两个脉冲序列信号。
这个模块的相关寄存器如下
CMPCTL可以设置CMPA,CMPB的从shadow加载
CMPA,CPMB16位数值寄存器
3.PWM波形发生器(ActionQualifier)
该模块产生两路PWM波:
PWMA,PWMB。
前面生成的CTR=CMPA,CTR=CMPBCTR=PRD,CTR=0,来决定PWMA和PWMB,什么时候是1,什么时候是0,或者什么时候翻转
相关寄存器如下:
AQCTLA 设置PWMA在CTR=CMPA(上升沿,下降沿),CTR=CMPB(上升沿,下降沿),CTR=PRD,CTR=0时分别进行什么操作(清0;置1;翻转或Donothing)
AQCTLB 设置PWMB在CTR=CMPA(上升沿,下降沿),CTR=CMPB(上升沿,下降沿),CTR=PRD,CTR=0时分别进行什么操作(清0;置1;翻转或Donothing)
AQSFRC 设置单次软件触发,以及软件触发对PWMAPWMB的影响。
AQCSFRC 连续软件触发对PWMAPWMB的影响。
(编者注:
不知道连续软件触发是怎么产生的,单次软件触发可以在AQSFRC里面设置。
)
4. 死区设置
设置死区,可以方便地生成两路互补或一样的PWM波形。
相关寄存如下图
DBCTL设置上图中的六个开关,在s0,s1都为0时,死区设置无效;s0,s1=1,1,s4,s5=0,0,则EPWMxB无效,可以由EPWMxA生成两路一样或互补的PWM。
DBRED,DBFED设置上升沿和下降沿的滞后时间。
5.PWM斩波
斩波部分只有一个控制寄存器,就不多说,反正我用不到,也不知道哪里会需要用到这个。
大致的功能如下图,将输入的PWM波形的与高频信号PCLK(接近于时间频率,该信号的占空比可在([1,7]/8)范围内调整)叠加。
、
6.错误处理(Trip-zone)
按照文档上的说明,这个模块是根据TZ1-6信号(可以是外部信号,也可以在内部产生)来控制PWM的行为。
可以用来做过流保护,电流限制等等
TZSEL选择TZ信号(DCAEVT1/2,DCBEVT1/2,TZ1-6)(Oneshot和cyclebycycle两种模式)
TZDCTL设置TZ信号对应的操作(置1,清零,高阻,Donothing)
TZDCSEL 设置产生数字比较器事件的条件
TZEINT 对应信号的中断使能
TZFLG TZ触发标志
TZCLR TZ触发标志清零
TZFRC 软件触发TZ事件
7.事件触发(Event-Trigger)
事件触发模块产生EPWMxINT EPWMxSOCAEPWMxSOCB三个信号,可以用来触发AD转换
ETSEL 使能并选择事情触发源
ETPS 选择分频系数(1;1/2;1/3)
ETFLG 事件触发状态标识
ETCLR 清除状态标识
ETFRC 软件触发对应是事件
[讨论] TMS320F28022的HRPWM能输出互补并带死区的2路PWM吗?
不可以。
HRPWM模式下B路输出不是高分辨率的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- tms320f28027 PWM 模块 教学 文案