詳解開漏輸出和推挽輸出

開漏輸出和推挽輸出

在這里插入圖片描述
以上是 GPIO 配置為輸出時的內部示意圖,我們要關注的其實就是這兩個 MOS 管的開關狀態,可以組合出四種狀態:
在這里插入圖片描述
兩個 MOS 管都關閉時,輸出處于一個浮空狀態,此時他對其他點的電阻是無窮大的,所以這個狀態也被稱為高阻態;當兩個 MOS 管都打開時,電源直接對地短路,MOS 管就燒毀了,所以這種狀態不存在。對于一個 GPIO 來說,配置為輸出時,就只能有這三種狀態。

推挽輸出

把 GPIO 輸出的高電平和低電平拿出來,組成一個組合。
在這里插入圖片描述
當我們外接一個 MOS 管時,輸出高電平,電流流出去給外面的 MOS 管的柵極充電,所以這個過程稱為。把電流推出去。

在這里插入圖片描述
當 IO 口輸出低電平時,電路流進來給外面的 MOS 管的柵極放電,這個過程就是,把電流挽回來。

所以所謂的推挽就是描述了 MOS 管輸出高低電平時,電流的一個動作而已。

開漏輸出

把 GPIO 輸出的低電平和浮空/高阻態拿出來,組成一個組合。
在這里插入圖片描述

這種組合下,上面的 MOS 管永遠是關閉的,所以這個時候可以把上面當作不存在的。

在這里插入圖片描述
下面的 MOS 管的漏極就等于什么都沒接,屬于一個開路狀態,所以這個模式被稱為開漏模式。
開漏模式的作用:

  1. 改變高電平的電壓;
    舉個例子,現在想用這個 GPIO 去控制一個芯片的 enable 引腳,但是這個 GPIO 輸出的高電平是 5V。而芯片只支持 3.3V 輸入,如果使用推挽模式輸出高電平的話,是 5V,可能會把后面的芯片燒毀。
    在這里插入圖片描述

    所以需要使用開漏模式,同時需要在外面接一個上拉電阻,這樣當 MOS 關閉,也就是 GPIO 處于高阻態時,enable 就會被上拉電阻拉到 3.3V,也就是高電平;當 MOS 管打開時,enable就被 MOS 管拉到了低電平。以上實現了 5V 單片機對 3.3V 芯片的控制。

    在這里插入圖片描述

  2. 支持多個 GPIO 來控制一個輸入;
    在這里插入圖片描述
    上面是使用兩個 GPIO 來控制右邊芯片的 enable。如果使用的是推挽模式,如果上面的 GPIO 輸出的是高電平,下面輸出的是低電平,那么左邊的通路就會短路,兩個 MOS 管會燒毀一個。所以需要把這兩個 GPIO 都配置為開漏模式,然后再外接一個上拉電阻。這樣只要有任意一個 GPIO 輸出低電平時,enable 就是低電平。如果都處于高阻態,enable 就是高電平。

    上面的現象就是“線與”,只要有任意一個或多個 GPIO 輸出了低電平,輸出的就都是低電平;只有所有 GPIO 都輸出高電平,總線才處于高電平。

總結

一個 GPIO 根據內部 MOS 管的開關情況,存在三種輸出狀態,分別是高電平、低電平和高阻態。
在這里插入圖片描述
推挽輸出,是通過開關管直接接到正極和負極的,所以是強上拉和強下拉的模式。
開漏輸出是去掉強上拉的開關管,輸出低電平時,下管導通,是強下拉。輸出高電平時,下管斷開,但是沒有上管了,此時引腳處于浮空狀態,也就是高阻態。
開漏輸出一般都會配置一顆外部的上拉電阻。通過一個電阻拉到高電平的,屬于弱上拉。弱上拉的好處:

  1. 完全杜絕了電源短路現象,保證電路的安全;
  2. 避免了引腳模式的頻繁切換;開漏加弱上拉的模式,同時兼具了輸入和輸出的功能;想要輸出,就操作 MOS 管的打開和關閉;想要輸入的話,就讓 MOS 管處于關閉狀態,然后觀察電路中的電流就可以。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/908046.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/908046.shtml
