第9章 計(jì)數(shù)器 (2011)_第1頁
第9章 計(jì)數(shù)器 (2011)_第2頁
第9章 計(jì)數(shù)器 (2011)_第3頁
第9章 計(jì)數(shù)器 (2011)_第4頁
第9章 計(jì)數(shù)器 (2011)_第5頁
已閱讀5頁,還剩61頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、第9章計(jì)數(shù)器本章大綱9.1 異步計(jì)數(shù)器運(yùn)算9.2 同步計(jì)數(shù)器運(yùn)算9.3 遞增遞減同步計(jì)數(shù)器9.4 同步計(jì)數(shù)器的設(shè)計(jì)9.5 級(jí)聯(lián)計(jì)數(shù)器9.6 計(jì)數(shù)器譯碼9.7 計(jì)數(shù)器應(yīng)用9.8 故障檢測(cè)9.9 關(guān)聯(lián)標(biāo)注的邏輯符號(hào)9.10可編程邏輯9.11數(shù)字系統(tǒng)應(yīng)用本章學(xué)習(xí)目標(biāo)n 描述異步和同步計(jì)數(shù)器之間的區(qū)別n 分析計(jì)數(shù)器時(shí)序圖n 分析計(jì)數(shù)器電路n 解釋傳播延遲怎樣影響計(jì)數(shù)器的運(yùn)算n 確定計(jì)數(shù)器的模n 修改計(jì)數(shù)器的模n 識(shí)別4位二進(jìn)制計(jì)數(shù)器和十進(jìn)制計(jì)數(shù)器之間的區(qū)別n 使用遞增,遞減計(jì)數(shù)器來生成正向和反向二進(jìn)制序列n 確定計(jì)數(shù)器的序列n 在不同的應(yīng)用中使用IC計(jì)數(shù)器n 設(shè)計(jì)一個(gè)計(jì)數(shù)器,使其可以具有任意指定的狀態(tài)

2、序列n 使用串連計(jì)數(shù)器來實(shí)現(xiàn)更高的模n 使用邏輯門來譯碼任何給定的計(jì)數(shù)器狀態(tài)n 消除計(jì)數(shù)器譯碼中的誤操作n 解釋數(shù)字時(shí)鐘怎樣運(yùn)行n 對(duì)不同類型的計(jì)數(shù)器錯(cuò)誤進(jìn)行故障檢測(cè)n 解釋使用關(guān)聯(lián)表示法的計(jì)數(shù)器邏輯符號(hào)n 討論SPLD中的模式選擇n 在系統(tǒng)應(yīng)用中應(yīng)用計(jì)數(shù)器重要術(shù)語n 異步n 二進(jìn)制序列n 再循環(huán)n 模n 十進(jìn)制n 同步n 終端計(jì)數(shù)n 狀態(tài)機(jī)n 狀態(tài)圖n 串連簡介 正如你在第8章中所學(xué)到的那樣,觸發(fā)器可以連接在一起,而執(zhí)行計(jì)數(shù)運(yùn)算。這樣的一組觸發(fā)器就是計(jì)數(shù)器。所使用的觸發(fā)器個(gè)數(shù)以及它們連接的方式確定了狀態(tài)的個(gè)數(shù)(稱為模),同時(shí)確定了計(jì)數(shù)器在每個(gè)完整的循環(huán)中所要經(jīng)過的狀態(tài)序列。 根據(jù)計(jì)數(shù)器時(shí)鐘脈

3、沖的方式不同,計(jì)數(shù)器可以分為兩個(gè)大類別:異步和同步計(jì)數(shù)器。在異步計(jì)數(shù)器(通常稱為脈動(dòng)計(jì)數(shù)器)中,第一個(gè)觸發(fā)器由外部時(shí)鐘脈沖來觸發(fā),然后后面的觸發(fā)器就會(huì)由前一個(gè)觸發(fā)器的輸出來觸發(fā)。在同步計(jì)數(shù)器中,時(shí)鐘輸入連接到所有的觸發(fā)器上,從而使得它們同時(shí)被觸發(fā)。在這兩個(gè)類別內(nèi)部,計(jì)數(shù)器主要按照計(jì)數(shù)器中的序列類型、狀態(tài)個(gè)數(shù)或者觸發(fā)器個(gè)數(shù)來分類。固定功能器件74LS93A 74LS160 74HC16174HC163 74HC190 74LS47數(shù)字系統(tǒng)應(yīng)用概述 數(shù)字系統(tǒng)應(yīng)用闡釋了本章中的概念。它將繼續(xù)介紹前三章中的交通燈控制系統(tǒng)。本章的重點(diǎn)是系統(tǒng)中產(chǎn)生交通燈序列(基于來自計(jì)時(shí)電路和車輛傳感器)的序列邏輯部分。

4、 9.1 異步計(jì)數(shù)器運(yùn)算 異步是指事件相互之間沒有固定的時(shí)間關(guān)系,并且一般來說,并不同時(shí)發(fā)生。異步計(jì)數(shù)器是這樣一種計(jì)數(shù)器:計(jì)數(shù)器內(nèi)部的觸發(fā)器(FF)并不同時(shí)改變狀態(tài),因?yàn)樗鼈儾痪哂泄餐臅r(shí)鐘脈沖。 學(xué)完本節(jié)之后,你應(yīng)當(dāng)能夠n 描述2位異步二進(jìn)制計(jì)數(shù)器的運(yùn)算n 描述3位異步二進(jìn)制計(jì)數(shù)器的運(yùn)算n 定義相關(guān)于計(jì)數(shù)器的脈動(dòng)n 描述異步串連計(jì)數(shù)器的運(yùn)算n 開發(fā)計(jì)數(shù)器時(shí)序圖n 討論74LS93A 4位異步二進(jìn)制計(jì)數(shù)器2位異步二進(jìn)制計(jì)數(shù)器 圖9.1展示了一個(gè)連接為異步(asynchronous)運(yùn)算的2位計(jì)數(shù)器。注意時(shí)鐘(CLK)只應(yīng)用于第一個(gè)觸發(fā)器FFO的時(shí)鐘輸入(C)上,F(xiàn)FO總是最低有效位(LSB)。

5、第二個(gè)觸發(fā)器FF1由FF0的輸出來觸發(fā)。FFO在每個(gè)時(shí)鐘脈沖的正向邊沿改變狀態(tài),但是FF1只有被FFO的輸出的正向轉(zhuǎn)換觸發(fā)時(shí)才能改變狀態(tài)。由于經(jīng)過觸發(fā)器的傳播延遲,輸入時(shí)鐘脈沖(CLK)的轉(zhuǎn)換和FF0的輸出的轉(zhuǎn)換絕對(duì)不可能發(fā)生在同一時(shí)間。所以,這兩個(gè)觸發(fā)器絕對(duì)不會(huì)同時(shí)被觸發(fā),因而該計(jì)數(shù)器的運(yùn)算是異步的。 異步計(jì)數(shù)器的時(shí)鐘輸入總是只連接到LSB觸發(fā)器上。 圖9.1 一個(gè)2位異步=進(jìn)制計(jì)數(shù)器 時(shí)序圖 讓我們來檢查一下圖9.1中異步計(jì)數(shù)器的基本運(yùn)算,應(yīng)用4個(gè)時(shí)鐘脈沖到FF0,并觀察每個(gè)觸發(fā)器的輸出。圖9.2闡釋了對(duì)應(yīng)于時(shí)鐘脈沖的觸發(fā)器輸出狀態(tài)的改變。這兩個(gè)觸發(fā)器連接為反轉(zhuǎn)運(yùn)J=1而K=1)并且假設(shè)它

6、們初始為復(fù)位(Q為低電壓)。圖9.2 圖9.1中計(jì)數(shù)器的時(shí)序圖 異步計(jì)數(shù)器也稱為串行計(jì)數(shù)器。 CLK1(時(shí)鐘脈沖1)的正向邊沿使得FF0的輸出變?yōu)楦唠妷海鐖D9.2所示。與此同時(shí)輸出變?yōu)榈碗妷海撬鼘?duì)FF1沒有影響,因?yàn)楸仨氄蜣D(zhuǎn)換觸發(fā)該觸發(fā)器。在CLK1的前沿之后,=1而=0。CLK2的正向邊沿使得變?yōu)榈碗妷?。輸出變?yōu)楦唠妷憾|發(fā)器FF1使得變?yōu)楦唠妷骸T贑LK2的前沿之后,=O而=1。CLK3的正向邊沿再次使得變?yōu)楦唠妷?。輸出變?yōu)榈碗妷翰⑶覍?duì)FF1沒有影響。因此,在CLK3的前沿之后,=1而=1。CLK4的正向邊沿使得變?yōu)榈碗妷海瑫r(shí)變?yōu)楦唠妷憾|發(fā)器FF1使得變?yōu)榈碗妷?。在CLK4的前

