我们是做开关电源产品的,需要两路互补的 PWM 驱动去做全桥或半桥电路控制。这两个驱动的要求如下:“1.绝对互补。即使软件跑飞了,占空比的设置参数出错,也希望在芯片内部有一个机制,这两个 GPT 的通道输出是绝对互补的或都是低电平。“初始电平的问题:我在配置 RA6T2的 GPT 时发现,必须是将一个通道的初始状态2设置为高电平,另一个通道的初始状态为低电平才能输出两路互补的驱动。而我们电路的硬件是要求通道没有使能时的初始电平都为低电平,否则会影响电路正常工作代另外 我还发现一个问题是: RA6T2的 GPT 没有强制输出低电平模块。就是通过一3个寄存器让两路互补的驱动同时输出低电平。“以上这三个要求 我们在很多芯片都具备这个功能: 例如 ST、TGD、灵动微、芯旺微、杰发科技等4
我们的保护确实来源于POEG。而我们POEG的触发源如下所示:
我们的应用中,程序跑飞,占空比设置参数出错,如果引起复位,或者设置的POEG触发阈条件,则发生保护动作。
程序跑飞和占空比设置错误的信息,没有直接通知保护的机制。
POE具体用法,解释如下
GPT具有POE硬件保护模块,在关断PWM时设置为高阻或者GPIO,FSP设置位置如下
对应数据手册控制寄存器为
则第一个图设置为
2 如需输出两路互补驱动波形,文中提到
将一个通道的初始状态2设置为高电平,另一个通道的初始状态为低电平 我认为没有问题。
是否客户的问题是,初始时I/O口的状态。
请看21.9 Initialization Method of Output Pins 章节介绍。
开始的时候GPT的寄存器和输出口是reset状态,此时端口处于高阻态。如需先输出低电平,需设置
3. 客户的用途是,在已经设置为互补模式的情况下,再强制两个引脚都输出低电平?
那按我理解,就是在互补模式运行时,因为某种原因,比如保护时。需要临时强制设置为低电平,那可以用前面提到的POE功能,
或者更改GPT控制寄存器GTIOR等进行处理