STM32开漏输出为什么既能输入又能输出?

一、什么是开漏输出?

1、由推挽输出到开漏输出
推挽输出:

如图,便是推挽输出的接线图,通过导通P-MOS输出高电平,导通N-MOS输出低电平。注意:P-MOS和N-MOS不能同时接通,否则引起短路。这种模式输出的电平驱动能力强。

 开漏输出:

如图,P-MOS一直是处于断开的状态,而N-MOS可以控制导通或断开,由上到下位高电平流向低电平的方向,因此取名开漏输出。

开漏输出输出状态:

高组态:P-MOS和N-MOS都断开。

低电平:M-MOS接通。

此输出模式只有低电平驱动能力强。


 
开漏输出的特性:

可实现线与特性:线与在I2C有很大应用。

线与中的应用:如在一主机,多从机下,共用SDA和SCL总线。当存在某设备输出低电平时,不管其他设备输出高低电平,总线都会被拉低至低电平。得益于开漏输出高电平时的高组态。

输出低电平时,和推挽输出类似,主动驱动电平,且驱动能力强,而在输出高电平的时候,由于开漏输出只能输出高组态,驱动能力弱,不会主动驱动电平,而是依赖外部上拉电阻来实现高电平状态。

 二、为什么开漏输出能作为输入 ,读出引脚电平信号?

同理,也是得益于开漏输出的高组态,驱动能力弱。

当输出高组态,则会使引脚处于悬空状态。

这时,只要给开漏输出配置为输出高电平(高组态),当外界向引脚输出高电平时,引脚就会拉高高电平。

当外界向引脚输出低电平时,就会拉低引脚。

你可能想好像有点道理 ,这样就能够读取了外界电平了.

其实还忽略了,当外界没有上拉电阻的时候,处于悬空状态的引脚,会导致不确定的电平状态,这可能导致误动作。

所以,需要提前接好上拉电阻。

思考,可以接下拉电阻吗?

### 输出(Open Drain Output)原理 输出是一种特殊的I/O结构,通常用于微控制器和其它数字电路中。在这种配置下,输出级仅包含一个可以拉低信号线电平到地的晶体管。当该晶体管导通时,它会将连接节点拉至接近0V;而当其关闭时不主动驱动高电平,而是允许外部上拉电阻或其他器件决定最终电压水平[^2]。 这种工作方式使得多个设备可以通过共享同一根总线来实现通信而不必担心竞争条件引起损坏,因为任何时刻最多只有一个设备试图设置逻辑'0'状态。此外,在某些情况下还可以利用不同的电源域之间传递信息。 ### 应用场景 由于上述特点,输出广泛应用于多种场合: - **多主机系统中的仲裁机制**:允许多个主控单元共存于同一条数据线上; - **双向通讯协议支持**:如I²C总线标准即依赖于此种模式操作; - **电平转换功能**:可以在不同供电轨间安全交换脉冲序列; - **中断请求线路管理**:简化硬件设计并增强抗噪性能。 ### 常见问题及其解决方案 #### 1. 上升沿速度慢 如果发现使用了适当大小的上拉电阻之后仍然存在上升时间过长的问题,则可能是因为寄生电容过大所致。此时可尝试减小外接负载容量或者选用更快恢复特性的FET作为关元件。 #### 2. 高态电流消耗异常 对于那些即使在理论上应该呈现浮置状况却依旧表现出较大静态功耗的情况,需仔细排查是否存在短路现象或是选择了不合适的内部/外部阻值配比关系。确保所选Rpu既能保证足够的噪声抑制又能维持较低的能量损失。 #### 3. 干扰与兼容性挑战 面对来自外界环境因素造成的电磁干扰影响以及与其他类型接口间的互连难题,建议采取屏蔽措施保护敏感路径,并遵循相关行业规范选取具备良好鲁棒性和隔离度的产品型号参与构建整个链路架构。 ```c // 示例代码展示如何配置STM32 GPIO为输出模式 HAL_GPIO_WritePin(GPIOA, GPIO_PIN_5, GPIO_PIN_RESET); // 初始化引脚处于低电平 GPIO_InitTypeDef GPIO_InitStruct = {0}; GPIO_InitStruct.Pin = GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_OD; // 设置为输出 GPIO_InitStruct.Pull = GPIO_NOPULL; // 不启用上下拉 GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值