基于CPLD的簡易數(shù)字頻率計(jì)的設(shè)計(jì)
2.2.3 鎖存電路模塊
鎖存電路模塊可使顯示電路的工作穩(wěn)定而可靠,避免計(jì)數(shù)電路模塊清零時(shí)引起顯示閃爍的現(xiàn)象。鎖存電路模塊是由多個(gè)鎖存器組成。每個(gè)鎖存器都是用來鎖存與其單獨(dú)相連的計(jì)數(shù)器的輸出數(shù)據(jù)。由于每個(gè)鎖存器鎖存的都是4位二進(jìn)制代碼表示的十進(jìn)制數(shù),其功能完全相同,因此只需要設(shè)計(jì)制作一個(gè)鎖存器就可連接組合成一個(gè)鎖存電路模塊。為實(shí)現(xiàn)其功能,鎖存器需設(shè)置一個(gè)使鎖存器工作的使能端LOAD,四個(gè)數(shù)據(jù)輸入端即DIN[0],DIN[1],DIN[2]和DIN[3],并由它們輸入計(jì)數(shù)器的計(jì)數(shù)值,還需設(shè)置四個(gè)鎖存數(shù)據(jù)的輸出端:即DOUT[0],DOUT[1],DOUT[2]和DOUT[3]。鎖存電路模塊中單個(gè)鎖存器的符號(hào)及端口功能如圖5所示。本文引用地址:http://m.butianyuan.cn/article/190886.htm
2.2.4 譯碼電路模塊
譯碼電路模塊可對(duì)表示十進(jìn)制數(shù)的4位二進(jìn)制代碼進(jìn)行編碼,此模塊可直接連接數(shù)碼管驅(qū)動(dòng)器,從而驅(qū)動(dòng)數(shù)碼管顯示出相應(yīng)的阿拉伯?dāng)?shù)字等字符。與鎖存器電路模塊設(shè)計(jì)一樣,它也只需要先設(shè)計(jì)一個(gè)單個(gè)的譯碼器,然后通過連接組合就可構(gòu)成譯碼電路模塊,從而實(shí)現(xiàn)譯碼功能。為實(shí)現(xiàn)其功能,單個(gè)譯碼器需要設(shè)置4個(gè)數(shù)據(jù)輸入端:即d[0],d[1],d[2]和d[3],并由這些端口輸入鎖存電路模塊輸出的4位二進(jìn)制數(shù)據(jù),需要設(shè)置7個(gè)輸出端:即q[0],q[1],q[2],q[3],q[4],q[5]和q[6],它們分別連接7段數(shù)碼管的7個(gè)顯示輸入端。譯碼電路模塊中單個(gè)譯碼器符號(hào)及端口功能如圖6所示。
3 軟件設(shè)計(jì)
根據(jù)前面的分析,采用VHDL語言設(shè)計(jì)一個(gè)簡易的數(shù)字頻率計(jì),運(yùn)用自頂向下的設(shè)計(jì)思想,將系統(tǒng)按功能逐層分割的層次化設(shè)計(jì)方法進(jìn)行設(shè)計(jì)。在頂層對(duì)內(nèi)部各功能塊的連接關(guān)系和對(duì)外的接口關(guān)系進(jìn)行了描述,而功能塊的邏輯功能和具體實(shí)現(xiàn)形式則由下一層模塊來描述。即控制、計(jì)數(shù)、鎖存、譯碼四個(gè)實(shí)現(xiàn)數(shù)字頻率計(jì)的核心模塊,然后根據(jù)圖2可以將上述四個(gè)模塊VHDL源程序作為底層元件,使用QuartusⅡ開發(fā)工具,用該工具軟件所支持的語言——硬件描述語言VHDL,以文本的方式進(jìn)行編程輸入。在編程時(shí)分別對(duì)控制、計(jì)數(shù)、鎖存、譯碼等電路模塊進(jìn)行VHDL文本描述,使每個(gè)電路模塊以及器件都以文本的形式出現(xiàn),然后通過編譯、波形分析、仿真、調(diào)試來完善每個(gè)器件的功能。單個(gè)器件制作完成后,然后將它們生成庫文件,并產(chǎn)生相應(yīng)的符號(hào),最后用語言將各個(gè)己生成庫文件的器件的各個(gè)端口連接在一起,從而形成了頻率計(jì)主電路的軟件結(jié)構(gòu)。在連接器件時(shí),采用圖形輸入方式,即在圖形輸入界面中調(diào)出先制作好的庫文件器件符號(hào),再將每個(gè)器件符號(hào)的各端口直接連線,從而構(gòu)成頻率計(jì)主電路圖。頻率計(jì)主電路圖如圖7所示。仿真波形如圖8所示。
評(píng)論