概述
學(xué)習(xí)數(shù)字邏輯這門課程的目的有兩個,第一是為了后續(xù)的電路設(shè)計,是硬件工程師的入門課程;第二則是為了更好地理解計算機的工作原理,為后續(xù)嵌入式開發(fā)、軟件開發(fā)等打下堅實的基礎(chǔ)。絕大部分人應(yīng)該屬于后者,畢竟純粹的硬件開發(fā)工程師職位不多。
時序電路是數(shù)字邏輯這門課的關(guān)鍵,因為引入了時間這一維度,理解掌握其功能特性的難度比組合邏輯要高,因此,很多童鞋可能學(xué)到這有點暈,這是正?,F(xiàn)象。應(yīng)對辦法也很簡單:熟記典型的幾個觸發(fā)器功能特征,多做幾個習(xí)題,對付考試和后續(xù)課程的理解綽綽有余。
時序電路這門課程的要求是最終能夠進行簡單的電路設(shè)計(包括組合邏輯和時序邏輯),完成特定的功能。學(xué)會跑之前,要先學(xué)會走,也就是先看看別人的電路是怎么設(shè)計的,分析其規(guī)律,然后再嘗試設(shè)計簡單的電路。
分析原理
要對時序電路進行分析,需要先理解其結(jié)構(gòu)特征,時序電路的基本結(jié)構(gòu)如下圖所示:
圖1:時序電路結(jié)構(gòu)特征
由圖1知,時序電路由組合變換電路、存儲電路和對外輸出組合電路三部分組成。一般情況下,稱存儲電路中保存的數(shù)據(jù)為時序電路的狀態(tài);外部輸出Z有兩種形式,一種是Z只與電路的現(xiàn)態(tài)相關(guān),稱為Moore型電路,一種是與電路的狀態(tài)和外部輸入相關(guān),稱為Mealy型電路。
要分析時序電路,很多教材上要寫第一步做什么、第二步做什么之類的,這種方法很容易讓童鞋們死記硬背,誤入歧途,較為合理的方法應(yīng)該是抓住時序電路的本質(zhì),即是什么導(dǎo)致電路狀態(tài)發(fā)生改變?電路的狀態(tài)如何改變?電路的對外輸出是什么規(guī)律?這三個問題搞清楚了,畫出電路的狀態(tài)遷移圖,根據(jù)狀態(tài)遷移圖對其功能進行說明,簡單的分析就算完成了。
什么導(dǎo)致電路狀態(tài)發(fā)生改變?
答:激勵方程,即存儲電路的輸入(激勵就是輸入,在本課程中特指觸發(fā)器的輸入)
電路狀態(tài)如何改變?
答:次態(tài)方程,比如J-K觸發(fā)器和D觸發(fā)器等,這就需要大家熟記幾種典型的觸發(fā)器的功能特性。當(dāng)然,后面還會提到一些典型的時序電路邏輯器件如計數(shù)器、移位器等,這也需要大家靈活理解并熟記。
電路對外的輸出是什么規(guī)律?
答:輸出方程,就是一個組合電路,比較簡單。
綜上,只要抓住這三個方程,電路分析不是什么難事,大家只要掌握這個規(guī)律,沒有分析不了的電路。
舉例說明
根據(jù)上面的原理,下面由簡單到難,分別舉兩個例子進行分析。
例1:試分析下圖所示時序電路,畫出X=101101的時序圖。
圖2:例1電路圖
顯然,這時一個同步的Mealy型電路(Z與輸入和X和D觸發(fā)器的狀態(tài)相關(guān)),分別寫出輸出方程、激勵方程和次態(tài)方程:
圖3: 例1的三個方程
由此,可以寫出電路的次態(tài)(狀態(tài)轉(zhuǎn)移)和輸出:
圖4: 例1的次態(tài)和輸出表
根據(jù)輸出表,畫出電路的狀態(tài)轉(zhuǎn)移圖和波形圖,分別入圖5和圖6所示:
圖5:例1的狀態(tài)轉(zhuǎn)移圖
圖6:例1的波形圖
注:在畫波形圖時,一定要搞清楚哪是現(xiàn)態(tài),哪是次態(tài),輸出是和輸入和現(xiàn)態(tài)同步變化的(這里指的是理想情況),因此這里的D觸發(fā)器是上升沿時引起狀態(tài)變化,所以,要以CP從0跳變到1為界區(qū)分現(xiàn)態(tài)和次態(tài)
根據(jù)狀態(tài)轉(zhuǎn)移圖,很容易看出,例1中的功能為:當(dāng)輸入為1時,電路狀態(tài)變化,且當(dāng)處于0狀態(tài)時,輸入1,輸出為1,當(dāng)處于1狀態(tài)時,輸入1,輸出為0;其它輸入(即0),電路狀態(tài)保持不變,且輸出為1.
例2: 分析下圖的邏輯功能
其中的D0的輸入為D00*D01
圖7: 例2的電路圖
這個電路的特點是:只有一個CP輸入,沒有其它輸入,也沒有輸出,只有電路狀態(tài)的轉(zhuǎn)移。(另外,這四個D觸發(fā)器的狀態(tài)組成了電路的狀態(tài))因此,這里只需要分析其激勵方程和狀態(tài)轉(zhuǎn)移方程(D觸發(fā)器的狀態(tài)轉(zhuǎn)移這里不再贅述)
這個電路中每個觸發(fā)器的激勵方程為:
圖8: 例2的激勵方程
對于這樣的電路,可以口述,假設(shè)Q3Q2Q1Q0初態(tài)為0000,當(dāng)一個時鐘脈沖來臨時,Q3Q2Q1Q0轉(zhuǎn)換為:0001;再來一個時鐘脈沖則為:0011,類似進行分析,可以得到其轉(zhuǎn)換狀態(tài)為:
圖9: 例2的狀態(tài)轉(zhuǎn)移表
類似這樣的電路在后續(xù)學(xué)習(xí)中非常常見,請大家熟悉,并且最好能直接口述或繪制其狀態(tài)轉(zhuǎn)移圖
小結(jié)
對于時序電路分析,抓住核心的三個方程(根據(jù)情況),很容易繪制狀態(tài)轉(zhuǎn)移圖和波形圖。
如有錯,請各位批評指正!
文/CodingTech
著作權(quán)歸作者所有,轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)
免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!