數字電子技術之時序邏輯電路

時序邏輯電路是比較重要的內容,裏面的知識點在很多地方都會應用到,比如強化學習領域經常要用到下一個狀態對當前狀態產生的影響,所以這塊"硬骨頭"一定要啃下來

  1. 分析與設計
  2. 計數器
  3. 計數器的應用
  4. 寄存器
  5. 移位寄存器的應用

1. 分析與設計

同步時序邏輯電路的分析方法

時序邏輯電路的分析,就是從給定的時序電路的邏輯電路圖出發,分析得
到其邏輯功能。具體講,就是確定電路的輸入和現態如何決定了電路的輸出和次態,從而得到電路的狀態遷移規律。對於同步時序邏輯電路,其中的觸發器在統一的時鐘信號的控制下工作,電路分析過程比較簡單。

在這裏插入圖片描述

  1. 判斷
    根據給定的邏輯電路圖,判斷其爲同步時序,還是異步時序,如果是同
    步時序,就按照下面的步驟具體分析。
  2. 讀圖
    閱讀電路圖,明確電路中採用了何種觸發器,以及輸入、輸出變量的情
    況;隨後,根據電路的連接形式,得到電路的輸出方程(輸出由輸入和現態決定的函數),以及觸發器的激勵方程(觸發器的激勵信號由輸入和現態決定的函數)。
  3. 帶入
    已知觸發器類型,可知其特徵方程的標準形式,將上一步中得到的激勵
    方程帶入觸發器的特徵方程,得到電路中各個觸發器對應的狀態方程。
    此時就得到了電路對應的邏輯表達式,包括輸出方程、狀態方程(次態
    由輸入和現態決定的函數)。
  4. 計算
    根據上一步得到的表達式,得到狀態表,一般按照真值表的結構列寫即
    可,也就是電路的真值表。當然,列寫時最好用整體分析的方法,在分析困
    難時,可能需要帶入計算。
  5. 轉換
    將電路的狀態表(真值表)轉換爲狀態圖。
  6. 總結
    分析電路的狀態圖上表達出的狀態遷移關係,從而總結得到電路的邏輯
    功能,同時,這裏一般還需要判斷電路的安全性如何。

[例] 分析如圖所示電路,說明電路功能
在這裏插入圖片描述
首先判斷這是一個同步時序邏輯電路

接着就是讀圖,得到電路的輸出方程(輸出由輸入和現態決定的函數),以及觸發器的激勵方程(觸發器的激勵信號由輸入和現態決定的函數),並將激勵
方程帶入觸發器的特徵方程:
在這裏插入圖片描述
接着再寫出真值表:
在這裏插入圖片描述
根據狀態表畫出狀態圖:
在這裏插入圖片描述
畫狀態圖時,要做好標註(白框)

最後總結功能,這是一個不具有自啓動能力的六進制計數器(計時鐘脈衝CLK個數)

因爲有6個狀態即6個CLK,所以它是六進制計數器

另外,狀態圖裏還有一個兩狀態循環,這是小循環,一般來說,我們只考慮大循環

"自啓動"與"自校正"

這裏要談的其實是時序邏輯電路的安全性研究

在這裏插入圖片描述

時序邏輯電路的“自啓動能力”與“自校正能力”的實質是一樣的。實質在於:無效狀態是形成循環,還是遷移回到有效循環中。

同步時序邏輯電路的設計方法

時序邏輯電路的設計,就是從給定的邏輯功能入手,通過一系列的設計過
程,最終得到電路的實現方案,即邏輯電路圖。

當然,最終得到的時序電路也分兩種,即同步時序電路和異步時序電路。一
般來講,完成相同的邏輯功能,異步時序電路的整體結構要比同步時序電路簡單一些,但是,其設計過程也明顯較後者複雜,難以掌握。

組合邏輯電路的設計過程,基本可看做分析的逆過程,類似的,同步時序電路的設計過程和分析過程之間,也有互逆的特點。

基本流程

