緒論
一般結(jié)構(gòu)
時(shí)序邏輯電路和組合邏輯電路的區(qū)別就在于,時(shí)序邏輯電路的輸出不僅取決于當(dāng)前的輸入,還取決于當(dāng)前電路的狀態(tài)甚至之前電路的狀態(tài)。也就是說時(shí)序邏輯電路有某一個反饋/存儲結(jié)構(gòu)。
因此可以用三組方程來描述一個時(shí)序邏輯電路:
- 輸出方程。也就是輸出變量和輸入變量、狀態(tài)變量的關(guān)系
- 驅(qū)動方程。也就是存儲電路的輸入量的函數(shù)
- 狀態(tài)方程。也就是存儲電路的輸出量的函數(shù)
因此,研究時(shí)序邏輯電路也就是研究這三組方程。
分類
首先根據(jù)電路中時(shí)鐘信號是否統(tǒng)一,可以將電路分為同步時(shí)序電路和異步時(shí)序電路??措娐穲D可以很容易分辨,如果所有的clk端口都接到同樣的cp,說明是同步。否則是異步。
然后根據(jù)輸出是否和當(dāng)前時(shí)刻的輸入有關(guān),又將電路分成了Mealy型和Moore型。Mealy型電路輸出不僅和狀態(tài)Q相關(guān),還和輸入X相關(guān),本質(zhì)上是異步輸出,當(dāng)X改變時(shí),輸出也改變。但電路可能仍然是同步電路 Moore型電路輸出只和狀態(tài)Q相關(guān),是同步輸出。但電路可能仍然是異步電路
時(shí)序電路的分析方法
同步時(shí)序電路的分析步驟
1.寫時(shí)鐘方程、驅(qū)動方程
\colorbox{gray}{\color{white}{1.寫時(shí)鐘方程、驅(qū)動方程}}
1.寫時(shí)鐘方程、驅(qū)動方程?
也就是確定每一個觸發(fā)器什么時(shí)候動作(時(shí)鐘方程)、影響觸發(fā)器功能的變量是什么(驅(qū)動方程)
2.寫輸出方程
\colorbox{gray}{\color{white}{2.寫輸出方程}}
2.寫輸出方程?
注意有些電路是沒有輸出的,或者輸出就是電路的狀態(tài),那就可以略過這一步了。
Y
=
Q
4
Q
3
Q
2
Q
1
Y=Q_4Q_3Q_2Q_1
Y=Q4?Q3?Q2?Q1?
3.寫狀態(tài)方程
\colorbox{gray}{\color{white}{3.寫狀態(tài)方程}}
3.寫狀態(tài)方程?
也就是確定觸發(fā)器具體怎么動作
4.列狀態(tài)轉(zhuǎn)換表并畫狀態(tài)轉(zhuǎn)換圖
\colorbox{gray}{\color{white}{4.列狀態(tài)轉(zhuǎn)換表并畫狀態(tài)轉(zhuǎn)換圖}}
4.列狀態(tài)轉(zhuǎn)換表并畫狀態(tài)轉(zhuǎn)換圖?
順著狀態(tài)方程寫就可以,從原態(tài)計(jì)算出次態(tài)。
狀態(tài)轉(zhuǎn)換圖畫的是原態(tài),也可以叫做現(xiàn)態(tài)。
5.判斷邏輯功能,檢查自啟動
\colorbox{gray}{\color{white}{5.判斷邏輯功能,檢查自啟動}}
5.判斷邏輯功能,檢查自啟動?
四個狀態(tài)從0000隨著時(shí)鐘變到了1111,然后循環(huán),輸出Y每循環(huán)一圈輸出一次高電平,可以看作是同步4位二進(jìn)制加法計(jì)數(shù)器
可以自啟動(因?yàn)橹挥幸粋€圈,不論初態(tài)落在哪里都可以進(jìn)入有效循環(huán))
異步時(shí)序電路的分析步驟
異步時(shí)序電路分析主要需要注意的點(diǎn)是,時(shí)鐘方程不再是統(tǒng)一的了,每一個觸發(fā)器會在不同的時(shí)刻被激活動作。我們還是以一個例題來講解。
1.寫時(shí)鐘方程、驅(qū)動方程
\colorbox{gray}{\color{white}{1.寫時(shí)鐘方程、驅(qū)動方程}}
1.寫時(shí)鐘方程、驅(qū)動方程?
2.寫狀態(tài)方程
\colorbox{gray}{\color{white}{2.寫狀態(tài)方程}}
2.寫狀態(tài)方程?
3.列狀態(tài)轉(zhuǎn)換表、畫狀態(tài)轉(zhuǎn)換圖
\colorbox{gray}{\color{white}{3.列狀態(tài)轉(zhuǎn)換表、畫狀態(tài)轉(zhuǎn)換圖}}
3.列狀態(tài)轉(zhuǎn)換表、畫狀態(tài)轉(zhuǎn)換圖?
4.判斷邏輯功能、檢查自啟動
\colorbox{gray}{\color{white}{4.判斷邏輯功能、檢查自啟動}}
4.判斷邏輯功能、檢查自啟動?
該電路為異步10進(jìn)制加法計(jì)數(shù)器,可以自啟動
計(jì)數(shù)器
剛才的兩個例子,都是構(gòu)成的計(jì)數(shù)器。這里再詳細(xì)講一點(diǎn)。計(jì)數(shù)器,也就是計(jì)時(shí)鐘脈沖個數(shù)的器件。在時(shí)序電路里面有很多作用比如定時(shí),分頻等等。
計(jì)數(shù)器應(yīng)該具有的功能有:計(jì)數(shù)、保持、清零、置數(shù)
集成同步加法計(jì)數(shù)器
在考卷上應(yīng)該會出現(xiàn)74LS160、74HC162這樣的字樣,前面的都是類型代號,只要后面三位數(shù)字相同,邏輯功能就是相同的。具體的使用方法參看本文后面的例題。
功能描述:CR,LD輸入有效電平,如果是異步就立刻完成操作,如果是同步則需要等待時(shí)鐘脈沖時(shí)完成操作。使能端EP,ET,接成11計(jì)數(shù),有0就是保持,而01的保持和11的保持和00的保持是不一樣的,可以看下面的描述。
計(jì)數(shù)器的級聯(lián)
同步并行進(jìn)位
所謂同步并行進(jìn)位,也就是所有計(jì)數(shù)器都接入同一個時(shí)鐘。但是后面計(jì)數(shù)器的使能計(jì)數(shù)端接在前面計(jì)數(shù)器的進(jìn)位輸出上,也就是只有前面計(jì)數(shù)器進(jìn)位,后面的計(jì)數(shù)器才能計(jì)數(shù)。在這個過程中,前面計(jì)數(shù)器和后面計(jì)數(shù)器是同時(shí)計(jì)數(shù)的,所以叫做同步并行進(jìn)位。
異步串行進(jìn)位
同樣是1000進(jìn)制,現(xiàn)在我們用異步電路實(shí)現(xiàn)
計(jì)數(shù)器計(jì)數(shù)需要兩個條件,第一是使能為計(jì)數(shù),第二是有時(shí)鐘脈沖。之前同步電路是控制使能端,而異步電路則是控制時(shí)鐘脈沖。
只有當(dāng)前一個計(jì)數(shù)器進(jìn)位時(shí)輸出一個脈沖使得后面計(jì)數(shù)器進(jìn)行計(jì)數(shù),其他時(shí)刻雖然后面計(jì)數(shù)器處于計(jì)數(shù)狀態(tài),但是沒有時(shí)鐘,所以不計(jì)數(shù)。
這里RCO連接到后面的CP端口接了非門,因?yàn)镽CO的特性是正常低電平,在計(jì)到9(15)的時(shí)刻變成高電平,在進(jìn)位的時(shí)刻(9->0,15->0時(shí))變成低電平。而觀察CP端口前并沒有非號,所以為上升沿觸發(fā),所以需要反相使用。
利用集成加法計(jì)數(shù)器構(gòu)造任意進(jìn)制的計(jì)數(shù)器
由大容量計(jì)數(shù)器構(gòu)造小容量計(jì)數(shù)器
總體思路是跑到某一個地方要讓計(jì)數(shù)器回來。比如本來從0000->1111,但是現(xiàn)在我只需要5個狀態(tài),那么0100的時(shí)候就應(yīng)該回來,不能再向0101繼續(xù)計(jì)數(shù)了。
清零法
清零法又分為異步清零法和同步清零法。選用那種由計(jì)數(shù)器的特性決定,如果是160161,則都是異步清零,162163則是同步。
設(shè)計(jì)計(jì)數(shù)器時(shí)一定要注意咱們數(shù)狀態(tài)的個數(shù)而不要按8421的權(quán)重計(jì)算數(shù)字的大小。比如12進(jìn)制,就是有12個狀態(tài),要是從0000開始那就是到1011,要是從0001開始就是1100。
由于異步清零是出現(xiàn)清零信號馬上清零。如果從0000開始,在1011清零,當(dāng)計(jì)數(shù)器輸出1100時(shí),觸發(fā)清零,然后回到0000,那么最后一個狀態(tài)就只是一閃而過,并不能算做有效的一個狀態(tài),所以需要多進(jìn)一位,從0000開始,在1100清零。1100雖然出現(xiàn),但只有一個瞬間,馬上就被清零了。
下面來看同步清零法:
當(dāng)計(jì)數(shù)器是同步清零的時(shí)候,不僅要求清零信號有效,還要求是在時(shí)鐘觸發(fā)的條件下才能清零。由于電路具有延遲,在 C R  ̄ {\overline{CR}} CR下降沿同時(shí)刻的時(shí)鐘信號還不能引起清零,所以最后一個狀態(tài)1011可以保持到下一個時(shí)鐘周期,此時(shí)當(dāng)時(shí)鐘脈沖到來,完成清零。所以從0000開始,到1011時(shí)返回就可以
這里補(bǔ)充講解一下全譯碼和半譯碼。還是很好理解的。一般設(shè)計(jì)都采用半譯碼,這樣比較簡潔。
置數(shù)法
就是運(yùn)用置數(shù)功能,當(dāng)計(jì)到某一個數(shù)時(shí)觸發(fā)置數(shù),把數(shù)據(jù)輸入端的數(shù)字置入。如果置入0000那么和同步清零是一樣的效果。如果置入一些其他的數(shù),則可以變換不同的編碼。
由小容量計(jì)數(shù)器構(gòu)造大容量計(jì)數(shù)器
首先級聯(lián),將小容量的計(jì)數(shù)器擴(kuò)展成大容量的計(jì)數(shù)器,再運(yùn)用上文的方法,通過清零或者置數(shù)構(gòu)造任意進(jìn)制。
集成異步加法計(jì)數(shù)器
所謂異步,說白了就是有兩個計(jì)數(shù)器封裝在同一片芯片里,因?yàn)橥ㄓ肊P、ET控制端,只能通過異步的方法級聯(lián)。
2/5分頻
74HC90和74HC290,兩個芯片邏輯功能相同,引腳排列不同
從CPA輸入,對應(yīng)QA輸出,二分頻。從CPB輸入,對應(yīng)QDQCQB輸出,5分頻。
這種電路的的運(yùn)用會比較靈活,但是一定注意一點(diǎn),不管是清零還是置九,都要求兩個輸入端同時(shí)有效,否則計(jì)數(shù)器會繼續(xù)計(jì)數(shù)說白了就是不會出現(xiàn)只清零一半這種情況
網(wǎng)上找了一張功能表,不一定對,但意思是這個意思
2/8分頻
2/5分頻實(shí)際上是10進(jìn)制,而2/8分頻就是16進(jìn)制了。這個芯片會簡單一點(diǎn),因?yàn)槌饲辶阒鉀]有什么數(shù)字可以置進(jìn)去了。
集成異步加法計(jì)數(shù)器的正常打開方式
最最正常的打開方式是從CPA輸入,這樣QA會在01之間跳變,形成二分頻。然后把二分頻后的信號接入CPB,進(jìn)行5進(jìn)制計(jì)數(shù),最后就能得到0000->1001的循環(huán),構(gòu)成十進(jìn)制計(jì)數(shù)器。
如果外部時(shí)鐘從CPB接入,這樣QD構(gòu)成5分頻,如果把QD接入CPA,同樣能夠得到十進(jìn)制計(jì)數(shù)器,不過讀數(shù)的時(shí)候,QA就得是最高位了,然后依次BCD
集成異步加法計(jì)數(shù)器的特殊打開方式
雖然電路沒有變,但是編碼方式改變后,電路的邏輯功能就發(fā)生了改變。如果把一些奇怪的東西接入時(shí)鐘,則會有更加意想不到的收獲,本文就不再深入討論了。
清零問題
問題在于,用了多個計(jì)數(shù)器的輸出來對多個計(jì)數(shù)器進(jìn)行清零。任意一個計(jì)數(shù)器清零成功,輸出改變,則清零信號就消失,如果此時(shí)由于延遲等因素另一個計(jì)數(shù)器還沒有清零,就不再有清零機(jī)會了。所以使用一個鎖存器,把輸出的清零信號延展成半個時(shí)鐘周期的長信號,保證清零成功后清零信號才消失。
首先插播一條對于SR鎖存器的解釋。由與非門構(gòu)成的鎖存器,本身對應(yīng)的輸入應(yīng)該是 S D  ̄ \overline{S_D} SD??和 R D  ̄ \overline{R_D} RD??,但是現(xiàn)在我們把左邊加上非門,右邊與非門拆成與門和非門來看,也就是兩個輸入端變成了我們熟悉的RD和SD。滿足SR=0的時(shí)候,某一側(cè)的輸出就是這一側(cè)的輸入。不滿足SR=0就是禁態(tài),兩邊都輸出1。
分析一下這個電路,當(dāng)清零有效時(shí),鎖存器右邊輸入1,左邊輸入0(因?yàn)殡娐吩贑P下降沿動作,清零信號出現(xiàn)在下降沿傳輸延遲之后,此時(shí)CP為低電平)。滿足SR=0的條件,右邊輸出等于右邊輸入(1),產(chǎn)生清零信號。清零后右邊輸入變?yōu)?,此時(shí)處于保持狀態(tài),繼續(xù)輸出1,達(dá)到了延展短信號的目的。等到CP迎來上升沿,左邊輸入1,右邊輸入0,滿足SR=0的條件,右邊輸出等于右邊輸入(0),清零結(jié)束,進(jìn)入下一輪的計(jì)數(shù)。
集成加/減計(jì)數(shù)器
其實(shí)思路也很簡單。就是要通過某一個輸入來區(qū)分加法還是減法。第一個是可以用不同的時(shí)鐘輸入,第二個是可以增加單獨(dú)的標(biāo)志位。
在看190/191芯片的時(shí)候發(fā)現(xiàn)除了正常的CO/BO輸出之外還多了一個
R
C
O
 ̄
