公告

大中华汽车电子生态圈社区并入开发者社区- 更多资讯点击此

Tip / 登入 to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
OceanLake
Level 1
Level 1
10 replies posted 10 sign-ins 5 replies posted

大家好,

     使用TC234芯片的GTM TOM实现PWM的0%和100%占空比时,出现和预期现象不一致。

配置了三个TOM通道,以下是具体配置:

GTM_TOM0_CH1:作为周期通道,CN0的复位由自身的CN0=CM0时触发,作为其他通道的CN0复位触发源,SL=0,CM0=500,CM1=250;

GTM_TOM0_CH2:作为波形输出通道,CN0的复位由前通道触发,SL=0,CM0=500,CM1=0;

GTM_TOM0_CH3:作为波形输出通道,CN0的复位由前通道触发,SL=1,CM0=500,CM1=0;

期望现象是:GTM_TOM0_CH2通道输出高电平;GTM_TOM0_CH3通道输出低电平;

实际现象是:GTM_TOM0_CH2通道输出低电平;GTM_TOM0_CH3通道输出高电平;

根据手册中的解释如下:

如果RST_CCU0配置为由前一个通道trigger触发,则:
CM0定义边缘到SL的值,CM1定义边缘到SL(取反)的值
如果CM0=CM1,则输出为100%SL(CM0具有更高的优先级)
如果CM0=0,输出保持在其最后值(CN0停止计数);

但是我这里CM1=0,CM0=500,它俩值并不相等,不应该按照SL输出啊

0 点赞
1 解答
Translation_Bot
Community Manager
Community Manager
Community Manager

你好!

我想让你看看iLD库是如何处理这个问题的。 可能是你遇到了以下两个函数中描述的问题: ifxGTM_TOM_pwmhl_updateCenterAligned ifxGTM_TOM_pwmhl_updateEdgeAligned 在 /* 由于 GTM 问题导致的特殊处理 */ 注释下方。请检查。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/There-was-an-error-in-the-0-%E4%B8%8E100-duty-cycle-of-the-TC234-chip-GTM-TOM-in-PWM/m-p/687102

在原帖中查看解决方案

0 点赞
5 回复数
Kunqiao_L
Moderator
Moderator
Moderator
First comment on blog First like given 25 likes received

你好,

你先试试,每个channel独立触发,RST_CCU0=0。不依靠上级通道。先确定CH1, CH2, CH3的波形是不是你预期的一样。

然后如果没问题,依次加CH1复位触发CH2,看看有没有问题。

接着你可以把你每次测试情况的相关的寄存器配置都分享下看看:

Kunqiao_L_0-1706671060929.png

还有你也可以再参考下相关例程的配置对你是否有没有帮助:

GTM_TOM_PWM_1_KIT_TC234_TFT 

 

 

0 点赞
OceanLake
Level 1
Level 1
10 replies posted 10 sign-ins 5 replies posted

你好,

我这边测试GTM_TOM0_CH2和GTM_TOM0_CH3通道发波都是正常的,实际应用中他俩是互补通道,所以我需要将CH2配置输出100%占空比,CH3配置输出0%占空比,下图是几个配置寄存器的配置:

OceanLake_0-1706686480813.png

 

0 点赞
Kunqiao_L
Moderator
Moderator
Moderator
First comment on blog First like given 25 likes received

你好,

那你CH1,CH2, CH3让他们一个50%,一个100% 一个0%可以么。也就是他们都同时使用,只是不依赖上级触发

0 点赞
OceanLake
Level 1
Level 1
10 replies posted 10 sign-ins 5 replies posted

你好,

将CH1、CH2、CH3的CN0设置为CN0==CM0复位时,是可以正常输出50%,100%和0%的。

而且我试过另一个场景,将CH2、CH3的CM1=0,CM0=500+1,这时也可以正常输出50%,100%,0%(而不是错误现象50%,0%,100%)。

0 点赞
Translation_Bot
Community Manager
Community Manager
Community Manager

你好!

我想让你看看iLD库是如何处理这个问题的。 可能是你遇到了以下两个函数中描述的问题: ifxGTM_TOM_pwmhl_updateCenterAligned ifxGTM_TOM_pwmhl_updateEdgeAligned 在 /* 由于 GTM 问题导致的特殊处理 */ 注释下方。请检查。

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/AURIX/There-was-an-error-in-the-0-%E4%B8%8E100-duty-cycle-of-the-TC234-chip-GTM-TOM-in-PWM/m-p/687102

0 点赞