在這裏插入圖片描述

  1. 邏輯抽象
    根據邏輯要求,進行邏輯抽象,明確該電路的狀態量的含義,並確定輸
    入、輸出變量和狀態數;
    根據電路的邏輯功能,明確狀態遷移關係,從而建立原始狀態圖。
    此過程中,重點在於找到電路的狀態量,理解其含義。
  2. 狀態化簡
    在原始狀態圖中,若兩個電路狀態在相同的輸入條件下,得到相同的次
    態結果和輸出結果(即狀態遷移關係相同),就稱這兩個狀態爲等價狀態。
    顯然,等價狀態是可以合併的,合併後,得到該電路的最簡狀態圖。
    3.狀態編碼
    根據最簡狀態圖中,狀態的數量,確定需要使用的觸發器的數量,並用二進制代碼表示各個狀態,即對狀態進行編碼。至此,最初的設計要求已完全數學化,得到了一個完全數學化的狀態圖。
    設最簡狀態圖中,狀態個數爲M ,需要使用的觸發器個數爲 n,則兩者
    數量關係上滿足:2n1<M2n2^{n-1}<M≤2^n
    同時,如果M2nM≠2^n,則意味着是從2n2^n種狀態中選取M個,對電路的狀態圖進行賦值,這樣的選擇方案是不唯一的。如果選擇的編碼方案得當,則可以很大程度上簡化設計過程和最終得到的電路結構,反之,如果選擇不當,設計出來的電路就會比較複雜。
    因此,選擇編碼方案是有一定技巧性的。此外,這也意味着電路存在無效狀態,那麼,設計完成後,需要檢查電路的自啓動能力。
  3. 推導邏輯表達式
    根據編碼後的狀態圖,得到邏輯表達式,即電路的輸出方程和觸發器的狀態方程。
    這一步工作中,一般是將狀態圖轉化爲表示輸出信號和次態的卡諾圖,並進行卡諾圖法化簡,從而得到對應的輸出方程和狀態方程。
  4. 推導觸發器的激勵方程
    選定觸發器的類型(常用 觸發器和 觸發器),根據電路的狀態方程和選定觸發器的標準特徵方程,反推得到每個觸發器的激勵方程,即驅動函數。
    因爲各種觸發器的驅動方式不同,所以,選用不同類型觸發器,設計出的電路也不一樣,確定觸發器類型時,要考慮到器件的實際供應情況,併力求減少系統中使用的觸發器種類。
  5. 畫圖
    已知要設計是同步時序電路,且已確定觸發器類型,又得到了與電路連接形式直接相關的輸出方程和觸發器的激勵方程,根據這些結果,就可以方便地得到邏輯電路圖。
  6. 檢查電路的自啓動能力
    如果存在無效狀態,畫出電路圖後,還需要檢查電路的自啓動能力。如果發現不具有自啓動能力,則還需要對電路進行相應改進,使其具有自啓動能力,提高電路工作的安全性。
    將電路工作中沒有用到的誤狀態依次帶入電路的狀態方程,求得次態,從而得到其狀態遷移關係,並補充入前面得到的最簡狀態圖,形成所設計的電路的完整狀態圖,看無效狀態和有效狀態之間的關係。
    如果無效狀態的遷移沒有形成無效循環,而是和有效循環聯繫,則具有自啓動能力。
    如果形成了無效循環,則不具有自啓動能力。此時,電路設計方案還需要進一步改進,給出既完成邏輯功能又具有自啓動能力的優化電路。

下面來看一看例題:

[例]已知一個同步時序邏輯電路的狀態圖,請按此邏輯要求實現該電路。
在這裏插入圖片描述
首先判斷這是一個六進制的加法計數器

第二步要推導邏輯表達式,我們先把狀態圖轉換成卡諾圖:
在這裏插入圖片描述
當現態爲000時,次態會變爲001且輸出爲0

最後得到Q2Q_2次態的狀態方程:
在這裏插入圖片描述
以此類推:
在這裏插入圖片描述
最後推導出激勵方程:
在這裏插入圖片描述
畫圖時,首先要準備元件:
在這裏插入圖片描述
接着同步時序:
在這裏插入圖片描述
然後逐層寫激勵:
在這裏插入圖片描述
最後一步,疊加輸出:
在這裏插入圖片描述
最後,我們檢查一下自啓動能力:
在這裏插入圖片描述
將另外兩種狀態帶入激勵方程,得到狀態遷移關係,可以看出無效狀態沒有形成無效循環,所設計的同步時序電路具有自啓動能力

邏輯抽象

邏輯抽象的重點是尋找狀態量,但這並不是入手點,入手點還是要從確定輸入、輸出信號開始

下面通過一道例題來具體分析一下:

[例] 設計一個串行數據檢測電路,要求:輸入出現連續3個以上(含3個)的1時,輸出爲1。

