二極管與門的搭建

在C語言中我們學過與邏輯,符號是&,比如說兩個事件同時成立,那麼輸出的布爾代數值是1。例如:1&1=1。且輸出的值只有0或者1.

只要不是兩個事件同時成立,那麼輸出的值便為0,例如:0&0=0;0&1=0;1&0=0。

二極管與門的搭建

以上就是程序中的與邏輯,實現非常簡單,但是程序中邏輯與是怎麼運算的呢?不談硬件、只說軟件就是耍流氓,因為軟件需要硬件作為載體才能運行。

與門電路

在數字電路中與門的電路符號如下圖所示

二極管與門的搭建

A和B對應我們輸入的值,對應上述1&1=1中的1&1,O為輸出值,對應最後的結果1.

接下來我們進行仿真,用5V代表1,0V代表0,LED燈亮代表1,LED燈滅代表0.

有一路輸入0V,LED不亮

二極管與門的搭建

同時給輸入5V,LED燈亮

二極管與門的搭建

與門電路的實現

以上只是以電路符號的形式表現出來的與門的作用,但是在真實電路中是不存在這樣分立元器件的。

那麼如何用我們常用的電子元器件搭建與門電路呢?

二極管、電阻

要搭建與門電路最簡單的辦法是用二極管+電阻實現。電路如下所示

二極管與門的搭建

A、B同時為0V

上圖中O點可以看做是懸浮狀態,A、B為輸入,當A、B兩端同時輸入0V時,由於二極管的鉗位作用,O點會輸出0.7V,因為二極管的導通電壓為0.7V,且保持不變。

此時的電路圖等同於下圖所示,相當於通過二極管直接接地。

二極管與門的搭建

A、B中有一個是3V

當A或者B輸入端有一個輸入為3V呢?

二極管與門的搭建

以上電路的情況和第一種情況是一樣的,因為有一支二極管的導通壓降為0.7V,那麼輸出就為0.7V。

A、B同時為3V

當A和B同時為3V時,電路圖可以簡化為下圖

二極管與門的搭建

因為同時輸入高電平,所以我們可以把兩支二極管看成一支,這樣電路圖也就明瞭了,A點電勢為3V,因為二極管自身有0.7V的壓降,所以B點的電勢為3.7V,同理輸出點O點電勢為3.7V。

通過以上分析,我們得出如下結果

二極管與門的搭建

如果把0.7V看做0,3.7V看做是1,那麼結果和與邏輯的值一致,其結果如下

二極管與門的搭建

或門電路的實現

和程序中的或邏輯一樣,或邏輯是隻要有一個條件成立,其值便為真。

二極管與門的搭建

數字電路中電路符號如下:

二極管與門的搭建

接下來我們來探討或門是如何實現的。

二極管、電阻

或門也可以用二極管+電阻的方式來實現,而且比與門電路的實現還要簡單,其電路圖如下

二極管與門的搭建

當A、B同時給0V時,O點自不必說,這時候肯定為0V。

當A、B同時為3V時,這時候可以看做只有一支二極管,由於二極管的壓降為0.7V,所以O點輸出為3-0.7=2.3V。

當A、B中有一支為3V時,由於二極管的單向導電性,這時候二極管的電流只能通過電阻流向地,所以這時候的情況和第一種情況的結果是一樣的,O點輸出的也是2.3V。

也就是說只要有一個給3V,結果就是2.3V,其結果整理如下

二極管與門的搭建

如果把2.3V看做是高電平,0V看做是低電平,將得到如下真值表

二極管與門的搭建

程序中的邏輯運算在電腦芯片中便是通過這種方式實現的(只是其中的一種)。

二極管“與或”門的缺陷

二極管與或門雖然可以實現邏輯運算,但也有一些不足的地方,不足的地方如下所示:

①:電壓的不一致性

與門或門的電壓不一致,註定二極管與或門不能有深層次的應用,比如與門中高電平為3.7V,而或門中的高電平卻只有2.3V;

與門中的低電平為0.7V,而或門中的低電平卻只有0V,電壓的不一致性,就不能為更為複雜的門電路做銜接,比如與門後面再加上混合邏輯運算,這樣就會出現電平的混亂。

②:電阻的選擇問題

如下所示的與門電路,如果電阻選擇10K的話,流過電阻的電流為(5-0.7)/10=0.43mA,這個電流是沒有驅動能力的,只適合把他們設計在芯片內部,如果只是走信號的話,電阻是遠遠大於10K的,因為芯片需要低功耗。

二極管與門的搭建

如果我們選擇10Ω的電阻是不是就有驅動能力了?

答案是肯定的,當我們選擇的電阻是10Ω是流過電阻的電流為:(5-0.7)/10=430mA。

430ma的電流已經可以驅動一些電路模塊、小馬達之類的了,那麼與門設計成這樣不好嗎?

當然不行,因為這個電路在沒有負載的時候流過的電流仍舊為430mA,如此大的功耗是不允許的。

所以說二極管與門電路只適合應用在芯片內部。


分享到:


相關文章: