本課程將分三個單元陸續介紹數位電路。在本單元中,我們將介紹數位邏輯的概念,並討論一些基本數位電路的設計。

類比vs.數位:兩者有何差別?

自然界中所存在的空氣溫度、聲音響度、以及光強度等數值,都會在一個範圍內平滑而連續地變化著,我們稱這些數值為「類比」數值。

相對地,現今的電腦則是使用離散的數值來工作,我們稱這些離散數值為「數位」數值。也就是說,類比量測數值是一個「近似於」被測量信號屬性的平滑曲線,而數位量測數值則是一連串非連續的位準值。

或者,我們也可以說:類比數值是實數,而數位數值則是整數值。實數可表示數線上的任何一個點,而整數所能表示的,則僅限於數線上均勻間隔分佈的特定點。

類比電路可處理類比信號,也就是連續變化的數值。數位電路則可處理數位信號,其中所有數值都是離散的。

圖1: 類比與數位的不同

圖1: 類比與數位的不同

如果要將自然界中的類比資訊輸入到數位電路中,首先就需要將資訊加以數位化:也就是說,將類比信號轉換為數位信號。類比/數位(A/D)轉換器會對類比信號進行取樣(以設定的時間間隔來讀取數值),並將每個讀取到的數值轉換為對應的二進位數值(基數為2的值,以0和1來表示)。

由於此類轉換器會將帶有小數值的類比信號,轉換為只採用離散值的數位信號,因此會導致某些資訊的遺失。每個類比讀取數值必須捨入(向上或向下)到其最接近的數位數值。而且,由於此轉換器只會在特定間隔時間點上讀取類比信號,因而也會遺失這些間隔期間所存在的類比資訊。

因此,數位數值事實上只能說是類比信號的近似值,且總會存在著轉換誤差。不過,我們可以藉由縮短測量時間間隔,並使用更精確(即更長的位元長度)的數位數值,來降低該誤差。但是,將原本平滑的類比信號轉換為跳躍且較不精確的一連串數字,究竟有何意義呢?事實上,至少有以下兩個優點:數位信號具有較強的抗雜訊能力; 此外,現代的電腦也只能處理數位數值。

現今功能強大的微控制器能夠快速地處理大量的數位資訊,這些微控制器所使用的數位電路,充分利用了一個優點事實,也就是數位信號在傳輸和回放時,並不會像類比信號那樣容易遺失資訊。

二進位數值

數位信號通常是使用二進位(也稱為「基數2」)方式來表示數值,亦即每個數字僅使用到0和1來代表。具體來說,數字的最右邊位元代表20,其左鄰數字則代表21,接著是22,依此類推。因此,一個四位元的二進位數字可代表從0到15的16個數值,如表1.所示。至於大於15的數值,則可透過增加位元數來加以表示。

採用二進位方式來代表數位信號的優點之一,在於具有二進位輸出的邏輯電路較易設計:電路非ON即OFF,剛好可對應到數位二進位數字的1和0。ON和OFF狀態在物理上是由兩種電壓狀態來加以實現:高(「H」)和低(「L」)。

在一採用5V電源的典型CMOS IC中,0到1.35V的電壓範圍對應的是「L」,而3.15V以上的電壓則代表「H」。由於0和1分別對應於這些相對較寬的電壓範圍,因此即使線路上存在一定程度的雜訊,電路也能產生正確的輸出。

10進位 2進位
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 1010
11 1011
12 1100
13 1101
14 1110
15 1111

表1: 10進位的2進位换算

數位電路=邏輯電路

數位電路也被稱為邏輯電路,能執行邏輯運算。任何我們所需的邏輯運算,都可透過三個基本電路──AND、OR、和NOT的組合來構建出來。

邏輯電路可透過邏輯運算式和電路符號來加以表示(雖然在此我們使用的是MIL符號,但還有JIS符號或其他符號也可使用),真值表則可表示在所有各種可能的輸入組合情況下,相對的邏輯電路輸出值。

AND(及)電路,串聯(serial)電路

AND電路也被稱為積(product)電路。它有兩組輸入,當兩組輸入皆為1時,輸出端Y為1,否則輸出端Y為0。

AND的邏輯表示方式:

使用"・"運算元來表示,例如: Y = A・B

 

AND電路符號

回路記号

真值表

A B Y
0 0 0
0 1 0
1 0 0
1 1 1

我們來看看AND電路如何動作。圖2所示,是由兩個開關(SWA及SWB)與一個LED所構成的AND電路,其中:

  • 當輸入A為1時,SWA為On(導通);當輸入A為0時,SWA為Off(斷路)。
  • 當輸入B為1時,SWB為On;當輸入B為0時,SWB為Off。
  • 當輸出Y為1時LED Y為On(亮);當輸出Y為0時LED Y為Off(暗)。

图2:AND电路的运作方式

圖2:AND電路的運作方式

AND電路的動作方式如下:

  • 當SWA及SWB同時為On時,LED Y為On(亮)。
  • 當一個開關為On而另一個開關為Off時,LED Y為Off(暗)。
  • 當兩個開關皆為Off時,LED Y為Off(暗)。

基本邏輯電路一般也被稱為閘(gates),您也可以讓一個開關固定導通,再利用另一個開關來控制輸出值。圖2為AND電路的閘運算動作。

  • 當SWA或 or SWB其中之一固定為Off時,LED將固定維持在暗狀態,亦即輸出會固定在Off。
  • 當SWA或SWB其中之一固定為On時,閘的輸出會等於未被固定的SW的值。

OR(或)電路,並聯(Parallel)電路

OR電路也被稱為「邏輯sum(加總)電路」,當任一輸入或兩個輸入同時為1時,其輸出為1;當兩個輸入同時為0時,其輸出為0。例如:Y = A+B。

OR的邏輯表示方式:

使用「+」運算元來表示,例如:Y = A+B

 

OR電路符號

The OR Circuit, A Parallel Circuit

真值表

A B Y
0 0 0
0 1 1
1 0 1
1 1 1

圖3所示為一OR電路,由兩個開關及一個LED所構成的並聯電路。

  • 由於此為一並聯電路, 因此當只有SWA 或只有SWB或同時SWA及SWB為On時,其輸出會是On(LED Y會點亮)。

OR電路的閘動作方式與AND電路相反。

  • 當SWA或SWB固定為On時,LED會點亮;也就是說,輸出會固定於On。
  • 當SWA或SWB其中之一固定為Off時,輸出會經由On的SW,LED仍然會被點亮。

Figure 3: An OR Circuit

圖3:OR電路的運作方式

NOT(非/反)電路, 反相電路(Inverter Circuit)

NOT電路也被稱為「反相電路(inverter circuit)」,它只有一個輸入,並輸出與輸入反相的結果。亦即,如果輸入為1,則輸出為0;.如果輸入為0,則輸出為1。

NOT的邏輯表示方式:

使用「¯」運算元來表示,例如:Y = A

NOT 電路符號

电路符号

真值表

A Y
0 1
1 0

在下一課程單元中,我們將介紹數位IC如何動作。

課程單元列表

  1. 基礎數位電路
  2. 數位IC / 組合邏輯
  3. 循序邏輯