7、沿之后,=O而=0?,F(xiàn)在計(jì)數(shù)器已經(jīng)再循環(huán)到了它的原始狀態(tài)(兩個(gè)觸發(fā)器都是復(fù)位狀態(tài))。 在時(shí)序圖中,和輸出的波形如圖9.2所示,它們相關(guān)于時(shí)鐘脈沖。出于簡化的目的,、和時(shí)鐘脈沖的轉(zhuǎn)換以同步形式展示出來,盡管這是個(gè)異步計(jì)數(shù)器。當(dāng)然,在CLK和轉(zhuǎn)換之間以及在轉(zhuǎn)換和轉(zhuǎn)換之間,有一定的延遲。 注意在圖9.2中,該2位計(jì)數(shù)器呈現(xiàn)了4種不同的狀態(tài),正如對(duì)于兩個(gè)觸發(fā)器(22=4)所期望的那樣。當(dāng)然,注意如果表示最低有效位(LSB)而表示最高有效位(MSB),計(jì)數(shù)器狀態(tài)的序列表示如表9.1所列出的一系列二進(jìn)制數(shù)。在數(shù)字邏輯中,總是LSB除非另有指定。 表9.1 圖9.1中計(jì)數(shù)器的二進(jìn)制狀態(tài)序列 時(shí)鐘脈沖 初始

8、0 0 1 0 1 2 1 0 3 1 1 4(再循環(huán)) 0 0由于該計(jì)數(shù)器經(jīng)過一個(gè)二進(jìn)制序列(binary sequence),所以圖9.1中的計(jì)數(shù)器是一個(gè)二進(jìn)制計(jì)數(shù)器。它實(shí)際上計(jì)數(shù)了3個(gè)時(shí)鐘脈沖,而在第4個(gè)脈沖上其再循環(huán)到它的原始狀態(tài)(=O,=0)。再循環(huán)(recycle)一般用在計(jì)數(shù)器運(yùn)算上;它是指計(jì)數(shù)器從它的最終狀態(tài)返回到原始狀態(tài)的轉(zhuǎn)換。3位異步二進(jìn)制計(jì)數(shù)器 3位異步二進(jìn)制計(jì)數(shù)器如圖9.3(a)所示。該基本運(yùn)算和剛剛討論的2位計(jì)數(shù)器的運(yùn)算是一樣的,只不過它有三個(gè)觸發(fā)器,因而3位計(jì)數(shù)器具有八個(gè)狀態(tài)。8個(gè)時(shí)鐘脈沖的時(shí)序圖如圖9.3(b)所示。注意圖9.3中的計(jì)數(shù)器經(jīng)過一個(gè)從0到7的序列,而

9、后又再循環(huán)到O狀態(tài)。這個(gè)計(jì)數(shù)器序列如表9.2所示。通過連接附加的反轉(zhuǎn)觸發(fā)器,可以很容易地將這個(gè)計(jì)數(shù)器擴(kuò)展到更高的計(jì)數(shù)。表9.2 3位二進(jìn)制計(jì)數(shù)器的二進(jìn)制狀態(tài)序列 時(shí)鐘脈沖 初始 0 O O 1 0 0 1 2 0 1 0 3 0 1 1 4 1 0 0 5 1 0 1 6 1 1 0 7 1 1 1 8(再循環(huán)) 0 0 O 圖9.3 3位異步二進(jìn)制計(jì)數(shù)器和它的一次循環(huán)時(shí)序圖傳播延遲 由于下述原因,異步計(jì)數(shù)器常常稱為脈動(dòng)計(jì)數(shù)器(ripple counter):輸入時(shí)鐘脈沖的效應(yīng)首先被FF0“感覺”到。由于經(jīng)過FF0的傳播延遲,該效應(yīng)不能立即到達(dá)FF1。并且在FF2被觸發(fā)之前,還有一個(gè)經(jīng)過FF1

10、的傳播延遲。因此,輸入時(shí)鐘脈沖的效應(yīng)在計(jì)數(shù)器中“脈動(dòng)”,由于傳播延遲而占用一些時(shí)間,才能到達(dá)最后的觸發(fā)器。 為了闡釋這一點(diǎn),注意圖9.3中計(jì)數(shù)器的所有三個(gè)觸發(fā)器都在CLK4的前沿改變狀態(tài)。這種脈動(dòng)時(shí)鐘效應(yīng)如圖9.4所示,展示了前4個(gè)時(shí)鐘脈沖,同時(shí)指示了傳播延遲。從高電壓到低電壓的轉(zhuǎn)換在時(shí)鐘脈沖的正向轉(zhuǎn)換之后一個(gè)延遲時(shí)間()內(nèi)發(fā)生。從高電壓到低電壓的轉(zhuǎn)換在正向轉(zhuǎn)換之后一個(gè)延遲時(shí)間()發(fā)生。從高電壓到低電壓的轉(zhuǎn)換在正向轉(zhuǎn)換之后一個(gè)延遲時(shí)間()內(nèi)發(fā)生。正如你所看到的那樣,F(xiàn)F2直到時(shí)鐘脈沖CLK4正向邊沿之后的兩個(gè)延遲才被觸發(fā)。因此,時(shí)鐘脈沖CLK4的效應(yīng)要占用三個(gè)傳播延遲時(shí)間在計(jì)數(shù)器中脈動(dòng),并且將

11、從低電壓變?yōu)楦唠妷骸?圖9.4 3位異步(脈動(dòng)觸發(fā))二進(jìn)制計(jì)數(shù)器的傳播延遲 異步計(jì)數(shù)器的這種累積延遲在許多應(yīng)用中都是主要的障礙,因?yàn)槠湎拗屏擞?jì)數(shù)器觸發(fā)的速度,并且產(chǎn)生了譯碼問題。計(jì)數(shù)器中的最大累積延遲必須小于時(shí)鐘波形的周期。示例9.1 一個(gè)4位異步二進(jìn)制計(jì)數(shù)器如圖9.5(a)所示。每個(gè)觸發(fā)器都是負(fù)邊沿觸發(fā)的,并且所具有的傳播延遲為10納秒(ns)曲。開發(fā)一個(gè)時(shí)序圖,展示每個(gè)觸發(fā)器的Q輸出,并且確定從時(shí)鐘脈沖的觸發(fā)邊沿到Q3狀態(tài)的相應(yīng)改變之間的總傳播延遲時(shí)間。同時(shí)確定該計(jì)數(shù)器可以運(yùn)行的最大時(shí)鐘頻率。 解: 省略延遲的時(shí)序圖如圖9.5(b)所示。對(duì)于總延遲時(shí)間,CLK8或者CLK16的效應(yīng)必須在改

12、變之前穿過4個(gè)觸發(fā)器,所以 tp(tot)=4×lOns=40ns 最大時(shí)鐘頻率為 Fmax= =25MHz 相關(guān)問題:如果圖9.5(a)中的所有觸發(fā)器都是正邊沿觸發(fā)的話,展示時(shí)序圖。 答案在本章最后。異步十進(jìn)制計(jì)數(shù)器 計(jì)數(shù)器的模(module),是計(jì)數(shù)器順序經(jīng)過的特定狀態(tài)的個(gè)數(shù)。計(jì)數(shù)器的最大可能狀態(tài)個(gè)數(shù)(最大模)是2n,其中n是該計(jì)數(shù)器內(nèi)部的觸發(fā)器個(gè)數(shù)。 當(dāng)然,可以設(shè)計(jì)計(jì)數(shù)器,使得其序列中的狀態(tài)個(gè)數(shù)小于最大值2n。這個(gè)結(jié)果序列稱為截尾序列(truncated sequence)。 計(jì)數(shù)器可以具有的最大狀態(tài)個(gè)數(shù)為2n,其中n是觸發(fā)器的個(gè)數(shù)。 具有截尾序列的計(jì)數(shù)器所具有的常見模是10(

13、稱為MOD1O)。序列中具有10個(gè)狀態(tài)的計(jì)數(shù)器稱為十進(jìn)制計(jì)數(shù)器(decade counter)。具有從0(0000)到9(1001)計(jì)數(shù)序列的十進(jìn)制計(jì)數(shù)器是BCD十進(jìn)制計(jì)數(shù)器,因?yàn)樗?0狀態(tài)序列產(chǎn)生該BCD代碼。這種類型的計(jì)數(shù)器在一些顯示應(yīng)用中是很有用的,這些顯示器需要BCD來變換為十進(jìn)制讀數(shù)。 為了得到截尾序列,需要迫使計(jì)數(shù)器在經(jīng)過所有可能的狀態(tài)之前再循環(huán)。例如,BCD十進(jìn)制計(jì)數(shù)器必須在1001狀態(tài)后再循環(huán)到0000狀態(tài)。一個(gè)十進(jìn)制計(jì)數(shù)器需要4個(gè)觸發(fā)器(三個(gè)觸發(fā)器是不夠用的,因?yàn)?3=8)。讓我們使用一個(gè)諸如圖9.5(a)中那樣的4位異步計(jì)數(shù)器,并修改它的序列以闡釋截尾計(jì)數(shù)器的原理。一種使

