




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第5章時序邏輯電路閩南師范大學物理與信息工程學院第5章時序邏輯電路本章討論的主要問題時序邏輯電路在結構和功能上有什么特點?怎樣描述時序邏輯電路的功能?時序電路有哪些類型,各有什么特點?怎樣分析時序電路?怎樣設計同步時序電路?計數器、寄存器是怎樣工作的?怎樣通過功能表了解芯片功能?并用它們設計時序電路?同步時序電路中競爭—冒險的產生與消除。怎樣用VHDL描述時序電路?
概
述在第3章組合邏輯電路中我們所討論的電路都有一個共同特點:電路的輸出信號只與當前的輸入信號有關,跟以前的輸入無關。本章我們將介紹數字邏輯電路中非常重要的另一種電路:這種電路的輸出不僅與當前的輸入信號有關,還與電路以前的輸入信號有關,即跟電路所處的狀態(tài)有關,這就是時序邏輯電路。3第5章時序邏輯電路
由于時序邏輯電路的輸出跟以前的輸入信號有關,所以電路中必須包含能夠保留有關信息的部件,將電路因以前的外部信號輸入造成的狀態(tài)保存下來,這種含記憶能力的存儲電路雖可由延時元件組成,但通常都由我們在第4章中介紹的觸發(fā)器構成。因此,時序邏輯電路在結構上包含組合電路和存儲電路兩個部分,其結構示意框圖如圖5.0.1所示。第5章時序邏輯電路第5章時序邏輯電路組合邏輯電路存儲電路X(x1,…-,xi)是外部對電路的輸入信號;Y(y1,…-,yj)是電路對外部的輸出信號;Z(z1,…-,zk)是存儲電路的驅動信號,即存儲電路中各觸發(fā)器的輸入信號;Q(q1,…-,ql)是存儲電路的狀態(tài)輸出信號,它的每一組值分別代表電路的一種狀態(tài)。X1Xi
Y1Yj
ZZk
Q1Ql
圖5.0.1時序邏輯電路結構示意框圖這四種信號之間的邏輯關系可用以下三個向量函數表示:輸出方程:Y(tn)=F1[X(tn),Q(tn)]驅動方程:Z(tn)=F2[X(tn),Q(tn)]狀態(tài)方程:Q(tn+1)=F3[Z(tn),Q(tn)]式中tn、tn+1是對電路進行考察的兩個相鄰的離散時間。
時序電路應用很廣,種類很多,根據電路中各觸發(fā)器的動作步調是否一致,有同步、異步之分。對于同步時序電路,電路中的所有觸發(fā)器都受同一個時鐘控制,所以狀態(tài)的改變發(fā)生于同一時刻,異步時序電路則不然。由于同步時序電路在大規(guī)模高速系統中有明顯優(yōu)勢,是當今數字電路系統的主流工作模式,故而也是本章學習討論的主要對象。6第5章時序邏輯電路
根據影響電路對外輸出信號的因素不同,又有Mealy型和Moore型之分。在Mealy型電路中,其輸出信號不僅跟電路的狀態(tài)有關,還與外部的輸入信號有關。而Moore型電路的輸出信號僅跟電路的狀態(tài)有關,是Mealy型電路中的一個特例。
由于Mealy型電路的輸出信號與外部的輸入信號有關,故其輸出信號可能因外部輸入信號受干擾而不可靠,而Moore型電路則不然,但電路的輸出信號對外部輸入信號的響應比Mealy型電路慢。7第5章時序邏輯電路
此外,根據時序電路邏輯功能的不同,還有計數器、寄存器、序列信號發(fā)生器等之分,由于計數器和寄存器是時序電路中最基本的電路部件,用它可方便地構成具有其它功能的電路部件,顯得尤其最重要,因此也是本章學習討論的主要對象。8第5章時序邏輯電路
輸出方程、驅動方程和狀態(tài)方程雖然共同描述了時序電路的邏輯功能,但不直觀,往往難以由它獲得電路邏輯功能的完整印象,因為它們僅反映了兩個相鄰考察時間之間的邏輯關系。為此,還需在這三組方程的基礎上,將電路在一系列時鐘信號作用下狀態(tài)轉換的全過程找出來,以便直觀地考察電路的邏輯功能。用于描述時序電路在一系列時鐘信號作用下狀態(tài)轉換全過程的主要工具有三種:狀態(tài)轉換表、狀態(tài)轉換圖和時序波形圖。5.1時序邏輯電路的人工分析與設計
一、同步時序邏輯電路的分析
導出同步時序電路的狀態(tài)轉換表、狀態(tài)轉換圖和時序波形圖,判斷時序電路邏輯功能的通常步驟:
5.1.1時序邏輯電路的人工分析1.根據給定的時序電路列出電路的輸出方程和驅動方程組。2.將各個驅動方程代入對應觸發(fā)器的特性方程得到整個時序電路的狀態(tài)方程組。3.根據電路的狀態(tài)方程組計算列出電路的狀態(tài)轉換表。4.根據電路的狀態(tài)轉換表畫出狀態(tài)轉換圖或時序波形圖。5.根據狀態(tài)轉換圖或時序波形圖說明電路的邏輯功能,判斷電路能否自啟動。
下面通過一個例子來說明分析的方法和將會涉及到的一些基本概念。【例5.1】試分析圖5.1.1所示電路的功能。
從Y輸出端的電路結構或輸出方程表達式可知,本電路的輸出信號僅與當前電路的狀態(tài)有關,屬Moore型同步時序邏輯電路。解:(1)在圖5.1.1所示電路中所有觸發(fā)器都采用同一個時鐘源CLK,因而本電路屬同步時序邏輯電路,由所示電路可寫出其輸出方程和驅動方程如下:5.1.1時序邏輯電路的人工分析(2)將以上特性方程代入JK觸發(fā)器的特性方程
得電路的狀態(tài)方程組如下:5.1.1時序邏輯電路的人工分析
完整列出電路所有可能出現的狀態(tài),分別以此為電路的現態(tài),根據前邊已求解的輸出方程和電路的狀態(tài)方程組算出電路的輸出和次態(tài),得到電路的狀態(tài)轉換表如表5.1.1所示:現
態(tài)次
態(tài)輸出
Y00000101001110010111011100101110111100001010011011110111
5.1.1時序邏輯電路的人工分析表5.1.1例5.1的狀態(tài)轉換表(4)根據以上狀態(tài)轉換表(表5.1.1)畫狀態(tài)轉換圖如圖5.1.2所示。將狀態(tài)轉換表表示成狀態(tài)轉換圖的目的,是為了更直觀形象地描述電路的功能。5.1.1時序邏輯電路的人工分析表5.1.1例5.1的狀態(tài)轉換表5.1.1時序邏輯電路的人工分析
狀態(tài)轉換圖中以圓圈表示電路的狀態(tài),在圓圈內標注電路的狀態(tài)編碼;以箭頭指向線表示狀態(tài)轉換的方向,在箭頭指向線上標注以斜線/分隔的電路的輸入輸出信號(通常輸入、輸出信號分別標示于斜線/的上、下方)。為明確電路狀態(tài)編碼各碼位與觸發(fā)器的對應關系,還應給出排序示范圖(如圖5.1.2示范圖圓圈中標注的Q3Q2Q1),對含多個輸入輸出端的時序電路,也應在示范圖中標出(如圖5.1.2中指向線上標注的/Y)。(4)根據以上狀態(tài)轉換表(表5.1.1)畫狀態(tài)轉換圖如圖5.1.2所示。將狀態(tài)轉換表表示成狀態(tài)轉換圖的目的,是為了更直觀形象地描述電路的功能。5.1.1時序邏輯電路的人工分析(5)電路功能判斷說明。
對電路功能的判斷應結合輸入輸出信號的具體物理含義來分析,若無相關信息,就只能在通常意義上進行基本的判斷。這種判斷雖然會因視角的不同而得出貌似不同的自然文字表述結論,但它們的核心邏輯功能卻是一樣的——正如狀態(tài)轉換表或狀態(tài)轉換圖所展示的邏輯功能。為便于后續(xù)的判斷說明,這里先介紹幾個即將涉及到的基本概念。有效狀態(tài)與有效循環(huán):時序電路所處的狀態(tài)并不總是都被利用到,我們把被利用到的狀態(tài)稱為有效狀態(tài),把由有效狀態(tài)構成的循環(huán)稱為有效循環(huán)。無效狀態(tài)與無效循環(huán):時序電路中沒被用到的狀態(tài)稱為無效狀態(tài),由無效狀態(tài)構成的循環(huán)稱為無效循環(huán)。能自啟動與不能自啟動:對于存在無效循環(huán)的時序電路,可能會因某種原因(比如受干擾)進入無效循環(huán)而無法自動返回到有效循環(huán)中,呈現“死機”現象,我們稱之不能自啟動,若時序電路中不存在無效循環(huán),那么即使落入無效狀態(tài),電路也會在時鐘驅動下自行進入有效循環(huán),實現自啟動。
5.1.1時序邏輯電路的人工分析
由該電路的狀態(tài)轉換圖5.1.2可知電路運行時存在兩個獨立的閉合循環(huán),其中一個循環(huán)只有010和101這兩個狀態(tài),每來兩個時鐘脈沖就循環(huán)一周,由于該循環(huán)的輸出Y恒為1,使本循環(huán)無使用價值而不被利用,是無效循環(huán),它使本電路無自啟動能力。5.1.1時序邏輯電路的人工分析
另一個循環(huán)包含其余的六個狀態(tài),每來六個時鐘脈沖完成一次循環(huán)運行,并在Y端輸出一個低電平脈沖,故知本電路可以六進制的方式計算時鐘信號CLK輸入的脈沖個數,作為一個同步六進制計數器來使用。若以000、001、011、111、110、100分別表示0、1、2、3、4、5,則本電路可作為一個同步六進制加法計數器,Y則為低電平有效的進位輸出信號。若以000、001、011、111、110、100分別表示5、4、3、2、1、0,則本電路又可作為一個同步六進制減法計數器,Y為低電平有效的借位輸出信號。5.1.1時序邏輯電路的人工分析
現在換個角度觀察,若關注于輸出Y與輸入CLK之間變化快慢的關系,就會發(fā)現Y輸出信號的周期是CLK輸入信號周期的六倍,或者說Y輸出信號的頻率是CLK輸入信號頻率的1/6,因此本電路又可作為一個六分頻器??梢姴还軐⑺魇裁垂δ茈娐肥褂茫玫降亩际茄h(huán)一周需經過六個狀態(tài),每循環(huán)一周對外輸出一個脈沖信號這最基本的邏輯功能,這正是該電路的狀態(tài)轉換表或狀態(tài)轉換圖告訴我們的。因此在未對輸入輸出信號及電路的狀態(tài)編碼下定義前,我們可這樣描述本電路的功能:這是一個無自啟動能力的Moore型同步六狀態(tài)轉換機。由于時序電路中存儲單元數量有限,電路的狀態(tài)數也是有限的,故時序電路又被稱為有限狀態(tài)機(FiniteStateMechine,FSM)。5.1.1時序邏輯電路的人工分析*二、異步時序邏輯電路的分析
與同步時序電路不同的是,異步時序電路中的所有觸發(fā)器并非由同一時鐘源觸發(fā),所以在根據電路的現態(tài)計算電路的次態(tài)時,應特別注意各個觸發(fā)器的時鐘條件是否具備。只有時鐘條件具備的觸發(fā)器才會按狀態(tài)方程描述的邏輯關系轉換成次態(tài),否則將維持現態(tài)不變。為此在分析異步時序電路時還需列出時鐘方程,以便分析判斷,其它部分與同步時序電路的分析步驟大體相同。5.1.1時序邏輯電路的人工分析【例5.2】試分析圖5.1.3所示電路的功能。解:(1)在圖5.1.3所示電路中并非所有觸發(fā)器都采用同一個時鐘源CLK,因而本電路屬異步時序邏輯電路,由所示電路可列出其時鐘方程、輸出方程和驅動方程如下:5.1.1時序邏輯電路的人工分析(2)將以上特性方程代入JK觸發(fā)器的特性方程
得電路的狀態(tài)方程組如下,并根據時鐘方程和相應觸發(fā)器的時鐘要求分別標明有效的時鐘條件。5.1.1時序邏輯電路的人工分析(3)完整列出電路所有可能出現的狀態(tài),分別以此為電路的現態(tài),根據前邊已求解的輸出方程和電路的狀態(tài)方程組算出電路的輸出和次態(tài),得到電路的狀態(tài)轉換表如表5.1.2所示。時
鐘
條
件現
態(tài)次
態(tài)輸出CLK3CLK2CLK1CLK0Q3Q2Q1Q0Q3n+1Q2n+1Q1n+1Q0n+1Y0001101100011111000110110001111100011011000111110001101100011111000000010010001101000101011001111000100110101011110011011110111100010010001101000101011001111000100100001011010011010100111100000000000001010101
表中的時鐘條件用于表示相應觸發(fā)器的有效時鐘條件是否具備,以1表示時鐘條件具備,對應觸發(fā)器的狀態(tài)方程生效;以0表示時鐘條件不具備,對應觸發(fā)器的狀態(tài)將保持不變。由于CLK0來自驅動電路工作的最原始時鐘CLK,因此始終有效,而CLK1則須待Q0端出現由1到0的變化才有效,才能為1,其它的依此類推。5.1.1時序邏輯電路的人工分析(4)根據表5.1.2所示的狀態(tài)轉換表畫出狀態(tài)轉換圖如圖5.1.4所示。5.1.1時序邏輯電路的人工分析(5)電路功能判斷說明。
由圖5.1.4所示的狀態(tài)轉換圖我們看到,本電路只有一個由十個狀態(tài)構成的閉合循環(huán),循環(huán)外的六個狀態(tài)都會在系統時鐘作用下自行進入該循環(huán)中,所以具有自啟動能力。因本電路在CLK輸入脈沖作用下進行的狀態(tài)轉換,其狀態(tài)編碼是按二進制自然遞增態(tài)序變換的,且每收到十個CLK輸入脈沖電路狀態(tài)循環(huán)一周,并由Y端輸出一個高電平脈沖,所以可以明確斷定這是一個具有自啟動能力的異步十進制加法計數器,Y是電路的進位信號輸出端。5.1.1時序邏輯電路的人工分析
由于異步時序電路易產生競爭冒險,且不易排除,在高速大系統中已難見其蹤影。但其電路結構簡單,產品成本低廉,還會出現在一些技術指標要求不高的廉價電子小產品中。5.1.1時序邏輯電路的人工分析
需要說明的是,本小節(jié)所介紹的分析方法只適用于早期相對簡單的時序電路,由于沒考慮到器件時間參數上的影響,只是停留在理想狀態(tài)下原理層面上的分析,難免跟工程實際運行情況存在差異。面對現代大規(guī)模高速時序電路的分析,這種傳統的人工分析方法也因計算量太大而幾乎無法進行,早已改用計算機輔助分析、波形仿真的辦法。因此在這里討論傳統人工分析方法的目的主要是為幫助初學者更好地理解時序邏輯電路的工作原理,幫助初學者具備對當今數字電路系統局部較簡單的時序電路的讀圖能力。
時序邏輯電路的設計是為獲得具備所需時序功能的時序邏輯電路,是時序邏輯電路分析的逆過程。由于同步時序電路容易做到比異步時序電路工作得可靠,絕大多數實際應用電路都被設計成同步電路,因此本小節(jié)僅討論同步時序邏輯電路的設計方法,有關異步時序電路的設計可參閱其它書籍。5.1.2時序邏輯電路的人工設計
構建時序電路選用的基本組件可以是只有基本邏輯功能的小規(guī)模集成電路SSI(如觸發(fā)器、門電路),或者是具備特定功能的中規(guī)模集成電路MSI(如后邊將談到的計時器、寄存器等),甚至是擁有大量邏輯資源而不含具體功能的大規(guī)模集成電路LSI(如后邊將談到的CPLD、FPGA)。
根據構建電路選用組件的不同,采用的設計方法也不同。采用大規(guī)模集成電路的設計實現通常需借助計算機,不用人工設計的方法,而采用中規(guī)模集成電路的設計還需具備相關電路的知識基礎,將在5.3節(jié)“常用中規(guī)模集成時序邏輯電路的應用”中介紹,本小節(jié)僅討論面向簡單時序邏輯電路的采用小規(guī)模集成電路的設計方法。5.1.2時序邏輯電路的人工設計二、狀態(tài)化簡,求出最簡狀態(tài)轉換圖
在采用小規(guī)模集成電路的設計方案中,通常要求設計結果最簡,這就要求設計實現的電路所含觸發(fā)器和門電路的數目最少,為此需要去除原始狀態(tài)轉換圖中多余的狀態(tài)。由于在任何相同輸入作用下具有相同輸出并建立相同次態(tài)的原態(tài)都是等價的(等價狀態(tài)),因此狀態(tài)化簡就是要去除多余的等價狀態(tài),從而得到最簡狀態(tài)轉換圖。5.1.2時序邏輯電路的人工設計
面向簡單時序邏輯電路,采用小規(guī)模集成電路實現的同步時序電路設計的一般步驟如下:
一、邏輯抽象,建立原始狀態(tài)轉換圖
為把給定的時序邏輯問題抽象成由原始狀態(tài)轉換圖表示的時序邏輯函數,需要處理好以下三個問題:1.確定所需輸入輸出變量的數目與表示;2.確定實現電路功能所需建立狀態(tài)的數目與表示;3.確定電路建立的各個狀態(tài)之間的轉換關系及對應的輸出。
三、狀態(tài)編碼,給出編碼后的狀態(tài)轉換圖
為識別電路所處的狀態(tài),需對電路的狀態(tài)進行編碼(或稱狀態(tài)分配)。由于n位二進制數需用到n個觸發(fā)器,且只能表示2n種狀態(tài),在要求設計實現的電路最簡的情況下,為能表達電路所需的M個狀態(tài),應使2n≥M>2n-1。
5.1.2時序邏輯電路的人工設計
當2n>M時,從2n個狀態(tài)中挑選M個狀態(tài)的方案可能不少,狀態(tài)編碼的不同選擇,各個狀態(tài)間轉換排序的不同都會直接影響到設計結果,通常的指導思想是:選取的編碼和排序的方案應有利于所選觸發(fā)器的驅動方程、輸出方程的化簡以及電路工作的穩(wěn)定可靠。
四、選擇觸發(fā)器、確保自啟動并求輸出方程和驅動方程
由于小規(guī)模集成電路的觸發(fā)器產品多是D觸發(fā)器和JK觸發(fā)器,實際可選余地有限,通常根據供貨、價格和個性因素等選用,并使系統中使用同一種類的觸發(fā)器。
5.1.2時序邏輯電路的人工設計
為求輸出方程、驅動方程,先將編碼后的最簡狀態(tài)轉換圖轉化為狀態(tài)轉換表,再以輸入和現態(tài)為輸入變量、次態(tài)和輸出為輸出變量,當n≤4時,即可求得輸出和次態(tài)卡諾圖,并據此直接得到化簡后的輸出方程和驅動方程。當n>4時,先求得輸出方程和狀態(tài)方程,然后化簡,對于選用D觸發(fā)器的設計,可由化簡后的狀態(tài)方程直接得到驅動方程;對于選用JK觸發(fā)器的設計,需將狀態(tài)方程變換成具有JK觸發(fā)器特性方程的形式,再通過比較求得驅動方程。
需要指出的是:當2n>M時,因存在無效狀態(tài)而可能出現無效循環(huán),故由編碼后的最簡狀態(tài)轉換圖轉化成狀態(tài)轉換表時,須審查所有無效狀態(tài)的次態(tài)情況,必要時須指定對應的次態(tài)以斷開無效循環(huán),確保電路的自啟動能力。5.1.2時序邏輯電路的人工設計五、根據驅動方程、輸出方程和選定的觸發(fā)器畫邏輯電路圖至此,邏輯設計工作已經完成。該設計過程采用的是一種根據設計要求逐步推導出具體電路的自上而下的設計思想,設計結果能很好地符合設計要求,需要說明的是,上述設計步驟在實際運用中并非每步都要執(zhí)行,可根據具體情況進行取舍?!纠?.3】試設計一個串行數據檢測器,當連續(xù)輸入3個或3個以上的1時輸出1,否則輸出0。5.1.2時序邏輯電路的人工設計解:為判斷串口先后輸入的數據位是否存在3個或3個以上連續(xù)的1,顯然要求待設計的電路必須具備記憶功能,因此只能用時序電路來實現。
以X表示輸入的數據位,Y表示檢測的輸出,設電路的初始狀態(tài)為S0態(tài),收到輸入的第一個1時改為S1態(tài),連續(xù)收到兩個1時改為S2態(tài),連續(xù)收到三或三個以上的1時改為S3態(tài),則依題意可得原始狀態(tài)圖如圖5.1.5所示。5.1.2時序邏輯電路的人工設計由原始狀態(tài)圖不難發(fā)現,狀態(tài)S2和狀態(tài)S3在同樣輸入下有同樣的輸出和次態(tài),因此它們是等價狀態(tài),可去掉一個,從而得到簡化后的狀態(tài)轉換圖5.1.6。由簡化后的狀態(tài)轉換圖可見,電路所需狀態(tài)數M=3。根據2n≥M>2n-1的通常慣例,選取觸發(fā)器個數n=2,則有00,01,10,11四種狀態(tài)編碼,若取觸發(fā)器Q1Q0的00、01和10分別代表電路的S0、S1和S2態(tài),則可得電路輸出和次態(tài)卡諾圖如圖5.1.7所示。5.1.2時序邏輯電路的人工設計
由于觸發(fā)器Q1Q0的11取值沒被用到,屬無效狀態(tài),故須審查其次態(tài)情況。因本電路的無效狀態(tài)只有一個,若要構成無效循環(huán),則其次態(tài)必須等于其原態(tài)。因此,只要在求次態(tài)方程時最小項m3與最小項m7有一個或一個以上沒被畫圈,就意味著不會出現無效循環(huán)。若選定了觸發(fā)器,則由電路的次態(tài)和輸出卡諾圖即可求解驅動方程和輸出方程。5.1.2時序邏輯電路的人工設計5.1.2時序邏輯電路的人工設計
為直觀起見,避免看錯,也可先將圖5.1.7所示的次態(tài)/輸出卡諾圖分解為分別表示Y、Q1n+1和Q0n+1的三個卡諾圖如圖5.1.8中的(a)、(b)和(c)所示。5.1.2時序邏輯電路的人工設計由圖(a)可直接得到電路的輸出方程:Y=XQ1n
。
若選用JK觸發(fā)器來實現設計,為便于求出驅動方程,在利用次態(tài)卡諾圖化簡取得次態(tài)函數式時,應在確保所得的次態(tài)方程具有JK觸發(fā)器特性方程形式的基礎上,再求最簡。為此,在次態(tài)卡諾圖上畫圈時,應在Qn=0或Qn=1所對應的那些最小項構成的片區(qū)內畫,不要跨越(若選用D觸發(fā)器,則不必這樣做)。以圖(b)Q1n+1卡諾圖為例,Q1n=0和Q1n=1所對應的最小項片區(qū)分別為m0、m1、m4、m5和m2、m3、m6、m7,故m5不與m7合圈,而m7可與m6合圈。由于圖(c)中的m3和m7都沒被圈,意味著Q0n+1=0,所以不會出現無效循環(huán)。
根據畫圈后的次態(tài)卡諾圖可直接得到電路完整的狀態(tài)轉換圖如圖5.1.9所示。5.1.2時序邏輯電路的人工設計這樣,就可由畫圈后的次態(tài)卡諾圖得到相應的狀態(tài)方程如下:5.1.2時序邏輯電路的人工設計對比JK觸發(fā)器的特性方程即可得電路的驅動方程如下:根據以上求解的輸出方程和驅動方程即可畫出符合設計要求的邏輯電路圖如圖5.1.10所示。5.1.2時序邏輯電路的人工設計
盡管時序邏輯電路功能種類繁多,但在數字電子系統中用得最多的基本時序功能部件主要有兩種:計數器和寄存器。它們和各種不同的組合電路結合,即可構成面向各種不同應用的功能復雜多樣的數字系統。由于應用廣泛,它們或被制成標準化、系列化的中規(guī)模集成電路芯片,以自下而上的方式構建簡單數字電子系統;或被開發(fā)成參數可設置的宏功能模塊,便于利用EDA開發(fā)軟件自上而下地構建復雜數字電子系統。下面我們簡單介紹它們的電路結構、工作原理及一些常用集成芯片。5.2幾種常用的時序邏輯電路
計數器是一種能統計輸入脈沖個數的時序電路,應用非常廣泛,除可用于計數外,還可用于分頻、定時、產生節(jié)拍脈沖或脈沖序列、控制程序等。它種類繁多,不勝枚舉,比如根據計數器中各個觸發(fā)器動作步調的不同,有同步計數器和異步計數器;根據計數器計數容量(又叫計數長度或模,指計數器有效循環(huán)中的狀態(tài)數)的不同,有二進制計數器和N進制計數器;根據計數器計數過程中數值增減方向的不同,有加法計數器、減法計數器和可逆計數器。5.2.1計數器
一、二進制計數器
二進制計數器是指在計數過程中,電路狀態(tài)編碼按二進制數自然遞增或遞減的方式變化,模(常用M表示)等于2n(n為電路中觸發(fā)器的個數)的計數器。5.2.1計數器5.2.1計數器1.同步二進制計數器
(1)同步二進制加法計數器計數脈沖CLK電路中各個觸發(fā)器的狀態(tài)進位輸出CQ3
Q2
Q1
Q0000000100010200100300110401000501010601100701110810000910010101010011101101211000131101014111001511111以4位二進制加法計數器為例,它在計數脈沖作用下的狀態(tài)轉換及輸出如表5.2.1所示,時序波形圖如圖5.2.2。5.2.1計數器不難看出,最低位觸發(fā)器Q0始終只需翻轉功能,每來一個CLK計數脈沖就翻轉一次;其它各位觸發(fā)器僅當它的所有低位觸發(fā)器均為1態(tài)時(低位計數已滿),才會在CLK計數脈沖作用下翻轉(低位進位的結果),具有翻轉功能,其它時候只有保持功能。由時序波形圖可以看出,若輸入計數脈沖CLK的頻率為f,則由計數器Q0、Q1、Q2、Q3端輸出脈沖的頻率將分別為f/2、f/4、f/8、f/16。因此計數器有分頻功能,n位二進制計數器能對輸入計數脈沖信號進行1/21、1/22、…、1/2n的各種分頻。5.2.1計數器若以JK觸發(fā)器實現,則各觸發(fā)器的驅動方程和電路的輸出方程為:由此可得同步4位二進制加法數器電路如圖5.2.1所示。5.2.1計數器
仍以4位二進制計數器為例,進行減法計數時,它在計數脈沖作用下的狀態(tài)轉換及輸出如表5.2.2所示。計數脈沖CLK電路中各個觸發(fā)器的狀態(tài)借位輸出BQ3
Q2
Q1
Q00111101111002110103110004101105101006100107100008011109011001001010110100012001101300100140001015000015.2.1計數器(2)同步二進制減法計數器若仍以JK觸發(fā)器實現,則不難得出各觸發(fā)器的驅動方程和電路的輸出方程為:
由此可得同步4位二進制減法計數器電路如圖5.2.3所示。5.2.1計數器(3)同步二進制可逆計數器
可逆計數器是一種可在外部信號控制下進行加法計數或減法計數的計數器。比較前面討論的同步二進制加法計數器和同步二進制減法計數器可知,要使計數器在加法計數和減法計數中轉換,只需用一個加/減控制信號轉換計數器的驅動方程(最低位情況相同無須轉換)和輸出方程即可。現仍以JK觸發(fā)器實現同步4位二進制可逆計數器為例,設控制信號=0時實現加法計數,=1時實現減法計數,則可得控制可逆計數器驅動及輸出轉換真值表如表5.2.3所示(J0=K0≡1,無須轉換)。5.2.1計數器欲實現的功能控制信號U/D
驅動信號Jj、Kj(j=1,2,3)輸出信號C/B加法計數0減法計數15.2.1計數器由表可得當=0時,與同步4位二進制加法計數器相同,電將實現加法計數的功能;與同步4位二進制減法數器相同,電路將實現減法計數的功能。=1時,當
由上述驅動方程和輸出方程可得同步4位二進制可逆計數器電路如圖5.2.4所示。5.2.1計數器5.2.1計數器(4)集成同步4位二進制計數器74161集成同步4位二進制計數器74161是一種常用的二進制計數器芯片,為了增加芯片的功能和使用的靈活性,跟前述的同步4位二進制加法計數器相比,增加了一些控制電路和控制端口,其邏輯符號如圖5.2.5所示。
表5.2.4簡要給出了該芯片的功能表,是選擇和使用74161芯片的重要依據。輸
入輸
出ETEPCLKD0
D1D2D3C0××××××××0000010××↑D0
D1D2D3D0
D1D2D3110××××××
01110×××××
1111↑××××4位二進制計數5.2.1計數器
由功能表5.2.4可見,集成同步4位二進制計數器74161有以下四種功能:①異步清零功能:只要輸入信號=0(低電平有效),則電路的所有輸出都為0,因不受時鐘控制,故為異步清零端。該端優(yōu)先級別最高,其他輸入控制信號必須在它無效(=1時)的情況下才有可能起作用。
5.2.1計數器②同步置數功能:當
=1(無效)時,若=0(低電平有效),則在時鐘CLK的作用下(“↑”表示上升沿到來)將外部數據輸入端的數據D0
、D1
、D2
和D3分別置入計數器的四個狀態(tài)輸出端Q0、Q1、Q2和Q3。由于該置數操作必須在時鐘CLK的作用下才能實現,故為同步置數端。該端優(yōu)先級別僅比
低,是次高優(yōu)先級控制端。5.2.1計數器③保持功能:在
和
都無效的情況下,若ET·EP=0(無效),則電路狀態(tài)將保持不變,因進位輸出信號C=,故當ET=0時C=0,否則進位輸出信號C也將保持不變。5.2.1計數器④計數功能:僅當
·
·ET·EP=1時,該芯片才開啟了它的計數功能,對CLK的上升沿計數。具體工作情況與前述同步4位二進制加法計數器相同。5.2.1計數器
需要說明的是,因為制造工藝和生產公司的不同,市場上有很多不同的集成同步4位二進制計數器。比如有74LS161、CT74161、74HC161、74LVC161等,盡管它們的內部電路有些不同,性能參數有些不同,但他們外部引線的配置、引腳排列及邏輯表都與74161相同。5.2.1計數器2.異步二進制計數器
由同步4位二進制加法計數器的狀態(tài)轉換及輸出表5.2.1或同步4位二進制加法計數器的時序波形圖5.2.2都不難發(fā)現,若采用下降沿觸發(fā)的T’觸發(fā)器來實現,只需將低位觸發(fā)器的狀態(tài)輸出端作為高位觸發(fā)器的時鐘(CLKi=Qi-1,i=1,2,3,…),而最低位觸發(fā)器時鐘來自原始計數脈沖CLK0=CLK,即可實現4位二進制加法計數功能。由于各觸發(fā)器的時鐘來源各不相同,故為異步時序電路。5.2.1計數器對應的異步4位二進制加法計數器電路如圖5.2.6所示。
圖5.2.6中是以下降沿觸發(fā)的JK觸發(fā)器來構成T’觸發(fā)器的。若改用上升沿觸發(fā),則時鐘連接應改為(i=1,2,3,…)。
同理,由同步4位二進制減法計數器的狀態(tài)轉換及輸出表5.2.2可知,若采用下降沿觸發(fā)的JK觸發(fā)器來實現,則應使
(i=1,2,3,…),CLK0=CLK,即可實現二進制減法計數功能。5.2.1計數器圖5.2.7所示的是以下降沿觸發(fā)的JK觸發(fā)器實現的異步4位二進制減法計數器。5.2.1計數器同理,若選用上升沿觸發(fā)的觸發(fā)器實現減法計數,則高低位觸發(fā)器間的時鐘連接應改為(CLKi=Qi-1,i=1,2,3,…)。
綜上所述,在異步二進制計數器中,計數方向與觸發(fā)器觸發(fā)沿的選擇及觸發(fā)器時鐘的連接密切相關,如表5.2.5所示。加法計數減法計數上升沿CLKi=Qi-1下降沿CLKi=Qi-1級間時鐘連接
關系T’觸發(fā)沿實現功能表5.2.5異步二進制計數器級間連接規(guī)律
5.2.1計數器
由表5.2.5可見,只要用一控制信號改變計數器級間連接關系,就能改變計數方向,實現可逆計數,道理與同步二進制可逆計數器相同,不再贅述。
幾點說明:
5.2.1計數器(2)前述的進位或借位輸出采用
或
來實現,雖物理意義一目了然,但作為異步計數器,可直接取自最高位的狀態(tài)
或反狀態(tài)
輸出端,無須這么繁瑣。(1)異步二進制計數器中的進位信號是逐級傳遞的,導致延時不斷累加,計數速度較慢。因電路結構簡單,還會出現在一些要求不高的電子小產品中。
二、N進制計數器
5.2.1計數器
二進制以外的其它進制計數器統稱N進制計數器。出于經濟上的原因,通常只有用量足夠大的電路才被制成定型的集成電路產品。由于人們日常生活中普遍使用十進制數,所以除了前述的集成同步4位二進制計數器74161外,還有集成的同步十進制(N=10)計數器芯片74160。它的邏輯符號如圖5.2.8所示。
由74160的邏輯符號和功能表可見,它的用法與74161極為相似,所不同的僅在于74160是十進制的計數循環(huán)。輸
入輸
出ETEPCLKD0
D1D2D3C0××××××××0000010××↑D0
D1D2D3D0
D1D2D3110××××××
01110×××××
1111↑××××十進制計數5.2.1計數器表5.2.6簡要給出了該芯片的功能表。74160的狀態(tài)轉換圖如圖5.2.9所示。5.2.1計數器
為了獲得其他所需的N進制計數器,理論上可用前述的時序電路設計方法設計得到,實踐中通常是采用已有的集成計數器連接構成,這么做不僅簡單方便高效,而且經濟可靠。下面介紹用已有的集成M進制計數器構成N進制計數器的方法:5.2.1計數器
1.M>N的情況:
由于已有計數器的有效狀態(tài)數M大于所需狀態(tài)數N,故需設法使已有計數器的計數循環(huán)在計數中自動跳過M-N個狀態(tài)。類似前面介紹過的集成計數器74161、74160,通常集成計數器都有清零和置數輸入端,且有同步控制和異步控制之分(具體情況需查看相應芯片的使用功能表)。由于同步控制和異步控制運行特點不同,處理辦法也不同,分別介紹如下:(1)用同步置數端或同步清零端
將計數循環(huán)中某個狀態(tài)S譯碼得到的信號去控制計數器的同步控制端(同步置數端或同步清零端),使計數循環(huán)跳過M-N個狀態(tài)。由于控制信號作用在同步信號控制端,所以該狀態(tài)S將保持到下一個有效時鐘沿到來后才被更換,屬新建計數循環(huán)中的一個有效狀態(tài)。計數器的計數循環(huán)如圖5.2.10中的實線環(huán)形箭頭所示。其中圖(a)用的是同步置數端,同步置數控制信號由狀態(tài)Si譯碼產生;圖(b)用的是同步置零端(也可用同步置數端實現),同步置零控制信號由狀態(tài)SN-1譯碼產生。圖5.2.10獲得N進制計數器的兩種方法
(2)用異步置數端或異步清零端
將計數循環(huán)中某個狀態(tài)S譯碼得到的信號去控制計數器的異步控制端(異步置數端或異步清零端),使計數循環(huán)跳過M-N個狀態(tài)。由于異步控制信號一有效就要產生作用,所以該狀態(tài)S一出現就要被更換掉,是一個僅維持極短時間的過度狀態(tài),不屬于新建計數循環(huán)中的一個有效狀態(tài)。計數器計數循環(huán)的跳躍部分如圖5.2.10中的虛線箭頭所示。其中圖(a)用的是異步置數端,異步置數控制信號由狀態(tài)Si+1譯碼產生;圖(b)用的是異步置零端(也可用異步置數端實現),異步置零控制信號由狀態(tài)SN譯碼產生。圖5.2.10獲得N進制計數器的兩種方法解:由圖5.2.8所示的74160邏輯符號及表5.2.6給出的功能表可知,74160有一個異步清零端和一個同步置數端,因此可用兩種辦法構成。
5.2.1計數器【例5.4】試用同步十進制計數器74160構成七進制計數器。
辦法一:用同步置數端:由圖5.2.9所示的74160狀態(tài)轉換圖可知,若由Q3Q2Q1Q0=0110的狀態(tài)譯碼產生
的同步置數控制信號,在下一個時鐘有效沿到來時置入D3D2D1D0=0000的狀態(tài),將如圖5.2.11中的實線所示那樣,使原來的計數循環(huán)跳過0111~1001這3個狀態(tài),得到如圖5.2.12(a)所示的七進制計數器。5.2.1計數器圖5.2.12(a)
用74160構成七進制計數器5.2.1計數器
由于計數循環(huán)跳過了1001這個狀態(tài),所以進位輸出C始終為0,為此進位輸出C可改由Q2端引出。若
的同步置數控制信號改由Q3Q2Q1Q0=0101的狀態(tài)譯碼產生,在下一個時鐘有效沿到來時置入D3D2D1D0=1001的狀態(tài),將如圖5.2.11中的虛線所示那樣,使原來的計數循環(huán)跳過0110~1000這3個狀態(tài),得到如圖5.2.12(b)所示的七進制計數器。由于計數循環(huán)含有1001這個狀態(tài),所以每完成一個計數循環(huán)都會由進位輸出C給出一個進位脈沖。5.2.1計數器圖5.2.12(b)
用74160構成七進制計數器辦法二:用異步清零端:由圖5.2.9所示的74160狀態(tài)轉換圖同樣可知,若由Q3Q2Q1Q0=0111的狀態(tài)譯碼產生
的異步清零控制信號,則電路剛進入Q3Q2Q1Q0=0111的狀態(tài),就會因異步清零控制信號起作用而使電路馬上進入0000的狀態(tài)。電路的0111狀態(tài)是一個僅維持極短時間的過度狀態(tài),如圖5.2.13中的虛線所示。5.2.1計數器實現的電路如圖5.2.14(a)所示。因為計數循環(huán)跳過了1001這個狀態(tài),導致進位輸出C始終為0,為此進位輸出C改由Q2端引出。由于異步清零控制信號
由Q3Q2Q1Q0=0111的狀態(tài)經G門譯碼產生,故0111狀態(tài)一旦消失,異步清零控制信號
也將消失??紤]到各觸發(fā)器的清零速度快慢不同,因此異步清零控制信號可能造成電路既離開了0111的狀態(tài)又沒進入0000的狀態(tài),所以該電路的動作并不可靠。
5.2.1計數器圖5.2.14(a)
用74160的異步置數端構成七進制計數器要解決電路工作可靠性問題,確保電路有足夠反應時間使狀態(tài)可靠清零,就應設法使異步清零控制信號
維持足夠長時間。為此,可用一個RS鎖存器將G門譯碼產生的異步清零控制信號
保持下來,如圖5.2.14(b)所示。
5.2.1計數器圖5.2.14(b)
用74160的異步置數端構成七進制計數器
由圖(b)可見,當計數輸入脈沖CLK上升沿到來,電路進入Q3Q2Q1Q0=0111的狀態(tài)時,經G1門譯碼產生的低電平信號使由G2和G3門構成的RS鎖存器置1態(tài),=0使電路清零。在計數輸入脈沖CLK下降沿到來前,即使電路的0111狀態(tài)消失,G1門輸出高電平,RS鎖存器也將保持原來的1態(tài)不變,作用在異步清零控制端的信號依舊是=0,直到計數輸入脈沖CLK下降沿到來后,RS鎖存器才返回0態(tài),=1。因此異步清零控制信號=0維持時間等于計數輸入脈沖CLK持續(xù)高電平的時間,能確保電路可靠清零。若以RS鎖存器的Q端為進位信號輸出端,則進位輸出同樣將持續(xù)CLK保持高電平的時間。5.2.1計數器圖5.2.14(b)
用74160的異步置數端構成七進制計數器
2.M<N的情況:
由于已有計數器的有效狀態(tài)數M小于所需狀態(tài)數N,不足以構成所需的有效循環(huán),故須先用多片M進制計數器級連進行計數容量的擴展,然后再按前述M>N的情況進行處理。各片之間級連辦法有兩種:
5.2.1計數器(1)串行進位方式
串行進位方式是以低位芯片的進位輸出作為高位芯片的計數脈沖輸入(即高位芯片的時鐘)。在圖5.2.15所示的級連方式中,兩芯片均處于計數功能狀態(tài),但高位芯片的計數脈沖來自低位芯片的進位輸出,故為串行進位方式。這種級連方式的各個芯片不是同步工作的。(2)并行進位方式
并行進位方式是以低位芯片的進位輸出控制高位芯片的計數功能,決定高位芯片是否產生計數動作。在圖5.2.16所示的級連方式中,兩芯片的計數脈沖來源相同,但高位芯片的計數功能取決于低位芯片的進位輸出,僅當低位芯片的進位輸出1時高位芯片的計數功能才被激活,故為并行進位方式。這種級連方式的各個芯片的工作是同步的。5.2.1計數器【例5.5】請用74161構成二十七進制計數器。
5.2.1計數器解:由于一片74161一個計數循環(huán)的狀態(tài)數只有16種,少于所需的27種,因此需先進行計數容量的擴展。兩片74161級連可構成8位二進制計數器,一個計數循環(huán)的狀態(tài)數達到28=256種,遠大于所需的27種,因此需使計數循環(huán)跳過229個狀態(tài)。雖然74161既有同步置數控制端,又有異步清零控制端,考慮到異步控制存在的工作可靠性問題,選擇控制同步置數端。若置入狀態(tài)為零態(tài)00000000,則據前述同步清零法可知,應由第26個狀態(tài)00011010產生同步置數控制信號=0,實現電路如圖5.2.17所示。
寄存器是一種用于存儲二進制數據或代碼的基本時序電路。根據使用要求的不同,往往還有一些控制電路,以便控制數據的接收、清除或根據外部的通信要求簡單處理存儲的數據。按功能的不同,常把寄存器分成基本寄存器和移位寄存器兩大類。5.2.2寄存器
一、基本寄存器
基本寄存器功能單一,只能用于存儲二進制數據或代碼。由于一個觸發(fā)器只能存儲一位二值代碼,要存儲N位的二值代碼就需要用到N個觸發(fā)器。
由圖可知,當
=0時,寄存器內存放的數據被清零,Q0=Q1=Q2=Q3=0。當CLK上升沿到來時,待存數據D0、D1、D2、D3將被同步置入寄存器,使Q0=D0、Q1=D1、Q2=D2、Q3=D3,實現了數據的并行輸入與并行輸出。與CLK相連的緩沖器雖無具體的邏輯功能,但能使CLK的驅動能力得到加強。同理,與
相連帶“非”功能的緩沖器也有此目的,這是集成電路芯片中的慣用手段,目的是減輕這些公共控制端或輸入信號的負載。5.2.2寄存器圖5.2.18所示是一個由4個D觸發(fā)器構成的寄存器74175。雖然只要有置0、置1功能的觸發(fā)器或鎖存器即可構成寄存器的存儲單元,但采用鎖存器構成的寄存器會因鎖存器在控制電平有效期間“透明”而可能存在空翻現象,抗干擾性差,只適用于數據處理單元、輸入輸出/接口或顯示單元之間數據的暫存。5.2.2寄存器
二、移位寄存器
顧名思義,移位寄存器不僅能寄存二進制數據或代碼,還具有移位功能,寄存的數據能在移位脈沖(即時鐘脈沖)作用下依次左移或右移。所以移位寄存器功能比基本寄存器豐富,還能簡單處理寄存的數據。圖5.2.19所示是一個由4個D觸發(fā)器構成的具有右移功能的單向移位寄存器。由圖可知,當=0時,寄存器內存放的數據被清零,Q0=Q1=Q2=Q3=0。當CLK上升沿到來時,各端口數據DI、Q0、Q1、Q2、將被同步右移一位,使Q0n+1=DI、Q1n+1=Q0n、Q2n+1=Q1n、Q3
n+1=Q2n。若串行輸入端口DI在4個移位脈沖周期內依次輸入的代碼是1101,則可分析得到在串行輸入端口DI和移位脈沖CLK作用下各觸發(fā)器狀態(tài)端的波形圖如圖5.2.20所示。5.2.2寄存器若以串行輸入端口DI為寄存器數據輸入端,而以4個觸發(fā)器的狀態(tài)端為數據輸出端,則經過4個CLK上升沿后,從串行輸入端口DI輸入的4位代碼就全部移入移位寄存器中,并全部出現在數據輸出端,從而實現數據的串行輸入與并行輸出,即實現數據的串—并轉換。5.2.2寄存器
為便于靈活運用,在定型生產的移位寄存器中通常還增加一些控制邏輯,比如4位雙向移位寄存器74194,還附加了左右移位選擇、數據并行輸入、數據保持等控制邏輯,其邏輯符號如圖5.2.21所示,表5.2.7是其功能表。5.2.2寄存器5.2.74位雙向移位寄存器74194功能表由表5.2.7可見,4位雙向移位寄存器74194有5種功能:當
=0時,寄存器被異步清零。由于異步清零控制端
優(yōu)先級別最高,正常工作時應使=1,才能實現以下4種功能。當S1S0=00時,寄存器存儲的數據將保持不變。當S1S0=01時,在CLK上升沿到來時,寄存器存儲的數據將全體右移一位,最左邊的數據位將由右移輸入端輸入的數據位DIR填補,實現數據的串行右移功能。5.2.74位雙向移位寄存器74194功能表5.2.2寄存器當S1S0=10時,在CLK上升沿到來時,寄存器存儲的數據將全體左移一位,最右邊的數據位將由左移輸入端輸入的數據位DIL填補,實現數據的串行左移功能。當S1S0=11時,在CLK上升沿到來時,外部數據并行置入端的數據D0
、D1
、D2
和D3分別置入寄存器中的四個觸發(fā)器,實現并行置入數據的功能。5.2.2寄存器5.2.74位雙向移位寄存器74194功能表74194功能豐富,使用靈活,還便于多片級聯,構成多位移位寄存器。圖5.2.22所示是用兩片74194構成8位雙向移位寄存器的典型示例,可方便地實現8位數據的串行左右移位、8位數據的串—并或并—串轉換功能。5.2.2寄存器
在5.1.2小節(jié)中,我們介紹了面向簡單時序電路的采用小規(guī)模集成電路的設計方法。這種方法以人工手段進行,對當前功能復雜多樣、規(guī)模龐大而生命周期卻越來越短的電路系統設計所面臨的巨大運算量和苛刻的設計時間效率,顯得困難重重而難以實施。目前多用中規(guī)模集成電路MSI(如前述的計時器、寄存器)或大規(guī)模集成電路LSI(第7章將介紹的CPLD、FPGA)來實現設計。
5.3常用中規(guī)模集成時序邏輯電路的應用
本節(jié)僅討論采用中規(guī)模集成電路MSI構成的時序電路。由于用MSI構成時序電路多用自下而上的設計方法,要求設計者擁有豐富的MSI使用知識與設計經驗,且設計方法靈活多樣,無固定模式,因此本節(jié)以示例介紹的方式向讀者展示用MSI構成時序電路的方法,初學者應仔細研究示例中電路功能實現的思想,以便舉一反三,活學活用,盡快提高MSI的使用能力。5.3.1計數器的應用計數器應用極廣,不僅能用于計算輸入脈沖的個數,還能靈活變通地用于分頻、計時、產生掃描信號和構成順序脈沖發(fā)生器等場合。限于篇幅,以下只介紹幾個簡單的應用示例,望能給初學者增加一些感性認識,獲得一些使用的經驗和啟迪。一、構成計數??煽匦陀嫈灯髟?.2.1小節(jié)中,我們介紹的計數器的模都是固定不可控的,只要加入控制信號并簡單處理,就能使計數器的模按控制要求而改變。
圖5.3.1所示電路就是一種計數模可控計數器,它通過改變控制邏輯改變計數的模。5.3.1計數器的應用由圖可知其同步置數控制信號當K=0時,計數器的狀態(tài)轉換圖如圖5.3.2所示,顯然是一個同步十進制計數器。5.3.1計數器的應用由圖可知其同步置數控制信號當K=1時,計數器的狀態(tài)轉換圖如圖5.3.3所示,電路變成一個同步十二進制計數器。5.3.1計數器的應用圖5.3.4所示電路也是一種計數??煽赜嫈灯鳌.擪=0時,置入數值D3D2D1D0=0010,計數器的狀態(tài)轉換圖如圖5.3.5所示,顯然這是一個八進制計數器。5.3.1計數器的應用圖5.3.4所示電路也是一種計數??煽赜嫈灯?。當K=1時,置入數值D3D2D1D0=0100,計數器的狀態(tài)轉換圖如圖5.3.6所示,電路變成一個六進制計數器。5.3.1計數器的應用二、構成計數型順序脈沖發(fā)生器
在數字系統運行時,往往須按預定順序進行一系列的操作,為此系統控制單元須給出一組在時間上有一定先后順序的控制信號。由于順序脈沖發(fā)生器能按時間先后順序輸出一組脈沖信號,常被用來形成所需的控制信號,實現數字系統各部件間的協調動作,成為一種常用的數字電路。
由于計數器在計數脈沖作用下,各個計數狀態(tài)按一定的計數循環(huán)依次更換,周而復始,所以只要用譯碼器將這些計數狀態(tài)分別譯出,即可得到順序脈沖。用這種模式構成的順序脈沖發(fā)生器稱為計數型順序脈沖發(fā)生器。5.3.1計數器的應用圖5.3.7所示的就是一種由計數器74161和譯碼器74138構成的計數型順序脈沖發(fā)生器。由74161功能表可知圖中74161工作在計數狀態(tài),在連續(xù)輸入的CLK作用下,Q2Q1Q0的狀態(tài)將按二進制加法計數遞增規(guī)律由000到111不斷更換,周而復始,經74138譯碼,依次輸出的順序脈沖。5.3.1計數器的應用需要注意的是,由于接74138的片選端S1,這將導致在CLK上升沿到來后的高電平期間74138被禁止,所有輸出端均為1,持續(xù)到CLK下降沿到來后的低電平期間74138才會根據輸入信號譯碼輸出結果。這么做的目的,是為避開在CLK上升沿到來時,計數器中各個觸發(fā)器狀態(tài)變化快慢不一導致的競爭—冒險現象。該順序脈沖發(fā)生器輸出波形如圖5.3.8所示。5.3.1計數器的應用三、構成計數型序列信號發(fā)生器序列信號發(fā)生器又稱序列脈沖發(fā)生器,是指一組特定的串行數字信號,在數字信號的傳輸和數字系統的測試中常要用到。產生序列脈沖信號的電路即序列信號發(fā)生器。由于數據選擇器能根據地址選通相關通道的輸入信號,只要在其地址端周而復始地輸入固定的地址系列,則數據選擇器將周而復始地選通相關通道的輸入信號,輸出一組特定的串行數字信號。因此,若以計數器的計數值作為數據選擇器的地址,則在計數脈沖作用下,數據選擇器將輸出序列脈沖信號。用這種模式構成的序列信號發(fā)生器稱為計數型序列信號發(fā)生器。5.3.1計數器的應用圖5.3.9所示的就是一種由計數器74161和數據選擇器74151構成的計數型序列信號發(fā)生器。由圖可見,在連續(xù)輸入的CLK脈沖作用下,計數器74161芯片Q2Q1Q0的狀態(tài)將按二進制加法計數遞增規(guī)律由000到111不斷更換,周而復始。數據選擇器74151的地址端在計數器74161Q2Q1Q0狀態(tài)端循環(huán)往復的掃描下,將依次選中D0~D7通道輸入的數據,輸出D7D6D5D4D3D2D1D0脈沖序列(輸出的先后順序是由右邊D0至左邊D7)。
根據圖中各個數據通道輸入的數據可知,該電路將輸出00010111的序列信號。由于只要改變加到D7~D0的高低電平就能改變輸出的脈沖信號序列,而不需對電路結構做任何變動,這種結構的計數型序列信號發(fā)生器使用起來既方便又靈活。5.3.1計數器的應用在3.2.1小節(jié)中我們介紹了優(yōu)先編碼器的級聯擴展使用,這在編碼信號較少的時候是個不錯的應對辦法,但是當要求編碼的信號較多時就不經濟實用了,為此人們設計了一種通過掃描鍵盤生產按鍵編碼的電路。圖5.3.10所示是一種對128個按鍵進行編碼的電路。四、充當按鍵編碼的掃描電路5.3.1計數器的應用圖中由4線—16線譯碼器74154的16根譯碼輸出線構成按鍵的列線,由8選1數據選擇器74151的8路輸入數據通道構成按鍵的行線。每個行線與列線的交叉點上均設置一個按鍵開關,其電路結構如圖右上角所示,僅當按鍵按下時該交叉點上的行線與列線才產生電連接。因16根列線與8根行線共有128個交叉點,故最多只可設置128個按鍵。由于所有行線均通過上拉限流電阻接高電平,故無按鍵按下時74151輸出Y=1,
=0。5.3.1計數器的應用由兩片74161以并行進位方式級聯,取其低7個狀態(tài)位Q2Q1Q0Q3Q2Q1Q0構成128進制加法計數器,在時鐘CLK的連續(xù)作用下,通過74151和74154對行列線交叉點陣列進行逐行逐列掃描。5.3.1計數器的應用
需要注意的是,為確保電路捕捉到每次的按鍵信息,要求時鐘CLK的頻率不能太慢,每來128個脈沖所用的時間必須短于按鍵短接交叉點所持續(xù)的時間。5.3.1計數器的應用跟計數器一樣,寄存器也是數字電子系統中用得最多的一種功能部件,除能寄存數據外,還能進行數據的串—并或并—串轉換、構成移位型計數器、構成反饋移位型序列脈沖發(fā)生器和進行數值的運算處理等。5.3.1計數器的應用一、構成移位型計數器移位型計數器是一種以移位寄存器為主體加上反饋網絡構成的具有特殊編碼的同步計數器,其電路結構如圖5.3.11所示。這種計數器的狀態(tài)轉換遵循移位寄存器移位的規(guī)律,除第一級外,其余各級間滿足Qn+1m=Qnm-1。采用不同的串行輸入反饋邏輯F就可構成不同形式的計數器。下面介紹兩種常用的形式。5.3.2寄存器的應用1.環(huán)形計數器
取移位寄存器的串行輸入反饋邏輯F=Qnn-1,使Q0n+1=Qnn-1即構成n位環(huán)形計數器。圖5.3.12所示是用74194構成的4位環(huán)形計數器,剛上電時,由于電容C未充電,S1=1,充電后S1=0。根據74194的功能表可知當S1=S0=1時,芯片開啟同步置數功能,在CLK作用下將并行數據輸入端的D0D1D2D3存入寄存器,使Qn0Qn1Qn2Qn3=D0D1D2D3=0001;當S1=0,S0=1時,芯片開啟右移輸入及數據右移功能,在CLK作用下使Q0n+1Q1n+1Q2n+1Q3n+1=FQ0nQ1nQ2n=Q3nQ0nQ1nQ2n=1000。因此,在CLK的作用下,計數器工作的狀態(tài)轉換圖將如圖5.3.13所示。5.3.2寄存器的應用
環(huán)形計數器電路結構非常簡單,正常工作時每個狀態(tài)中始終只有一個位是1(或0),可直接輸出而無須另加譯碼器。在連續(xù)輸入的CLK作用下,各狀態(tài)輸出端將按順序出現矩形脈沖,構成移位型順序脈沖發(fā)生器。但環(huán)形計數器電路的狀態(tài)利用率極低,n位移位寄存器只能構成n進制計數器。剩余的2n-n個狀態(tài)不僅沒用浪費,還構成無效循環(huán),若電路受干擾進入無效循環(huán),將不能自啟動。為可靠起見須修改反饋邏輯F,剪斷所有的無效循環(huán),將其引導到有效循環(huán)中。5.3.2寄存器的應用2.扭環(huán)形計數器
若取移位寄存器的串行輸入反饋邏輯F=,使
則構成n位扭環(huán)形計數器。圖5.3.14所示是用74194構成的4位扭環(huán)形計數器,剛上電時,由于電容C未充電,
=0,充電后
=1。根據74194的功能表可知當
=0時,芯片異步清零,Qn0Qn1Qn2Qn3=0000;當S1=0,S0=1時,芯片開啟右移輸入移位功能,在CLK作用下使Q0n+1Q1n+1Q2n+1Q3n+1=FQ0nQ1nQ2n==1000。因此,在CLK的作用下,計數器工作的狀態(tài)轉換圖將如圖5.3.15所示。5.3.2寄存器的應用
扭環(huán)形計數器電路結構簡單,正常工作時相鄰兩狀態(tài)中始終只有一個位取值發(fā)生變化,可避免譯碼時的競爭冒險。n位移位寄存器能構成2n進制計數器,狀態(tài)利用率比環(huán)形計數器高一倍,但剩余的2n-2n個狀態(tài)同樣不僅沒用浪費,還構成無效循環(huán),若受干擾進入無效循環(huán),將不能自啟動,須修改反饋邏輯F。為進一步提高狀態(tài)利用率,可用最大長度移位型計數器(也稱m序列發(fā)生器),具體可參閱有關資料。5.3.2寄存器的應用二、構成反饋移位型序列信號發(fā)生器除5.3.1小節(jié)中介紹的計數型序列信號發(fā)生器外,還有另外一種稱為反饋移位型的序列信號發(fā)生器,其電路結構如圖5.3.16所示。與移位型計數器不同之處在于移位型計數器的輸出來自于各個觸發(fā)器的狀態(tài)端,是多輸出電路,而反饋移位型序列信號發(fā)生器的輸出來自寄存器的某個輸出端,輸出的是一組特定的串行數字信號,是單輸出電路。5.3.2寄存器的應用
用移位寄存器構成反饋移位型序列信號發(fā)生器的一般設計步驟如下:1.初定移位寄存器的位數n根據欲產生的序列信號循環(huán)長度m,選擇移位寄存器的位數n滿足2n≥m>2n-1;2.劃分移位寄存器的m個狀態(tài)將給定序列碼按移位規(guī)律每n位一組,分出m個狀態(tài)。若m個狀態(tài)中出現重復狀態(tài),說明初定位數n不足以區(qū)分給定序列碼的m個狀態(tài),須增加移位寄存器的位數,改用n+1位。再重復上述過程,對序列碼每n+1位一組,分出m個狀態(tài)。直到分出m個獨立狀態(tài)為止。3.求反饋函數表達式根據m個不同狀態(tài)的轉換順序和移位規(guī)律確定在各個輸入狀態(tài)下應生成的反饋邏輯F值,列出反饋函數表,求得能自啟動的反饋函數表達式。4.畫出實現的邏輯電路圖根據選用移位寄存器的功能表,設置好各個控制端口的狀態(tài),特別是移位方向的設置與串行輸入輸出端口的連接。
5.3.2寄存器的應用【例5.5】請用74194和一些必要的邏輯器件構成一個產生111001(時間順序是先右后左)序列的反饋移位型序列信號發(fā)生器。解:1.初定移位寄存器的位數n。因m=6,為滿足2n≥m>2n-1,取n=3。2.劃分移位寄存器的6個狀態(tài)。將序列信號111001按移位先后規(guī)律每3位一組,分出6個狀態(tài),其轉換順序:001→100→110→111→111→011然后再回到001,其中第4、第5個狀態(tài)都為111,出現重復狀態(tài)。由移位型序列信
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 成都體育學院考研專業(yè)真題
- 青少年心理健康問題的現狀與對策
- 跨領域文化活動的組織與推廣
- 購物中心與電商平臺在疫情后的新機遇
- 跨境市場營銷的社交媒體運用
- 飲食均衡與身體健康的關系研究
- 跨國企業(yè)專利侵權行為的國際法律應對
- 跨境電商平臺教育市場運營策略分析
- 稅費計算與智能申報 教案 項目三 增值稅的計算與智能申報
- 高效學生激勵機制的構建要素
- 自我解壓與情緒管理課件
- 2024年時政必考試題庫ab卷
- 語法選擇10篇(名校模擬)-2024年中考英語逆襲沖刺名校模擬真題速遞(廣州專用)
- 通達信公式函數說明大全
- 體育初中學生學情分析總結報告
- MOOC 中國文化概論-武漢大學 中國大學慕課答案
- 高三心理健康輔導講座省公開課一等獎全國示范課微課金獎
- 《工程建設標準強制性條文電力工程部分2023年版》
- 壺口瀑布公開課省公開課一等獎全國示范課微課金獎課件
- 2024年度年福建省考評員考試題庫附答案(基礎題)
- 基于PLC智能家居控制系統設計
評論
0/150
提交評論