對上拉下拉電阻的作用作個總結(想了解的過來看看)(轉載)

轉自:http://www.amobbs.com/thread-5475279-1-3.html

一、定義:
上拉就是將不確定的信號通過一個電阻嵌位在高電平!電阻同時起限流作用!下拉同理!
上拉是對器件注入電流,下拉是輸出電流;弱強只是上拉電阻的阻值不同,沒有什么嚴格區分;對于非集電極(或漏極)開路輸出型電路(如普通門電路)提升電流和電壓的能力是有限的,上拉電阻的功能主要是為集電極開路輸出型電路輸出電流通道。
二、上下拉電阻作用:
1、提高電壓準位:a.當TTL電路驅動COMS電路時,如果TTL電路輸出的高電平低于COMS電路的最低高電平(一般為3.5V), 這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。b.OC門電路必須加上拉電阻,以提高輸出的搞電平值。
2、加大輸出引腳的驅動能力,有的單片機管腳上也常使用上拉電阻。
3、N/A pin防靜電、防干擾:在COMS芯片上,為了防止靜電造成損壞,不用的管腳不能懸空,一般接上拉電阻產生降低輸入阻抗, 提供泄荷通路。同時管腳懸空就比較容易接受外界的電磁干擾。
4、電阻匹配,抑制反射波干擾:長線傳輸中電阻不匹配容易引起反射波干擾,加上下拉電阻是電阻匹配,有效的抑制反射波干擾。
5、預設空間狀態/缺省電位:在一些 CMOS 輸入端接上或下拉電阻是為了預設缺省電位. 當你不用這些引腳的時候, 這些輸入端下拉接 0 或上拉接 1。在I2C總線等總線上,空閑時的狀態是由上下拉電阻獲得
6. 提高芯片輸入信號的噪聲容限:輸入端如果是高阻狀態,或者高阻抗輸入端處于懸空狀態,此時需要加上拉或下拉,以免收到隨機電平而影響電路工作。同樣如果輸出端處于被動狀態,需要加上拉或下拉,如輸出端僅僅是一個三極管的集電極。從而提高芯片輸入信號的噪聲容限增強抗干擾能力。
{電源到元件間的叫上拉電阻,作用是平時使該腳為高電平?
地到元件間的叫下拉電阻,作用是平時使該腳為低電平?
上拉電阻和下拉電阻的范圍由器件來定(我們一般用10K)?
+Vcc?
+------+=上拉電阻?
|+-----+?
|元件|?
|+-----+?
+------+=下拉電阻?
-Gnd?
一般來說上拉或下拉電阻的作用是增大電流,加強電路的驅動能力?
比如說51的p1口?
還有,p0口必須接上拉電阻才可以作為io口使用?
上拉和下拉的區別是一個為拉電流,一個為灌電流?
一般來說灌電流比拉電流要大?
也就是灌電流驅動能力強一些}
三、上拉電阻阻值的選擇原則包括:
1、從節約功耗及芯片的灌電流能力考慮應當足夠大;電阻大,電流小。
2、從確保足夠的驅動電流考慮應當足夠小;電阻小,電流大。
3、對于高速電路,過大的上拉電阻可能邊沿變平緩。綜合考慮
以上三點,通常在1k到10k之間選取。對下拉電阻也有類似道理
四、原理:
上拉電阻實際上是集電極輸出的負載電阻。不管是在開關應用和模擬放大,此電阻的選則都不是拍腦袋的。工作在線性范圍就不多說了,在這里是討論的是晶體管是開關應用,所以只談開關方式。找個TTL器件的資料單獨看末級就可以了,內部都有負載電阻根據不同驅動能力和速度要求這個電阻值不同,低功耗的電阻值大,速度快的電阻值小。但芯片制造商很難滿足應用的需要不可能同種功能芯片做許多種,因此干脆不做這個負載電阻,改由使用者自己自由選擇外接,所以就出現OC、OD輸出的芯片。由于數字應用時晶體管工作在飽和和截止區,對負載電阻要求不高,電阻值小到只要不小到損壞末級晶體管就可以,大到輸出上升時間滿足設計要求就可,隨便選一個都可以正常工作。但是一個電路設計是否優秀這些細節也是要考慮的。集電極輸出的開關電路不管是開還是關對地始終是通的,晶體管導通時電流從負載電阻經導通的晶體管到地,截止時電流從負載電阻經負載的輸入電阻到地,如果負載電阻選擇小點功耗就會大,這在電池供電和要求功耗小的系統設計中是要盡量避免的,如果電阻選擇大又會帶來信號上升沿的延時,因為負載的輸入電容在上升沿是通過無源的上拉電阻充電,電阻越大上升時間越長,下降沿是通過有源晶體管放電,時間取決于器件本身。因此設計者在選擇上拉電阻值時,要根據系統實際情況在功耗和速度上兼顧。
3.從IC(MOS工藝)的角度,分別就輸入/輸出引腳做一解釋:
1. 對芯片輸入管腳, 若在系統板上懸空(未與任何輸出腳或驅動相接)是比較危險的.因為此時很有可能輸入管腳內部電容電荷累積使之達到中間電平(比如1.5V), 而使得輸入緩沖器的PMOS管和NMOS管同時導通, 這樣一來就在電源和地之間形成直接通路, 產生較大的漏電流, 時間一長就可能損壞芯片. 并且因為處于中間電平會導致內部電路對其邏輯(0或1)判斷混亂. 接上上拉或下拉電阻后, 內部點容相應被充(放)電至高(低)電平, 內部緩沖器也只有NMOS(PMOS)管導通, 不會形成電源到地的直流通路. (至于防止靜電造成損壞, 因芯片管腳設計中一般會加保護電路, 反而無此必要).
2. 對于輸出管腳:
1)正常的輸出管腳(push-pull型), 一般沒有必要接上拉或下拉電阻.
2)OD或OC(漏極開路或集電極開路)型管腳,
這種類型的管腳需要外接上拉電阻實現線與功能(此時多個輸出可直接相連. 典型應用是: 系統板上多個芯片的INT(中斷信號)輸出直接相連, 再接上一上拉電阻, 然后輸入MCU的INT引腳, 實現中斷報警功能).
其工作原理是:?
在正常工作情況下, OD型管腳內部的NMOS管關閉, 對外部而言其處于高阻狀態, 外接上拉電阻使輸出位于高電平(無效中斷狀態); 當有中斷需求時, OD型管腳內部的NMOS管接通, 因其導通電阻遠遠小于上拉電阻, 使輸出位于低電平(有效中斷狀態). 針對MOS 電路上下拉電阻阻值以幾十至幾百K為宜.
(注: 此回答未涉及TTL工藝的芯片, 也未曾考慮高頻PCB設計時需考慮的阻抗匹配, 電磁干擾等效應.)
1, 芯片引腳上注明的上拉或下拉電阻, 是指設計在芯片引腳內部的一個電阻或等效電阻. 設計這個電阻的目的, 是為了當用戶不需要用這個引腳的功能時, 不用外加元件, 就可以置這個引腳到缺省的狀態. 而不會使 CMOS 輸入端懸空. 使用時要注意如果這個缺省值不是你所要的, 你應該把這個輸入端直接連到你需要的狀態.
2, 這個引腳如果是上拉的話, 可以用于 "線或" 邏輯. 外接漏極開路或集電極開路輸出的其他芯片. 組成負邏輯或輸入. 如果是下拉的話, 可以組成正邏輯 "線或", 但外接只能是 CMOS 的高電平漏極開路的芯片輸出, 這是因為 CMOS 輸出的高, 低電平分別由 PMOS 和 NMOS 的漏極給出電流, 可以作成 P 漏開路或 N 漏開路. 而 TTL 的高電平由源極跟隨器輸出電流, 不適合 "線或".
3, TTL 到 CMOS 的驅動或反之, 原則上不建議用上下拉電阻來改變電平, 最好加電平轉換電路. 如果兩邊的電源都是 5 伏, 可以直接連但影響性能和穩定, 尤其是 CMOS 驅動 TTL 時. 兩邊邏輯電平不同時, 一定要用電平轉換. 電源電壓 3 伏或以下時, 建議不要用直連更不能用電阻拉電平.
4, 芯片外加電阻由應用情況決定, 但是在邏輯電路中用電阻拉電平或改善驅動能力都是不可行的. 需要改善驅動應加驅動電路. 改變電平應加電平轉換電路. 包括長線接收都有專門的芯片.

