基于FPGA的數(shù)字頻率計(jì)_第1頁(yè)
基于FPGA的數(shù)字頻率計(jì)_第2頁(yè)
基于FPGA的數(shù)字頻率計(jì)_第3頁(yè)
基于FPGA的數(shù)字頻率計(jì)_第4頁(yè)
基于FPGA的數(shù)字頻率計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩17頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、基于FPGA的數(shù)字頻率計(jì)1前言數(shù)字頻率計(jì)是一種基本的測(cè)量?jī)x器,是用數(shù)字顯示被測(cè)信號(hào)頻率的儀器,被測(cè)信號(hào)可以是正弦波,方波或其它周期性變化的信號(hào)。如配以適當(dāng)?shù)膫鞲衅鳎梢詫?duì)多種物理量進(jìn)行測(cè)試,比如機(jī)械振動(dòng)的頻率,轉(zhuǎn)速,聲音的頻率以及產(chǎn)品的計(jì)件等等。 因此,它被廣泛應(yīng)用與航天、電子、測(cè)控等領(lǐng)域。它的基本測(cè)量原理是,首先讓被測(cè)信號(hào)與標(biāo)準(zhǔn)信號(hào)一起通過一個(gè)閘門,然后用計(jì)數(shù)器計(jì)數(shù)信號(hào)脈沖的個(gè)數(shù),把標(biāo)準(zhǔn)時(shí)間內(nèi)的計(jì)數(shù)的結(jié)果,用鎖存器鎖存起來,最后用顯示譯碼器,把鎖存的結(jié)果用液晶顯示器顯示出來。根據(jù)數(shù)字頻率計(jì)的基本原理,本文設(shè)計(jì)方案的基本思想是分為四個(gè)模塊來實(shí)現(xiàn)其功能,即整個(gè)數(shù)字頻率計(jì)系統(tǒng)分為分頻模塊、計(jì)數(shù)模塊

2、、鎖存器模塊和顯示模塊等幾個(gè)單元,并且分別用VHDL對(duì)其進(jìn)行編程,實(shí)現(xiàn)了閘門控制信號(hào)、計(jì)數(shù)電路、鎖存電路、顯示電路等。而且,本設(shè)計(jì)方案還要求,被測(cè)輸入信號(hào)的頻率范圍自動(dòng)切換量程,控制小數(shù)點(diǎn)顯示位置,并以十進(jìn)制形式顯示。本文詳細(xì)論述了利用VHDL硬件描述語(yǔ)言設(shè)計(jì),并在EDA(電子設(shè)計(jì)自動(dòng)化)工具的幫助下,用大規(guī)??删幊唐骷–PLD)實(shí)現(xiàn)數(shù)字頻率計(jì)的設(shè)計(jì)原理及相關(guān)程序。特點(diǎn)是:無論底層還是頂層文件均用Verilog HDL語(yǔ)言編寫,避免了用電路圖設(shè)計(jì)時(shí)所引起的毛刺現(xiàn)象;改變了以往數(shù)字電路小規(guī)模多器件組合的設(shè)計(jì)方法。整個(gè)頻率計(jì)設(shè)計(jì)在一塊CPLD芯片上,與用其他方法做成的頻率計(jì)相比,體積更小,性能更

