Push pull, open drain circuit, pull up, pull down resistor

Push pull

就以下面這個 電路來說,
1070734-20170718144846396-1922128920.png

  • 因為沒有 pull up resistor,
    所以 output voltage 由 low 往 high 的速度會較快。

  • 有兩個電晶體,一個on,一個 off,
    可以 current sourcing,也可以 current sinking,

  • 因為 current sourcing 是由 ic 內部提供所以 功率也會大些。

  • Out voltage 由 ic 的電源決定。

  • 一個總線上只能有一個 push pull circuit,
    為什麼呢?
    {{uploading-image-563964.png(uploading...)}}

Open drain, pull up

1070734-20170718145000818-1597850144.png

  • 最原始的 open drain 是沒有 current sourcing,
    除非加了上拉電阻。
    而加了上拉電阻會增加功率,
    電阻大,功率小,RC常數小,電壓 由 low 往 high 時間多,
    電阻小,功率大,RC常數大,電壓 由 low 往 high 時間小。

  • Open drain 加了電阻,並且並了多個 open drain,可以實作 wire-and,
    1070734-20170718145033568-1229725655.png

  • 可以當作 i2c 的 bus 用,只要一個 output low,則全部都是 low,符合 i2c 的特點,i2c 的 bus 平常在 high,若那一個 device 需要用到bus ,則拉 low,一拉 low,全部都是 low,就可判斷是否有 device 在佔用 bus。

  • Out voltage 由 外部電壓決定,可以做 leve shift。

Pull down resistor

Mosfet gate是 high impedence,非常 sensitive,一個雜訊就可能誤動作,
所以需接一個 pull down resitor 到地,穩住 level。

Reference

https://www.crifan.com/order_open-drain_push-pull_mosfet_mos_tube_transistors_and_other_basic_knowledge/

转载于:https://www.cnblogs.com/youchihwang/p/7200466.html

### Float、Push-pullPull-upPull-downOpen-drain 的电路驱动模式区别 #### 1. **Float(浮空)** 浮空状态是指引脚没有被明确地连接到任何电源或地线,因此其电平状态是不确定的。在实际应用中,浮空状态可能会导致随机的高或低电平,甚至可能引入噪声。如果未接上拉或下拉电阻,则 `open-drain` 引脚只能实现浮空或拉低的功能[^3]。 #### 2. **Push-pull(推挽输出)** 推挽输出是一种常见的驱动模式,通过内部的 PMOS 和 NMOS 晶体管协同工作来实现快速的电平切换。当需要输出高电平时,PMOS 导通并将信号拉至 VCC;当需要输出低电平时,NMOS 导通并将信号拉至 GND。这种模式具有以下特点: - 主动输出高低电平,无需外部上拉或下拉电阻[^1]。 - 切换速度快,适合高频信号传输[^2]。 - 驱动能力强,可以直接驱动小功率负载(如 LED)[^1]。 #### 3. **Pull-up(上拉)** 上拉输入模式通过将 GPIO 引脚连接到一个内部或外部的上拉电阻,确保在没有外部信号输入时,引脚始终为高电平。一旦有外部低电平信号输入,引脚会被拉低。上拉输入的特点包括: - 在外部无信号输入时,引脚保持高电平[^4]。 - 外部输入低电平时,引脚电平被拉低[^4]。 - 常用于按键检测等场景,避免引脚处于浮空状态。 #### 4. **Pull-down(下拉)** 下拉输入模式与上拉输入类似,但方向相反。通过将 GPIO 引脚连接到一个内部或外部的下拉电阻,确保在没有外部信号输入时,引脚始终为低电平。一旦有外部高电平信号输入,引脚会被拉高。下拉输入的特点包括: - 在外部无信号输入时,引脚保持低电平。 - 外部输入高电平时,引脚电平被拉高。 - 同样用于防止引脚浮空,适用于某些特定的应用场景。 #### 5. **Open-drain(开漏)** 开漏输出模式仅包含 NMOS 晶体管,因此只能实现拉低(sink current)功能,而无法主动拉高信号。为了实现高电平输出,通常需要外加上拉电阻。开漏模式的特点包括: - 只能拉低信号,无法主动拉高信号。 - 如果未接上拉电阻,则只能实现浮空或拉低的动作[^3]。 - 功耗较低,但在电平切换速度上不如推挽模式[^2]。 ### 总结 - **Float**:引脚处于不确定状态,容易受干扰。 - **Push-pull**:通过 PMOS 和 NMOS 实现高速、高效的电平切换,适合驱动能力强的场景[^1]。 - **Pull-up**:通过上拉电阻确保引脚默认为高电平,避免浮空状态。 - **Pull-down**:通过下拉电阻确保引脚默认为低电平,避免浮空状态。 - **Open-drain**:仅包含 NMOS,需外加上拉电阻才能实现高电平输出。 ```python # 示例代码:GPIO 配置(伪代码) def configure_gpio(mode): if mode == "push-pull": # 配置为推挽模式 pass elif mode == "open-drain": # 配置为开漏模式 pass elif mode == "pull-up": # 配置为上拉模式 pass elif mode == "pull-down": # 配置为下拉模式 pass ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值