-
1 # 學習vs遊戲
-
2 # 技術閒聊
上拉是給IO口一個初始值,將不確定的訊號鉗位在高電平,同理,下拉是將不確定的訊號鉗位在低電平。一般進行原理設計時,對於微控制器的上拉電阻大小都是根據經驗選取,一般為4.7k、5.1K、10K等。
上拉電阻有好幾個作用:不用的引腳增加上拉電阻,為引腳確定初始狀態,提高抗電磁干擾能力;微控制器輸出I/O 口加上拉電阻,可以增強IO口的輸出能力;輸入加上拉目的是確實輸入的初始值,無訊號輸入時,IO口輸入為高電平等。
上拉電阻選擇時,注意事項:上拉電阻阻值太大會引起訊號延時,所以選擇上拉電阻要適宜。選擇上拉電阻時應該考慮節能功耗、灌電流能力、電流驅動能力、是否屬於高速電路等,在高速電路上對上拉電阻的要求特別高。
一般場合,上拉電阻選擇4.7k、5.1K、10K等可以滿足要求,如果是在一些較特殊的場合應用,需要根據實際電路進行分析,計算,算出他們之間的電流大小及關係,根據計算結果選擇合適的電阻,還要經過試驗、工程應用經驗積累等。
上拉電阻不只是在微控制器等CPU上使用,在很多其它電路場合也有應用,比如比較器輸出端、光耦輸出端、反相器等。
比較器輸出端加上拉電阻,在模電教材中並沒有提及,只有增加上拉電阻才能夠實現輸出高/低電平,沒有上拉電阻是無法輸出高電平的,輸出相當於閒空狀態。
光耦電路:
-
3 # 曉建111
上拉電阻是為了彌補微控制器lo口只有低電平輸出和高阻態的問題的,以89c52為例,只有p0口沒有將上拉電阻封裝到晶片裡,需要我們自己根據需求加裝。
IO口有了上拉電阻後 在微控制器不輸出低電平時(高阻態時)上拉電阻不會消耗電壓,故而lo口的電平就是上拉電阻另一端的電壓值(vcc),而當IO口輸出低電平時,上拉電阻會消耗掉vcc的電壓值。
這樣的話,當IO口輸出高電平時,實際上用電器是與上拉電阻串聯,如果電流過大的話。會造成上拉電阻過度消耗電壓值,所以高電平輸出電流過大時,上拉電阻不能過大。
當輸出低電平時,用電器與上拉電阻是並聯關係,上拉電阻會消耗整個vcc的電壓值,如果上拉電阻過小的話,電阻會燒燬,而且還會分掉一部分電流,導致低電平驅動能力降低。一般不小於500歐姆。
所以,如果考慮高電平驅動能力強一點的話,上拉電阻就儘量小一點,但是不能太小,一般最小為500歐姆。如果考慮低電平驅動能力強一點的話,上拉電阻就儘量大一點,一般1k到10k。如果不考慮高電平驅動的話,那上拉電阻也沒有必要加。
-
4 # 玩轉嵌入式
在設計微控制器的外圍電路時經常需要用到上拉電阻和下拉電阻,上拉電阻的取值一般在4.7k-10k左右,是根據經驗取值的,沒有特別的計算方式。下面介紹一下上拉電阻。
什麼是上拉電阻所謂上拉電阻,就是將微控制器的GPIO口透過一個電阻接至電源,在初始情況下給該GPIO引腳一個確定的高電平,防止沒有上拉電阻而導致誤動作。如下圖所示,是上拉電阻典型的應用。
圖中電阻R48是兩個上拉電阻,DO1C接到微控制器的GPIO口作為輸入口,在初始條件下微控制器檢測到高電平。DO2接微控制器的GPIO口作為輸出口,微控制器未輸出時,該引腳被上拉至高電平,防止9012三極體誤動作。與上拉電阻相對的是下拉電阻,就是將微控制器的GPIO口透過電阻接至GND,在初始狀態下訊號為低電平,防止誤操作。
上拉電阻如何取值上拉電阻沒有明確的計算公式和技術要求必須是多大,一般都是根據典型值和經驗值選取,在設計電路時,一般選取4.7k-10k之間作為上拉電阻,下拉電阻也是這個範圍。
上拉電阻起到什麼作用上拉電阻一般起到如下幾個作用:
給GPIO一個確定的電平訊號。微控制器的GPIO口在初始狀態下可能是一個不確定的訊號,從而導致誤操作,為了克服這種情況,加入一個上拉電阻就把該埠鉗制在了高電平,從而避免誤觸發。
提高階口的驅動能力。對於一些開漏極、開集電極輸出的電路而言,其埠只能輸出訊號卻沒有帶載能力,比如光耦的OC輸出以及比較器的OC輸出,在輸出端加入上拉電阻提高其驅動能力。比較器的輸出如下圖所示。
-
5 # 沈雋藻
上拉電阻的主要作用是提供一個在晶片內部三極體截止時的一個高電平,因為,如果沒有上拉電阻,此時的IO口是高阻態,上拉電阻太小,當晶片內部三極體飽和時,灌電流過大,燒晶片,上拉電阻太大,無法提供輸出口的驅動電流,被這個電阻限流了。請朋友去理解!也可私信我
-
6 # 滴水滴
通常是4.7 K或者10K;
當是IO口為低電平時,選用上拉4.7K的功耗比選用10K的功耗要多一倍多。
-
7 # 下次再說吧1236
需多快的速度就需要越少的電阻,慢速的訊號隨便多少K都行。100M的I2C用4.7K以上的電阻就不能正常工作了。
回覆列表
首先解釋一下上拉電阻:上拉電阻的作用就是將不確定的訊號透過一個電阻鉗位在高電平,電阻同時起限流作用。
那麼對於普通的51微控制器晶片來說,有P0~P3四類共32個輸出串列埠,而P1~P3內部自帶上拉電阻,除非它的驅動能力不足以驅動後續電路,才會考慮加上拉。由於P0口內部沒有上拉電阻,是開漏的。所以P0口作為I/O口輸出時,輸出低電平為0, 輸出高電平為高阻態(並非5V,相當於懸空狀態)。也就是說P0 口不能真正的輸出高電平,給所接的負載提供電流,因此在要求輸出為高電平時必須接上拉電阻,不過一般傳輸地址和資料時不接也沒事。
怎麼選擇上拉電阻的阻值?
上拉就是要把VCC的電壓拉給串列埠使用,這樣串列埠輸出高電平是,值才會大。而上拉電阻也起到一個限流的作用。具體的值選多大,要看串列埠驅動的是什麼電路了。不過一般常用10K、4.7K、5.1K這些阻值的電阻。
1、假如驅動的是LED,上拉電阻範圍建議選擇在200~3K,具體選擇要看你需要LED多亮了。
2、驅動三極體,對於NPN,毫無疑問NPN管是高電平有效的,因此上拉電阻的阻值用2K~20K之間的,具體的大小還要看電晶體的集電極接的是什麼負載。對於PNP管,毫而低電平有效的,因此上拉電阻的阻值用100K以上的就行了,在開關管電壓保持高電平,三極體截止不產生誤動作。
3、對於驅動TTL積體電路,上拉電阻的阻值要用1~10K之間的。
零是起源寫於20180729