当前位置: 首页 > news >正文

大型购物网站服务器h5页面制作工具易企秀

大型购物网站服务器,h5页面制作工具易企秀,自助wap建站,学校门户网站建设报告推挽和开漏是单片机的输出模式,属于I/O口配置的常见类型。开漏(Open-Drain)和推挽(Push-Pull)是两种根本不同的输出电路结构,理解它们的区别是正确使用任何单片机(包括51和STM32)GPI…

推挽和开漏是单片机的输出模式,属于I/O口配置的常见类型。

开漏(Open-Drain)和推挽(Push-Pull)是两种根本不同的输出电路结构,理解它们的区别是正确使用任何单片机(包括51和STM32)GPIO的关键。

一、核心比喻

  • 推挽输出 (Push-Pull):就像两个人力气很大的水手,一个专门负责从井里打水(推,输出高电平),另一个专门负责把水倒掉(挽,输出低电平)。他们能主动且有力地输出明确的“有水”(1)或“没水”(0)状态。

    • 形象:双向主动,驱动能力强。

  • 开漏输出 (Open-Drain):就像只有一个负责倒水的水手,他能很用力地把水倒掉(输出强低电平0),但他完全不会打水。当他不倒水时,输出状态是悬空的(高阻态),相当于“不表态”。这个“不表态”的状态需要外部一个上拉电阻拉到“有水”(1)的状态,才能真正形成高电平。

    • 形象:只能主动拉低,不能主动拉高,需要外部帮助。


二、电路原理与区别

为了更直观地理解,可以参考下面的简化电路模型:

如图所示,它们的根本区别在于:

  • 推挽:内部有上下两个MOS管,总是处于一个导通另一个截止的状态,因此可以独立、强效地输出高电平和低电平。

  • 开漏:内部只有下拉的MOS管(NMOS)。当这个管子导通时,输出被强力拉到低电平(GND);当它截止时,输出引脚与地断开(“开路”或“漏极开路”),相当于断开状态,其电平由外部电路决定。


三、应用场景

基于以上根本区别,它们的使用场景完全不同:

什么时候用 推挽输出

推挽输出是最常用的模式,用于绝大多数需要直接驱动负载数字信号输出的场景。

  1. 驱动LED、继电器、蜂鸣器等器件

    • 因为推挽输出高低电平均有较强的驱动能力(例如STM32引脚可输出和吸收几十mA电流),可以直接点亮LED或驱动小型继电器。

  2. 数字通信协议(单向、高速)

    • 如 SPII2SUSBSDIO 等。这些协议需要清晰的、驱动能力强的波形来保证通信速度和稳定性。推挽输出可以提供快速上升沿和下降沿。

  3. 生成PWM波

    • 驱动电机、舵机等都需要清晰的PWM波形,必须使用推挽输出。

简单总结:只要你需要引脚自己独立、明确、有力地输出高电平和低电平,就用推挽输出。

什么时候用 开漏输出

开漏输出主要用于需要 “线与”(Wire-AND)电平转换 和 双向通信 的场景。

  1. 实现“线与”功能(最经典的用途)

    • 多个开漏输出的引脚可以直接连接在一起,共用一个上拉电阻。

    • 规则:只要任何一个输出脚主动输出低电平(0),整个线路就是低电平(0)。只有当所有输出脚都释放(不输出低电平,即高阻态)时,线路才被上拉电阻变为高电平(1)。

    • 应用I2C 总线是开漏输出最典型的例子。I2C上的多个设备都可以通过拉低总线来发送信号,而不会因为一个设备输出高电平另一个输出低电平而产生短路冲突。这实现了多主机仲裁双向通信

  2. 电平转换(Voltage Level Shifting)

    • 这是开漏输出一个极其有用的特性。因为开漏引脚本身不产生高电平,高电平电压完全由外部上拉电阻所连接的电源电压(VCC)决定。

    • 例子:STM32是3.3V供电,但需要和一个工作电压为5V的设备通信。可以将STM32引脚设置为开漏模式,外部上拉电阻接到5V。当STM32输出低电平(0)时,是0V;当STM32释放总线(输出1)时,线路被上拉到5V。这样就实现了从3.3V到5V的电平转换,非常简单成本低。

  3. 驱动高于芯片电压的设备

    • 原理同上。比如用3.3V单片机驱动一个5V的继电器线圈,就可以使用开漏模式,外接5V上拉。


四、对比总结表

特性推挽输出 (Push-Pull)开漏输出 (Open-Drain)
输出能力,可主动输出高电平和低电平,只能主动输出低电平,高电平靠外部上拉
输出状态确定(永远是0或1)不确定(不输出时呈高阻态,电平由外部决定)
速度,上升沿和下降沿都较陡峭,上升沿依靠上拉电阻,电阻越大速度越慢
功耗高低电平切换时存在瞬时导通电流,功耗相对较高静态功耗低,但上升沿慢可能导致动态功耗增加
关键应用1. 驱动LED、继电器等
2. SPI, I2S等高速总线
3. 产生PWM波
1. I2COne-Wire等支持“线与”的总线
2. 电平转换
3. 驱动高于芯片电压的设备

简单决策流程:

  • 驱动普通外设(LED、数码管等)? -> 推挽输出

  • 用在I2C总线上? -> 开漏输出 (注意:I2C协议必须用开漏模式!

  • 需要和不同电压的器件通信? -> 开漏输出 + 外部上拉到目标电压

  • 不确定? -> 优先选择推挽输出,这是最通用和直接的模式。

http://www.dtcms.com/a/474623.html

相关文章:

  • ESP32 + Arduino IDE 开发的 MQTT 通信程序
  • 网站策划哪里找WordPress访问确认
  • Kubernetes YAML配置入门
  • 淘宝网站官网东莞微网站建设多少钱
  • leetcode 118. 杨辉三角 python
  • 中级软件设计师考试选择题——计算机网络典型真题
  • 互联网个人用户网站WordPress移动站
  • ArrayList和LinkedList的区别是什么?(高频)
  • 建设网站的费用属于资产吗广州百度快速排名优化
  • 将 GPU 级性能带到企业级 Java:CUDA 集成实用指南
  • 模型训练中GRPO概念理解
  • <收假风波>
  • 关于做ppt的网站wordpress删除评论框
  • 网站如何设计方案重庆推广一个网站
  • Leetcode 24
  • 后缀学习笔记 | -ability -ibility 系列
  • 若依使用基本步骤
  • win7winlogon完整调试流程
  • SSM高校图书馆网站m7o77(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
  • 网站建设 技术团队建设工程施工合同最新版本
  • AX520CE-- 音视频mdk的初识
  • 状态设计_多重集排列数_剪枝
  • adt-bundle-windows
  • Bootstrap 5入门指南
  • 奥林巴斯读片软件OlyVIA 2.9 下载安装教程怎样下载安装图文教程
  • 18006.STM32通过SPI读取LAN9253数据
  • 无锡网站建设维护梅州建站教程
  • SQLSugar和EF都是数据优先吗?
  • 企业网站功能是什么百度怎么发布网站
  • 八股-2025.10.12