14、得計(jì)數(shù)器在計(jì)數(shù)完9(1001)之后再循環(huán)的方法是,用一個(gè)與非門對(duì)計(jì)數(shù)10(1010)進(jìn)行譯碼,并連接該與非門的輸出到觸發(fā)器的清除輸入()上,如圖9.6(a)所示。 部分譯碼注意在圖9.6(a)中,只有Q1和Q3連接到了與非門的輸入上。這種排列是部分譯碼的一個(gè)示例,其中兩個(gè)特定的狀態(tài)(Q1=1和Q3=1)就足以譯碼計(jì)數(shù)10,因?yàn)槠渌乃袪顟B(tài)都不會(huì)同時(shí)具有高電壓Q1和Q3。當(dāng)該計(jì)數(shù)器進(jìn)入計(jì)數(shù)10(1010)時(shí),譯碼門輸出就會(huì)變?yōu)榈碗妷翰⑶耶惒綇?fù)位所有的觸發(fā)器。 結(jié)果時(shí)序圖如圖9.6(b)所示。注意在Q1波形上有一個(gè)假信號(hào)。該假信號(hào)的原因是Q1必須在計(jì)數(shù)10被譯碼之前首先變?yōu)楦唠妷骸V钡皆撚?jì)數(shù)器進(jìn)

15、入計(jì)數(shù)10之后的幾納秒,譯碼門的輸出才會(huì)變?yōu)榈碗妷海▋蓚€(gè)輸入都是高電壓)。因此,該計(jì)數(shù)器在復(fù)位到0000之前會(huì)在1010狀態(tài)上保持較短的時(shí)間,因而產(chǎn)生了Q1上的假信號(hào)和線(用以復(fù)位計(jì)數(shù)器)上的結(jié)果假信號(hào)。 其他的截尾序列可以相似的方式實(shí)現(xiàn),如示例9.2所示。示例9.2 展示一下怎樣實(shí)現(xiàn)一個(gè)異步計(jì)數(shù)器,使其模為12,具有從0000到1011的直線二進(jìn)制序列。 解: 由于三個(gè)觸發(fā)器可以產(chǎn)生最多8個(gè)狀態(tài),所以就需要四個(gè)觸發(fā)器來產(chǎn)生任何大于8而小于或者等于16個(gè)模。 當(dāng)該計(jì)數(shù)器進(jìn)入它的最后一個(gè)狀態(tài)1011后,它就必須再循環(huán)到0000而不是進(jìn)入其正常的下一個(gè)狀態(tài)1100,如下面的序列圖所示:觀察和都進(jìn)入

16、O,但是和都必須在第12個(gè)時(shí)鐘脈沖被迫進(jìn)入0。圖9.7(a)展示了該模12計(jì)數(shù)器。與非門部分譯碼計(jì)數(shù)12(1100)并且使觸發(fā)器2和觸發(fā)器3復(fù)位。因此,在第12個(gè)時(shí)鐘脈沖上,計(jì)數(shù)器被迫從計(jì)數(shù)11再循環(huán)到計(jì)數(shù)0,如圖9.7(b)中的時(shí)序圖所示。(在被上的假信號(hào)復(fù)位之前,它只在計(jì)數(shù)12上停留幾納秒的時(shí)間。)相關(guān)問題:怎樣修改圖9.7(a)中的計(jì)數(shù)器使其變?yōu)槟?3計(jì)數(shù)器?4位異步二進(jìn)制計(jì)數(shù)器 74LS93A是特定集成電路異步計(jì)數(shù)器的一個(gè)示例。正如圖9.8中邏輯圖所展示的那樣,這種設(shè)備實(shí)際上由一個(gè)單觸發(fā)器和一個(gè)3位異步計(jì)數(shù)器組成的。這種排列是出于簡單的目的。如果只使用單觸發(fā)器的話,它可以用作除以2的設(shè)

17、備,如果只使用3位計(jì)數(shù)器的話,它可以用作模8計(jì)數(shù)器。這個(gè)設(shè)備同時(shí)提供了門控復(fù)位輸入RO(1)和RO(2)。當(dāng)兩個(gè)輸入都是高電壓時(shí),計(jì)數(shù)器就復(fù)位到0000狀態(tài)。 此外,74LS93A可以用作4位模16計(jì)數(shù)器(從O計(jì)數(shù)到15),將Qo輸出連接到CLK B輸入上即可,如圖9.9(a)所示。它也可以配置為具有異步再循環(huán)的十進(jìn)制計(jì)數(shù)器(從O計(jì)數(shù)到9),為計(jì)數(shù)10的部分譯碼使用門控復(fù)位輸入即可,如圖9.9(b)所示。示例9.3 展示74LS93A怎樣用作模12計(jì)數(shù)器。 解: 使用門控復(fù)位輸入RO(1)和RO(2)來部分譯碼計(jì)數(shù)12(記住,有一個(gè)內(nèi)部與非門關(guān)聯(lián)于這兩個(gè)輸入)。計(jì)數(shù)12譯碼由連接Q3到RO(1

18、)并連接Q2到RO(2)來實(shí)現(xiàn),如圖9.10所示。輸出Q0連接到CLK B上以創(chuàng)建一個(gè)4位計(jì)數(shù)器。 在計(jì)數(shù)器進(jìn)入計(jì)數(shù)12(1100)之后的瞬間,它就會(huì)復(fù)位到0000。但是,這個(gè)再循環(huán)會(huì)在上產(chǎn)生個(gè)假信號(hào),因?yàn)樵撚?jì)數(shù)器在再循環(huán)之前,必須進(jìn)入1100狀態(tài)幾納秒的時(shí)間。 相關(guān)問題:展示74LS93A怎樣連接為模13計(jì)數(shù)器。9.1節(jié)復(fù)習(xí)答案在本章最后。1對(duì)于計(jì)數(shù)器來說,異步是什么意思?2一個(gè)模14計(jì)數(shù)器具有幾個(gè)狀態(tài)?它所需要的最小觸發(fā)器數(shù)目是多少?9.2 同步計(jì)數(shù)器運(yùn)算 同步是指事件相互之間具有固定的時(shí)間關(guān)系。對(duì)于計(jì)數(shù)器運(yùn)算來說,同步意味著計(jì)數(shù)器中的所有觸發(fā)器同時(shí)由一個(gè)共同的時(shí)鐘脈沖觸發(fā)。 學(xué)完本節(jié)之后

19、,你應(yīng)當(dāng)能夠 - 描述2位同步二進(jìn)制計(jì)數(shù)器的運(yùn)算 - 描述3位同步二進(jìn)制計(jì)數(shù)器的運(yùn)算 - 描述4位同步二進(jìn)制計(jì)數(shù)器的運(yùn)算 _ 描述同步十進(jìn)制計(jì)數(shù)器的運(yùn)算 - 開發(fā)計(jì)數(shù)器時(shí)序圖 _ 討論74HC163 4位二進(jìn)制計(jì)數(shù)器和74LS169 BCD十進(jìn)制計(jì)數(shù)器 2位同步二進(jìn)制計(jì)數(shù)器 圖9.11展示了一個(gè)2位同步(synchronous)二進(jìn)制計(jì)數(shù)器。注意必須為FF1的J1和K1輸入使用不同于異步計(jì)數(shù)器的排列,以實(shí)現(xiàn)二進(jìn)制序列。 同步計(jì)數(shù)器的運(yùn)算如下所示:首先,假設(shè)該計(jì)數(shù)器初始時(shí)位于二進(jìn)制0狀態(tài):也就是說,兩個(gè)觸發(fā)器都是復(fù)位的。當(dāng)?shù)谝粋€(gè)時(shí)鐘脈沖的正邊沿被應(yīng)用時(shí),F(xiàn)FO將翻轉(zhuǎn)而Q0因而變?yōu)楦唠妷?。那么FF