轉載于:https://www.cnblogs.com/dirichlet/p/3627543.html

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

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

相關文章

給用戶傳入的變量進行轉義操作

先看代碼實現: /* 對用戶傳入的變量進行轉義操作。*/ if (!get_magic_quotes_gpc()) {if (!empty($_GET)){$_GET addslashes_deep($_GET);}if (!empty($_POST)){$_POST addslashes_deep($_POST);}$_COOKIE addslashes_deep($_COOKIE);$_REQUEST addslashes_…

《MySQL——外部檢測與內部統計 判斷 主庫是否出現問題》

目錄select1判斷查表判斷更新判斷外部檢測弊端內部統計一主一備的雙M架構里,主備切換只需要把客戶端流量切換到備庫。 在一主多從的架構里,主備切換要把客戶端流量切換到備庫,也需要把從庫接到新主庫上。 切換有兩種場景:1、主動…

NIM的完整形式是什么?

NIM:無內部消息 (NIM: No Internal Message) NIM is an abbreviation of "No Internal Message". NIM是“無內部消息”的縮寫。 It is an expression, which is commonly used in the Gmail platform. It is written in the subject of the mail, if the…

[Json] C#ConvertJson|List轉成Json|對象|集合|DataSet|DataTable|DataReader轉成Json (轉載)...

點擊下載 ConvertJson.rar 本類實現了 C#ConvertJson|List轉成Json|對象|集合|DataSet|DataTable|DataReader轉成Json|等功能大家先預覽一下 請看代碼 /// <summary> /// 類說明&#xff1a;Assistant /// 編 碼 人&#xff1a;蘇飛 /// 聯系方式&#xff1a;361983679 …

let 只能在嚴格模式下嗎_LET的完整形式是什么?

let 只能在嚴格模式下嗎LET&#xff1a;今天早早離開 (LET: Leaving Early Today) LET is an abbreviation of "Leaving Early Today". LET是“ Leaveing Today Today”的縮寫 。 It is an expression, which is commonly used in the Gmail platform. It is writt…

js 遮罩層 loading 效果

//調用方法 //關閉事件<button οnclickLayerHide()>關閉</button>&#xff0c;在loadDiv(text)中&#xff0c;剔除出來 //調用LayerShow(text)&#xff0c;text為參數&#xff0c;可以寫入想要寫入的提示語 //本方法在調用時會自動生成一個添加到body的div&#x…

centos6.5安裝配置LDAP服務[轉]

centos6.5安裝配置LDAP服務[轉] 安裝之前查一下 1find / -name openldap*centos6.4默認安裝了LDAP&#xff0c;但沒有裝ldap-server和ldap-client 于是yum安裝 1su root2yum install -y openldap openldap-servers openldap-clients不建議編譯源碼包&#xff0c;有依賴比較麻煩…

《MySQL——恢復數據-誤刪行、表、庫》

目錄誤刪行事前預防誤刪行數據方法誤刪表/庫延遲復制備庫事前預防誤刪庫/表方法傳統的架構不能預防誤刪數據&#xff0c;因為主庫的一個drop table命令&#xff0c;會通過binlog傳給所有從庫和級聯從庫&#xff0c;進而導致整個集群的實例都會執行這個命令。 MySQL相關的誤刪除…

python圖例位置_Python | 圖例位置

python圖例位置Legends are one of the key components of data visualization and plotting. Matplotlib can automatically define a position for a legend in addition to this, it allows us to locate it in our required positions. Following is the list of locations…

Freemarker中遍歷List實例

Freemarker中如何遍歷List摘要&#xff1a;在Freemarker應用中經常會遍歷List獲取需要的數據&#xff0c;并對需要的數據進行排序加工后呈現給用戶。那么在Freemarker中如何遍歷List&#xff0c;并對List中數據進行適當的排序呢&#xff1f;通過下文的介紹&#xff0c;相信您一…

工作總結:文件對話框的分類(C++)

原文地址&#xff1a;http://www.jizhuomi.com/software/173.html 文件對話框分為打開文件對話框和保存文件對話框&#xff0c;相信大家在Windows系統中經常見到這兩種文件對話框。例如&#xff0c;很多編輯軟件像記事本等都有“打開”選項&#xff0c;選擇“打開”后會彈出一個…

《MySQL——Innodb改進LRU算法》

Innodb改進LRU.算法&#xff0c;實質上將內存鏈表分成兩段。 靠近頭部的young和靠近末尾的old&#xff0c;取5/12段為分界。 新數據在一定時間內只能在old段的頭部&#xff0c;當在old段保持了一定的時間后被再次訪問才能升級到young。 實質上是分了兩段lru&#xff0c;這樣做的…

nfc/nfc模式_NFC的完整形式是什么?

nfc/nfc模式NFC&#xff1a;沒有進一步評論 (NFC: No Further Comment) NFC is an abbreviation of "No Further Comment". NFC是“沒有進一步評論”的縮寫 。 It is an expression, which is commonly used in messaging or chatting on social media networking s…

dx小記(2)

1.構造一個平截臺體&#xff08;Frustum&#xff09; 最近距離-projMatirx.43/projMatrix.33 projMatrix。33 深度/&#xff08;深度-最近距離&#xff09; projMatrix。44-最近距離*&#xff08;深度/&#xff08;深度-最近距離&#xff09;&#xff09; FrustumMatrix proje…

jQuery: 整理4---創建元素和添加元素

1.創建元素&#xff1a;$("內容") const p "<p>這是一個p標簽</p>" console.log(p)console.log($(p)) 2. 添加元素 2.1 前追加子元素 1. 指定元素.prepend(內容) -> 在指定元素的內部的最前面追加內容&#xff0c;內容可以是字符串、…

Design a high performance cache for multi-threaded environment

如何設計一個支持高并發的高性能緩存庫 不 考慮并發情況下的緩存的設計大家應該都比較清楚&#xff0c;基本上就是用map/hashmap存儲鍵值&#xff0c;然后用雙向鏈表記錄一個LRU來用于緩存的清理。這篇文章 應該是講得很清楚http://timday.bitbucket.org/lru.html。但是考慮到高…

《MySQL——join語句優化tips》

目錄要不要用joinJoin驅動表選擇Multi-Range Read優化Batched Key Access &#xff08;BKA&#xff09;對NLJ進行優化BNL算法性能問題BNL轉BKA要不要用join 1、如果使用的是Index Nested-Loop Join算法&#xff0c;即可以用上被驅動表的索引&#xff0c;可以用 2、如果使用的…

scala中抽象類_Scala中的抽象類

scala中抽象類抽象類 (Abstract Class) In the Scala programming language, abstraction is achieved using abstract class. 在Scala編程語言&#xff0c; 抽象是使用抽象類來實現的。 Abstraction is the process of showing only functionality and hiding the details fr…

不能catch Fatal的exception

Clemens Vasters - Are you catching falling knives?里給了一個判斷C#的exception是不是fatal的代碼&#xff0c;可以參考參考。 public static bool IsFatal(this Exception exception) {while (exception ! null){if (exception as OutOfMemoryException ! null &&…

HDU 2824 The Euler function

篩法計算歐拉函數 #include <iostream> #include <cstdio> using namespace std; const int maxn3000005; long long phi[maxn]; int main(){int i,j,a,b;for(i1;i<maxn;i) phi[i]i;for(i2;i<maxn;i2) phi[i]/2;for(i3;i<maxn;i2)if(phi[i]i){for(ji;j<…