前言* q, ~2 \1 B1 M7 K3 ~2 k STM32F334 内部集成了高精度 Timer,最高主频 4.6GHz,灵活的控制用于产生数字电源等产品的 PWM 控制信号,与此同时对于产品安全部分也就有更高要求,而 STM32F334 内部的 Fault 联动机制可以保证这样的控制要求,比如过流保护,过压保护任意一项都可以产生 Fault 事件,关闭 PWM 输出,与此同时可以区别对待 Fault 事件,可以一直关闭 PWM 输出,也可以关闭再打开的操作等。! p" r' i1 ?! E8 P STM32F334 的 STM32F334 的输出端管理 下图为输出端管理模块,可以看到 Fault 事件会直接作用于波形输出端口 2 a, S& M3 Q9 J- s& V' e, R2 i: C ! n8 [ P. F2 L3 d$ D$ _ 输出状态控制,有三个状态:IDLE,RUN,FAULT,三个状态可以控制进行状态切换& s% Q+ v5 R$ p3 ?( e 4 ?5 `3 Q( T5 m Fault 事件 Fault 事件管理. d) D' g' B' b. c+ |& w7 X I STM32F334 内部共有 5 个 Fault 通道,通过多路选择器,任意一个 Fault 源发生 Fault 事件,都可以直接作用于输出; 8 c9 i: n( K B" a : p3 A5 O" F+ t1 d |& ^ 需要特别说明的是 SYSFLT 端口属于高端系统 Fault 源,高于其它 5 路 Fault 输入,直接关闭输出,系统发生故障比如时钟失灵,发生 PVD 等,下面是具体的系统 Fault 源:6 s- X3 g8 a6 ~8 R+ c' S, I Clock Security System(时钟相关) SRAM parity checker(SRAM 部分) Cortex-M4-lockup signal(内核死锁) PVD detector(电源管理) Fault 事件可以配置极性(高或低有效),可以设定是否产生 Fault 事件,同时也可以配置输入部分进行滤波,减少错误判断。 按照 Fault 来源分可以分为两种:外部以及内部 外部----即外部 FLT 引脚,每个通道对应 1 个 FLT 管脚记为 HRTIM1_FLTx(x = 1,2,3,4,5) 内部----可以是内部比较器的输出,ADC_WDG 输出,OPA 输出等等。. O% r6 p" X- m+ N: {2 V. D * ^1 s0 t7 R7 q6 i7 C 具体 Fault 具体 Fault 配置举例 比如我们现在需要配置比较器 6 的输出(COMP6)以及 HRTIM1_FLT1 输入作为 Fault 源,按照以下步骤进行配置:3 D# n2 z" U& K; o* q 按照正常设置使 HRTIMER 输出 PWM 波形; 配置 COMP6 正端输入为 PB11,负端输入为 VREF/2;8 ?9 _7 }$ c- n+ @/ l4 c$ v* X
配置 PA12 为 HRTIM1_FLT1 引脚;
Fault Line1 配置为外部 FLT 引脚输入,使能 Fault Line1; Fault Line3 配置为内部 COMP6 的 Fault 输入,使能 Fault Line3 ;' r8 A3 Z# s- o) A 设定 HRTIMER 的 Fault 源有两个,一个是 Fault Line1,另外一个为 Fault Line3! m, M! }7 Q8 b5 J+ [% ]0 \
测试效果 当 PA12 为低电平,并且 PB11 电平小于 VREF/2 时,PWM 输出口 PA8 有 PWM 波形输出;当 PA12 为高电平或者 PB11 电平大于 VREF/2 时,两个条件只要满足其中一个,PA8 将立刻停止 PWM 输出。 3 [0 [6 ] V3 l' l- p |
2024意法半导体工业峰会:赋能智能电源和智能工业,构筑可持续未来
ST推出灵活、面向未来的智能电表通信解决方案,助力能源转型
意法半导体 x Qu-Bit Electronix:推动新一轮的数字声音合成革命
从STM32 MPU产品看嵌入式系统中微处理器的新变化
【Hot!】STM32全系列开发板都支持Arduino开发,你知道吗?
【经验分享】STM32 HAL库移植FreeModbus详细步骤
【STM32H7S78-DK评测】XIP模板问题处理与电机控制
【经验分享】STM32驱动RC522读卡完整资料分享,包含原理图、PCB、驱动工程文件
全新STM32 VS Code扩展V2.1.0发布
【经验分享】STM32音频频谱分析设计
请问有具体使用stm32cubemx配置的教程吗