20、1在CLK1的正向邊沿上會(huì)發(fā)生什么情況呢?為了找出答案,讓我們看看FF1的輸入條件。輸入J1和K1都是低電壓,因?yàn)樗鼈兯B接到的Q0還沒有變?yōu)楦唠妷骸S涀?,時(shí)鐘脈沖的觸發(fā)邊沿會(huì)存在傳播延遲,直到Q輸出實(shí)際進(jìn)行了轉(zhuǎn)換。所以,當(dāng)?shù)谝粋€(gè)時(shí)鐘脈沖的前沿被應(yīng)用時(shí),J=0而K=0。這是個(gè)無變化條件,所以FF1并沒有改變狀態(tài)。該計(jì)數(shù)器運(yùn)算部分的時(shí)序細(xì)節(jié)如圖9.12(a)所示。 在同步計(jì)數(shù)器中,時(shí)鐘脈沖進(jìn)入每一個(gè)觸發(fā)器中。 在CLK1之后,Q0=1而Q1=0(這是二進(jìn)制1狀態(tài))。當(dāng)CLK2的前沿發(fā)生時(shí),F(xiàn)F0將翻轉(zhuǎn)并且Q0將會(huì)進(jìn)入低電壓。由于FF1在這個(gè)時(shí)鐘脈沖的觸發(fā)邊沿上,輸入J1和K1都是高電壓(Q0=1

21、),所以該觸發(fā)器翻轉(zhuǎn)并且Q1變?yōu)楦唠妷?。因此,在CLK2之后,Q0=O而Q1=1(這是二進(jìn)制2狀態(tài))。這個(gè)條件的時(shí)序細(xì)節(jié)如圖9.12(b)所示。 當(dāng)CLK3的前沿發(fā)生時(shí),F(xiàn)F0再次翻轉(zhuǎn)到置位狀態(tài)(Q0=1),而FF1保持置位(Q1=1),因?yàn)樗腏1和K1輸入都是低電壓(Q0=0)。在這個(gè)觸發(fā)邊沿之后,Q0=1而Q1=1(這是二進(jìn)制3的狀態(tài))。時(shí)序細(xì)節(jié)如圖9.12(c)所示。 最后,在CLK4的前沿,Q0和Q1變?yōu)榈碗妷?,因?yàn)樗鼈冊(cè)谒鼈兊腏和K輸入上都具有翻轉(zhuǎn)條件。時(shí)序細(xì)節(jié)如圖9.12(d)所示。該計(jì)數(shù)器現(xiàn)在再循環(huán)到了它的原始狀態(tài)二進(jìn)制O。 圖9.11中計(jì)數(shù)器的完整時(shí)序圖如圖9.13所示。注意

22、所有的波形轉(zhuǎn)換看起來都是同時(shí)發(fā)生的;也就是說,傳播延遲沒有指示出來。雖然延遲在同步計(jì)數(shù)器運(yùn)算中是一個(gè)重要的因素,但是在整體時(shí)序圖中出于簡化的目的將它們省略了。主要的波形關(guān)系產(chǎn)生于電路的正常運(yùn)算,即使不展示小的延遲和時(shí)序區(qū)別也可以完全表達(dá)出來。但是,在高速數(shù)字系統(tǒng)中,這些小的延遲在設(shè)計(jì)和故障檢測(cè)中是一個(gè)重要的考慮因素。3位同步二進(jìn)制計(jì)數(shù)器 一個(gè)3位同步二進(jìn)制計(jì)數(shù)器如圖9.14所示,而它的時(shí)序圖如圖9.15所示。通過檢查如表9.3所示的狀態(tài)序列,你就可以理解這個(gè)計(jì)數(shù)器的運(yùn)算。 奔騰中的TSC(時(shí)間印章計(jì)數(shù)器)用以性能監(jiān)測(cè),它可以使得一些對(duì)于奔騰系統(tǒng)的整體性能很重要的參數(shù)能夠正確地確定。通過閱讀某個(gè)

23、過程執(zhí)行前后的TSC,基于處理器循環(huán)時(shí)間就可以確定該過程所需要的精確時(shí)間。在這種方式中,TSC構(gòu)成了所有時(shí)間計(jì)算的基礎(chǔ),這些時(shí)間計(jì)算關(guān)聯(lián)于系統(tǒng)運(yùn)算的優(yōu)化。例如,它可以準(zhǔn)確確定兩個(gè)或者多個(gè)程序序列中,哪一個(gè)更加有效。這對(duì)于編譯程序開發(fā)人員和系統(tǒng)程序員為奔騰開發(fā)最有效的代碼過程非常有用。 首先,讓我們看看Q0。注意Q0在每個(gè)時(shí)鐘上改變狀態(tài),與此同時(shí)計(jì)數(shù)器從它的原始狀態(tài)進(jìn)入到最終狀態(tài),然后再返回它的原始狀態(tài)。為了產(chǎn)生這個(gè)運(yùn)算,F(xiàn)F0必須由其J0和K0輸入上的常高電壓保持在翻轉(zhuǎn)模式。注意Q1在每次Q0為1之后,都進(jìn)入相反的狀態(tài)。這種改變發(fā)生在CLK2、CLK4、CLK6和CLK8上。CLK8脈沖使得該

24、觸發(fā)器再循環(huán)。為了產(chǎn)生這個(gè)運(yùn)算,Q0連接到了FF1的J1和K1輸入上。當(dāng)Q0為1而時(shí)鐘脈沖發(fā)生時(shí),F(xiàn)F1就處于翻轉(zhuǎn)模式,因而改變狀態(tài)。其他時(shí)候,當(dāng)Q0為O時(shí),F(xiàn)F1就處于無變化模式,并且保持它當(dāng)前的狀態(tài)。 接下來,讓我們看看FF2怎樣依據(jù)二進(jìn)制序列而在合適的時(shí)間改變狀態(tài)。注意Q2每次改變狀態(tài)時(shí),之前都會(huì)有一個(gè)特定的條件:Q0和Q1都是高電壓。這個(gè)條件由與門來檢測(cè),并且應(yīng)用于FF2的J2和K2輸入上。只要Q0和Q1為高電壓,與門的輸出就會(huì)使得FF2的J2和K2輸入為高電壓,并且FF2在下一個(gè)時(shí)鐘脈沖上翻轉(zhuǎn)。在所有的其他時(shí)間,F(xiàn)F2的J2和K2輸入都被與門輸出保持為低電壓,而FF2并不改變狀態(tài)。4

25、位同步二進(jìn)制計(jì)數(shù)器 圖9.16(a)展示了一個(gè)4位同步二進(jìn)制計(jì)數(shù)器,而圖9.16(b)展示了它的時(shí)序圖。這個(gè)特殊的計(jì)數(shù)器由負(fù)邊沿觸發(fā)的觸發(fā)器來實(shí)現(xiàn)。對(duì)于前三個(gè)觸發(fā)器,J和K輸入控制的內(nèi)在原因和前面所討論的3位計(jì)數(shù)器是一樣的。第四個(gè)階段FF3,在該序列中只改變兩次。注意這兩個(gè)轉(zhuǎn)換的發(fā)生都在Q0、Q1和Q2全部為高電壓之后。這個(gè)條件由與門G2來譯碼,使得當(dāng)時(shí)鐘脈沖發(fā)生時(shí),F(xiàn)F3就會(huì)改變狀態(tài)。對(duì)于所有其他時(shí)間,F(xiàn)F3的J3和K3輸入為低電壓,并且它處于無變化條件。 4位同步十進(jìn)制計(jì)數(shù)器 正如你所知道的那樣,BCD十進(jìn)制計(jì)數(shù)器呈現(xiàn)出一個(gè)截尾二進(jìn)制序列并且從0000到1001狀態(tài)。它從1001狀態(tài)再循環(huán)

26、到0000狀態(tài),而不是到1010狀態(tài)。同步BCD十進(jìn)制計(jì)數(shù)器如圖9.17所示。十進(jìn)制計(jì)數(shù)器的時(shí)序圖如圖9.18所示。 譯碼計(jì)數(shù)器具有10個(gè)狀態(tài)。 通過檢查表9.4中的狀態(tài)序列并且遵循圖9.17中的實(shí)現(xiàn)方法,你就可以理解該計(jì)數(shù)器運(yùn)算。首先,注意FFO(Q0)在每一個(gè)時(shí)鐘脈沖上翻轉(zhuǎn),所以Jo和Ko輸入的邏輯等式為 Jo=Ko=1這個(gè)等式通過將Jo和Ko連接到常高電壓電位上來實(shí)現(xiàn)。 接下來,注意在表9.4中,F(xiàn)F1(Q1)每次在Q0=1和Q3=0的下一個(gè)時(shí)鐘脈沖上改變狀態(tài),所以J1和K1輸入的邏輯等式為 J1= K1=Q0 這個(gè)等式由Q0和Q3執(zhí)行與運(yùn)算并且將門輸出連接到FF1的J1和K1輸入上來實(shí)

27、現(xiàn)。 觸發(fā)器2(Q2)每次在Q0=1和Q1=1的下一個(gè)時(shí)鐘脈沖改變狀態(tài)。這就需要如下所示的輸入邏輯等式: J2= K2 =QoQ1 這個(gè)等式由Q0和Q1執(zhí)行與運(yùn)算并且將門輸出連接到FF2的J2和K2輸入上來實(shí)現(xiàn)。 最后,F(xiàn)F3(Q3)每次在Q0=1、Q1=1而Q2=1(狀態(tài)7)的下一個(gè)時(shí)鐘脈沖變?yōu)橄喾吹臓顟B(tài),或者在Q0=1而Q3=1(狀態(tài)9)時(shí)改變。所對(duì)應(yīng)的等式如下所示: J3= K3= Q0Q1Q2+ Q0Q3 這個(gè)函數(shù)由連接到FF3的J3和K3輸入上的與或邏輯來實(shí)現(xiàn),如圖9.17中的邏輯圖所示。注意這個(gè)十進(jìn)制計(jì)數(shù)器和圖9.16中的模16二進(jìn)制計(jì)數(shù)器的區(qū)別是,Q0與門、Q0Q3與門和或門;這

