第一種方法:
順序脈沖發(fā)生器:(1000...000類序列):假如長(zhǎng)度為L(zhǎng),然后寫出L個(gè)有效狀態(tài),注意,不能重復(fù),構(gòu)成一個(gè)循環(huán)。電路的接法就是以開始狀態(tài)為基準(zhǔn)點(diǎn),然后用一個(gè)或門來實(shí)現(xiàn)。(就像下面的一個(gè)例子,以1000為基準(zhǔn)點(diǎn),然后用一個(gè)或門將Q2,Q1,Q0一開始的值0相加在取反變成1讓LIN有效,開始計(jì)數(shù)。當(dāng)Q2,Q1,Q0有1存在是,輸出為0,LIN無效。當(dāng)下一次LIN有效時(shí),又表示重新回到了1000,從而實(shí)現(xiàn)了1000脈沖序列的產(chǎn)生。注意這里是任何一個(gè)Q輸出)
第二種方法:
扭環(huán)計(jì)數(shù)器設(shè)計(jì)“11110000”序列發(fā)生器:首先這是一個(gè)序列長(zhǎng)度為8,因?yàn)檫@是連續(xù)的4位,用三個(gè)肯定會(huì)出現(xiàn)重復(fù)的狀態(tài),因此,這里使用了4位長(zhǎng)度。寫出8個(gè)有效圈,然后構(gòu)成一個(gè)循環(huán)。見下圖
經(jīng)驗(yàn)總結(jié):例如設(shè)計(jì)一個(gè)110100序列信號(hào)發(fā)生器:利用D觸發(fā)器設(shè)計(jì),利用計(jì)數(shù)器和多路復(fù)用器設(shè)計(jì),利用移位寄存器和反饋組合電路(分立門電路,譯碼器,多路復(fù)用器)設(shè)計(jì)。
用D觸發(fā)器:首先觀察產(chǎn)生序列的長(zhǎng)度,假設(shè)為L(zhǎng)。然后寫出L個(gè)有效狀態(tài),而且輸出信號(hào)為序列的樣子。就是序列是110100,那么S0-S5的Y值輸出也是110100。S0-S5是從000-101這6個(gè)狀態(tài)。然后列出狀態(tài)轉(zhuǎn)換輸出表,這個(gè)表必須要有現(xiàn)態(tài)和次態(tài),還有輸出值。然后分別畫出三個(gè)次態(tài)和輸出狀態(tài)Y的卡諾圖,取值為現(xiàn)態(tài)的值,寫出三個(gè)次態(tài)的表達(dá)式和輸出信號(hào)Y的表達(dá)式,然后檢查電路的自啟能力。再剛才畫卡諾圈的時(shí)候,注意使用了哪些無效狀態(tài),需要將這些無效狀態(tài)在狀態(tài)圖中顯示出來(用該現(xiàn)態(tài)的輸出Y值來判斷是否為有效途徑到狀態(tài)圖)。電路圖盡量用與非門實(shí)現(xiàn)?;蛘哌@里直接用序列號(hào)來實(shí)現(xiàn),什么意思呢?就是用序列進(jìn)行左移實(shí)現(xiàn)L長(zhǎng)度序列長(zhǎng)度的輸出,但是要確保狀態(tài)兩兩互不相等。這樣最高位的輸出序列就為產(chǎn)生的序列。在畫狀態(tài)圖的時(shí)候,你是需要畫出原狀態(tài)和新狀態(tài),就是現(xiàn)態(tài)和次態(tài),那么輸出D就是新狀態(tài)的最后一個(gè)位,(這里其實(shí)可以通過觀察可以看出),這里只不過是為了保證狀態(tài)可以實(shí)現(xiàn)循環(huán)。然后寫出D的表達(dá)式,參考值是原狀態(tài)(現(xiàn)態(tài))的值。然后你用了多少長(zhǎng)度的QnQn-1Qn-2...Q0,就是n+1個(gè)D觸發(fā)器。然后接上同一個(gè)脈沖信號(hào),因?yàn)檫@里我們寫出的是D0的表達(dá)式,因此我們這里讓D0作為一個(gè)總輸出端,用與非們構(gòu)造電路。(因?yàn)楸磉_(dá)式你是用卡諾圖寫出來的。如果設(shè)計(jì)到無關(guān)項(xiàng),需要檢查電路的自啟能力。)這樣,任何一個(gè)D觸發(fā)器的輸出均可得到所需序列。
用計(jì)數(shù)器和多路復(fù)用器構(gòu)成序列信號(hào)發(fā)生器:a.如果序列長(zhǎng)度為L(zhǎng),則將計(jì)數(shù)器接成L進(jìn)制的計(jì)數(shù)器:“n-n+L”(置數(shù)法或清零法);b.將多路復(fù)用器的數(shù)據(jù)輸入“Dn-Dn+L”接成要產(chǎn)生序列的信號(hào);c.將計(jì)數(shù)器的輸出端接到多路復(fù)用器的地址輸入端。首先根據(jù)序列的長(zhǎng)度產(chǎn)生一個(gè)相同長(zhǎng)度進(jìn)制的計(jì)數(shù)器,然后假如序列長(zhǎng)度小于8,就可以直接根據(jù)序列1和0的位置確定3-8上D0-D7的接法,然后Y端輸出序列信號(hào)。(如果是大于8,下面繼續(xù)討論。)
利用移位寄存器和反饋組合電路實(shí)現(xiàn)序列發(fā)生器:根據(jù)要產(chǎn)生的序列得到串行輸入表達(dá)式,再根據(jù)此表達(dá)式得到串行輸入的電路,這是一個(gè)組合電路,可以用邏輯門電路實(shí)現(xiàn),也可以用譯碼器或者多路復(fù)用器實(shí)現(xiàn)。首先確定移位寄存器的位數(shù), 設(shè)序列信號(hào)的長(zhǎng)度為L(zhǎng),則要求移位寄存器的位數(shù)n 滿足條件:2^n≥L,首先選擇滿足此條件的最小值N1,根據(jù)數(shù)據(jù)左移,畫出狀態(tài)圖(序列信號(hào)的長(zhǎng)度為L(zhǎng),則畫出的狀態(tài)圖中一定有L個(gè)狀態(tài)),檢查狀態(tài)圖中的L個(gè)狀態(tài)是否兩兩不同,如果是,則N1可以用,否則就需要不斷擴(kuò)大位數(shù)。(下面會(huì)介紹另一種方法來解決這個(gè)方法)然后再根據(jù)狀態(tài)圖畫出狀態(tài)轉(zhuǎn)換表,有現(xiàn)態(tài)和次態(tài),求出左移時(shí)最低位輸入的卡諾圖,并求出其表達(dá)式。如果有無關(guān)項(xiàng),還要求檢查電路的自起動(dòng)能力。最后根據(jù)最低位輸入表達(dá)式,用分立門電路,或者譯碼器,或者多路復(fù)用實(shí)現(xiàn)反饋輸入的組合電路。(移位寄存器的某位即為所要求的序列號(hào))
用一個(gè)計(jì)數(shù)器和多路復(fù)用器構(gòu)成序列信號(hào)發(fā)生器:首先根據(jù)序列長(zhǎng)度寫出相對(duì)應(yīng)的狀態(tài)圖,注意不能兩兩相同,應(yīng)該都不一樣才可以。然后寫出狀態(tài)圖,有現(xiàn)態(tài)和次態(tài),然后輸出端也為最低輸入位,然后畫出最低輸入位的卡諾圖,并且表明0和d,就是無關(guān)項(xiàng)和0項(xiàng)都要在卡諾圖中表現(xiàn)出來。如果無法構(gòu)成卡諾圈,就逐個(gè)狀態(tài)的表達(dá)式都寫出來,并且進(jìn)行對(duì)使用了無關(guān)項(xiàng)進(jìn)行處理,判斷電路是否具有自啟動(dòng)能力。全0的無關(guān)項(xiàng)的移入量是隨意的,因?yàn)樗腔军c(diǎn)。但是其他的無關(guān)項(xiàng)就需要根據(jù)狀態(tài)圖中的次態(tài)的輸出最低位的量進(jìn)行移入。然后根據(jù)卡諾圖,寫出表達(dá)式。寫出的表達(dá)式的個(gè)數(shù)肯定小于8.因此,我們首先要寫出多路復(fù)用器的輸出表達(dá)式。因?yàn)槎嗦窂?fù)用器只有3個(gè)輸入端,因此我們必須將前者計(jì)數(shù)器的一個(gè)輸出端作為一個(gè)控制端。怎么做呢?(下面舉例)
-
- D0-D7的值怎么確定呢?根據(jù)那句話所說的假設(shè)是整個(gè)題目的關(guān)鍵部分。然后寫出多路復(fù)用選擇器的輸出表達(dá)式:
-
- 如上面所說,這里3個(gè)口接收4個(gè)輸出端,必須有一個(gè)輸出口作為狀態(tài)輸入,而且是接上了CBA,就是只有A2A1A0。寫出0,2,4,5,7,11,14的二進(jìn)制(4位,因?yàn)槭乔懊娈a(chǎn)生),只看前面三位。0的前面三位是000,對(duì)應(yīng)Y的第一項(xiàng),因此D0=Q0’,2:前三位是001,對(duì)應(yīng)Y的第二項(xiàng),因此D1=Q0’,4,5的前三位是010,因?yàn)槭荄2=1(這里難道是兩個(gè)狀態(tài)就使用了1嗎?),7的前三位是011,對(duì)應(yīng)Y的第四項(xiàng),D3=Q0,11的前三位是101,對(duì)應(yīng)Y的第六項(xiàng),D5=Q0,14的前三項(xiàng):111,對(duì)應(yīng)Y的第八項(xiàng),D7=Q0’,D4和D6沒有到便使用0。
線性反饋移位寄存器(LFSR)計(jì)數(shù)器的應(yīng)用:
注意以上兩幅圖,A都接在LIN處。
可以看出,輸出的序列是0100101。然后開始是從0101-111,就是前面對(duì)應(yīng)一個(gè)11進(jìn)制的計(jì)數(shù)器或者脈沖。因?yàn)椴皇菑?000開始,因此QD接A2,QB接A1,QA接A0,這樣就會(huì)形成一個(gè)000-111這樣一個(gè)序列。然后在D處分寫按順序從D1-D7寫下來,因?yàn)闆]有000,所以D0=0,D1=0,D2=1,D3=0,D6=0,D7=1。(按照F輸出來照搬)然后你從列出可以看出當(dāng)QC=4=5取反,因此將D4,D5(取反)作為QC。
從上面看出,為什么要用這種方法。因?yàn)槲以囘^4位,5位,都有狀態(tài)重復(fù)。因此只能構(gòu)造一個(gè)序列。F輸出直接為題所要求,然后計(jì)數(shù)器的輸出端QD,QC,QB,QA從高位到低位寫好。然后按照計(jì)數(shù)器0101-1111這11種狀態(tài)寫下去。然后剩下就找規(guī)律了。(就不確定了)
最后總結(jié)對(duì)于以上的題目,可以通過畫狀態(tài)圖來實(shí)現(xiàn)。通常11位,我們是以4位為基礎(chǔ)的,然后畫出11個(gè)狀態(tài)之后,發(fā)現(xiàn)1001,0010,0101這三個(gè)狀態(tài)重復(fù)了兩次。因此,需要將狀態(tài)圖進(jìn)行簡(jiǎn)化(如下圖)。然后QDQCQBQA按順序?qū)懞?,并且寫出輸出的序列。如果一個(gè)狀態(tài)有兩個(gè)輸出值,也要寫出來。這里采用的是移位型序列信號(hào)發(fā)生器的組成。有移位寄存器和組合電路組成,組合電路的輸出,作為移位寄存器的串行輸入。有n位移位寄存器構(gòu)成的序列信號(hào)發(fā)生器所產(chǎn)生的序列信號(hào)的最大長(zhǎng)度為:P=2n。觀察電路圖得到結(jié)論,首先對(duì)于74194N,設(shè)置好左移模式,然后四個(gè)輸出端與74150N四個(gè)輸入端相連接。然后根據(jù)表個(gè)中序列,找到相對(duì)應(yīng)的號(hào)碼,然后在QDQCQBQA中找與F相同的數(shù)字連起,然后在驅(qū)動(dòng)JK觸發(fā)器就可以了。