3、可靠。該設(shè)計(jì)方案對(duì)其中部分元件進(jìn)行編程,實(shí)現(xiàn)了閘門控制信號(hào) 、多路選擇電路、計(jì)數(shù)電路、位選電路、段選電路等。頻率計(jì)的測(cè)頻范圍:0100MHz。該設(shè)計(jì)方案通過了Quartus 軟件仿真、硬件調(diào)試和軟硬件綜合測(cè)試。2 總體方案設(shè)計(jì)2.1方案比較:方案一:本方案是利用電路的頻率響應(yīng)特性來測(cè)量頻率值。任何具有適當(dāng)頻率響應(yīng)特性的可調(diào)無源網(wǎng)絡(luò)都可用來測(cè)量頻率值。 測(cè)頻方法:諧振測(cè)頻法:利用諧振回路測(cè)量高頻(微波)信號(hào)的頻率值(圖2.1.2)。調(diào)節(jié)C使回路在被測(cè)頻率值上諧振,此時(shí),可得到被測(cè)頻率值fx 圖2.2 諧振法測(cè)頻工作原理圖顯示方法: CPLD直接輸出控制顯示 ,本設(shè)計(jì)采用雙色(紅色和綠色

4、)8*8LED 點(diǎn)陣作為終端顯示器件,在CPLD 的ROM 數(shù)據(jù)控 制下,8*8LED 點(diǎn)陣的每個(gè)像素點(diǎn)能產(chǎn)生紅色、綠色、$(紅綠混合色),能夠再現(xiàn)顏色 的多樣化。由于一般的I/O 的驅(qū)動(dòng)能力是有限的,CPLD 中的ROM 輸出的顯示數(shù)據(jù)需要經(jīng)過驅(qū)動(dòng)電 路后送至8*8LED 點(diǎn)陣的行選端(陽(yáng)極),列選線(陰極)則受74HC138 輸出的低電平譯碼信號(hào)的控制。方案二測(cè)頻方法:CPLD測(cè)頻:CPLD作為一種新型的可編程邏輯器件,具有集成度高、邏輯電路設(shè)計(jì)方便靈活、可靠性好、工作速度快等特點(diǎn),顯示方法:由單片機(jī)產(chǎn)生控制時(shí)序,通過總線送給CPLD再顯示2.2方案論證:方案一:本方案主要對(duì)頻率的模擬測(cè)量

5、:測(cè)頻電橋是測(cè)量低頻信號(hào)的頻率值,諧振測(cè)量是利用諧振回路來實(shí)現(xiàn)對(duì)高頻信號(hào)的測(cè)量。具體實(shí)現(xiàn)是通過調(diào)節(jié)圖2.1.2中的C使回路在被測(cè)頻率值上諧振,此時(shí)便可得到待測(cè)的頻率值。然后在CPLD直接輸出控制顯示來控制輸出部分。方案二:2.3 方案選擇3 單元模塊電路設(shè)計(jì)3.1 電路設(shè)計(jì)總體框圖本設(shè)計(jì)主要由8個(gè)部分組成,以CPLD芯片部分為核心展開,待測(cè)信號(hào)輸入,由外部電源,復(fù)位電路,單片機(jī)電路,液晶顯示,標(biāo)準(zhǔn)時(shí)鐘以及JTAG下載各個(gè)單元配合起來實(shí)現(xiàn)測(cè)試頻率并在液晶顯示屏上實(shí)時(shí)顯示出數(shù)字頻率信號(hào)。復(fù)位電路電源單片機(jī)電路待測(cè)信號(hào)CPLD芯片CPLD芯片JTAG下載液晶顯示標(biāo)準(zhǔn)時(shí)鐘 圖3.1 電路設(shè)計(jì)總體框圖3

6、.2 標(biāo)準(zhǔn)時(shí)鐘(100MHz)產(chǎn)生部分本部分采用100M的有源晶振,因?yàn)橛性淳д癫恍枰狣SP的內(nèi)部振蕩器,信號(hào)質(zhì)量好,比較穩(wěn)定,而且連接方式相對(duì)簡(jiǎn)單(主要是做好電源濾波,通常使用一個(gè)電容和電感構(gòu)成的PI型濾波網(wǎng)絡(luò),輸出端用一個(gè)小阻值的電阻過濾信號(hào)即可),不需要復(fù)雜的配置電路。有源晶振通常的用法:一腳懸空,二腳接地,三腳接輸出,四腳接電壓。相對(duì)于無源晶體,有源晶振的缺陷是其信號(hào)電平是固定的,需要選擇好合適輸出電平,靈活性較差,而且價(jià)格高。對(duì)于時(shí)序要求敏感的應(yīng)用,個(gè)人認(rèn)為還是有源的晶振好。R204圖3.2 標(biāo)準(zhǔn)100M信號(hào)的產(chǎn)生電路3.3 CPLD程序下載。Altera器件編程下載電纜有:Byte

