前幾天,一位工程師向我反饋,他測得如下電路MCU IO口的電壓不是3.3V,只有2V多。
IO配置的是輸入功能,無上下拉。最初我不太相信這個結果,后來自己用萬用表實際測量了下,還真是這個結果!
這是怎么回事呢?不應該電壓就是3.3V嗎?
后來經高人指點,可能是IO口輸入漏電流的原因,輸入漏電流在MCU數據手冊中符號為Ilkg,lkg表示Input leakage current。
IO口的內部是CMOS器件,因為CMOS是高輸入阻抗器件,理想狀態下IO接一個高電平是沒有輸入電流的。但實際情況中,因為存在一個輸入阻抗,所以還是會有微弱的電流,這個電流叫做漏電流。
那么,電壓降低到2.48V,是不是就是因為輸入漏電流的原因呢?
答案是否,因為如果電壓就是2.48V,那么漏電流有(3.3V-2.48V)/3.6M=227nA,這個和上述數據手冊最大100nA對不上啊!
真實的原因是萬用表自身的內阻導致的,就算上拉電阻不接MCU的IO,直接用萬用表測電壓下面,測出來也是2.4幾V,這也可以驗證和IO輸入漏電流無關。
萬用表在測量電壓時,內部具有電阻,通常被稱為輸入阻抗。不同型號和品牌的萬用表有不同的輸入阻抗,一般在兆歐姆(MΩ)的數量級。
通常情況下,萬用表的輸入阻抗可以在用戶手冊或儀器上找到,一些典型的值包括10MΩ或更高。
這個輸入阻抗會影響測量結果,特別是在測量高阻值電路時,比如對上述電路就會產生很大影響,因為上拉電阻太大了,
假設萬用表輸入阻抗是10MΩ,實際測量電壓值為10/(3.6+10)*3.3V=2.43V。
對于一般的上拉電阻比如1KΩ,實際測量電壓值為10000000/(1000+10000000)*3.3V≈3.3V,幾乎無影響了。
對于上述的兩個電路,要想得到準確的電壓值,只能選用更高輸入阻抗的測量儀器。我這里選用了泰克DMM4050來測試第一個電路,同時要注意設置為高輸入阻抗模式,因為它默認也是10MΩ。這時候測得的電壓值如下:
啟用高輸入阻抗的設置方法可以在說明書中找到:
設置之后,阻抗會超過10GΩ,這時測的電壓就準確了,測得的電壓相比3.3V也有下降,只是不會再下降那么多。這時再來估算一下漏電流,(3.3V-3.10V)/3.6M=56nA,這就符合實際了。
如果測第二個電路電壓,那電壓幾乎就是3.3V。由此可見,不同的測量儀器差別還是挺大的。
最后,你可能會問他,為什么要接這么大阻值的上拉電阻呢?歡迎大家在留言區討論。
聲明: 本文轉載自公眾號,如涉及作品內容、版權和其它問題,請于聯系工作人員微(prrox66),我們將在第一時間和您對接刪除處理!-
pcb
+關注
關注
4319文章
23084瀏覽量
397636
原文標題:IO口電壓下降那么多,咋回事?
文章出處:【微信號:FANYPCB,微信公眾號:凡億PCB】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論