本篇介绍一个RX66T MCU的应用案例,使用GPTW模块中的锯齿波单触发模式(Sawtooth-Wave One-Shot Pulse Mode)功能,输出带指定相位差(如120°)的三相六路互补PWM波形,来满足客户个性化的应用需求。本案例使用smart configurator生成器提供主体代码框架,并使用瑞萨官方推荐的CPU card for RX66T(RTK0EMX870C00000BJ)进行测试,具有较强的移植性。
1、根据需求设GPT4、GPT5、GPT6为Sawtooth-Wave One-Shot Pulse Mode,并设置为double buffer operation模式。
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261893-1.png&…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
2、设置GPT4、5、6的GTCCRA、GTCCRB为compare match output,并设置其初始化模式。
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261894-2.png&…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261895-3.png&…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
3、使能GPT4 overflow中断,客户可以在控制过程中,根据需要设置新周期和占空比,因为本需求中,GPT5和GPT6控制策略是跟随GPT4,所以不需要开启GPT5和GPT6的overflow中断。
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261896-4.png&…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
4、设置GPT7为Sawtooth-Wave PWM Mode,并设置为no buffer operation模式。
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261897-5.png&…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
5、设置GPT7的GTCCRA、GTCCRB为非输出模式。
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261898-6.png&…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
6、打开GTCCRA和GTCCRB compare match interrupt,这两个中断将分别在相位差的时刻,分别启动GPT5和GPT6以使三相输出相位满足相位差。而且,GPT7只起同步相位使用,所以在完成这个工作后,立即停调它。
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261899-7.png&…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261900-8.png&…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261901-9.png&…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
7、根据需求可以增加个性化的设置,比如增加POE的功能,开始或转换时禁止输出,待波形稳定后,再开启。
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261902-10.png…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
增加GPT8同步GPT4的信号,并中断中翻转端口,以方便观察周期。
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261903-11.png…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261904-12.png…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261905-13.png…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
8、测试效果如图所示
0通道为GTIOC4A输出;
1通道为GTIOC4B输出;
2通道为GTIOC5A输出;
3通道为GTIOC5B输出;
4通道为GTIOC6A输出;
5通道为GTIOC6B输出;
6通道为同步信号。
<strong><font color="#4e5e9e">相位差120度案例</font> </strong>
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261906-14.jpg…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261907-15.jpg…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
<strong><font color="#4e5e9e">相位差180度样例</font> </strong>
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261908-16.jpg…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
<center><img src="http://mcu.eetrend.com/files/2022-07/wen_zhang_/100562167-261909-17.jpg…; alt=“使用RX66T输出具有指定相位差的互补PWM波" /></center>
RX-T系列有MTU和GPT两个模块可以输出多种模式PWM波形,可以满足不同应用中的诸多个性化需求。
来源:<a href="https://mp.weixin.qq.com/s/vDI25mnILU0NFLexngF-vw">瑞萨MCU小百科</a>
免责声明:本文为转载文章,转载此文目的在于传递更多信息,版权归原作者所有。本文所用视频、图片、文字如涉及作品版权问题,请联系小编进行处理(联系邮箱:cathy@eetrend.com)。