28、個(gè)排列檢測(cè)了1OO1狀態(tài)的發(fā)生,并且使得該計(jì)數(shù)器正確地再循環(huán)到下一個(gè)時(shí)鐘脈沖。 同步計(jì)數(shù)器 4位同步二進(jìn)制計(jì)數(shù)器 74HC163是集成電路4位同步二進(jìn)制計(jì)數(shù)器的一個(gè)示例。邏輯符號(hào)如圖9.19所示,引腳個(gè)數(shù)在圓括號(hào)內(nèi)。除了前面所討論的一般性同步二進(jìn)制計(jì)數(shù)器具有的基本功能之外,這種計(jì)數(shù)器還具有幾個(gè)特征。 首先,該計(jì)數(shù)器可以被同步預(yù)置到任意的4位二進(jìn)制數(shù),只要對(duì)并行數(shù)據(jù)輸入應(yīng)用合適的電位即可。當(dāng)?shù)碗妷簯?yīng)用于輸入時(shí),該計(jì)數(shù)器將會(huì)取得下一個(gè)時(shí)鐘脈沖上數(shù)據(jù)輸入的狀態(tài)。因此,該計(jì)數(shù)器序列可以開始于任何4位二進(jìn)制數(shù)。同樣地,存在一個(gè)有效低電壓清除輸入(),其同步復(fù)位計(jì)數(shù)器中所有的四個(gè)觸發(fā)器。有兩個(gè)啟動(dòng)輸入EN

29、P和ENT。這兩個(gè)輸入對(duì)于該計(jì)數(shù)器必須都為高電壓,才能順序經(jīng)過它的二進(jìn)制狀態(tài)。當(dāng)至少有一個(gè)輸入為低電壓時(shí),計(jì)數(shù)器就失效了。當(dāng)計(jì)數(shù)器最終計(jì)數(shù)為15時(shí)(TC= 15),脈沖時(shí)鐘輸出(RCO)就變?yōu)楦唠妷?。這個(gè)連接于啟動(dòng)輸入上的輸出,就會(huì)允許相鄰的計(jì)數(shù)器串連起來,以實(shí)現(xiàn)更大的計(jì)數(shù)序列,隨后將會(huì)討論這一點(diǎn)。 圖9.20展示了該計(jì)數(shù)器預(yù)置為12(1100)然后計(jì)數(shù)到末端計(jì)數(shù)15(1111)的時(shí)序圖。輸入Do是最低有效輸入位,而Q0是最低有效輸出位。 讓我們?cè)敿?xì)檢查一下這個(gè)時(shí)序圖。這將幫助你解釋本章后面的時(shí)序圖或者生產(chǎn)商數(shù)據(jù)表上的時(shí)序圖。作為開始,輸入上的低電壓電位脈沖使得所有的輸出(Q0、Q1、Q2和Q

30、3)變?yōu)榈碗妷骸?接下來,輸入上的低電壓電位脈沖同步將數(shù)據(jù)輸入(D0、D1、D2和D3)上的數(shù)據(jù)輸入到計(jì)數(shù)器中。這些數(shù)據(jù)在變?yōu)榈碗妷褐蟮牡谝粋€(gè)時(shí)鐘邊沿時(shí),出現(xiàn)在Q輸出上。這就是預(yù)置運(yùn)算。在這個(gè)特殊的示例中,Q0為低電壓、Q1為低電壓、Q2為高電壓而Q3為高電壓。當(dāng)然,這是二進(jìn)制數(shù)12(Q0是LSB)。 現(xiàn)在計(jì)數(shù)器在下三個(gè)正向時(shí)鐘邊沿依次經(jīng)過狀態(tài)13、14和15。然后在接下來的時(shí)鐘脈沖上再循環(huán)到O、1、2。注意ENP和ENT輸入在狀態(tài)序列期間都是高電壓。當(dāng)ENP為低電壓時(shí),計(jì)數(shù)器就會(huì)被禁止并且保持在二進(jìn)制數(shù)2的狀態(tài)。同步BCD十進(jìn)制計(jì)數(shù)器 74LS160是十進(jìn)制計(jì)數(shù)器的一個(gè)示例,它的輸入和輸出

31、和前面所討論的74HC163二進(jìn)制計(jì)數(shù)器的一樣。它可以被預(yù)置到任意的BCD計(jì)數(shù),只要使用數(shù)據(jù)輸入以及輸入上的低電壓即可。異步上的低電壓將會(huì)復(fù)位這個(gè)計(jì)數(shù)器。啟動(dòng)輸入ENP和ENT對(duì)于計(jì)數(shù)器來說,必須同時(shí)為高電壓,以對(duì)應(yīng)于CLK輸入上的正邊沿觸發(fā)而依次經(jīng)過它的狀態(tài)序列。和74HC163一樣,啟動(dòng)輸入連接于脈動(dòng)時(shí)鐘輸出RCO上(最終計(jì)數(shù)1001),用以串連幾個(gè)十進(jìn)制計(jì)數(shù)器。圖9.21展示了72LS160計(jì)數(shù)器的邏輯符號(hào),而圖9.22是一個(gè)時(shí)序圖,展示了該計(jì)數(shù)器被預(yù)置到計(jì)數(shù)7(0111)。級(jí)聯(lián)計(jì)數(shù)器將會(huì)在9.5節(jié)討論。9.2節(jié)復(fù)習(xí)1同步計(jì)數(shù)器怎樣區(qū)別于異步計(jì)數(shù)器?2解釋諸如74LS160以及74HC1

32、63之類計(jì)數(shù)器的預(yù)置特征。3描述對(duì)于本節(jié)所介紹的兩個(gè)特殊計(jì)數(shù)器ENP和ENT輸入的目的,以及RCO輸出 的目的。9.3遞增遞減同步計(jì)數(shù)器 遞增遞減計(jì)數(shù)器可以正向或者逆向經(jīng)過一定的序列。遞增遞減計(jì)數(shù)器有時(shí)候稱為雙向計(jì)數(shù)器,可以具有任意指定的狀態(tài)序列。我們可以用一個(gè)3位二進(jìn)制計(jì)數(shù)器來闡釋遞增遞減順序運(yùn)算,計(jì)數(shù)器向前經(jīng)過它的序列(0、1、2、3、4、5、6、7)然后再反過來,使得其可以從相反的方向經(jīng)過該序列。 學(xué)完本節(jié)之后,你應(yīng)當(dāng)能夠n 解釋遞增遞減計(jì)數(shù)器的基本運(yùn)算n 討論74HC190遞增,遞減十進(jìn)制計(jì)數(shù)器 一般來說,大多數(shù)遞增遞減計(jì)數(shù)器都可以在序列中的任何位點(diǎn)翻轉(zhuǎn)。例如,3位計(jì)數(shù)器可以經(jīng)過如下所

33、示的序列: 表9.5展示了一個(gè)3位二進(jìn)制計(jì)數(shù)器的完整遞增遞減序列。箭頭表示計(jì)數(shù)器對(duì)于它的遞增和遞減運(yùn)算模式所進(jìn)行的狀態(tài)到狀態(tài)的運(yùn)動(dòng)。同時(shí)檢查遞增和遞減序列的Q0,展示了FF0在每個(gè)時(shí)鐘脈沖上翻轉(zhuǎn)。因此,F(xiàn)F0的J0和K0輸入為Jo= Ko=1 對(duì)于遞增序列,Q1在Q0=1的下一個(gè)時(shí)鐘脈沖上改變狀態(tài)。對(duì)于遞減序列來說,Q1在Q0=O的下一個(gè)時(shí)鐘脈沖上改變狀態(tài)。因此,F(xiàn)F1的J1和K1輸入在下面的等式所表達(dá)的條件下,必須等于1:J1 =K1=(Q0·uP)+(·DOWN) 對(duì)于遞增序列來說,Q2在Q0=Q1=1的下一個(gè)時(shí)鐘脈沖上改變狀態(tài)。對(duì)于遞減序列來說,Q2在Q0=Q1=O的

