還搞不懂浮動(dòng)輸入和開漏輸出?一定要看這一文,圖文結(jié)合
今天給大家分享的是浮動(dòng)輸入和開漏輸出。
本文引用地址:http://m.butianyuan.cn/article/202407/460553.htm一、浮動(dòng)輸入
首先,考慮雙向(單刀雙擲)開關(guān)情況
當(dāng)開關(guān)打開時(shí),為控制輸入將連接到 +3.3V,即高電平。當(dāng)開關(guān)關(guān)閉時(shí),微控制器輸入將連接到 0V(即低電平)。但是,如果只有一個(gè)按鈕怎么辦?
開關(guān)打開
當(dāng)按下按鈕時(shí),微控制器輸入將連接到 0V(即低電平)。
按下按鈕
然而,當(dāng)未按下按鈕時(shí),微控制器輸入并沒有真正連接到組件:
未按下按鈕
就好像沒有連接一樣:
等效
在這種情況下,輸入電平是多少?高還是低?因?yàn)樗鼪]有真正連接到任何東西,所以輸入可以是任何東西,具體取決于環(huán)境中的靜電或電磁輻射。
它可能只是簡單地接收無線電波(如天線)并在弱定義的高狀態(tài)和低狀態(tài)之間來回翻轉(zhuǎn)。這種狀態(tài),其中微控制器輸入沒有明確定義并且可以是任何東西(隨機(jī)),稱為浮動(dòng)。
二、上拉和下拉電阻
為了解決這個(gè)問題,需要在輸入端添加一個(gè)上拉電阻或下拉電阻(上拉電阻如下圖所示):
上拉電阻
當(dāng)按鈕未被按下時(shí),上拉電阻會(huì)將微控制器輸入拉至+3.3V,提供明確定義的高電平。當(dāng)按下按鈕時(shí),微控制器輸入將直接連接(短路)至地 (0V),提供明確定義的低電平。在這種情況下,一些電流將流過上拉電阻,但由于電阻值相對(duì)較高,因此電流量很小。
這里可以發(fā)現(xiàn)電阻符號(hào)看起來像一個(gè)小彈簧,這是它在這種情況下的功能。比如自動(dòng)關(guān)閉的門,除非你主動(dòng)打開門,不然的話,會(huì)有機(jī)制門會(huì)自動(dòng)關(guān)閉。如果沒有自動(dòng)關(guān)閉機(jī)制(假設(shè)門沒有閂鎖機(jī)制),門會(huì)被進(jìn)出的人移動(dòng),不會(huì)默認(rèn)特定的位置。
上拉(或下拉)電阻類似于這些門上的自動(dòng)關(guān)閉機(jī)制,因?yàn)樗谖粗鲃?dòng)驅(qū)動(dòng)時(shí)將輸入保持在特定電平。
情況可以反過來,因?yàn)榘粹o可以連接到+3.3V(高),并且可以使用下拉電阻來保持輸入低。不過,上拉電阻配置比較常見
下拉電阻
三、開漏輸出
一些微控制器輸出可以設(shè)置為漏極開路(或僅可用作漏極開路)。開漏輸出是只能驅(qū)動(dòng)為低電平而不能驅(qū)動(dòng)為高電平的輸出;輸出為低電平或浮動(dòng)。
本質(zhì)上,輸出只是連接到晶體管的漏極引腳(因此稱為開漏)。
開漏
當(dāng)控制線被驅(qū)動(dòng)為高電平時(shí),晶體管將輸出短路至地 (0V),將其拉低。當(dāng)控制線被驅(qū)動(dòng)為低電平時(shí),晶體管處于高阻抗(高電阻)并且輸出處于浮動(dòng)狀態(tài)。
一些通信方案,例如 I2C 和 CAN,使用它來允許多個(gè)設(shè)備通過相同的通信線路進(jìn)行通信,而不會(huì)出現(xiàn)短路(沖突,即一個(gè)設(shè)備試圖將線路驅(qū)動(dòng)為高電平,而另一個(gè)設(shè)備試圖將線路驅(qū)動(dòng)為高電平)。它很低)。
在這些情況下,上拉電阻用于在未主動(dòng)將線路驅(qū)動(dòng)為低電平時(shí)將線路保持為高電平。
來源:
https://www.labcenter.com/blog/sim-inputs-outputs/
評(píng)論