英文地址,請注明出處:http://en.pswp.cn/news/908046.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Matlab實現LSTM-SVM回歸預測,作者:機器學習之心

Matlab實現LSTM-SVM回歸預測,作者:機器學習之心 目錄 Matlab實現LSTM-SVM回歸預測,作者:機器學習之心效果一覽基本介紹程序設計參考資料 效果一覽 基本介紹 代碼主要功能 該代碼實現了一個LSTM-SVM回歸預測模型,核心流…

Leetcode - 周賽 452

目錄 一,3566. 等積子集的劃分方案二,3567. 子矩陣的最小絕對差三,3568. 清理教室的最少移動四,3569. 分割數組后不同質數的最大數目 一,3566. 等積子集的劃分方案 題目列表 本題有兩種做法,dfs 選或不選…

【FAQ】HarmonyOS SDK 閉源開放能力 —Account Kit(5)

1.問題描述: 集成華為一鍵登錄的LoginWithHuaweiIDButton, 但是Button默認名字叫 “華為賬號一鍵登錄”,太長無法顯示,能否簡寫成“一鍵登錄”與其他端一致? 解決方案: 問題分兩個場景: 一、…

Asp.Net Core SignalR的分布式部署

文章目錄 前言一、核心二、解決方案架構三、實現方案1.使用 Azure SignalR Service2.Redis Backplane(Redis 背板方案)3.負載均衡配置粘性會話要求無粘性會話方案(僅WebSockets)完整部署示例(Redis Docker)性能優化技…

L2-054 三點共線 - java

