如何使用RX系列的GPTW生成两路可调频率的任意相位差的pwm波

描述

 

在实际的应用中会用到需要输出一定相位差的PWM波,而且在运行过程中还需要调整PWM的频率,下面介绍使用瑞萨RX系列MCU内部的GPTW实现这种功能的方法,我们以RX66T为例。

 

RX66T概览

RX66T系列微控制器是首批搭载RXv3第三代RX CPU内核的产品,是电机控制应用的最佳选择。RX66T系列可通过最大160 MHz工作频率的CPU内核和电机控制外设,能同时控制多达四台电机。内置的安全和安全功能还为变频控制应用提供了新的附加价值。

 

有关RX66T的更多介绍与技术、销售支持,请识别下方二维码或点击文末阅读原文访问查看:

mcu

 

  • RXv3 Core 160MHz operation (5.8 CoreMark/MHz), single-precision FPU

  • 2.7V to 5.5V操作

  • 工作温度-40 °C ~ 105 °C

  • 程序闪存高达1MB,高达128KB的SRAM

  • 增强型模拟:

12位A/D转换器x3个单元,12位D/A转换器x2个通道

6通道比较器

6通道伪差分PGA

  • 160MHz PWM:

4通道:用于3相互补开关,2个通道:用于5相互补开关,10个通道:用于单相互补开关

4通道高分辨率PWM可实现最小195ps的时序调整

  • 可信安全IP精简版(AES/TRNG)

 

首先先看一下GPTW的PWM输出模式,如下面表格所示,可以看到在GPTW的GTCR寄存器的MD位可以设置PWM输出时的模式,主要的工作模式分为两大类,一类是锯齿波的工作模式另外一类是三角波的工作模式。

mcu

 

锯齿波模式

如下图为锯齿波的模式,在这种模式下,GTCNT寄存器的值会单向增加,达到设定周期值时,GTCNT的值清零。PWM的产生由各个比较计数器和GTCNT比较相等后翻转产生,比如下图中的GTCCRC、GTCCRD、GTCCRE和GTCCRF。

mcu

 

三角波模式

如下图为三角波的模式,在这种模式下,GTCNT的值会增加达到定时周期值时,变为减计数,直到0。这种工作模式下,每一个周期内GTCNT的值会和同一个比较寄存器的值进行两次比较反转,所以会出现左右对称的PWM波,如果想实现两个上升沿或者下降沿相差固定度数的PWM比较困难,同时调整周期和相位也比较麻烦。

mcu

 

根据分析,我们选择GPTW工作在三角波模式,而sawtooth-wave one-shot pulse mode是最合适的(这几种工作模式的区别请参考RX66T的用户手册)。

 

假设我们的需求是:生成两路周期相等的PWM波,而且能够要求周期可以动态调整,同时需要两路PWM的上升沿具有一定的相位差,并且相位差在运行过程中可以动态调整。

 

下面就介绍一下如何使用GPTW实现这个功能,首先需要使用三路GPTW定时器,定时器的设置如下:

1)GPTW1设置为锯齿波模式,作为GPTW2和GPTW3的周期清零信号定时器,它用来控制两个PWM输出的周期。

2)GPTW2设置为sawtooth-wave one-shot pulse mode,波形的占空比和死区时间(死区时间仅在GPTW需要输出一对互补PWM时才需要,在这个例子里不用考虑)由GPTW2的比较寄存器(比如GTCCRC和GTCCRD)来决定,这个定时器的周期设置值远大于GPTW1的周期值,同时设置GPTW2可以被外部清零启动信号触发,触发信号为GPTW1的周期溢出信号。

3)GPTW3设置为sawtooth-wave one-shot pulse mode,波形的占空比和死区时间(死区时间仅在GPTW需要输出一对互补PWM时才需要,在这个例子里不用考虑)由GPTW3的比较寄存器(比如GTCCRC和GTCCRD)来决定,这个定时器的周期设置值远大于GPTW1的周期值,同时设置GPTW3可以被外部清零启动信号触发,触发信号为GPTW1的比较相等信号。

 

mcu

GPTW的工作过程如上图所示

在标签1处,GPTW2会被GPTW1的溢出信号清零启动,所以两个标签1之间的时间就为GPTW2周期时间。在标签2处,GPTW3会被GPTW1的比较相等信号清零启动,所以上图两个标签2之间的时间就是GPTW2的周期时间。当GPTW1的周期和GTCCRA的值不变时,GPTW2和GPTW3的周期是一致的,都为GPTW1的周期值,而GTCCRA的值决定了两个PWM的相位差。

 

所以在调整GPTW2和GPTW3的周期时只用调整GPTW1的GPTR寄存器即可。调整相位差时,调整GPTW1的GTCCRA寄存器即可。而GPTW2和GPTW3自身的占空比可以通过调整自己比较寄存器来实现。

通过这种方式就很容易输出满足要求的PWM波。

 

1

END

1

 

 

mcu  


原文标题:如何使用RX系列的GPTW生成两路可调频率的任意相位差的pwm波

文章出处:【微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分