經(jīng)常會(huì )聽(tīng)到MCU某I/O的驅動(dòng)能力是xxmA,那么到底什么是驅動(dòng)能力呢?如果某IO的驅動(dòng)能力是5mA,它就輸出不了超過(guò)5mA的電流了嗎?為什么IO的驅動(dòng)能力有差異呢?
要回答以上問(wèn)題,需要先了解MCU內部的I/O結構,

(本圖來(lái)源于STM32F103參考手冊)
當輸出高電平1時(shí),I/O內部VDD經(jīng)過(guò)PMOS流向I/O引腳,如下圖紅色箭頭所示,

這時(shí)驅動(dòng)能力是指,在輸出電流小于等于最大輸出電流的情況下,I/O引腳可以正常的輸出邏輯1。
P-MOS管的源極(S)接VDD,當MCU輸出1時(shí),P-MOS管導通,電流從源極(S)流向漏極(D)。I/O引腳外接負載大小不同,流過(guò)P-MOS管的電流、VDS(源漏電壓)就會(huì )不同。輸出電流越大,VDS越大,I/O電壓就越小。當電壓低到Voh時(shí)的這個(gè)輸出電流,就表示驅動(dòng)能力。
當輸出低電平0時(shí),I/O引腳經(jīng)過(guò)N-MOS流向I/O內部VSS,如下圖紅色箭頭所示

這時(shí)驅動(dòng)能力是指,在小于等于最大輸入電流的情況下,I/O引腳可以正常的輸出邏輯0。道理同上,流過(guò)N-MOS電流越大,N-MOS產(chǎn)生壓降越大,I/O口電壓越大。當電壓達到邏輯0的最高電壓Vol時(shí),這時(shí)的電流就表示驅動(dòng)能力。
以上看明白后,文章開(kāi)頭的3個(gè)問(wèn)題也就有了答案,
1)I/O驅動(dòng)能力是指在同時(shí)滿(mǎn)足Voh(輸出引腳為邏輯1時(shí)的最小電壓值) 和 Vol(輸出引腳為邏輯0時(shí)的最大電壓值)前提下,最大可以輸出和吸收的電流大小。Voh和Vol的值在芯片數據手冊中可以查到。
2)如果某I/O的驅動(dòng)能力是5mA,并不是表示它輸出不了超過(guò)5mA的電流,只是當輸出電流超過(guò)5mA之后,它的輸出電壓會(huì )下降,電壓會(huì )小于Voh。
3)I/O驅動(dòng)能力的差異來(lái)源于MOS管自身的特性,要想過(guò)電流能力大,MOS管體積就要大,芯片所需的面積就會(huì )更大,成本自然也會(huì )更高。所以通常MCU只是一部分I/O具有高驅動(dòng)能力,并不是每一個(gè)I/O都做成了高驅動(dòng)能力。
說(shuō)了這么多,其實(shí)可以用下面這個(gè)簡(jiǎn)單的電路來(lái)解釋?zhuān)?/font>

MCU的IO引腳上外接一個(gè)電阻到GND,只要這個(gè)電阻不是太小,那么IO引腳的電壓是基本不變的,只是微小的下降。電阻很小、電流較大時(shí),電壓會(huì )明顯下降。
感興趣的可以實(shí)際測試下,不過(guò)要注意別把電流整太大燒壞IO哦。 |