L2-054 三點共線 語言時間限制內存限制代碼長度限制棧限制Java (javac)2600 ms512 MB16KB8192 KBPython (python3)2000 ms256 MB16KB8192 KB其他編譯器2000 ms64 MB16KB8192 KB 題目描述: 給定平面上 n n n 個點的坐標 ( x _ i , y _ i ) ( i 1 , ? , n ) (x\_i…

【 java 基礎知識 第一篇 】

目錄 1.概念 1.1.java的特定有哪些? 1.2.java有哪些優勢哪些劣勢? 1.3.java為什么可以跨平臺? 1.4JVM,JDK,JRE它們有什么區別? 1.5.編譯型語言與解釋型語言的區別? 2.數據類型 2.1.long與int類型可以互轉嗎&…

高效背誦英語四級范文

以下是結合認知科學和實戰驗證的 ??高效背誦英語作文五步法??,助你在30分鐘內牢固記憶一篇作文,特別適配考前沖刺場景: 📝 ??一、解構作文(5分鐘)?? ??拆解邏輯框架?? 用熒光筆標出&#xff…

RHEL7安裝教程

RHEL7安裝教程 下載RHEL7鏡像 通過網盤分享的文件:RHEL 7.zip 鏈接: https://pan.baidu.com/s/1ExLhdJigj-tcrHJxIca5XA?pwdjrrj 提取碼: jrrj --來自百度網盤超級會員v6的分享安裝 1.打開VMware,新建虛擬機,選擇自定義然后下一步 2.點擊…

結構型設計模式之Decorator(裝飾器)

結構型設計模式之Decorator(裝飾器) 前言: 本案例通過李四舉例,不改變源代碼的情況下 對“才藝”進行增強。 摘要: 摘要: 裝飾器模式是一種結構型設計模式,允許動態地為對象添加功能而不改變其…

Kotlin委托機制使用方式和原理

目錄 類委托屬性委托簡單的實現屬性委托Kotlin標準庫中提供的幾個委托延遲屬性LazyLazy委托參數可觀察屬性Observable委托vetoable委托屬性儲存在Map中 實踐方式雙擊back退出Fragment/Activity傳參ViewBinding和委托 類委托 類委托有點類似于Java中的代理模式 interface Base…

SpringBoot接入Kimi實踐記錄輕松上手

kimi簡單使用 什么是Kimi API 官網:https://platform.moonshot.cn/ Kimi API 并不是一個我所熟知的廣泛通用的術語。我的推測是,你可能想問的是關于 API 的一些基礎知識。API(Application Programming Interface,應用程序編程接…

書籍在其他數都出現k次的數組中找到只出現一次的數(7)0603

題目 給定一個整型數組arr和一個大于1的整數k。已知arr中只有1個數出現了1次,其他的數都出現了k次,請返回只出現了1次的數。 解答: 對此題進行思路轉換,可以將此題,轉換成k進制數。 k進制的兩個數c和d,…

React 項目初始化與搭建指南

React 項目初始化有多種方式,可以選擇已有的腳手架工具快速創建項目,也可以自定義項目結構并使用構建工具實現項目的構建打包流程。 1. 腳手架方案 1.1. Vite 通過 Vite 創建 React 項目非常簡單,只需一行命令即可完成。Vite 的工程初始化…

大模型模型推理的成本過高,如何進行量化或蒸餾優化

在人工智能的浪潮中,大模型已經成為推動技術革新的核心引擎。從自然語言處理到圖像生成,再到復雜的多模態任務,像GPT、BERT、T5這樣的龐大模型展現出了驚人的能力。它們在翻譯、對話系統、內容生成等領域大放異彩,甚至在醫療、金融等行業中也開始扮演重要角色。可以說,這些…

機器學習在多介質環境中多污染物空間預測的應用研究

機器學習在多介質環境中多污染物空間預測的應用研究 1. 引言 1.1 研究背景與意義 隨著工業化和城市化進程加速,環境中多種污染物的共存已成為全球性環境問題。重金屬(如鉛、汞、鎘)、有機污染物(如多環芳烴、農藥殘留)和新興污染物(如微塑料、藥品殘留)在空氣、水體、…

圖解深度學習 - 激活函數和損失函數

激活函數和損失函數在深度學習中扮演著至關重要的角色。通過選擇合適的激活函數和損失函數,可以顯著提高神經網絡的表達能力和優化效果。 其中激活函數是神經網絡中的非線性函數,用于在神經元之間引入非線性關系,從而使模型能夠學習和表示復…

影響服務器穩定性的因素都有什么?

服務器的穩定性會影響到業務是否能夠持續運行,用戶在進行訪問網站的過程中是否出現頁面卡頓的情況,本文就來了解一下都是哪些因素影響著服務器的穩定性。 服務器中的硬件設備是保證服務器穩定運行的基礎,企業選擇高性能的處理器和大容量且高速…

TopCode之最大子數組和

題目鏈接 53. 最大子數組和 - 力扣(LeetCode) 題目解析 算法原理 解法1: 暴力(一個循環用來固定,一個用來找最大的子數組O(n^2),每次往后拓展一個元素就判斷是否是最長的),枚舉出每一種情況, 然后不斷更新最大的 解法二: dp 1> dp的含義: dp[i]記…

深入解析 Flask 命令行工具與 flask run命令的使用

Flask 是一個輕量級的 Python Web 應用框架,其內置的命令行工具(CLI)基于 Click 庫,提供了方便的命令行接口,用于管理和運行 Flask 應用程序。本文將詳細介紹 Flask 命令行工具的功能,以及如何使用 flask r…

QFramework v1.0 Guide: 工具篇——ViewControllor, ActionKit時序動作執行系統,ResKit資源管理開發解決方案

目錄 一、QFramework.Toolkits簡介 二、View Controllor 1、作用 2、應用場景 3、示例 三、ActionKit時序動作執行系統 1. 用法 (1)延時回調 (2)序列執行 (3)幀延時 (4)條…