DSP C2000 TMS320F28002X 数字电源学习记录------------------------System Configuration Tool配置ePWM(HRPWM)

目录

一、ePWM---时基模块TB

二、ePWM---计数器比较子模块CC

三、 ePWM---动作限定模块AQ

四、ePWM---死区发生器模块DB

五、ePWM---高分辨模块HRPWM

六、ePWM---事件触发器模块ET

以上,第一节至第六节内容,配置完成了中心对称、互补、死区的两路高精度HRPWM输出,并且完成PWM触发ADC-EOC中断计算PID更新下一个周期的占空比。接下来配置CMPSS比较器&X-BAR&ePWM的DC模块&ePWM的TZ模块,来完成One-Shot过流/过压保护功能。

七、CMPSS---比较器

八、X-BAR----交叉开关ePWM-BAR

九、ePWM----数字比较模块DC

十、错误联防模块TZ

以上,当A2端口超过阈值,信号会连接到CMPSS---EPWM-BAR---DC模块---TZ模块,已达到过流/过压封波的功能。

十一、CPUTimer&SFO

贴个代码,代码由SysCfg工具导出,生成的代码在Board_init()中,在while(1)中写了一个占空比一直滑动的程序,并且建立了两个中断函数接口TZ/ADC。


  STM32现在开发流行使用STM32CUBEMX来完成初始化,极大得节省了配置单片机时间,也让配置变得更加简单可靠。Ti的C2000也随之推出自己的System Configuration Tool工具用来对C2000初始化。

图1:ePWM模块与其他外设关系

 图2:ePWM内部子模块之间关系

 打开CCS最新版,任意导入一个F28002X工程(建议简单的GPIO工程),点击左侧C2000.syscfg会弹出Ti的System Configuration Tool,添加一个EPWM,在EPWM模块下找到Time Base子模块配置栏。

  • 一、ePWM---时基模块TB

   计划配置一对中心对称且互补的PWM,频率为100Khz,那么TimeBase作为定时器将它定义为向上向下计数方式,TimeBasePeriod=999。

  • 二、ePWM---计数器比较子模块CC

设置比较器CMPA,CMPB初始值=0,这里不再赘述比较简单。

  • 三、 ePWM---动作限定模块AQ

AQ模块内部图 

这里AQ模块仅需要更改ePWMxA部分,TB计数等于COMPA时的变化来输出 互补中心对称PWMxA/PWMxB,为什么无需配置ePWMxB部分,接下来说到DB模块会讲到。

  • 四、ePWM---死区发生器模块DB

 DB模块内部图

 选择Active High Complementary(AHC), 即互补带死区输出模式。由DB模块内部图可知,OUTA/OUTB可以由AQ模块输出的ePWMxA为信号源,在ePWMxA基础上叠加死区延时和反向器完成了互补带死区输出方式,其中Rising/Falling Edge Delay Value分别为OUTA/OUTB的死区延时值10,10=10*TBclk,由之前配置的TBclk=主频100M/(1*1),可知10这里延时为100ns。

  • 五、ePWM---高分辨模块HRPWM

 

 因为是中心对称PWM,那么MEP作用于上升沿和下降沿。

 上图为参考文档翻译下来的,由此可知,当使用HRPWM时且Period=1000时,那么普通比较值CMPA只能在3~997之间,即占空比为0.3%~99.7%。

 设置比较器值时使用

HRPWM_setCounterCompareValue(EPWM1_BASE,HRPWM_COUNTER_COMPARE_A,X);

来调制占空比,X值为CMPA<<8+CMPAHR,由Period(1000<<8=25600)和范围限制可知X范围为:768~255232(0.3%~99.7%)。

计算分辨率EPWMclk=100Mhz,

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值