STM32系列芯片IO推挽输出/开漏输出结构
扫描二维码
随时随地手机看文章
不管是硬件工程师或者嵌入式工程师,在工程实践中常常会遇到单片机IO的状态定位和影响。我们知道单片机IO有输入和输出两种模式。其中输入模式有模拟输入、上拉输入、下拉输入和浮空输入;输出有开漏输出和推挽输出。那我们今天就一起看一下什么是推挽输出。
推挽输出电路原理:
下图就是STM32系列芯片IO内部结构原理图。可以看到红框内就是推挽输出/开漏输出结构。
推挽输出,可以输出最高到VCC,最低到GND的电压,但没有中间值,因为芯片内部有上拉/下拉电阻,所以无需接外部的上拉或下拉电阻,是用途最广泛的模式。
当然推挽电路不光在单片机中。下图是两种用两个三极管做成的推挽电路。第一种是上N管下P管,第二种是上P管下N管。推挽放大器电路中,一只三极管工作在导通、放大状态时,另一只三极管处于截止状态,当输入信号变化到另一个半周后,原先导通、放大的三极管进入截止,而原先截止的三极管进入导通、放大状态,两只三极管在不断地交替导通放大和截止变化,所以称为推挽放大器。
上N管下P管的推挽输出比较常用,输入输出信号同向。
上P下N管的推挽输出电路不太常用,主要原因是存在两管同时导通的风险,需要有比较精准的死区控制。并且两个管子的基极需要传两个电阻,也增加了成本和复杂度。
H桥电路:
上文中的三极管可以换为MOS管,双推挽电路就构成了H桥,用来驱动电机、继电器、IR-CUT等电路。下图是TI一款电机驱动芯片内部结构图。
可以看出芯片内部有两个MOS管构成的推挽电路。下图是在不同状态下电流方向的原理图。现在很多场景都使用了集成芯片方案而不是用MOS堆叠(大功率场景还是需要独立MOS来堆叠)。因为如果四个MOS控制失调,就存在同一侧上下管同时导通的风险,就会烧坏MOS管。所以在切换同一侧上下管导通时要留有时间,这个时间就叫做“Dead time”也就是死区时间。