概述
在前面的課程中晶框,討論了用基本的觸發(fā)器設(shè)計(jì)減法計(jì)數(shù)器排抬,也提到了其缺陷,即只有脈沖輸入授段,沒(méi)有其它輸入蹲蒲,不受控。因此侵贵,硬件工程師根據(jù)設(shè)計(jì)中常用的電路設(shè)計(jì)了163計(jì)數(shù)器届搁,本節(jié)內(nèi)容首先介紹74LS163的基本功能,然后以163為基礎(chǔ)設(shè)計(jì)一個(gè)分頻器和一個(gè)2421碼模8電路(重點(diǎn)講設(shè)計(jì)思路窍育,verilog程序請(qǐng)自行完成)卡睦。
74LS163計(jì)數(shù)器
74LS163計(jì)數(shù)器有5個(gè)控制端、4個(gè)數(shù)據(jù)輸入端和5個(gè)輸出端漱抓,其邏輯功能和對(duì)應(yīng)的邏輯符號(hào)如下圖1和圖2所示:
RCO表示進(jìn)位么翰,其語(yǔ)義為:當(dāng)從0000~1111計(jì)滿一輪,并且ENT為1時(shí)辽旋,RCO為1,其它時(shí)候均為0.
由圖1檐迟,74LS163具有置位补胚、保持、加1計(jì)數(shù)等功能追迟,在這些功能的基礎(chǔ)上溶其,可以完成相對(duì)復(fù)雜的電路。
例1:以74LS163為基礎(chǔ)設(shè)計(jì)一個(gè)6分頻電路
首先敦间,需要明白什么叫分頻瓶逃,圖3展示了分頻的效果:
分頻通常以CP(時(shí)鐘脈沖)為基礎(chǔ),從圖3中可以看出:qout[0]的周期為CP的2倍廓块,qout[1]的周期為CP的4倍厢绝,qout[2]位8倍,qout[3]為16倍带猴,顯然昔汉,其頻率分別為CP的1/2, 1/4, 1/8, 1/16,即所謂的2-分頻拴清,4-分頻靶病,8-分頻,16-分頻口予。
再進(jìn)一步分析娄周,對(duì)于qout[0],其變化為:當(dāng)一個(gè)時(shí)鐘脈沖來(lái)臨時(shí)沪停,qout[0]變化一次煤辨;對(duì)于qout[1],每?jī)蓚€(gè)時(shí)鐘脈沖,qout[1]值變化一次掷酗;對(duì)于qout[2]调违,每四個(gè)時(shí)鐘脈沖,qout[2]值變化一次泻轰;對(duì)于qout[3]技肩,每8個(gè)時(shí)鐘脈沖,qout[3]值變化一次浮声。依次類推虚婿,如果要做6分頻,顯然應(yīng)該是每3個(gè)時(shí)鐘脈沖泳挥,值變化一次然痊,如何用74LS163來(lái)做6-分頻呢?
顯然屉符,這個(gè)問(wèn)題變?yōu)椋喝绾问?4LS163中的某一位每3個(gè)時(shí)鐘脈沖跳變一次剧浸。顯然,只有QD和QC這兩位的變化可能滿足(QB每?jī)蓚€(gè)脈沖跳變一次矗钟,QA每個(gè)脈沖跳變一次)唆香,如果選擇QC,顯然可以找出一個(gè)序列:
0000 ---> 0001 ---> 0010 ---> 1101 ---> 1110 --->1111 --->0000 ---> ...
對(duì)于QC吨艇,先是3個(gè)0躬它,然后是3個(gè)1,開始循環(huán)东涡,正好是6分頻冯吓。仔細(xì)觀察,發(fā)現(xiàn)這個(gè)循環(huán)對(duì)于QD也是6分頻疮跑。
針對(duì)上面分析得到的狀態(tài)遷移序列组贺,如何用74LS163來(lái)實(shí)現(xiàn)呢?對(duì)于前半部0000 ---> 0001 ---> 0010祸挪,執(zhí)行的是正常的計(jì)數(shù)功能锣披,對(duì)于后半部1101 ---> 1110 --->1111( --->0000),執(zhí)行的也是正常的計(jì)數(shù)功能贿条,只有0010 ---> 1101是一個(gè)跳躍雹仿,即當(dāng)計(jì)數(shù)器狀態(tài)為0010時(shí),下一個(gè)狀態(tài)需要用到163計(jì)數(shù)器的并行置數(shù)功能整以,因此胧辽,需要對(duì)163的計(jì)數(shù)器的輸出進(jìn)行判斷,當(dāng)輸出為0010時(shí)公黑,用1101對(duì)電路進(jìn)行置數(shù)(確保下一時(shí)刻電路狀態(tài)為1101)邑商。
在此分析的基礎(chǔ)上摄咆,其電路圖如圖4所示:
例2:2421碼的模8電路
假設(shè)要求模8的狀態(tài)序列如下圖5所示:
在圖5中,模8的狀態(tài)遷移序列為:
0001 ---> 0010 ---> 0011 ---> 0100 ---> 1011 ---> 1100 ---> 1101 ---> 1110 ---> 0001 ---> ...
即:初始狀態(tài)為0001人断,當(dāng)狀態(tài)為1110時(shí)吭从,一輪計(jì)滿并遷移到狀態(tài)0001。
這個(gè)狀態(tài)遷移序列中恶迈,需要注意的地方包括:
- 初始狀態(tài)為0001涩金,即初始時(shí)需要置位
- 序列前半部分 0001 ---> 0010 ---> 0011 ---> 0100和序列后半部分1011 ---> 1100 ---> 1101 ---> 1110執(zhí)行的是正常的計(jì)數(shù)功能
- 0100 ---> 1011有狀態(tài)跳躍,在到達(dá)狀態(tài)0100時(shí)暇仲,需要置數(shù)步做;1110 ---> 0001,即記錄一輪滿時(shí)奈附,需要置數(shù)
從上面的分析中得知全度,這個(gè)電路中存在兩次置數(shù),一次為初始狀態(tài)的置數(shù)斥滤,另一個(gè)則為0100 ---> 1011狀態(tài)遷移時(shí)的置數(shù)将鸵,并且兩次需要置的數(shù)值是不一樣的,其它情況正常計(jì)數(shù)佑颇。因此咨堤,置數(shù)的時(shí)候需要作二選一,即從兩個(gè)數(shù)中選擇一個(gè)置數(shù)漩符,需要一個(gè)二選一的選擇器;另外驱还,還要確定置數(shù)的時(shí)機(jī)嗜暴,顯然,當(dāng)狀態(tài)為1110時(shí)议蟆,需要置數(shù)為0001闷沥,當(dāng)狀態(tài)為0100時(shí),需要置數(shù)為1011咐容。
由上分析可知舆逃,其對(duì)應(yīng)的電路圖如圖6所示:
小結(jié)
上面兩個(gè)例子都是相對(duì)較難的例子,需要綜合前面學(xué)習(xí)的組合電路戳粒,要求對(duì)組合電路和時(shí)序電路的基本功能非常熟悉路狮。其基本思路相對(duì)而言,比較明晰蔚约,把需要跳轉(zhuǎn)的狀態(tài)找出來(lái)奄妨,然后需要置位的狀態(tài)進(jìn)行相應(yīng)的設(shè)置即可。
如有錯(cuò)誤苹祟,請(qǐng)各位批評(píng)指正砸抛!謝謝评雌!