通過功能分析,尋找狀態量:
在這裏插入圖片描述
接着我們畫出原始狀態圖:
在這裏插入圖片描述
下面我們就要化簡了,我們看到S2S_2S3S_3,他們的物理意義雖然不同,但是他們的狀態在數學上是等價的,因爲他們的遷移狀態完全相同,此時,狀態圖可以化簡成如下所示:
在這裏插入圖片描述

最後從4個狀態中任選3個帶進去即可:
在這裏插入圖片描述
得到卡諾圖:
在這裏插入圖片描述
在這裏插入圖片描述
到此爲止,硬件方案已經得到了,下面判斷一下自啓動:
在這裏插入圖片描述

改進自啓動能力

如果電路中存在死循環,我們需要對電路做改進,還是用一道例題作爲範例

[例] 採用JK觸發器,設計一個六進制計數器。
在這裏插入圖片描述
在這裏插入圖片描述
前面這幾步都是講過了的,這裏就不重複了,下面檢查一下自啓動能力

把另外兩種無效狀態補進去:
在這裏插入圖片描述
這個電路是不具有自啓動能力的,需要改進設計方案

改進的思路其實就是切斷無效循環,將狀態遷移關係,引入有效循環中。就像這樣:
在這裏插入圖片描述
具體怎麼做法如下:
在這裏插入圖片描述
也就是說,當現態爲101時,讓次態變爲1,此時010也隨之改變:
在這裏插入圖片描述
根據卡諾圖法化簡,得到:
在這裏插入圖片描述
由此得到改進後的激勵方程:
在這裏插入圖片描述
最後根據新方案得到新電路圖:
在這裏插入圖片描述
另外,這裏需要注意的是,修改方案並不唯一的,但是要儘量選擇改動比較小的修改方案

2. 計數器

計數器的概念和分類

在這裏插入圖片描述

  1. 按照進位制數(計數器的模數/工作循環中狀態個數)劃分:
  • 二進制計數器
    隨着計數脈衝(時鐘脈衝)的輸入,按照二進制數規律計數的計數器稱爲二
    進制計數器,再具體劃分,2 個狀態循環的是 1 位二進制計數器,4 個狀態循環的是 2 位二進制計數器,8 個狀態循環的是 3 位二進制計數器,以此類推。
  • 十進制計數器
    隨着計數脈衝(時鐘脈衝)的輸入,按照十進制數規律計數的計數器稱爲十進制計數器,與二進制計數器的內涵不同的是,這裏不區分位數,也就是說,十進制計數器就是 10 個狀態循環的計數器。
  • N進制計數器
    除了上述的二進制計數器和十進制計數器外,其他進制(其他N個狀態循環)的計數器,都統稱爲N進制計數器。
  1. 按計數的增減趨勢(狀態遷移順序)劃分:
  • 加法計數器
    工作循環中,狀態以遞增規律遷移的計數器就稱爲加法計數器,也叫遞增計數器。
  • 減法計數器
    工作循環中,狀態以遞減規律遷移的計數器就稱爲減法計數器,也叫遞減計數器。
  • 可逆計數器
    既可以進行遞增計數,也可以進行遞減計數的計數器,稱爲可逆計數器,也叫雙向計數器。一般而言,可逆計數器設置有加減控制信號,加減控制信號的不同信號輸入,決定了該計數器具體的狀態遷移順序
  1. 按時鐘脈衝輸入方式(計數器工作方式)劃分:
  • 同步計數器
    計數器電路中,使用的觸發器類型相同,且共用相同的計數脈衝(時鐘脈衝)信號時,就稱爲同步計數器,其內部的觸發器的工作點一致,狀態變化同時發生。
  • 異步計數器
    計數器電路中,使用的觸發器的工作點不一致,狀態變化的時間不一致,就稱爲異步計數器。從電路結構上看,異步計數器內部,往往有的觸發器的時鐘信號是輸入的計數脈衝,有的觸發器的時鐘信號卻是其他觸發器的輸出狀態。

在對一個計數器進行定義的時候,應該將計數器的進位制數、狀態遷移順序和計數脈衝輸入方式都準確給出,對計數器的定義才比較完整準確。

計數器的設計與實現

3位二進制同步加法計數器

3位二進制同步加法計數器其實就是八進制同步加法計數器

得到狀態圖:
在這裏插入圖片描述

  • 內部使用了三個觸發器,用FF2FF_2FF1FF_1FF0FF_0表示
  • 輸出進位信號C ,高有效