7、Blaster并行下載電纜,ByteBlasterMV并行下載電纜等等。本設(shè)計(jì)采用的是ByteBlaster并行下載電纜,它具有與PC機(jī)25針標(biāo)準(zhǔn)并行口相連的接口。通過PC機(jī)標(biāo)準(zhǔn)并行口在線編程MAX7000S(EPM7064SLC44-10)。與PCB電路板相連的是10針插座。具體原理圖如圖3.3:圖3.3 CPLD程序下載接口注:上圖中TCK為時(shí)鐘;TDO為器件輸出到數(shù)據(jù);TMS為JTAG狀態(tài)機(jī)控制;TDI為配置到器件的數(shù)據(jù)。JTAG各個(gè)接口與EPM570T144C5N相應(yīng)接口相連,實(shí)現(xiàn)數(shù)據(jù)的下載。3.4 數(shù)字液晶顯示部分。本設(shè)計(jì)用液晶顯示屏顯示被測(cè)量的頻率值。設(shè)計(jì)通過單片機(jī)產(chǎn)生控制時(shí)序,然

8、后通過總線送給CPLD,然后通過CPLD送出數(shù)據(jù)通過接插件JP501直接連接液晶顯示屏顯示數(shù)字頻率。CPLD的LCD_D7.0作為總線通過與外部接插件連接,實(shí)現(xiàn)與液晶顯示屏相連。LCD_DD0- LCD_DD7,以及LCD_RES_X0-LCD_RES_X3、LCD_RESET、片選線等等外部都連接一上拉電阻。如圖3.4.2所示。圖液晶顯示1圖3.4.2 上拉電阻3.5 測(cè)頻復(fù)位電路。設(shè)計(jì)要求在測(cè)試頻率過程中可以隨時(shí)按照需要復(fù)位顯示頻率,被測(cè)頻率可以重新測(cè)試。如圖3.5所示,按鍵K302-K306與總線KEY4.0相連。當(dāng)按鍵K303按下后,KEY1得到一個(gè)低電平,然后CPLD分析得出結(jié)論將液

9、晶顯示屏復(fù)位,等待重新測(cè)試新的頻率信號(hào)。圖3.5 測(cè)頻復(fù)位電路3.6 核心部分(EPM570T1445N器件簡(jiǎn)介)圖3.6 EPM570T1445N器件的管腳圖EPM570T1445N器件屬于Altera公司MAX7000S系列,EPM570T144C5N器件包含一個(gè)二維行和列的架構(gòu)實(shí)現(xiàn)自定義邏輯。行和列的互連提供信號(hào)互連之間的邏輯陣列塊(實(shí)驗(yàn)室)。邏輯陣列組成的實(shí)驗(yàn)室,10個(gè)邏輯單元,在每個(gè)實(shí)驗(yàn)室(LE)之間。一個(gè)LE是一小單位邏輯用戶提供邏輯功能的有效實(shí)施。實(shí)驗(yàn)室分為行和列上的設(shè)備。多軌互連實(shí)驗(yàn)室提供快速顆粒之間的時(shí)間延遲。括約肌之間的快速路由提供最低的時(shí)間延遲邏輯電平的增加與全球路由互連

10、結(jié)構(gòu)。MAX II器件的I / O引腳由我I/ O單元(雇主組織)在勞工顧問委員會(huì)的目的所在行和列周圍設(shè)備的邊緣。每個(gè)雇主組織包含一個(gè)雙向I / O緩沖區(qū)的多種高級(jí)功能。 I / O引腳支持施密特觸發(fā)輸入和各種單端標(biāo)準(zhǔn),例如66兆赫,32位PCI,和LVTTL等級(jí)。MAX II器件提供了一個(gè)全局時(shí)鐘網(wǎng)絡(luò)。全球時(shí)鐘網(wǎng)絡(luò)的組成4全局時(shí)鐘線,在整個(gè)整個(gè)設(shè)備驅(qū)動(dòng)器,提供對(duì)所有時(shí)鐘內(nèi)資源的設(shè)備。全球時(shí)鐘線也可用于控制信號(hào)如明確,預(yù)設(shè),或輸出使能。如圖為EPM570T1445N的邏輯陣列塊。每個(gè)MAX II器件包含一個(gè)在其平面圖閃存塊。在EPM240設(shè)備,此區(qū)塊位于設(shè)備的左側(cè)。在的EPM570,EPM12

