Outline 6-1 序向電路的原理 6-2 正反器(Flip Flop) 6-3 同步序向電路設計與分析
6-1 序向電路的原理 一個序向電路的基本模式如下圖所示,由n個輸入變數、m個輸出變數與k個記憶元件所組成。記憶元件的輸出組合為此序向電路目前狀態(Present State,PS),而輸入組合稱為下一狀態(Next State,NS)。目前的狀態與輸入變數組合後,才決定電路輸出的下一狀態。電路從現在狀態轉變為下一狀態的情況稱為轉態(State transition)。
同步序向電路基本模式
當一序向電路中的輸出只與目前狀態有關者,稱為Moore機器,若序向電路的輸出不但和目前狀態有關,而且與輸入變數有關時,稱為Mealy機器。在理論上,Mealy機器與Moore機器是等效的,而且可以互相轉換。
同步與非同步序向電路之差別: 1. 在同步序向電路中,每一個記憶元件的狀態改變皆發生在同一固定的時刻,電路的動作完全由時脈(clock)來控制。 2. 在非同步序向電路中,電路的動作只受輸入變數的改變的順序改影響,且任何時刻皆可能發生。在此種電路中,記憶元件並非時脈控制方式,在輸入變數改變時,其也隨之轉態。
序向電路的表示方式 序向電路的表示方式有下列幾種: 一、邏輯方程式(即布林函數) 利用輸出函數與轉態函數來決定序向電路的動作方式。 例1:設計一偵測輸入信號序列為0101時,即輸出"1",否則輸出"0"的序向電路。
二、狀態圖(State Diagram) 利用邏輯方程式並無法清楚表示狀態輸出與輸入之間的關係,所以一般只適於理論的分析,並不適合電路的設計。為改善這些缺點,所以使用圖形或表格方式直接表示出狀態轉換與輸出入間的關係之表示方式較為普遍。 以圖形表示狀態間關係的表示方式稱為狀態圖,在狀態圖中,每一個頂點(Vertex)均代表一個狀態,每一個分支代表狀態轉移,頂點內的符號代表狀態的名稱,分支上的標記則代表所對應的輸入與輸出關係。
例2:以狀態圖表示範例1的序向電路。 已知A為初始狀態,B認知"0"的狀態,C認知"01"的情況,D認知"010"的情況,所以狀態圖表示如下:
所以若輸入信號序列為0101001,則其狀態轉換與輸出值為: 輸入:0101001 狀態:ABCDCDBC(依認知前面數個輸入順序來決定狀態) 輸出:00010000
三、狀態表(State table) 狀態表與狀態圖的表示方式是相對應的,在狀態表中,每一列相當於序向電路的每一狀態,而每一行相當於一個輸入變數的組合,故行與列交點便代表該列下的狀態與輸出。
四、時序圖與時序序列 序向電路除了可以上述三種方式表示外,也可以時序圖配合輸入序列來表示其下一狀態及輸出。 例4:以輸入時序010101101001為例,繪出範例1的序向電路之時序圖與時序序列。
6-2 正反器(Flip Flop) 正反器又稱為閂鎖(latch)或雙穩態多諧振盪器,由邏輯閘組合而成,雖然邏輯本身沒有儲存的能力,但經過適當的連接便具有記憶儲存的功能。一般而言,每一個正反器能儲存一個位元的資訊。 正反器的符號如下圖所示,則有兩個輸出端:為正常輸出,為反相輸出,輸出的狀態有0與1兩種。
正反器之符號 每一個正反器可有一個或多個輸入,這些輸入可用來改變輸出狀態。當一輸入送到正反器而得到一已知新的狀態時,此新的狀態會一直保留在正反器中,一直到下一個輸入信號或時脈訊號進來,才輸出到輸出端,這便是記憶體的特性。
NAND閘閂鎖(Latch) 基本的正反器電路可由兩個NAND閘或兩個NOR閘構成。由NAND閘所構成者稱為NAND閘閂鎖(NAND gate Latch),如下圖所示。 NAND閘閂鎖
兩個NAND閘係以交互耦合方式連接,NAND-1的輸出接到NAND-2的輸入端,反之亦然。所以邏輯閘輸出為與,亦為閂鎖的輸出。其原理:
從真值表中,SET與CLEAR都是低準位動作,若將CLEAR輸入端改稱為Reset(重設),則此電路便是一個SR正反器。 綜合以上,我們可得NAND閂鎖電路之真值表如下: NAND FF及真值表 從真值表中,SET與CLEAR都是低準位動作,若將CLEAR輸入端改稱為Reset(重設),則此電路便是一個SR正反器。
例1:如下圖的兩個波形送至NAND閘所組成的SR正反器之輸入端,若開始時,則輸出Q之波形為何?
彈跳(Bounce)與除彈跳(Debounce) 在組合電路中,由於有接觸彈跳(contract bounce)的現象,不太可能以機械開關得到一完美的電壓轉態特性;如下圖所示,將開關由位置1板至位置2,則在開關保持在閉合於位置2前將因開關彈跳,而產生數次電壓準位變化,此即開關的彈跳現象。 開關彈跳
一般開關的彈跳時間約數毫移(ms),為了消除這種不正常的現象,可以使用NAND閘閂鎖(latch)電路,如下圖所示。 除彈跳電路
NOR閘閂鎖 將上小節的NAND閘閂鎖改成NOR,即成為NOR閘閂鎖。其電路與真值表如下圖所示。
例2:下圖為檢測光束中斷的簡易電路。光線聚射在當作開關的光電晶體上。設FF事先因瞬間打開開關而清除為0,且光束瞬間被中斷,試描述將產生什麼動作?
正反器的組成 數位系統可操作於非同步或同步的模式,在非同步系統中,邏輯電路的輸出是隨輸入訊號而變化的。前面所提的NAND或NOR閘閂鎖電路即為非同步序向電路。為了使電路的動作受到穩定的控制,通常會有一個時脈信號(clock)方波送到NAND或NOR閂鎖電路中,如此可以得到同步的序向電路的正反器,如此可避免因輸入改變狀態造成輸出的不穩定。
一、時脈信號(clock) 同步序向邏輯電路只允許狀態改變的特定時間來產生輸出變化,此特定時間係由系統的時脈信號所決定。時脈信號是一個週期性方法;如圖6-8所示,每一週期可分為高準位(on)與低準位(off)兩種狀態,且兩狀態的時間長度可以不相等。時脈信號通常係由一無穩態多諧振盪器(Astable Multivibrator)所產生,最常用的元件是555計時器,其中T為時脈週期。
圖6-8 時脈信號 圖6-9 非理想脈波
正反器是1位元的記憶元件,可作為計數器、暫存器及其它序向邏輯電路的基本單位,常見的參數有:
二、脈波觸發正反器 準位觸發型的正反器因時脈寬度太長,可能會產生振盪,所以在實際的應用上是受到限制的。而且它在時脈觸發時,輸出對控制線上的雜訊是非常靈敏的。所以一般使用脈波觸發型或邊緣觸發型正反器來改善此缺點。 圖6-10所示為主僕式(Master-Slave)JK正反器的邏輯電路,它是由兩個SR正反器與一個反相器組合而成,而且輸出分別交叉反饋至輸入端,這樣的結構使主正反器在時脈高準位時致能,僕正反器在時脈低準位時致能。所以在時脈低態時,主正反器的輸出為僕正反器的輸入。
(a)邏輯電路 (b)時序圖 (c)具預設與清除的邏輯符號 圖6-10 主僕式JK正反器
工作原理
邊緣觸發正反器 邊緣觸發正反器可用來消除準位觸發正反器的振盪與靈敏度對雜訊的問題,並能解決主僕成正反器突然故障截取的缺點。 圖6-11為正緣觸發D型正反器的邏輯電路,它由三個基本記憶單元所組合而成,並且包含兩個非同步訊號預設(Preset)與清除(Clear)。圖6-11(b)為正緣觸發D型正反器的邏輯符號,在時脈CLK處有一個小三角形而無小圓圈在圓形外。而預設(Preset)與清除(Clear)均為Low動作,平常時應保持在High。
(b)符號 (a)邏輯電路 圖6-11 正緣觸發D型正反器
圖6-11(a)的動作原理
正反器 一、SR正反器 1. 真值表:
二、JK正反器
真值表: 化簡:
三、D型正反器
四、T型正反器
正反器之互換 一、SR正反器對JK、D、T型正反器的轉換
6-3 同步序向電路設計與分析 同步序向電路之分析 同步序向邏輯電路分析的步驟為: 1. 由電路中寫出每一正反器輸入端的輸入函數。 6-3 同步序向電路設計與分析 同步序向電路之分析 同步序向邏輯電路分析的步驟為: 1. 由電路中寫出每一正反器輸入端的輸入函數。 2. 由000開始分析每一正反器隨時鐘脈波(Clock)變化的情形,建立狀態轉移表(Transition Table,經過狀態指定後的狀態表稱之)。 狀態轉移表:可表示I/P,O/P及正反器變化情形的表格,可分為3部份: (1) P.S(現在狀態):正反器在脈衝出現之前的狀態。 (2) N.S(次態):正反器在脈衝出現之後的狀態。 (3) O/P(輸出):輸出的值。
例1:分析下列之序向邏輯電路: (1) (2)
(b) Z=110000
同步序向電路之設計 同步序向邏輯電路設計的步驟: 1. 繪出狀態圖:依題意而得。 2. 建狀態表。 3. 狀態化簡。 1. 繪出狀態圖:依題意而得。 2. 建狀態表。 3. 狀態化簡。 4. 狀態指定:指定後的狀態表稱為狀態轉移表。 5. 繪出所選用正反器的激勵表及真值表。 6. 決定輸入方程式。 7. 決定輸出方程式。 8. 繪出電路圖。
一、狀態圖與狀態表之轉換
二、狀態化簡 採用等位狀態原理來減少狀態變數,使得在設計電路時,所採用的硬體數目能減為最少。其化簡的技巧一般有下列三種:
三、同步序向電路設計
「認識電路」之設計 設計一認識某二進制序制之步驟與設計序向電路差不多,比較複雜的是狀態圖的畫出必須詳加討論才不致設計出錯誤結果。
以狀態方程式來設計序向電路