得到狀態表:
在這裏插入圖片描述
從狀態表拆出狀態圖,得到邏輯表達式:
在這裏插入圖片描述
根據3個次態方程得到激勵方程:
在這裏插入圖片描述

在這裏插入圖片描述
最後看一下自啓動能力,八個狀態都處在有效循環中,所以不存在無效狀態,電路具有自啓動能力

n位二進制同步加法計數器

假設基本條件不變,可以做一下推廣:
在這裏插入圖片描述

3位二進制同步減法計數器

3位二進制同步減法計數器也叫做八進制同步減法計數器
在這裏插入圖片描述

  • 內部使用了三個觸發器,用FF2FF_2FF1FF_1FF0FF_0表示
  • 輸出借位信號B ,高有效

接着來看狀態表:
在這裏插入圖片描述
得到邏輯表達式和激勵方程:
在這裏插入圖片描述
最後得到邏輯電路圖:
在這裏插入圖片描述
檢查自啓動能力,不存在無效狀態,電路具有自啓動能力。

3位二進制同步可逆計數器

  • 增加一個加減控制信號U/D\overline{U}/D
  • 將輸出信號表示爲C/BC/B
    在這裏插入圖片描述

集成計數器

74LS161芯片封裝圖:
在這裏插入圖片描述
74LS161功能示意圖:
在這裏插入圖片描述
在這裏插入圖片描述

學會閱讀芯片資料

在芯片資料中,能夠獲得的技術細節可簡單總結如下:

  1. 在芯片封裝圖上,可以瞭解到集成計數器的封裝格式和管腳排
    列,並且,根據管腳標號,可以大概瞭解各管腳的基本功能。
  2. 在功能示意圖上,重點關注芯片的邏輯功能端的輸入、輸出區
    分,控制管腳的有效方式,以及時鐘信號的有效方式。
  3. 功能表會準確地表達一個集成電路芯片的全部功能。對於計數
    器芯片,要重點關注的功能包括:
  • 芯片清零、置數功能的實現方式;
  • 正常計數的工作點、控制條件、和計數規律;
  • 計數器上述這些功能的優先級別。
  • 此外,在功能表上還能讀到:計數器保持狀態的條件、輸出進/借位信號的有效方式等信息。

當然,並不是說每個計數器芯片都提供上述所有功能,具體情況要根據芯片功能表而定

二-八-十六進制器 異步加法計數器 74LS197

從計數器命名可知:
74LS197 可以實現二進制、八進制加法計數功能,如果按照前面談到的“低
位片循環一週,向高位片進一位”的級聯擴展方式,將二進制加法計數單元和八進制加法計數單元級聯起來,就可以實現十六進制加法計數器,即 4 位二進制加法計數器,此時,整個計數器組成了異步時序邏輯電路的結構,因此,74LS197被稱爲二-八-十六進制異步加法計數器。

74LS197 的芯片封裝圖和功能示意圖如圖所示:
在這裏插入圖片描述
將得到的 74LS197 的管腳信息總結如下:
74LS197 的輸入端包括 4 個輸入數據端D3D_3,D2D_2,D1D_1,D0D_0 、2 個下降沿有效的時鐘信號CLK0CLK_0CLK1CLK_1 、2 個其他輸入控制端CR\overline{CR}CT/LDCT/\overline{LD}。輸出端爲 4 個輸出狀態端Q3Q_3,Q2Q_2,Q1Q_1,Q0Q_0

在這裏插入圖片描述
分析功能表表,將得到的 74LS197 的邏輯功能完整總結如下:

  • 異步清零、低有效,CR\overline{CR}爲清零控制端。

  • 異步置數、低有效,CT/LDCT/\overline{LD}爲計數/置數控制端,當CT/LD=0CT/\overline{LD} = 0 時,完成計數功能。

  • 計數器不清零的前提下,當CT/LD=0CT/\overline{LD} = 0時,時鐘脈衝的下降沿工作,計數器完成計數功能,有以下四種情況。
    在這裏插入圖片描述

  • 74LS197 的清零功能優先於置數和計數功能。

  • 74LS197 不清零、不置數,且沒有計數脈衝輸入時,處於保持狀態。

綜上所述,74LS197 是一個下降沿工作的加法計數器,可以完成 1 位二進制和 3 位二進制計數功能,並通過異步級聯方式,完成兩種類型的 4 位二進制計數功能,但沒有設置輸出進位端,此外,電路還具有異步清零、低有效;異步置數、低有效的功能。