11、70和EPM2210器件,快閃記憶體區(qū)塊位于左下區(qū)的設(shè)備。該閃存大部分分區(qū)的專用配置閃存(CFM)的塊。采用CFM塊提供了非易失性存儲(chǔ)的SRAM配置的所有信息。采用CFM自動(dòng)下載并配置邏輯和I / O上電時(shí),提供即時(shí)的行動(dòng)。f在有關(guān)配置上電時(shí)的信息,請(qǐng)參閱熱插拔和上電的MAX II器件章重置了MAX II器件手冊(cè)。一個(gè)閃存在MAX II器件部分劃分為一個(gè)小用戶數(shù)據(jù)塊。這個(gè)用戶快閃記憶體(UFM)的塊提供了8,192位通用用戶存儲(chǔ)。該超濾膜提供可編程端口連接對(duì)閱讀和寫作邏輯陣列。勞有三個(gè)相鄰的行本塊,列由設(shè)備與人數(shù)不等。表2-1顯示了每個(gè)設(shè)備的行和列數(shù),以及行和列毗鄰地區(qū)的快閃記憶體數(shù)量的EPM

12、570,EPM1270和EPM2210器件。長(zhǎng)排滿行延長(zhǎng)從一排I/ O塊到其他。簡(jiǎn)短的行毗鄰超濾膜塊,其長(zhǎng)度是在列的寬度顯示。每一個(gè)LAB包括驅(qū)動(dòng)控制信號(hào)LES的專用邏輯??刂菩盘?hào)包括兩個(gè)時(shí)鐘,兩個(gè)時(shí)鐘使能,兩個(gè)異步清除,1同步清除,異步預(yù)置/負(fù)載,同步載荷,加/減控制信號(hào),提供了一次10個(gè)控制信號(hào)最大。雖然同步負(fù)載和清除的信號(hào)通常用于執(zhí)行時(shí)計(jì)數(shù),也可以用于其他功能。每個(gè)LAB可以使用兩個(gè)時(shí)鐘,兩個(gè)時(shí)鐘使能信號(hào)。每個(gè)LAB的時(shí)鐘和時(shí)鐘使能信號(hào)聯(lián)系。例如,任何一個(gè)LE在一個(gè)特定的LAB場(chǎng)合時(shí)使用labclk1信號(hào)也使用labclkena1。如果同時(shí)使用LAB時(shí)鐘上升沿和下降沿,它也同時(shí)使用LAB

13、全時(shí)鐘信號(hào)。 Deasserting時(shí)鐘,使能信號(hào)關(guān)閉,LAB寬的時(shí)鐘。每個(gè)LAB可以使用兩個(gè)異步明確信號(hào),異步加載/預(yù)置信號(hào)。默認(rèn)情況下,Quartus II軟件使用非門的回推技術(shù),實(shí)現(xiàn)預(yù)設(shè)。如果您禁用非門推回選項(xiàng)或指定某一登記電力成立的高科技使用Quartus II軟件,預(yù)設(shè)然后通過使用該異步異步加載數(shù)據(jù)輸入負(fù)荷信號(hào)并列高。最小的邏輯了MAX II結(jié)構(gòu)單位是LES,它結(jié)構(gòu)緊湊,提供高效利用先進(jìn)的邏輯功能。每個(gè)LES包含4輸入LUT,這是一個(gè)函數(shù)發(fā)生器,可以實(shí)現(xiàn)任何四個(gè)變量的函數(shù)。另外,每個(gè)lES包含一個(gè)可編程的登記和進(jìn)位鏈選擇能力。單一LES還支持動(dòng)態(tài)的單位加法或減法模式LAB選擇一個(gè)全控