\overline{RCO}
RCO
首先,RCO是什么?RCO是ripple carry output的縮寫。中文名動態(tài)進(jìn)位輸出。具體的時(shí)序可以參考上面的手繪時(shí)序圖。
同步時(shí)序邏輯電路的設(shè)計(jì)
通過一道例題來講解設(shè)計(jì)的步驟吧
eg:用D觸發(fā)器設(shè)計(jì)5進(jìn)制計(jì)數(shù)器。要求:循環(huán)計(jì)數(shù)、輸出狀態(tài),不需要其他輸入輸出
1.確定輸入變量、輸出變量、狀態(tài)個數(shù)
\colorbox{gray}{\color{white}1.確定輸入變量、輸出變量、狀態(tài)個數(shù)}
1.確定輸入變量、輸出變量、狀態(tài)個數(shù)?
2.狀態(tài)化簡
\colorbox{gray}{\color{white}2.狀態(tài)化簡}
2.狀態(tài)化簡?
這道題沒有化簡的空間,這一步就跳過了
3.狀態(tài)分配
\colorbox{gray}{\color{white}3.狀態(tài)分配}
3.狀態(tài)分配?
也就是進(jìn)行編碼,將不同的狀態(tài)用最小項(xiàng)表示出來
狀態(tài)分配結(jié)束之后可以根據(jù)之前畫的原始狀態(tài)轉(zhuǎn)換圖,寫成狀態(tài)轉(zhuǎn)換表。至于無效狀態(tài),一般我們不關(guān)心它的次態(tài),但是值得注意的是:不關(guān)心無效態(tài)的次態(tài)可能導(dǎo)致電路無法自啟動。具體什么情況呢,這個例子就會涉及。
4.選觸發(fā)器,確定相應(yīng)方程
\colorbox{gray}{\color{white}4.選觸發(fā)器,確定相應(yīng)方程}
4.選觸發(fā)器,確定相應(yīng)方程?
就是和觸發(fā)器相關(guān)的一系列方程就都要確定了,包括時(shí)鐘方程、狀態(tài)方程、驅(qū)動方程、輸出方程
設(shè)計(jì)同步時(shí)序電路,所以時(shí)鐘方程可以不寫。而本題沒有要求輸出,所以輸出方程也可以不寫。
5.自啟動檢查
\colorbox{gray}{\color{white}5.自啟動檢查}
5.自啟動檢查?
前面已經(jīng)求了狀態(tài)方程,根據(jù)這個就可以寫出完整的狀態(tài)轉(zhuǎn)換圖。由于前面給所有任意項(xiàng)都是不關(guān)心,也就導(dǎo)致可能在任意項(xiàng)之間的相互轉(zhuǎn)換會落入小循環(huán)導(dǎo)致電路無法自啟動。當(dāng)出現(xiàn)無法自啟動的時(shí)候再修改就是一個比較“靈性”的問題了。
一般修改的思路就是從無法自啟動的那個小循環(huán)著手。比如本題的100->100。我們讓100的次態(tài)不再是100不就可以了嗎?這個時(shí)候看看卡諾圖有沒有別的圈可以圈,一般就可以改正問題了。
如果想要避免設(shè)計(jì)出來以后出現(xiàn)無法自啟動額情況,還可以從源頭著手,對于任意項(xiàng),我們可以隨意分配一個次態(tài)。比如我不需要111,但是我不能讓它繼續(xù)是XXX的任意態(tài),而是讓它的次態(tài)回到000,這樣所有狀態(tài)都有明確的次態(tài),就一定可以自啟動了。但是這樣的設(shè)計(jì)過程又會引起電路復(fù)雜。如果題目要求用最簡單的方式完成設(shè)計(jì),就只能把所以多余狀態(tài)當(dāng)作任意項(xiàng)對待。
6.畫電路圖
\colorbox{gray}{\color{white}6.畫電路圖}
6.畫電路圖?
剛才的例子是沒有化簡這一步的,然而恰好化簡這一步是非常重要的一步,所以在這里再補(bǔ)充一道例題。
eg:設(shè)計(jì)一個數(shù)字密碼鎖,要求連續(xù)輸入3個或3個以上的“1”時(shí)鎖打開,否則鎖關(guān)閉
這個密碼鎖要求能辨別連續(xù)輸入3個及以上的1,所以應(yīng)該具有4個狀態(tài)。也就是(連續(xù))0個、1個、2個、3個及以上,這樣就能畫出原始狀態(tài)轉(zhuǎn)換圖了。
在講解化簡之前首先需要講一下什么是等價(jià)狀態(tài)。等價(jià)狀態(tài)是指
- 在相同的輸入情況下有相同的輸出
- 轉(zhuǎn)化到相同的次態(tài)
我們進(jìn)行化簡的對象就是等價(jià)狀態(tài)。
看上圖,S2輸入1輸出1,轉(zhuǎn)換到S3,輸入0輸出0,轉(zhuǎn)換到S0。S3輸入1輸出1,轉(zhuǎn)換到S3,輸入0輸出0,轉(zhuǎn)換到S0。說明他們是等價(jià)的。
對于等價(jià)狀態(tài),可以刪去多余的,只保留一個,所謂的化簡也就是這樣了,減少狀態(tài)個數(shù),可以減少觸發(fā)器的個數(shù)。(雖然本題沒有達(dá)到減少觸發(fā)器個數(shù)的目的,但還是減少了狀態(tài)個數(shù)的)
寄存器及移位寄存器型計(jì)數(shù)器
寄存器,用來儲存的。儲存的內(nèi)容是一組二進(jìn)制代碼。數(shù)碼寄存器應(yīng)該具有寄存數(shù)碼、清除的功能。如果在此之外還有移位的功能,就叫做移位寄存器。
數(shù)碼寄存器實(shí)質(zhì)上就是一堆觸發(fā)器“并聯(lián)”,同時(shí)存進(jìn),同時(shí)讀取,同時(shí)清零。
而移位寄存器實(shí)質(zhì)上就是一堆觸發(fā)器“串聯(lián)”,依次存進(jìn),依次移位,依次讀取。
舉一個例子說明移位寄存器:
按照時(shí)鐘周期,依次輸入1、0、1、1,則寄存器的4位狀態(tài)輸出將依次是
1000
0100
1010
1101
這里可以看出移位寄存器的一個功能,即將串行輸入轉(zhuǎn)化為并行輸出
利用移位寄存器可以構(gòu)成移位寄存器型計(jì)數(shù)器
計(jì)數(shù)器的本質(zhì)是循環(huán),而如果我們把移位寄存器的首位相連,讓數(shù)據(jù)從右邊移出去又在左邊移進(jìn)來,就業(yè)能夠構(gòu)成循環(huán),這樣就成為了計(jì)數(shù)器。
環(huán)形計(jì)數(shù)器
比較直觀的方式就是直接把輸出引回輸入,這樣構(gòu)成的計(jì)數(shù)器叫做環(huán)形計(jì)數(shù)器
畫狀態(tài)轉(zhuǎn)換圖發(fā)現(xiàn)最大圈只有4個狀態(tài),但是同時(shí)有3個最大圈。這個時(shí)候就需要我們自己選擇哪個是有效狀態(tài)哪個是無效了。我們選擇紅色框里面的4個,因?yàn)橹挥?個1,方便編碼譯碼。那其實(shí)選擇后面只有1個0的,也差不多,這個選擇是自由的。
自啟動設(shè)計(jì)
\colorbox{black}{\color{white}自啟動設(shè)計(jì)}
自啟動設(shè)計(jì)?
首先看原始電路的反饋,無論處于什么狀態(tài),返回的都是最尾一位(D4=Q1)。我們選擇的有效時(shí)序是只有1個1,那么其他狀態(tài)就都要向這些狀態(tài)靠攏。如果狀態(tài)里有多于1個1,那么我們返回0;沒有1,,那么我們返回1;如果恰好一個1,返回最尾一位。
經(jīng)過這樣的反饋,所有其他狀態(tài)最終都能回到只有一個1的有效狀態(tài)中。
根據(jù)新的反饋再畫狀態(tài)轉(zhuǎn)換圖和電路圖文章來源:http://www.zghlxwxcb.cn/news/detail-780801.html
扭環(huán)形計(jì)數(shù)器
對于扭環(huán)的理解,可以百度一下莫比烏斯帶。應(yīng)該就很好理解了。環(huán)形計(jì)數(shù)器返回的是最尾一位,而扭環(huán)形計(jì)數(shù)器返回的是最尾一位的非
同樣的從原始狀態(tài)轉(zhuǎn)化圖,選取有效時(shí)序,然后想辦法讓無效時(shí)序中的一些變量轉(zhuǎn)換到有效時(shí)序中去。
讓無效時(shí)序的循環(huán)斷開,轉(zhuǎn)換進(jìn)有效時(shí)序,理論上可以從任意一個狀態(tài)下手。但是為了電路簡便,我們還是畫一下原始狀態(tài)的卡諾圖。在無效狀態(tài)對應(yīng)的0里面,任意選擇一個改成1,就能打斷無效循環(huán),不過依然是為了電路簡便,我們選擇了圖中標(biāo)藍(lán)的兩個。于是就有了新的反饋方程。
?
n
位
環(huán)
形
計(jì)
數(shù)
器
容
量
為
n
\color{red}{\star{n位環(huán)形計(jì)數(shù)器容量為n}}
?n位環(huán)形計(jì)數(shù)器容量為n
?
n
位
扭
環(huán)
形
計(jì)
數(shù)
器
容
量
為
2
n
\color{red}{\star{n位扭環(huán)形計(jì)數(shù)器容量為2n}}
?n位扭環(huán)形計(jì)數(shù)器容量為2n文章來源地址http://www.zghlxwxcb.cn/news/detail-780801.html
到了這里,關(guān)于「數(shù)字電子技術(shù)基礎(chǔ)」7.時(shí)序邏輯電路的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!