二-五-十進制異步加法計數器 74LS90

從計數器命名可知:
74LS90 可以實現二進制、五進制加法計數功能,如果按照“低位片循環一週,向高位片進一位”的級聯擴展方式,將二進制加法計數單元和五進制加法計數單元聯繫起來,就可以實現十進制加法計數器,此時,整個計數器組成了異步時序邏輯電路的結構,因此,74LS90 被稱爲二-五-十進制異步加法計數器。

與 74LS197 的使用類似,74LS90 通過級聯組成十進制異步加法計數器時,
也存在兩種方式。

74LS90 的芯片封裝圖和功能示意圖如圖所示:
在這裏插入圖片描述
分析封裝圖和功能圖,將得到的 74LS90 的管腳信息總結如下:
74LS90 的邏輯功能端包括 2 個下降沿有效的輸入時鐘信號端CLK0CLK_0CLK1CLK_1、4個高有效的輸入控制端S9AS_{9A},S9BS_{9B},R0AR_{0A},R0BR_{0B} ,以及 4 個輸出狀態端Q3Q_3,Q2Q_2,Q1Q_1,Q0Q_0

74LS90 的功能表,完整地表達了 74LS90 的邏輯功能:
在這裏插入圖片描述
分析功能表,將得到的 74LS90 的邏輯功能完整總結如下:

  • 異步置 9、高有效, 爲置數控制端。
    74LS90 沒有提供輸入數據端,當S9A=S9B=1S_{9A}=S_{9B}=1時,Q3n+1Q2n+1Q1n+1Q0n+1=1001Q_3^{n+1}Q_2^{n+1}Q_1^{n+1}Q_0^{n+1}=1001,即輸出狀態被直接置爲 9。
  • 異步清零、高有效,R0AR_{0A},R0BR_{0B} 爲清零控制端。
  • 計數器在不置數、不清零的前提下,時鐘脈衝的下降沿工作,完成計
    數功能,有以下四種情況。
    在這裏插入圖片描述

上述功能的優先級排序爲“置 9→清零→計數”。

綜上所述,74LS90 是一個下降沿工作的加法計數器,可以完成二進制和五進制計數功能,並通過異步級聯方式,完成兩種類型的十進制計數功能,但沒有設置輸出進位端,並且,電路還具有異步清零、高有效;異步置 9、高有效的功能。

74LS90 組成 8421 BCD 碼形式的十進制加法計數器

根據 74LS90 的功能表可知,將 74LS90 組成“二進制單元先運行,五進制
單元后運行”的結構,就得到輸出狀態排列符合 8421 BCD 碼形式的十進制加法計數器,也常常稱爲“2×5 的十進制加法計數器”,其邏輯電路圖和結構示意
圖如圖所示:
在這裏插入圖片描述
得到十進制異步加法計數器的狀態表:
在這裏插入圖片描述
觀察表中輸出狀態的遷移規律,可以發現,電路工作時,其工作循環由 10 種狀態遞增遷移組成,且輸出狀態遵照 8421 BCD 碼形式排列。

74LS90 組成 5421 BCD 碼形式的十進制加法計數器

如果將 74LS90 組成“五進制單元先運行,二進制單元后運行”的結構,就
得到輸出狀態排列符合5421 BCD碼形式的十進制加法計數器,也常常稱爲“5×2的十進制加法計數器”,其邏輯電路圖和結構示意圖如圖所示:
在這裏插入圖片描述
按照上圖所示異步級聯方式得到的十進制異步加法計數器的狀態表:
在這裏插入圖片描述
觀察表中輸出狀態的遷移規律,可以發現,電路工作時,其工作循環中的 10 種狀態遵照 5421BCD 碼形式。

3. 計數器的應用

用大模數計數器實現小模數計數器

異步清零法和同步清零法

在這裏插入圖片描述

[例] 使用74LS90實現七進制加法計數器(異步清零法)
在這裏插入圖片描述
因爲是七進制計數器,所以時鐘信號爲6時應該回到初始狀態:
在這裏插入圖片描述
但是最後一個狀態Q0Q_0爲0時,是無法構成有效循環的,所以狀態表要加一行:
在這裏插入圖片描述
然後連接電路圖:
在這裏插入圖片描述
畫出狀態波形圖:
在這裏插入圖片描述
[例] 使用74LS90實現七進制加法計數器(同步清零法)