14、制信號(hào)。每個(gè)LES驅(qū)動(dòng)所有類型的互連:局部的,行,列,LUT鏈,顯示鏈和DirectLink互連。每個(gè)LE的可編程寄存器可配置為D,T,JK,或SR操作。每個(gè)寄存器有數(shù)據(jù),真正的異步加載數(shù)據(jù),時(shí)鐘,時(shí)鐘使能,清除,異步加載/預(yù)設(shè)的投入。全球信號(hào),通用I / O引腳,或任何LES可驅(qū)動(dòng)登記的時(shí)鐘和明確的控制信號(hào)。無論通用的I / O引腳或括約肌可以驅(qū)動(dòng)時(shí)鐘使能,預(yù)設(shè),異步加載,和異步數(shù)據(jù)。異步加載數(shù)據(jù)輸入來自為L(zhǎng)ES輸入的data3。為了組合功能,LUT的輸出繞過登記和直接驅(qū)動(dòng)的LE產(chǎn)出。每個(gè)LE有三個(gè)輸出,推動(dòng)本地,行和列的布線資源。那個(gè)或注冊(cè)LUT的輸出可以驅(qū)動(dòng)這三個(gè)獨(dú)立的產(chǎn)出。雙LE產(chǎn)出驅(qū)

15、動(dòng)器列或行和DirectLink路由連接和一個(gè)本地驅(qū)動(dòng)器互連資源。這使得LUT的一個(gè)輸出驅(qū)動(dòng),而寄存器驅(qū)動(dòng)器的另一個(gè)輸出。這個(gè)寄存器包裝功能改善了設(shè)備的利用率因?yàn)樵撛O(shè)備可以使用選民登記冊(cè)和功能,用戶終端無關(guān)。另外的特殊包裝模式允許寄存器的輸出反饋到同一LUT的回LE以便登記的包裝有自己的扇出LUT的。這提供了另機(jī)制改善配件。3.7 電源部分CPLD芯片工作電壓在3.3V,單片機(jī) 工作電壓為5V。所以,在要求進(jìn)行電壓轉(zhuǎn)換時(shí),用到芯片LM1117進(jìn)行5V電壓到3.3V電壓。3.8 單片機(jī)部分3.8.1 STC12_LQFP芯片介紹如圖3.8.1所示,STC12系列單片機(jī)為增強(qiáng)型 8051 芯片,1

16、T,單時(shí)鐘/ 機(jī)器周期,指令代碼完全兼容傳統(tǒng)8051單片機(jī)。通用I/O 口(27/23/15 個(gè)),復(fù)位后為: 準(zhǔn)雙向口/ 弱上拉(普通8051 傳統(tǒng)I/O 口)可設(shè)置成四種模式:準(zhǔn)雙向口/ 弱上拉,推挽/ 強(qiáng)上拉,僅為輸入/ 高阻,開漏每個(gè)I/O 口驅(qū)動(dòng)能力均可達(dá)到20mA,但整個(gè)芯片最大不得超過55mA。ISP(在系統(tǒng)可編程)/IAP(在應(yīng)用可編程),無需專用編程器,無需專用仿真器可通過串口(P3.0/P3.1)直接下載用戶程序,數(shù)秒即可完成一片,EEPROM 功能,看門狗定時(shí)器內(nèi)部集成MAX810 專用復(fù)位電路(外部晶體20M 以下時(shí),可省外部復(fù)位電路)。時(shí)鐘源:外部高精度晶體/ 時(shí)鐘,

