
ePWM,第一次接触,以前PWM倒是久闻大名。
ePWM其实就是增强型的PWM,可以通过各种寄存器,去配置PWM的各种特性
每个ePWM模块有xA和xB两路输出
除了常见的周期、占空比外,可以设置死区、动作类型、斩波等等特性
为毛TI的DSP很适合电机类、开关电源等领域,估计ePWM加了不少分吧
直接看例程
历程里面启用了PWM1-PWM3,并设置对应的中断和参数
值得注意的是所有这3组PWM的周期都不是通过TBPRD字段来进行配置计数器周期来得到PWM周期
虽然定义了EPWM1_TIMER_TBPRD、EPWM2_TIMER_TBPRD和EPWM3_TIMER_TBPRD ,但貌似他们的取值都是2000,反倒是利用HSPCLKDIV和CLKDIV字段来进行系统时钟的分频。进而获得PWM的频率
另外一个是PWM3B,触发后的动作是TOGGLE,其实这路并没有输出PWM,而是一个常规方波。
F28335有关ePWM的寄存器贼多,数据手册和教材得备在旁边才能摸索
倒腾了一下午,才勉强了解大概是如何工作的。
主要就是7个模块,TB、CC、AQ、DB、PC、TZ和ET,但是常规PWM的输出重点要处理TB、CC、AQ、ET的相关寄存器
寄存器太多了,建议还是慢慢查看数据手册,再对照进行仿真调试
TI的源码也是定义了一大堆的结构体,还相互嵌套,有点坑。
直接来个视频吧
视频地址:http://player.youku.com/player.php/sid/XNjYzNjU3OTc2/v.swf
示波器很清楚看出来,经典的PWM波形啊
其实想玩玩死区和斩波的,USBee不争气,示波器通道2显示有问题,调试半天也没搞定,先缓缓。
整了个RGB的LED,PWM控制LED也是比较常见的用途吧
还有板载的2个LED,CPLD里面直通,渐暗渐灭
直通啊直通
懒人都用原理图,不用描述语言。
眼睛花了,到这儿先。


回复
打赏帖 | |
---|---|
【Zephyr】MCXN947 Zephyr 开发入门适配shell被打赏20分 | |
【我要开发板】6.联合MATLAB记录数据被打赏50分 | |
【瑞萨RA2E1开发板】:使用ADC功能实现位移传感器采集方案被打赏20分 | |
【nRF7002DK】基于sht30的温湿度计被打赏20分 | |
【nRF7002DK】日志打印被打赏20分 | |
rtthread硬件加密-5hash加密分析被打赏10分 | |
【STM32F769】SD卡驱动及其调试经验分享被打赏32分 | |
【分享开发笔记,赚取电动螺丝刀】使用看门狗降低系统隐藏bug触发概率被打赏18分 | |
【STM32F769】调试SD驱动,由于其时钟配置不对引起的错误以及排查记录被打赏35分 | |
【分享开发笔记,赚取电动螺丝刀】MCUXpressoConfigTools配置外设时的异常解决被打赏24分 |