直接在終點本身創建控制信號:
在這裏插入圖片描述
對應電路圖如下所示:
在這裏插入圖片描述

採用大模數計數器生成小模數計數器的方法總結

採用大模數計數器實現小模數計數器時,根據芯片是否提供的清零或者置
數功能,以及清零、置數功能的實現方式,包括四種方法:

  1. 同步清零
  2. 異步清零
  3. 同步置數
  4. 異步置數

當然,這裏所說的“同步方式”、“異步方式”和時序邏輯電路分類中所說的“同步時序”、“異步時序”完全不是一個概念。

現在具體總結一下這四種方法的詳細步驟和使用差異:

  1. 瞭解芯片功能
    根據芯片功能示意圖和功能表等資料,確定芯片是否提供清零、置數功能,
    並根據控制端和時鐘脈衝配合方式,確定相應功能的實現方式(同步方式或異步方式),由此決定,選用何種方法實現小模數計數器。
  2. 確定工作循環
    不論是同步方式還是異步方式:
    如果採用清零法,輸出狀態“全零”必然是工作循環的起點;
    如果採用置數法,就將人爲指定的起點在置數數據輸入端體現。
    確定起點後,根據芯片的狀態遷移順序,列出符合設計要求的工作循環,
    從而得到終點狀態。
  3. 生成控制信號
    不論是清零法還是置數法,確定生成控制信號的狀態時:
    只要是同步方式,就利用終點狀態本身;
    只要是異步方式,就利用工作循環終點的下一個狀態。
    根據控制端的有效方式,使用合適的門器件,生成控制信號,反饋接入相應的控制端。
    當然,在具體應用時,還需要注意到一些細節問題,例如:
    選用的計數器芯片的狀態遷移順序要符合設計目標的要求;
    根據芯片的清零、置數功能的優先級,正確地消除無需利用的其他功能的影響;
    正確地爲芯片的計數控制端接入有效信號;
    此外,還需要特別關注二進制計數器芯片和十進制計數器芯片的計數進制的差異。

4. 寄存器

寄存:把二進制數據和代碼存儲起來的過程。

寄存器:用於完成寄存功能,存儲二進制數據和代碼的電路。

寄存器的電路結構,以觸發器爲核心單元;一個觸發器能記憶一位二進制代碼。

寄存器的分類

  • 基本寄存器:
    完成對並行輸入數據的存儲,數據也只能並行輸出,形成"並行輸入、並行輸出"的傳輸結構。
    存儲單元採用基本觸發器、同步觸發器或邊沿觸發器均可構成。
  • 移位寄存器
    既可以存儲數據,又具有數據移位功能的寄存器,一般均設置了數據串行輸入端和串行輸出端。從而可以形成靈活的數據傳輸結構。
    存儲單元只能用邊沿觸發器構成。

基本寄存器的結構和原理

在這裏插入圖片描述
以4位基本寄存器74LS175爲例:

在這裏插入圖片描述
在這裏插入圖片描述

移位寄存器的結構和原理

在這裏插入圖片描述
4位右移寄存器:
在這裏插入圖片描述

在這裏插入圖片描述

集成移位寄存器74LS194

芯片封裝圖:
在這裏插入圖片描述
功能示意圖:
在這裏插入圖片描述
在這裏插入圖片描述

5. 移位寄存器的應用

環形計數器

電路組成

