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