34、下一個(gè)時(shí)鐘脈沖上改變狀態(tài)。因此,F(xiàn)F2的J2和K2輸入在下面的等式所表達(dá)的條件下,必須等于1:J2=K2=(Q0·Q1·UP)+( ··DOWN) 每個(gè)觸發(fā)器的J和K輸入所對(duì)應(yīng)的每一個(gè)條件,都會(huì)在計(jì)數(shù)器序列中的合適位點(diǎn)上產(chǎn)生一個(gè)翻轉(zhuǎn)。 圖9.23展示了3位遞增遞減二進(jìn)制計(jì)數(shù)器的基本實(shí)現(xiàn)方法,對(duì)每個(gè)觸發(fā)器的J和K輸入上述邏輯等式。注意UP/控制輸入對(duì)于遞增來說是高電壓,而對(duì)于遞減來說是低電壓。示例9.4 如果時(shí)鐘和UP/控制輸入具有如圖9.24(a)所示的波形,展示時(shí)序圖并確定4位同步二進(jìn)制遞增遞減計(jì)數(shù)器的序列。該計(jì)數(shù)器開始于全0狀態(tài)并且是正邊沿觸發(fā)的。

35、解:展示Q輸出的時(shí)序圖如圖9.24(b)所示。從這些波形中,計(jì)數(shù)器序列如表9.6所示。相關(guān)問題:如果圖9.24(a)中的UP/控制波形反相的話,展示時(shí)序圖。遞增遞減十進(jìn)制計(jì)數(shù)器 圖9.25展示了74HC190的邏輯圖,它是集成電路遞增遞減同步計(jì)數(shù)器的一個(gè)示例。計(jì)數(shù)的方向由遞增遞減輸入(D/)的電位來確定。當(dāng)這個(gè)輸入為高電壓時(shí),計(jì)數(shù)器遞減計(jì)數(shù);當(dāng)它是低電壓時(shí),計(jì)數(shù)器遞增計(jì)數(shù)。同樣地,這個(gè)設(shè)備可以被預(yù)置到任意所需的BCD數(shù)字,當(dāng)輸入為低電壓時(shí),BCD數(shù)字由數(shù)據(jù)輸入的狀態(tài)來確定。當(dāng)在遞增模式中的最終計(jì)數(shù)9(1001)或者當(dāng)在遞減模式中的最終計(jì)數(shù)0(0000)時(shí),MAX/MIN輸出就會(huì)產(chǎn)生一個(gè)高電壓脈

36、沖。這個(gè)MAX/MIN輸出和脈動(dòng)時(shí)鐘輸出()以及計(jì)數(shù)啟動(dòng)輸入()一起,會(huì)用于串連計(jì)數(shù)器。(級(jí)聯(lián)計(jì)數(shù)器將在9.5節(jié)中討論。) 圖9.26是一個(gè)示例時(shí)序圖,展示了74HC190計(jì)數(shù)器預(yù)置為7(0111)然后經(jīng)過一個(gè)遞增計(jì)數(shù)的序列并跟隨著一個(gè)遞增計(jì)數(shù)的序列。當(dāng)計(jì)數(shù)器位于全0狀態(tài)(MIN或者1001狀態(tài)(MAX)時(shí),該MAX/MIN輸出就會(huì)是高電壓。9.3節(jié)復(fù)習(xí)1一個(gè)4位遞增遞減二進(jìn)制計(jì)數(shù)器位于DOWN模式并且處于1010狀態(tài)。在下一個(gè) 時(shí)鐘脈沖上,計(jì)數(shù)器將會(huì)進(jìn)入哪一個(gè)狀態(tài)?2處于UP模式的4位二進(jìn)制計(jì)數(shù)器的末端計(jì)數(shù)是多少?在DOWN模式中是多少? 在DOWN模式中,最終計(jì)數(shù)的下一個(gè)狀態(tài)是多少?9.4

37、同步計(jì)數(shù)器的設(shè)計(jì) 我們向那些需要計(jì)數(shù)器入門或者一般性狀態(tài)機(jī)器設(shè)計(jì)的人推薦這一節(jié)。對(duì)于其他的任何資料,這并不是前提條件。 學(xué)完本節(jié)之后,你應(yīng)當(dāng)能夠n 以基本部件和輸入輸出描述一般性的序列電路n 為給定的序列開發(fā)狀態(tài)圖n 為指定的計(jì)數(shù)器序列開發(fā)次狀態(tài)表n 創(chuàng)建觸發(fā)器轉(zhuǎn)換表n 使用卡諾圖方法來推導(dǎo)出同步計(jì)數(shù)器的邏輯需求n 實(shí)現(xiàn)一個(gè)計(jì)數(shù)器,用以產(chǎn)生指定的狀態(tài)序列序列電路的一般模式 在開始特定計(jì)數(shù)器設(shè)計(jì)技術(shù)之前,讓我們開始于序列電路或者狀態(tài)機(jī)器的一般性定義:一般的序列電路由組合邏輯部分和存儲(chǔ)器部分(觸發(fā)器)組成,如圖9.27所示。在時(shí)鐘觸發(fā)的序列電路中,存儲(chǔ)器部分有一個(gè)時(shí)鐘輸入,如圖所示。 電路的正常運(yùn)

38、算需要存儲(chǔ)在存儲(chǔ)器部分的信息和組合邏輯(I0,I1,IM)的輸入。在任何給定的時(shí)間,存儲(chǔ)器所在的狀態(tài)稱為當(dāng)前狀態(tài),并且將進(jìn)入下一個(gè)狀態(tài),這由激勵(lì)線(Y0,Yl,Yp)上的條件來確定。存儲(chǔ)器的當(dāng)前狀態(tài)由狀態(tài)變量(Q0,Ql,Qx)來表示。這些狀態(tài)變量和輸入(I0,I1,Im)確定了系統(tǒng)輸出(O0,O1,On)。 并不是所有的序列電路都具有剛剛討論的一般模式中所擁有的輸入和輸出。但是,所有的電路都具有激勵(lì)變量和狀態(tài)變量。計(jì)數(shù)器是時(shí)鐘序列電路的一個(gè)特例。在本節(jié)中,序列電路的一般設(shè)計(jì)過程將會(huì)在一系列步驟中應(yīng)用于同步計(jì)數(shù)器。步驟1:狀態(tài)圖 計(jì)數(shù)器首先由狀態(tài)圖來描述,其展示了計(jì)數(shù)器被時(shí)鐘觸發(fā)之后依次經(jīng)過的

39、狀態(tài)。作為一個(gè)示例,圖9.28展示了基本3位格雷碼計(jì)數(shù)器的狀態(tài)圖。這個(gè)特殊電路沒有輸入而有時(shí)鐘,沒有輸出而是計(jì)數(shù)器中每個(gè)觸發(fā)器所取得的輸出。這個(gè)時(shí)候,你可以復(fù)習(xí)一下第2章中有關(guān)格雷碼的內(nèi)容。 步驟2:次狀態(tài)表 一旦序列電路由狀態(tài)圖定義下來,第二步就是導(dǎo)出次狀態(tài)表,其列出了計(jì)數(shù)器的每一個(gè)狀態(tài)(當(dāng)前狀態(tài))和相應(yīng)的下一個(gè)狀態(tài)。次狀態(tài)就是計(jì)數(shù)器對(duì)應(yīng)于時(shí)鐘脈沖的應(yīng)用,從當(dāng)前狀態(tài)要進(jìn)入的狀態(tài)。次狀態(tài)表由狀態(tài)圖中導(dǎo)出,如表9.7所示的3位格雷碼計(jì)數(shù)器。Q0是最低有效位。 步驟3:觸發(fā)器轉(zhuǎn)換表 表9.8是J-K觸發(fā)器的狀態(tài)轉(zhuǎn)換表。通過展示觸發(fā)器從當(dāng)前狀態(tài)到次狀態(tài)的Q輸出,列出了所有可能的輸出轉(zhuǎn)換。QN是觸發(fā)器

40、的當(dāng)前狀態(tài)(在時(shí)鐘脈沖之前),而QN+1是次狀態(tài)(在時(shí)鐘脈沖之后)。對(duì)于每個(gè)輸出轉(zhuǎn)換來說,列出了使得轉(zhuǎn)換得以發(fā)生的J和K輸入。X表示“無關(guān)緊要”(輸入可以為1或者O)。 為了設(shè)計(jì)該計(jì)數(shù)器,轉(zhuǎn)換表應(yīng)用于計(jì)數(shù)器中的每一個(gè)觸發(fā)器,基于次狀態(tài)表(表9.7)。例如,對(duì)于當(dāng)前狀態(tài)0000,Q0從當(dāng)前狀態(tài)O到次狀態(tài)1。為了使這種情況得以發(fā)生,J0必須為1,你不要考慮K0是什么(J0=1,K0=X),正如你可以在轉(zhuǎn)換表(表9.8)中看到的那樣。接下來,Q1的當(dāng)前狀態(tài)為0并且在下一個(gè)狀態(tài)保持為O。對(duì)于這個(gè)轉(zhuǎn)換來說,J1=0而K1=X。最后,Q2的當(dāng)前狀態(tài)為O而在下一個(gè)狀態(tài)保持為O。所以,J2=0而K2=X。為表

41、9.7中的每一個(gè)當(dāng)前狀態(tài)重復(fù)這個(gè)分析。 步驟4:卡諾圖 卡諾圖可以用來確定計(jì)數(shù)器中每個(gè)觸發(fā)器的J和K輸入所需要的邏輯。對(duì)于每個(gè)觸發(fā)器的J輸入都有一個(gè)卡諾圖,對(duì)于每一個(gè)K輸入也都有一個(gè)卡諾圖。在這個(gè)設(shè)計(jì)過程中,卡諾圖中的每個(gè)單元,都表示列在表9.7中計(jì)數(shù)器序列中的一個(gè)當(dāng)前狀態(tài)。 由轉(zhuǎn)換表(表9.8)中的J和K狀態(tài),1、O或者X,置于圖上每一個(gè)當(dāng)前狀態(tài)單元中,這取決于特定觸發(fā)器Q輸出的轉(zhuǎn)換。為了闡釋這個(gè)過程,兩個(gè)示例如圖9.29所示,J0和K0輸入進(jìn)入最低有效觸發(fā)器(Q0)。 計(jì)數(shù)器中所有三個(gè)觸發(fā)器的完整卡諾圖如圖9.30所示。單元的分組如圖所示,并且每個(gè)小組的相應(yīng)布爾表達(dá)式也推導(dǎo)了出來。 步驟5

42、:觸發(fā)器輸入的邏輯表達(dá)式 從圖9.30中的卡諾圖中,我們可以得到如下所示的每個(gè)觸發(fā)器的J和K輸入的表達(dá)式: J0=Q2Q1+ = K0=Q2+Q1 =Q2Q1 J1=Q0 K1=Q2Q0 J2=Q1 K2=步驟6:計(jì)數(shù)器的實(shí)現(xiàn) 最后一步是從J和K輸入的表達(dá)式中實(shí)現(xiàn)組合邏輯,并連接觸發(fā)器來構(gòu)成完整的3位格雷碼計(jì)數(shù)器,如圖9.31所示。設(shè)計(jì)計(jì)數(shù)器所需步驟的總結(jié)如下所示。一般來說,這些步驟可以應(yīng)用于任何序列電路。1確定計(jì)數(shù)器序列并繪制狀態(tài)圖。2從狀態(tài)圖中推導(dǎo)出次狀態(tài)表。3開發(fā)轉(zhuǎn)換表,展示每個(gè)轉(zhuǎn)換所需要的觸發(fā)器輸入。轉(zhuǎn)換表對(duì)于給定類型的觸發(fā)器 總是相同的。4將J和K狀態(tài)從轉(zhuǎn)換表中轉(zhuǎn)移到卡諾圖上。每個(gè)觸

43、發(fā)器的每個(gè)輸入都有一個(gè)卡諾圖。5將卡諾圖單元分組,以產(chǎn)生并導(dǎo)出每個(gè)觸發(fā)器輸入的邏輯表達(dá)式。6利用組合邏輯實(shí)現(xiàn)表達(dá)式,并且連接觸發(fā)器以創(chuàng)建計(jì)數(shù)器。這個(gè)過程現(xiàn)在被應(yīng)用于設(shè)計(jì)其他的同步計(jì)數(shù)器,如示例9.5和9.6所示。示例9.5為圖9.32中狀態(tài)圖所示的非規(guī)則二進(jìn)制計(jì)數(shù)序列設(shè)計(jì)一個(gè)計(jì)數(shù)器。使用J-K觸發(fā)器。 解: 步驟1:狀態(tài)圖如圖所示。雖然只有四個(gè)狀態(tài),但是需要一個(gè)3位計(jì)數(shù)器來實(shí)現(xiàn)這個(gè)序列,因?yàn)樽畲蟮亩M(jìn)制計(jì)數(shù)為7。由于所需要的序列并不包括所有可能的二進(jìn)制狀態(tài),在該設(shè)計(jì)中,無效狀態(tài)(0、3、4和6)可以作為“無關(guān)緊要”。但是,如果計(jì)數(shù)器錯(cuò)誤地進(jìn)入某個(gè)無效狀態(tài),你必須確保其返回有效狀態(tài)。 步驟2:從