17、內(nèi)部R/C 振蕩器用戶在下載用戶程序時(shí),可選擇是使用內(nèi)部R/C 振蕩器還是外部晶體/ 時(shí)鐘常溫下內(nèi)部R/C 振蕩器頻率為:5.2MHz 6.8MHz精度要求不高時(shí),可選擇使用內(nèi)部時(shí)鐘,但因?yàn)橛兄圃煺`差和溫漂,應(yīng)認(rèn)為是4MHz 8MHz。 STC12_LQFP芯片是一種低功耗、高性能CMOS8位微控制器,具有8K 在系統(tǒng)可編程Flash 存儲(chǔ)器。使用Atmel 公司高密度非易失性存儲(chǔ)器技術(shù)制造。片上Flash允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,使得STC12_LQFP為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。ST

18、C12_LQFP具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32 位I/O 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三個(gè)16 位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,STC12_LQFP可降至0Hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式??臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。3.8.2 控制單元如圖所示,STC12_LQFP芯片具有4個(gè)串口P0-P3,各個(gè)串口不僅作為普通的I/O口用,還可以作為第二功能用。

19、外圍有一個(gè)無源晶振,晶振為11.0592MHz的,為單片機(jī)提供時(shí)鐘信號(hào),從XTAL1和XTAL2輸入,RESET信號(hào)連接到芯片復(fù)位引腳上面,提供芯片復(fù)位作用。圖 3.8.2 單片機(jī)控制單元4 軟件設(shè)計(jì)4.1 Verilog HDL和原理圖輸入模塊組成框圖。數(shù)字頻率計(jì)基本原理是用計(jì)數(shù)器來計(jì)算1s內(nèi)輸入信號(hào)周期的個(gè)數(shù)。如圖3-1所示是6位六位七段顯示器數(shù)字頻率計(jì)的系統(tǒng)方框原理圖,它由一個(gè)測(cè)頻控制信號(hào)發(fā)生器,一個(gè)有時(shí)鐘使能的計(jì)數(shù)器,一個(gè)鎖存器REG,一個(gè)譯碼電路組成和一個(gè)實(shí)現(xiàn)位掃描電路。分頻控制模塊6進(jìn)制計(jì)數(shù)器計(jì)數(shù) 鎖存器38譯碼器選擇器譯碼器數(shù)碼管顯示1Hz500Hz位掃描待測(cè)信號(hào)標(biāo)準(zhǔn)時(shí)鐘 圖4.

20、1 軟件設(shè)計(jì)模塊原理框圖圖4.2 原理圖輸入設(shè)計(jì)總圖4.2 分頻電路4.7 .1 1Hz的標(biāo)準(zhǔn)時(shí)鐘信號(hào)。1Hz的標(biāo)準(zhǔn)時(shí)鐘信號(hào)是由對(duì)2M Hz的信號(hào)進(jìn)行2M分頻得到的。其文本輸入設(shè)計(jì)(Verilog HDL)為:module mediv(clk,clkdiv);/clk為2MHz的信號(hào)輸入,clkdiv為輸出1Hz標(biāo)準(zhǔn)信號(hào)input clk;output clkdiv;reg clkdiv;reg 19:0q;always (posedge clk)beginif(q=999999)/當(dāng)計(jì)數(shù)計(jì)到999999后再將clkdiv取反;beginclkdiv<=!clkdiv;q<=0;e

21、ndelse /如果不夠999999則繼續(xù)計(jì)數(shù); q<=q+1;endendmodule4.2.2 500Hz的掃描時(shí)鐘。500Hz的標(biāo)準(zhǔn)時(shí)鐘信號(hào)是由對(duì)2M Hz的信號(hào)進(jìn)行4000分頻得到的。其文本輸入設(shè)計(jì)(Verilog HDL)為:module mediv2(clk,clkdiv);/clk為2MHz的信號(hào)輸入,clkdiv輸出500Hz標(biāo)準(zhǔn)信號(hào)input clk;output clkdiv;reg clkdiv;reg 19:0q;always (posedge clk)beginif(q=1999)/當(dāng)計(jì)數(shù)計(jì)到1999后再將clkdiv取反;beginclkdiv<=!cl

22、kdiv;q<=0;endelse /如果不夠1999則繼續(xù)計(jì)數(shù); q<=q+1;end4.8 測(cè)頻控制信號(hào)發(fā)生器模塊:輸入信號(hào):clkdiv2.輸出信號(hào):tsten 計(jì)數(shù)使能信號(hào);clr 計(jì)數(shù)器清零信號(hào);load鎖存信號(hào)。邏輯功能:產(chǎn)生1s脈寬的周期信號(hào),并根據(jù)測(cè)頻需要產(chǎn)生相應(yīng)的計(jì)數(shù)器清零信號(hào)和鎖存信號(hào)。源程序?yàn)?testcontrol.vmodule testcontrol(clkdiv2,tsten,clr,load);input clkdiv2;output tsten,clr,load;reg clr;wire tsten,load;reg div2clk;always

23、(posedge clkdiv2)div2clk<=!div2clk;always (clkdiv2 or div2clk)if(!clkdiv2 & !div2clk)clr<=1;elseclr<=0;assign load=!div2clk;assign tsten=div2clk;endmodule4.9 十進(jìn)制計(jì)數(shù)模塊.4.4.1 單個(gè)十進(jìn)制計(jì)數(shù)模塊。輸入信號(hào):ena輸入時(shí)鐘使能信號(hào);clk為輸入清零信號(hào);clr為輸入時(shí)鐘觸發(fā)信號(hào)。輸出信號(hào):cq3.0 輸出BCD碼;cot為輸出計(jì)數(shù)器進(jìn)位信號(hào)。邏輯功能:ena為高電平時(shí)計(jì)數(shù),CLK為輸入時(shí)鐘變量,CLR為高

24、電平時(shí)計(jì)數(shù)器清零,當(dāng)計(jì)數(shù)器到9時(shí),COT為高電平。源文件為mecount10.vmodule mecount10(ena,clk,clr,cq,cot);input ena,clk,clr;output cot;output 3:0cq;reg cot;reg 3:0cq;always (posedge clk or posedge clr)beginif(clr)cq<=0;else if(ena)beginif(cq=9)begin cq<=cq+1;cot<=0;endend endendmodule4.4.2 6位十進(jìn)制計(jì)數(shù)器模塊。輸入信號(hào):ena輸入時(shí)鐘使能信號(hào);c

25、lk為輸入清零信號(hào);clr為輸入時(shí)鐘觸發(fā)信號(hào)。輸出信號(hào):dout3:0到dout23:0輸出6個(gè)計(jì)數(shù)器的計(jì)數(shù)值(BCD碼)。邏輯功能:ena為高電平時(shí)計(jì)數(shù),為低電平時(shí)保持所計(jì)的值。Clk為時(shí)鐘信號(hào)輸入。Clr為高電平是計(jì)數(shù)器清零。圖4.3 6位計(jì)數(shù)器原理圖4.5輸出信號(hào)鎖存器輸入信號(hào):LOAD 鎖存器鎖存信號(hào)DIN0,DIN1,DIN2,DIN3,DIN4,DIN5,6個(gè)計(jì)數(shù)器輸出的4位BCD碼。輸出信號(hào):DOUT23.0 6位輸出顯示邏輯功能:當(dāng)LOAD信號(hào)上跳時(shí),將輸入的BCD碼送到輸出端,由于接收的是6個(gè)計(jì)數(shù)器的輸出信號(hào),因此輸入信號(hào)是6個(gè)4位而不是一個(gè)24位。由六位七段顯示器顯示。源文

26、件為alereg.vmodule alereg(din0,din1,din2,din3,din4,din5,dout,load);input 3:0din0,din1,din2,din3,din4,din5;input load;output 23:0dout;reg 23:0dout;always (posedge load)dout23:0<=din53:0,din43:0,din33:0,din23:0,din13:0,din03:0;endmodule4.6 244選擇器。module xz24_4(din,a,dout);input 2:0a;input 23:0din;out

27、put 3:0dout;reg 3:0dout;always (a)case(a)3'b000: dout<=din3:0;3'b001: dout<=din7:4;3'b010: dout<=din11:8;3'b011: dout<=din15:12;3'b100: dout<=din19:16;3'b101: dout<=din23:20;3'b110: dout<=din3:0;3'b111: dout<=din7:4;endcaseendmodule4.7譯碼動(dòng)態(tài)掃描。譯碼

28、器。輸入信號(hào):din3:0輸入4位BCD碼。輸出信號(hào):dout7:0輸出4位BCD碼對(duì)應(yīng)的7位二進(jìn)制碼。源文件為trans48.v。module trans48(din,dout);input 3:0din;output 7:0dout; reg 7:0dout;always (din)case(din)4'b0000: dout<=8'b11111100;4'b0001: dout<=8'b01100000;4'b0010: dout<=8'b11011010;4'b0110: dout<=8'b0011

29、1110;4'b0111: dout<=8'b11100000;4'b1000: dout<=8'b11111110;4'b1001: dout<=8'b11110110;default: dout<=8'b00000000;endcaseendmodule 動(dòng)態(tài)掃描電路。(1)6進(jìn)制計(jì)數(shù)器。module meadd(clk,q);input clk;output 2:0q;reg 2:0q;always (posedge clk)if(q=3'b101)q<=0;elseq<=q+1;endm

30、odule(2)38譯碼器。module yima38(a,y); input 2:0a; output 7:0y; reg 7:0y; always ( a ) case ( a) 3'b000: y=8'b11111110; 3'b001: y=8'b11111101; 3'b010: y=8'b11111011; 3'b011: y=8'b11110111; 3'b100: y=8'b11101111; 3'b101: y=8'b11011111; 3'b110: y=8'b1

31、0111111; 3'b111: y=8'b01111111; endcaseendmodule注意:244選擇器,500Hz的掃描脈沖,6進(jìn)制的計(jì)數(shù)器和38的譯碼器要配合使用才能實(shí)現(xiàn)6位動(dòng)態(tài)數(shù)碼管的顯示。5 系統(tǒng)調(diào)試由于本次設(shè)計(jì)沒有作出相應(yīng)的硬件來,故只存在軟件調(diào)試。5.1 分頻模塊調(diào)試。由于本方案采用的標(biāo)準(zhǔn)時(shí)鐘是由2M有源晶振產(chǎn)生2mHz的全局時(shí)鐘。而且都是2M和4000分頻這對(duì)于Quartus II 6.0軟件來說無法仿真,故后續(xù)仿真均建立在輸入的門口信號(hào)為1Hz,掃描信號(hào)為2Hz的基礎(chǔ)上。5.2 測(cè)頻控制信號(hào)發(fā)生器模塊調(diào)試。調(diào)試方法為設(shè)定其輸入量,觀察其輸出是否符合設(shè)計(jì)

32、要求。其仿真波形為:圖5.1 測(cè)頻控制信號(hào)發(fā)生器模塊仿真波形注:ena信號(hào)為對(duì)clk輸入信號(hào)的2分頻。在5.1中我們假設(shè)過輸入信號(hào)為1Hz,經(jīng)過2分頻后就產(chǎn)生了脈寬為1s的計(jì)數(shù)使能信號(hào)。并根據(jù)測(cè)頻需要產(chǎn)生相應(yīng)的計(jì)數(shù)器清零信號(hào)clr和鎖存信號(hào)load;仿真結(jié)果符合要求。5.3 6位十進(jìn)制計(jì)數(shù)器模塊調(diào)試。調(diào)試方法相同,其最后的輸出波形圖為: 圖5.2 6位十進(jìn)制計(jì)數(shù)器模塊仿真波形由圖5.3我們看到當(dāng)ena為高電平是計(jì)數(shù)使能,即開始計(jì)數(shù),符合要求。5.4輸出信號(hào)鎖存器調(diào)試。其軟件仿真的結(jié)果為:圖5.3 信號(hào)鎖存器仿真波形由圖5.4我們發(fā)現(xiàn)當(dāng)load信號(hào)的上升沿到來時(shí),信號(hào)開始鎖存,直到下次信號(hào)的上升

33、沿來之前,輸出的信號(hào)保持不變。5.5 244選擇器模塊的調(diào)試。仿真后的波形為:圖5.4 244選擇器模塊仿真波形根據(jù)上圖的仿真結(jié)果,我們注意到當(dāng)輸入為000時(shí),選擇器輸出的是din的24位數(shù)據(jù)的最低4值,為001時(shí),選擇器輸出的是din的24位數(shù)據(jù)的4位到7位的值。以下如此類推。仿真的結(jié)果基本滿足設(shè)計(jì)要求。5.6 最后總的仿真結(jié)果。圖5.5 總的仿真波形由圖5.6,我們知道當(dāng)門控脈寬為1s,待測(cè)脈沖假設(shè)給定為40Hz(25ms),最后的仿真結(jié)果是:當(dāng)位選為1111101時(shí)輸出的七段碼為01100110即數(shù)字“4”的七段碼,位選的其他情況,輸出均為11111100,即數(shù)字“0”的七段碼。最后的輸出結(jié)果滿足要求。6 系統(tǒng)功能、指標(biāo)參數(shù)6.1 系統(tǒng)功能。 本設(shè)計(jì)是由檢測(cè)人員,任意輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論