1. 程式人生 > >史上最透徹:為什麼TTL邏輯驅動CMOS要接上拉電阻?你真知道?

史上最透徹:為什麼TTL邏輯驅動CMOS要接上拉電阻?你真知道?

除了前一節討論的拉電阻基本使用方法外,上拉電阻也可以提升高電平的電壓閾值,以便於前後級訊號相匹配,

我們經常會看到網上有這種說法:TTL邏輯電平驅動CMOS邏輯電平時,我們通常會新增一個上拉電阻R1,如下圖所示:

大多數人會這麼想:哦,我知道了,下次如果用TLL邏輯驅動CMOS邏輯的話,我會加個上拉電阻的,But Why?你真的想過其中的原因嗎?

我們先來看看TTL電平標準圖與CMOS電平標準圖,如下圖所示:

可以看到,TTL邏輯輸出的低電平最大值VOLMAX(0.4V)小於CMOS邏輯輸入低電平最大值VILMAX(0.3×VCC=1.5V),因此,TTL低電平驅動CMOS邏輯是完全沒有問題的,但是TTL邏輯輸出的高電平最小值VOHMIN(2.4V)卻低於CMOS邏輯輸入高電平的最小值VIHMIN(0.7×VCC=3.5V),換言之,CMOS邏輯可能不能夠識別TTL邏輯高電平(注意"可能"這兩個字)。

那為什麼新增上拉電阻後就能夠使TTL邏輯可靠驅動CMOS邏輯呢?我們看看TTL邏輯"非"NOT電路的輸出結構,如下圖的所示:

事實上,所有TTL邏輯輸出結構都是一致的,TTL邏輯輸出為高電平時內部狀態如下圖所示:

按照TTL電平標準,輸出高電平VOH至少2.4V(VOHMIN=2.4V),換言之,這個輸出電壓也可能高於或低於CMOS高電平輸入識別閾值最小值3.5V(不可靠),而新增上拉電阻後的TTL邏輯電路狀態如下圖所示:

由於上拉電阻R4的存在,使得三極體Q3與二極體D2都處於截止狀態,因此輸出電平被上拉至5V高電平,妥妥地超過了CMOS邏輯高電平判斷閾值的最小值( 3.5V),這樣CMOS邏輯電路就能夠可靠地進行高電平判斷。

但是,反過來CMOS邏輯電平能夠可靠地驅動TTL邏輯電平,讀者可自行對照兩者的邏輯電平標準圖就真相大白了。

我們在說某個電阻是上拉電阻或下拉電阻的時候,它其實還同時有限制電流的能力,只不過在使用拉電阻過程中,上拉或下拉的功能占主導地位,也因此而得名,你可以把端接電阻稱為上拉電阻或下拉電阻,但你總不會稱其為限流電阻吧?下一章我們來詳解談談限流電阻的使用, Let's Go!