44、狀態(tài)圖中開發(fā)出來的次狀態(tài)表如表9.9所示。步驟3:J-K觸發(fā)器的轉(zhuǎn)換表重復(fù)于表9.10中。 步驟4:J和K輸入繪制在圖9.33中的當(dāng)前狀態(tài)卡諾圖上。同樣地,“無關(guān)緊要”也可以根據(jù)無效狀態(tài)000、011、100和110也繪制在相應(yīng)的單元中,由X表示。 步驟5:將1分組,盡可能利用較多的“無關(guān)緊要”狀態(tài)來實(shí)現(xiàn)最大的簡化,如圖9.33所示。注意當(dāng)圖中所有的單元都被分組時(shí),表達(dá)式就簡單地等于l。圖中每個(gè)J和K輸入的表達(dá)式如下所示: Jo=1、Ko= J1=K1=1 J2=K2=Q1步驟6:該計(jì)數(shù)器的實(shí)現(xiàn)方法如圖9.34所示。 分析顯示,如果該計(jì)數(shù)器偶爾進(jìn)入無效狀態(tài)(0、3、4、6)中的某一個(gè)狀態(tài),它總

45、是能夠返回一個(gè)有效狀態(tài),根據(jù)下面的序列:0347,和61。 相關(guān)問題:對(duì)這個(gè)證明計(jì)數(shù)器總是能夠從無效狀態(tài)返回(最終)有效狀態(tài)的分析,進(jìn)入驗(yàn)證。示例9.6 開發(fā)一個(gè)具有格雷碼序列的3位遞增遞減計(jì)數(shù)器。當(dāng)UP/控制輸入為1時(shí),該計(jì)數(shù)器應(yīng)當(dāng)遞增計(jì)數(shù),而當(dāng)控制輸入為0時(shí),應(yīng)當(dāng)遞減計(jì)數(shù)。解:步驟1:狀態(tài)圖如圖9.35所示。每個(gè)箭頭旁邊的1和0表示UP/控制輸入Y的狀態(tài)。 步驟2:從狀態(tài)圖中所導(dǎo)出的次狀態(tài)表如表9.11所示。注意對(duì)于每一個(gè)當(dāng)前狀態(tài)都有兩個(gè)可能的次狀態(tài),這取決于UP/控制輸入的變量Y。步驟3:J-K觸發(fā)器的轉(zhuǎn)換表重復(fù)于表9.12中。步驟4:觸發(fā)器J和K輸入的卡諾圖如圖9.36所示。UP/控制

46、輸入Y和Q0、Q1、Q2都被視為狀態(tài)變量。使用次狀態(tài)表,將表9.12中“觸發(fā)器輸入”一列中的信息轉(zhuǎn)移到卡諾圖上,表示計(jì)數(shù)器的每一個(gè)當(dāng)前狀態(tài)。 步驟5:將1分在盡可能大的組中,如果可能的話就使用“無關(guān)緊要”(X)。將小組分解,并且J和K輸入的表達(dá)式如下所示: 步驟6:使用組合邏輯實(shí)現(xiàn)J和K等式,完整的計(jì)數(shù)器如圖9.37所示。這對(duì)PLD的實(shí)現(xiàn)是一個(gè)很好的候選方案。相關(guān)問題:驗(yàn)證圖9.37中的邏輯與步驟5中的表達(dá)式相符。 在這一節(jié)中,你已經(jīng)看到了序列電路技術(shù)怎樣應(yīng)用于設(shè)計(jì)特定的計(jì)數(shù)器。一般來說,序列電路可以分為兩類:(1)輸出或者輸入僅僅取決于當(dāng)前內(nèi)部狀態(tài)(稱為莫爾電路)和(2)輸出或者輸入取決于當(dāng)

47、前狀態(tài)和輸入(稱為米利電路)。9.4節(jié)復(fù)習(xí)1某一觸發(fā)器當(dāng)前位于復(fù)位狀態(tài),而在下一個(gè)時(shí)鐘脈沖上必須進(jìn)入置位狀態(tài)。那么J 和K必須為多少?2某一觸發(fā)器當(dāng)前位于置位狀態(tài),而在下一個(gè)時(shí)鐘脈沖上必須進(jìn)入復(fù)位狀態(tài)。那么J 和K必須為多少?3某一二進(jìn)制計(jì)數(shù)器處于Q3Q1=1010狀態(tài)。 (a)次狀態(tài)是什么? (b)每個(gè)觸發(fā)器輸入必須處于什么狀態(tài)才能確保其在時(shí)鐘脈沖上進(jìn)入正確的次狀態(tài)?9.5級(jí)聯(lián)計(jì)數(shù)器 計(jì)數(shù)器可以串連的方式連接以實(shí)現(xiàn)更高模的運(yùn)算。實(shí)際上,級(jí)聯(lián)的意思就是某一計(jì)數(shù)器最后階段的輸出驅(qū)動(dòng)下一個(gè)計(jì)數(shù)器的輸入。 學(xué)完本節(jié)之后,你應(yīng)當(dāng)能夠n 確定級(jí)聯(lián)計(jì)數(shù)器的整體模n 分析級(jí)聯(lián)計(jì)數(shù)器配置的時(shí)序圖n 使用級(jí)聯(lián)計(jì)

