1、引言
在使用 STM32 的 Advanced Timer 用于工业控制,比如电机驱动,电源应用等诸多应用场合,除了 PWM 波互补输出功能外,break 功能,或者叫做刹车功能/断路功能基本都会涉及到,正确的使用这个功能是此类应用中必备的,本文将针对 break 功能做细致说明,方便PWM 驱动使用者更好去应用 break 功能。
2、Break基本功能说明
Break 功能主要用于快速硬件保护功能,功率驱动往往使用 Advanced Timer(如TIM1,TIM8)的 PWM 波进行外部驱动,进行功率开关控制,当出现了过流,过压的使用情况下,需要快速关闭外部输出,达到保护功率电路的目的,如果不能快速关断,可能会导致功率管,如 MOSFET,IGBT 的损坏,典型应用电路如下图所示。
Break 功能一般与比较器共同使用,比较器将模拟信号转换为数字信号,而 break 功能则接收数字信号进行 PWM 封波的操作,其作用在高级定时器的最终输出端。
2.1 Break输入源说明
STM32G4 的 Break 有两个 TIM_BKIN,TIM_BKIN2,分别对应于不同的输入源,相比较而言,BKIN 比 BKIN2 多一个系统输入源。
2.2 Break作用结果
•BDTR 的 MOE(主输出使能)位将清零
•Break 状态标志将置 1,并可产生中断请求。
• 每个输出通道将由在 OISx 位决定
3、Break功能的CubeMx配置
当使用外部管脚作为 break 输入源时,可选择“Activate Break Input”或者“Activate Break Input2”,选择其一或者两个都选择。
4、Break功能的扩展-封波后输出功能
一般情况下,我们 break 使用时都是设定只有软件才能恢复 MOE 位,即当 break 发生后,不会自动恢复 PWM 输出,只有软件重新 MOE = 1 时才重新输出 PWM 波性;
但有时候我们需要 PWM 波形能封波后硬件自动恢复输出,那么我们需要设定BDTR_AOE = 1,即自动输出使能,当 break 信号无效后,MOE 将在下一个 update event后置位,PWM 自动恢复输出,类似于 Cycle-By-Cycle 控制,但有所不同,这边只有update event 后波形封波后再次输出,可能延迟一个 PWM 周期才有输出。
5、常见Break功能使用问题
•Break 功能为硬件功能,当配置好 Timer 后,无需软件参与,即可生效,达到最快保护硬件的功能,非软件参与功能。
•当硬件保护产生后,用户可以使能中断,可产生软件中断,用户可在中断中进行状态处理,比如查询 MOSFET 是否完好(BDTR_AOE = 0),完好的话可以再次开启 PWM 波输出,如果功率管损坏了,则产生系统报错,不能再次开启输出;
•如果用户不希望用中断,则可以软件读取 TIM_SR 中的 BIF 或者 B2IF 进行判断;
•当 BDTR_AOE = 0 时,当发生了 break 封波,需要软件置位 MOE,才能再次 PWM 输出
•Break 信号是电平中断,因此只要信号有效,中断中清除标志位后,还会再次进入中断。
•BKIN 高于 BKIN2,当两个同时发生时,BKIN 主导作用以及结果