使用 4 位雙向移位寄存器74LS194,並設置爲右移輸入工作方式(CR=1\overline{CR}=1M1=0M_1=0M0=1M_0=1

按照寄存器的輸出狀態排列順序Q0Q1Q2Q3Q_0Q_1Q_2Q_3 ,將最右端的狀態Q3Q_3接入右移串行數據輸入端DSRD_{SR},形成圖示的環形計數器:
在這裏插入圖片描述

工作原理

當電路的初始狀態 Q0Q1Q2Q3=1000Q_0Q_1Q_2Q_3=1000 時,隨着外部時鐘信號的輸入,電路的狀態遷移爲 1000->0100->0010->0001->1000,形成四進制的有效循環。

以此類推,不需要列出電路的狀態方程,就可以推導出電路所有的狀態遷移
關係,從而方便地得到環形計數器的狀態圖,如圖所示:
在這裏插入圖片描述
採用 4 位雙向移位寄存器組成的環形計數器,其狀態循環最大的模數爲4,選擇 1000->0100->0010->0001->1000 組成的狀態循環爲有效循環,由 4 個
有效狀態構成,即形成了四進制移位型計數器

選定的工作循環中,環形計數器處於任何工作狀態時,4 個觸發器的輸出端
中只有一個 1。從輸出狀態的波形上看,當電路連續輸入時鐘脈衝時,4 個觸發器的狀態端 Q0Q_0,Q1Q_1,Q2Q_2,Q3Q_3 依次出現高電平,即輪流出現矩形脈衝。

這也就是環形計數器的主要工作特點,因此,用移位寄存器組成的環形
計數器也常常稱爲環形脈衝分配器。

同時,這樣的環形計數器工作時,全部可能的 16 個狀態中,只利用了 4
個,構成四進制計數器,其狀態利用率很低。

  • 這樣的環形計數器的主要缺陷是不具有自啓動能力
    電路工作時,一旦狀態脫離出有效循環,進入無效循環,除非人工干預,電路不能自動返回有效循環。因此,爲了保證環形計數器可靠工作,需要在正常工作前,首先通過並行數據輸入端,或者串行數據輸入端將電路狀態置爲有效循環中的某個有效狀態,然後再接入工作時鐘脈衝,開始計數。

扭環形計數器

電路組成

使用 4 位雙向移位寄存器 74LS194,並設置爲右移輸入工作方式(CR=1\overline{CR}=1M1=0M_1=0M0=1M_0=1)。

按照寄存器的輸出狀態排列順序Q0Q1Q2Q3Q_0Q_1Q_2Q_3 ,將最右端的狀態Q3Q_3過一個非門後,接入右移串行數據輸入端DSRD_{SR} ,形成如圖所示的扭環形計數器:
在這裏插入圖片描述

工作原理

當電路的初始狀態 Q0Q1Q2Q3=0000Q_0Q_1Q_2Q_3=0000 時,隨着外部時鐘信號的輸入,出現 0000->1000->…->0001->0000的狀態遷移關係,形成八進制的有效循環。以此類推,可以推導出電路所有的狀態遷移關係,從而方便地得到扭環形計數器的狀態圖,如圖所示:
在這裏插入圖片描述
採用 4 位雙向移位寄存器組成的扭環形計數器具有兩個八進制的狀態循環。選擇 0000->1000->…->0001->0000 的狀態循環爲有效循環,電路顯然是一個不具有自啓動能力的八進制移位型計數器。

爲了保證扭環形計數器能夠可靠工作,需要在正常工作前,首先通過並行數據輸入端,或者串行數據輸入端將電路狀態置爲有效循環中的某個有效狀態,然後再接入工作時鐘脈衝,開始計數。

與四位環形計數器相比,扭環形計數器的狀態利用率提高了一倍。

任意N進制移位型計數器

使用移位寄存器組成移位型計數器時,不論是狀態利用率低的環形計數器、扭環形計數器,還是狀態利用率高的最大長度移位型計數器,最終實現的計數器的模數都是固定的,這仍然不夠靈活,限制了應用範圍。

如果能夠仔細設計反饋輸入信號,使用移位寄存器也可以組成任意N進制移位型計數器,使得器件的應用更加靈活方便。

以下以 4 位右移寄存器爲例,介紹具體的設計原理和過程。

設 4 位右移寄存器現態爲 Q0Q1Q2Q3Q_0Q_1Q_2Q_3 ,則根據右移輸入數據的不同,狀態遷移關係只可能有如下兩種情況:
在這裏插入圖片描述

由此可知,4 位右移寄存器工作時,所有可能的狀態遷移關係只有 32 個,
逐一分析,能得到 4 位右移寄存器的全狀態圖。以此類推, n位右移寄存器的全狀態圖上,共有2n個狀態遷移關係。

下圖爲 4 位右移寄存器的全狀態圖,4 位左移寄存器的情況是類似的:
在這裏插入圖片描述
在全狀態圖上,可以找到狀態數量不同的多種工作循環,只要右移數據
輸入端的輸入信號符合工作循環的狀態遷移條件(輸入一組特定的串行數據),即可實現任意 進制移位型計數器。

具體而言,根據選擇的工作循環,利用寄存器的輸出狀態端,通過設計,反
饋形成所需要的串行數據,接入寄存器的右移數據輸入端即可。當然,使用 n位移位寄存器能夠實現的移位型計數器的最大模數,仍然是2n12^n-1

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章