48、數(shù)器作為分頻器n 使用級(jí)聯(lián)計(jì)數(shù)器來實(shí)現(xiàn)特定的截尾序列 兩個(gè)計(jì)數(shù)器連接為級(jí)聯(lián)計(jì)數(shù)器的一個(gè)示例如圖9.38所示,該圖展示了一個(gè)2位和一個(gè)3位脈動(dòng)計(jì)數(shù)器。時(shí)序圖如圖9.39所示。 注意圖9.39中的時(shí)序圖中,模8計(jì)數(shù)器的最終輸出Q4,每32個(gè)輸入時(shí)鐘脈沖發(fā)生一次。該級(jí)聯(lián)計(jì)數(shù)器的整體模是32;也就是說,它們執(zhí)行為除以32的計(jì)數(shù)器。一般來說,級(jí)聯(lián)計(jì)數(shù)器的整體模等于單個(gè)模的乘積。例如,對(duì)于圖9.38中的計(jì)數(shù)器,整體模是4×8=32。 當(dāng)在級(jí)聯(lián)配置中運(yùn)行同步計(jì)數(shù)器時(shí),需要使用計(jì)數(shù)啟動(dòng)和末端計(jì)數(shù)功能來實(shí)現(xiàn)更高的模運(yùn)算。在一些設(shè)備上,計(jì)數(shù)啟動(dòng)被簡單地標(biāo)記為CTEN(或者一些諸如G之類的其他名稱),末端

49、計(jì)數(shù)(TC)和一些IC計(jì)數(shù)器上的脈動(dòng)時(shí)鐘輸出(RCO)比較相似。 圖9.40展示了兩個(gè)十進(jìn)制計(jì)數(shù)器相串連。計(jì)數(shù)器1的末端計(jì)數(shù)(TC)輸出連接到計(jì)數(shù)器2的計(jì)數(shù)啟動(dòng)(CTEN)輸入上。計(jì)數(shù)器2被它的CTEN輸入上的低電壓所禁止,直至計(jì)數(shù)器l到達(dá)它的最后或者末端狀態(tài),并且其末端計(jì)數(shù)輸出變?yōu)楦唠妷骸_@個(gè)HIGH現(xiàn)在啟動(dòng)了計(jì)數(shù)器2,使得當(dāng)計(jì)數(shù)器l到達(dá)它的末端計(jì)數(shù)(CLKI0)之后的第一個(gè)時(shí)鐘脈沖時(shí),計(jì)數(shù)器2從它的初始狀態(tài)變到第二個(gè)狀態(tài)。在計(jì)數(shù)器l完成整個(gè)第二次循環(huán)之后(當(dāng)計(jì)數(shù)器l第二次到達(dá)末端計(jì)數(shù)時(shí)),計(jì)數(shù)器2被再次啟動(dòng)并前進(jìn)到下一個(gè)狀態(tài)。這個(gè)序列繼續(xù)進(jìn)行。由于它們是十進(jìn)制計(jì)數(shù)器,所以計(jì)數(shù)器1在計(jì)數(shù)器2

50、完成它的第一個(gè)循環(huán)之前,必須經(jīng)過10個(gè)完整的循環(huán)。換句話說,對(duì)應(yīng)于計(jì)數(shù)器l的每10個(gè)循環(huán),計(jì)數(shù)器2經(jīng)過一個(gè)循環(huán)。因此,計(jì)數(shù)器2將在100個(gè)時(shí)鐘脈沖之后完成一個(gè)循環(huán)。這兩個(gè)級(jí)聯(lián)計(jì)數(shù)器的整體模是10X 10= 100。 當(dāng)視為分頻器時(shí),圖9.40中的電路就會(huì)將輸入時(shí)鐘頻率分為100份。級(jí)聯(lián)計(jì)數(shù)器常常用來對(duì)高頻率時(shí)鐘信號(hào)進(jìn)行分頻,從而得到高精確的脈沖頻率。用于該目的的級(jí)聯(lián)計(jì)數(shù)器配置有時(shí)候稱為遞減計(jì)數(shù)鏈。例如,假設(shè)你具有一個(gè)IMHz的基本時(shí)鐘頻率,想要得到100kHz、10kHz、lkHz的頻率,可以使用一系列級(jí)聯(lián)的十進(jìn)制計(jì)數(shù)器。如果1MHz信號(hào)被一分為10的話,輸出就是100kHz。如果100kHz

51、信號(hào)再被一分為10的話,輸出就是10kHz。再次除以10將會(huì)到達(dá)lkHz的頻率。這個(gè)遞減計(jì)數(shù)鏈的一般實(shí)現(xiàn)方法如圖9.41所示。示例9.7確定如圖9.42所示的兩個(gè)級(jí)聯(lián)計(jì)數(shù)器配置的整體模。解:在圖9.42(a)中,3計(jì)數(shù)器配置的整體模是 8×12×16=1536如圖9.42(b)中,4計(jì)數(shù)器配置的整體模是 lO×4×7×5=1400相關(guān)問題:將一個(gè)時(shí)鐘頻率除以100000,需要多少個(gè)級(jí)聯(lián)十進(jìn)制計(jì)數(shù)器?示例9.8 使用74LS160來從一個(gè)1MHz時(shí)鐘中得到10kHz的波形。展示邏輯圖。 解: 為了從1MHz時(shí)鐘中得到10kHz,需要分解因子為10

52、0。兩個(gè)74LS 160計(jì)數(shù)器必須依照?qǐng)D9.43所示的那樣進(jìn)行串連。左邊的計(jì)數(shù)器每10個(gè)時(shí)鐘脈沖產(chǎn)生一個(gè)RCO脈沖。右邊的計(jì)數(shù)器每100個(gè)時(shí)鐘脈沖產(chǎn)生一個(gè)RCO脈沖。相關(guān)問題:確定圖9.43中第二個(gè)計(jì)數(shù)器(右邊的計(jì)數(shù)器)的Qo輸出上波形的頻率。 應(yīng)用截尾序列的級(jí)聯(lián)計(jì)數(shù)器 前面的討論已經(jīng)展示了怎樣實(shí)現(xiàn)一個(gè)整體模(除以一個(gè)分解因子),該整體模是所有串連計(jì)數(shù)器獨(dú)立模的乘積。這可以被考慮為全模級(jí)聯(lián)。 某些應(yīng)用所需要的模常常小于由全模級(jí)聯(lián)所實(shí)現(xiàn)的整體模。也就是說,必須用級(jí)聯(lián)計(jì)數(shù)器來實(shí)現(xiàn)截尾序列。為了闡釋這個(gè)方法,我們將使用圖9.44中的級(jí)聯(lián)計(jì)數(shù)器配置。這個(gè)特殊的電路使用了四個(gè)74HC161 4位同步二進(jìn)

53、制計(jì)數(shù)器。如果這四個(gè)計(jì)數(shù)器(總共16位)以全模排列串連的話,模應(yīng)當(dāng)是216=65 536 讓我們假設(shè)某個(gè)特定的應(yīng)用需要一個(gè)除以40000的計(jì)數(shù)器(模40000)。65536和40000的差值為25536,也就是必須從全模序列中刪除的狀態(tài)個(gè)數(shù)。圖9.44中電路所使用的技術(shù)是,每循環(huán)一次都將級(jí)聯(lián)計(jì)數(shù)器預(yù)置到25536(十六進(jìn)制為63 CO),所以在每個(gè)完整的循環(huán)中它將從25536計(jì)數(shù)到65535。所以計(jì)數(shù)器的每個(gè)完整的循環(huán)都由40000個(gè)狀態(tài)組成。 注意在圖9.44中,最右邊計(jì)數(shù)器的RCO輸出是反相的,并應(yīng)用于每個(gè)4位計(jì)數(shù)器的輸入上。計(jì)數(shù)器每次到達(dá)它的末端計(jì)數(shù)65535,也就是11111111111111112時(shí),RCO就會(huì)變?yōu)楦唠妷?,并使得并行?shù)據(jù)輸入(63C016)上的數(shù)字和時(shí)鐘脈沖同步帶入計(jì)數(shù)器中。因此,每40000個(gè)時(shí)鐘脈沖,最右邊的4位計(jì)數(shù)器只有一個(gè)RCO脈沖。 利用這種技術(shù),通過將計(jì)數(shù)器在每次循環(huán)中都同步載入合適的初始狀態(tài),就可以實(shí)現(xiàn)任何的模。9.5節(jié)復(fù)習(xí)1實(shí)現(xiàn)一個(gè)除以1000(模l000)的計(jì)數(shù)器需要多少個(gè)十進(jìn)制計(jì)數(shù)器?除以10

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論