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

下載本文檔

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

文檔簡(jiǎn)介

1、濱江學(xué)院畢業(yè)論文題 目 基于CPLD的數(shù)字頻率計(jì)的設(shè)計(jì)院 系專(zhuān) 業(yè)學(xué)生姓名學(xué) 號(hào)指導(dǎo)教師職 稱(chēng)二一四年五月二十日目 錄1 緒論12 測(cè)量原理和性能指標(biāo)2 2.1測(cè)量原理2 2.2 系統(tǒng)設(shè)計(jì)指標(biāo)33 硬件電路設(shè)計(jì)3 3.1 系統(tǒng)頂層電路設(shè)計(jì)3 3.2單片機(jī)主控模塊4 3.2.1 AT89C51單片機(jī)性能4 3.3外圍電路設(shè)計(jì)6 3.3.1鍵盤(pán)接口電路6 3.3.2顯示電路單片機(jī)控制電路7 3.3.3電源模塊8 3.3.4其他電路圖9 3.4.測(cè)頻模塊的工作原理與設(shè)計(jì)9 3.4.1 CPLD的結(jié)構(gòu)與功能介紹9 3.4.2 CPLD測(cè)頻專(zhuān)用模塊邏輯設(shè)計(jì)104 軟件設(shè)計(jì)14 4.1 CPLD模塊的設(shè)計(jì)

2、14 4.1.1程序設(shè)計(jì)步驟:14 4.1.2 CPLD模塊的頂層設(shè)計(jì)15 4.2 單片機(jī)的匯編語(yǔ)言編程155 實(shí)驗(yàn)測(cè)試及誤差分析17 5.1實(shí)驗(yàn)測(cè)試的方法17 5.2系統(tǒng)的硬件驗(yàn)證17結(jié) 論18參考文獻(xiàn)19致 謝20基于CPLD的數(shù)字頻率計(jì)的設(shè)計(jì)陸秀東南京信息工程大學(xué)濱江學(xué)院 南京 210044摘 要:本文所研究的是基于CPLD的數(shù)字頻率計(jì)數(shù)器,在本次研究中,綜合運(yùn)用了CPLD技術(shù)與單片機(jī)技術(shù),整個(gè)設(shè)計(jì)過(guò)程中單片機(jī)完成了控制測(cè)試流程、處理輸入與輸出的數(shù)據(jù)和利用顯示器輸出測(cè)試數(shù)據(jù)方面的功能,CPLD完成了頻率計(jì)在頻率、周期、脈寬和占空比方面的測(cè)量計(jì)數(shù)功能。單片機(jī)運(yùn)用的是AT89C51單片機(jī),C

3、PLD軟件編程時(shí)運(yùn)用了VHDL語(yǔ)言進(jìn)行程序設(shè)計(jì)。本次研究的仿真與驗(yàn)證環(huán)節(jié)主要利用了GW48-CK EDA系統(tǒng)。本次設(shè)計(jì)實(shí)現(xiàn)了對(duì)于被測(cè)信號(hào)的測(cè)量與計(jì)數(shù),可以通過(guò)測(cè)量結(jié)果計(jì)算得出所需的各個(gè)數(shù)據(jù)。關(guān)鍵詞: 頻率計(jì),EDA技術(shù),CPLD,單片機(jī)The design of digital frequency meter based on CPLDLuxiudongNUIST,Nanjing 210044,ChinaAbstract : Studied in this paper is based on CPLD digital frequency counter, in this study, the

4、integrated use of technology CPLD and microcontroller technology, the entire design process control MCU to complete the testing process, data processing and utilization of input and output display output test data functional aspects, CPLD finished frequency meter frequency, period, pulse width and d

5、uty cycle counting function measurement areas. SCM AT89C51 microcontroller is utilized, CPLD software programming using the VHDL language programming. The study of simulation and verification aspects of the main advantage of the GW48-CK EDA systems. The design and implementation of the various data

6、and digital techniques for the measurement of the signal can be calculated by measuring the desired results. Keywords: Frequency meter, EDA technology ,CPLD, Single chip computer1 緒論 在21世紀(jì)這個(gè)科技飛速發(fā)展的時(shí)代,現(xiàn)代科學(xué)技術(shù)越來(lái)越先進(jìn),人們對(duì)于電子通信技術(shù)的要求也越來(lái)越高,尤其是在測(cè)頻技術(shù)方面,測(cè)頻計(jì)數(shù)技術(shù)一直在電子通信技術(shù)中發(fā)揮著重要的作用。而所采用的測(cè)頻方法也從一開(kāi)始的測(cè)周法與測(cè)頻法發(fā)展到現(xiàn)在的等精度測(cè)量

7、法,這一技術(shù)進(jìn)一步消除了運(yùn)用傳統(tǒng)的方法會(huì)導(dǎo)致的測(cè)試精度與被測(cè)頻率相關(guān),即被測(cè)頻率降低,測(cè)試精度也會(huì)隨之降低的缺點(diǎn)。對(duì)于等精度測(cè)量原理,即本次設(shè)計(jì)所采用的測(cè)量技術(shù),它是一種優(yōu)于測(cè)頻法與測(cè)周法的測(cè)量原理,它可以保證測(cè)試精度在測(cè)頻范圍內(nèi)保持固定,從而可以達(dá)到較高的測(cè)量精度,而這種具有高精度的測(cè)頻儀以及頻率發(fā)生器,在當(dāng)今社會(huì),擁有越來(lái)越大的發(fā)展?jié)摿Α?本次測(cè)頻儀設(shè)計(jì)的元件采用了AT89C51單片機(jī)和EPM7128SLC84-15設(shè)備。AT89C51芯片有兩項(xiàng)顯著優(yōu)點(diǎn):一是工作電壓范圍寬,二是對(duì)于存儲(chǔ)數(shù)據(jù),可以保存很長(zhǎng)(10年)的時(shí)間,是一個(gè)性?xún)r(jià)比頗高的單片機(jī)。EPM7128SLC84-15采用了第二代

8、MAX結(jié)構(gòu)基礎(chǔ),可運(yùn)行多種組合邏輯以及時(shí)序邏輯函數(shù),確保了重新編程的快速高效。EPM7128SLC84-15包括128個(gè)宏單元,每個(gè)邏輯陣列塊都由16個(gè)宏單元構(gòu)成。本次設(shè)計(jì)的測(cè)頻儀還具有高速,全面,高精度的特點(diǎn)。012 測(cè)量原理和性能指標(biāo)2.1測(cè)量原理 傳統(tǒng)的測(cè)頻原理所采用的測(cè)量方法是先取一段固定的時(shí)間間隔,測(cè)出周期信號(hào)在設(shè)定的時(shí)間間隔內(nèi)的變化次數(shù),設(shè)為N,再運(yùn)用變化次數(shù)與時(shí)間間隔相除,就可以得出需要測(cè)量的頻率,圖2-1為原理框圖。而采用傳統(tǒng)測(cè)量原理的缺點(diǎn)是測(cè)量精度會(huì)與被測(cè)信號(hào)的頻率相關(guān)聯(lián),即被測(cè)信號(hào)的頻率變化,測(cè)量精度也會(huì)隨之變化。 圖2-1 傳統(tǒng)測(cè)頻原理圖圖2-2為本次設(shè)計(jì)測(cè)頻原理圖: 清

9、零信號(hào)圖2-2 等精度測(cè)頻原理圖 如圖中所示,先將輸入的預(yù)置門(mén)控信號(hào)調(diào)成高電平,被測(cè)信號(hào)經(jīng)整形后上升,D觸發(fā)器被啟動(dòng),再?gòu)腄觸發(fā)器的輸出端啟動(dòng)可控計(jì)數(shù)器CNT1和CNT2,使兩者開(kāi)始計(jì)數(shù),低電平時(shí),可控計(jì)數(shù)器關(guān)閉。整形后被測(cè)信號(hào)的頻率值可以通過(guò)先計(jì)算出基準(zhǔn)頻率信號(hào)與基準(zhǔn)頻率計(jì)數(shù)值的比值,再將他們的比值與預(yù)置門(mén)置為高電平時(shí),單個(gè)脈寬間隔內(nèi)被測(cè)信號(hào)的計(jì)數(shù)值的乘積來(lái)計(jì)算得出。2.2 系統(tǒng)設(shè)計(jì)指標(biāo) 若采用傳統(tǒng)頻率計(jì),由于其運(yùn)用的是傳統(tǒng)的測(cè)頻原理,會(huì)產(chǎn)生傳統(tǒng)測(cè)頻原理所不能克服的缺點(diǎn),即測(cè)量精度伴隨著被測(cè)信號(hào)頻率變化,因此在實(shí)踐中會(huì)產(chǎn)生很大的局限性,因此本次設(shè)計(jì)我們采用的是等精度頻率計(jì),和傳統(tǒng)測(cè)量原理不同

10、的是,它不僅有較高的測(cè)量精度,更重要的是它的測(cè)試精度可以保持固定。以下是本次設(shè)計(jì)的基本指標(biāo):表1 頻率計(jì)數(shù)器指標(biāo)要求頻率測(cè)試方面測(cè)頻范圍是1HZ-999.999KHZ,測(cè)頻精度是0.0001周期測(cè)試方面信號(hào)測(cè)試范圍,精度要求和測(cè)頻功能相同脈寬測(cè)試方面測(cè)試范圍是0.1-1s,測(cè)試精度是0.01s占空比測(cè)試方面測(cè)試精度是1%-99%3硬件電路設(shè)計(jì)3.1 系統(tǒng)頂層電路設(shè)計(jì) 本次設(shè)計(jì)綜合采用了單片機(jī)和CPLD/FPGA兩種設(shè)計(jì)。如圖3-1所示電路框圖,在整個(gè)測(cè)量電路中,單片機(jī)完成測(cè)試控制,數(shù)據(jù)處理和顯示輸出;而測(cè)試功能方面則是由CPLD/FPGA實(shí)現(xiàn); 對(duì)于頻率,脈寬以及占空比,他們?cè)跍y(cè)量時(shí)要先通過(guò)一

11、片74LS165寄存器讀入鍵盤(pán)命令,再讀出CPLD/FPGA處返回的數(shù)據(jù),利用單片機(jī)對(duì)這些數(shù)據(jù)進(jìn)行計(jì)算,綜合這些數(shù)據(jù),就可以完成數(shù)據(jù)的測(cè)量,測(cè)量結(jié)果通過(guò)顯示電路顯示。圖3-1 系統(tǒng)頂層框圖以下為系統(tǒng)功能實(shí)現(xiàn)的布局:(1)單片機(jī)和CPLD的數(shù)據(jù)傳送通信口分別為 P0口和P2口。P1口是雙向控制口,P3口是一個(gè)串行顯示控制端口,用于實(shí)現(xiàn)鍵盤(pán)掃描以及一些測(cè)試功能。(2) 8個(gè)LED數(shù)碼管組成系統(tǒng)顯示電路。(3)放大整形被測(cè)信號(hào)之后,向TCLK端口輸入待測(cè)信號(hào)。3.2 單片機(jī)主控模塊3.2.1 AT89C51單片機(jī)性能 AT89C51是一個(gè)閃存,有128個(gè)字節(jié)的RAM,而且是一種內(nèi)部包含4K字節(jié)有編輯

12、擦除功能的閃存。AT89C51是一種將多功能8位CPU與閃存結(jié)合在單個(gè)芯片內(nèi)的高效微控制器,由于它的出現(xiàn),嵌入式控制系統(tǒng)得到了一種新的高靈活性而且價(jià)格低廉的方案。3.2.2 單片機(jī)控制電路 圖3-2所展示的是單片機(jī)測(cè)頻控制電路,本次頻率測(cè)量工作電路在數(shù)據(jù)測(cè)試時(shí)的控制功能,測(cè)試最后得出的數(shù)據(jù)的處理功能,以及測(cè)試得出數(shù)據(jù)在顯示器上顯示出來(lái)的功能都是運(yùn)用單片機(jī)來(lái)實(shí)現(xiàn)的,而其他的測(cè)試工作都是利用CPLD完成的。圖3-2 單片機(jī)測(cè)頻控制電路 因?yàn)镃PLD的頻率計(jì)數(shù)采用的是32位二進(jìn)制計(jì)數(shù)器來(lái)完成的,所以32位數(shù)據(jù)需要分四次由有8位數(shù)據(jù)總線(xiàn)的單片機(jī)全部讀出來(lái)。計(jì)數(shù)器COUNT1輸出B7.0標(biāo)準(zhǔn)頻率信號(hào)的數(shù)

13、值由AT89C51的P0口讀取,計(jì)數(shù)器COUNT2輸出B15.8被測(cè)信號(hào)的數(shù)值由P2口讀取。由AT89C51的SS0,SS1地址編碼選擇被讀取的四組8位數(shù)據(jù)。通過(guò)P1口來(lái)輸出控制。(1)CS: 通過(guò)單片機(jī)的P1.0 口進(jìn)行控制。CS=0的時(shí)候,等精度測(cè)頻;CS=1的時(shí)候,測(cè)脈寬(2)CLR: 系統(tǒng)全清零功能(3)ED2: 對(duì)于脈沖寬度計(jì)數(shù)測(cè)量工作停止的指令信號(hào),當(dāng)ED2輸出為1時(shí)計(jì)數(shù)工作停止(4)AS: 執(zhí)行系統(tǒng)自動(dòng)校正與頻率測(cè)量工作的選擇工作。當(dāng)AS為1時(shí),執(zhí)行頻率測(cè)量工作,當(dāng)AS為0時(shí),執(zhí)行自動(dòng)校正工作(5)STROBE: 是系統(tǒng)預(yù)置門(mén)的門(mén)閘,系統(tǒng)執(zhí)行時(shí),系統(tǒng)預(yù)置門(mén)的門(mén)寬大小可以通過(guò)先在鍵

14、盤(pán)中輸入指令,然后指令輸入單片機(jī),利用單片機(jī)來(lái)完成門(mén)寬控制,當(dāng)STROBE為1的時(shí)候,打開(kāi)預(yù)置門(mén);當(dāng)STROBE為0的時(shí)候,關(guān)閉預(yù)置門(mén)(6)ED1: 系統(tǒng)頻率測(cè)試計(jì)數(shù)工作停止的指令信號(hào),當(dāng)EDl表現(xiàn)為0的時(shí)候,計(jì)數(shù)工作停止(7)SS0, SS1: 系統(tǒng)計(jì)數(shù)位讀取出的選通控制元件。如果使SS=SS1,SS0,那么SS=0,1, 2, 3的時(shí)候,可以在P0口與P2口從低8位到高8位依次讀取兩組4個(gè)8位計(jì)數(shù)值(8)FS: 50MHz的有源晶振所產(chǎn)生的標(biāo)準(zhǔn)頻率信號(hào)的信號(hào)輸入口(9)FX: 經(jīng)過(guò)幅度限制與整形電路調(diào)整之后產(chǎn)生的被測(cè)信號(hào)的信號(hào)輸入口(10)FC: 單片機(jī)的外接晶振所產(chǎn)生的自校頻率輸入口3.

15、3 外圍電路設(shè)計(jì)3.3.1 鍵盤(pán)接口電路 圖3-3所展示的電路的功能是利用74LS165寄存器將我們?cè)阪I盤(pán)中輸入的控制指令輸入到系統(tǒng)中。當(dāng)鍵盤(pán)上輸入控制指令時(shí),若該線(xiàn)的電平狀態(tài)是低電平,將單片機(jī)主程序中P3.2端口置為0,將鍵值輸入,之后把P3.2和 P3.3 口置1,把鍵盤(pán)值讀進(jìn)單片機(jī),通過(guò)這些操作,可以完成對(duì)鍵盤(pán)的動(dòng)態(tài)掃描,將鍵盤(pán)命令實(shí)時(shí)交給單片機(jī)處理。圖3-3 鍵盤(pán)接口電路3.3.2 顯示電路 如圖3-4所示,單片機(jī)通過(guò)串口通信,完成顯示代碼傳輸,通過(guò)74LS164驅(qū)動(dòng)器驅(qū)動(dòng)8位共陽(yáng)極LED。靜態(tài)顯示時(shí),74LS164芯片輸出電平狀態(tài)為低電平的時(shí)候,芯片所具有的灌電流能力可以確保顯示亮度

16、。傳送信號(hào)的時(shí)候,輸出端數(shù)碼管所產(chǎn)生的瞬間的閃爍是因?yàn)?4LS164輸出沒(méi)有鎖存功能,但由于系統(tǒng)配置,閃爍不是很明顯。鍵盤(pán)輸入控制與顯示電路顯示控制之間的來(lái)回切換選擇與導(dǎo)通是由P3.4完成的。因?yàn)?,每次顯示之前,要先把P3.2置0,把74LS165的輸出置1,這樣才能避免鍵盤(pán)與顯示電路共用單片機(jī)的串行口導(dǎo)致的不便,確保P3.1端口能夠在顯示電路中精準(zhǔn)無(wú)誤的將實(shí)驗(yàn)數(shù)據(jù)顯示出來(lái)。圖3-4 顯示電路3.3.3 電源模塊 圖3-5為電路的供電電源電路圖,經(jīng)過(guò)變壓、由78L05三端穩(wěn)壓器負(fù)責(zé)將標(biāo)準(zhǔn)的220V交流電進(jìn)行整流、濾波,來(lái)給系統(tǒng)提供+5V的電壓信號(hào)。圖3-5 電源模塊3.3.4其他電路圖被測(cè)信號(hào)

17、整形電路圖見(jiàn)附錄3.4 測(cè)頻模塊的工作原理與設(shè)計(jì) 3.4.1 CPLD的結(jié)構(gòu)與功能介紹 經(jīng)過(guò)研究發(fā)展,可編程邏輯器件成為了一種新型的邏輯器件,它結(jié)合了大規(guī)模集成電路技術(shù)和計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)輔助生產(chǎn)跟計(jì)算機(jī)輔助測(cè)試技術(shù),標(biāo)志著現(xiàn)代數(shù)字電子系統(tǒng)正在往集成度越來(lái)越高、功耗越來(lái)越低、封裝越來(lái)越小的方向發(fā)展。在應(yīng)用和發(fā)展方面,可編輯邏輯器的出現(xiàn)簡(jiǎn)化了電路設(shè)計(jì),降低了設(shè)計(jì)成本,使得人們?cè)跀?shù)字系統(tǒng)區(qū)域邁出了長(zhǎng)足的進(jìn)步。本次設(shè)計(jì)采用的CPLD器件為EPM7128SLC84-15可編輯邏輯器。 如圖3-6所示,可編程互連陣列與四個(gè)邏輯陣列塊相連接,共同工作,可編程互連陣列是中心元件,他連接著系統(tǒng)中所有的輸入

18、信號(hào),是信號(hào)的出發(fā)地與目的地,并且是一種連接整體的總線(xiàn),保證了信號(hào)從開(kāi)始到結(jié)束的順利流通,還可以使延時(shí)保持恒定,使得我們可以更加方便的預(yù)測(cè)時(shí)間性能;I/0控制塊可以將每一個(gè)I/0管腳配置為輸入管腳、輸出管腳或者輸入輸出雙向流通管腳。邏輯陣列塊(LAB)宏單元(Macrocells)可編程互連陣列(PIA)I/O控制塊(I/0 Control Block)圖3-6 COLD芯片:EPM7128SLC84-15結(jié)構(gòu)框圖3.4.2 CPLD測(cè)頻專(zhuān)用模塊邏輯設(shè)計(jì)圖3-7即為運(yùn)用VHDL設(shè)計(jì)完成的測(cè)頻模塊邏輯結(jié)構(gòu):計(jì)數(shù)器CNT1/CNT2是由DSEL模塊實(shí)施控制功能,具有將單片機(jī)分4次把32位數(shù)據(jù)完全讀

19、出能力的32位二進(jìn)制計(jì)數(shù)器。以下為有關(guān)接口信號(hào)規(guī)定:(1)TF(P2.7):TF = 0時(shí)為等精度頻率測(cè)量,TF = 1時(shí),是脈沖寬度測(cè)量(2)CLR/TRIG(P2.6)當(dāng)TF=0的時(shí)候,系統(tǒng)執(zhí)行全清零功能;當(dāng)TF = 1時(shí) CLR/TRIG上跳,開(kāi)始CNT2測(cè)試脈沖計(jì)數(shù)。(3)ENDD(P2.4)是標(biāo)志脈沖寬度計(jì)數(shù)程序停止的狀態(tài)指令,當(dāng)計(jì)數(shù)程序在ENDD為1的時(shí)候,程序停止。(4)CHOICE(P3.2),當(dāng)CHOICE=1的時(shí)候,開(kāi)始測(cè)頻程序;當(dāng)CHOICE=0的時(shí)候,開(kāi)始自校程序。(5)START(P2.5):當(dāng)TF輸入口輸入為0的時(shí)候,置為預(yù)置門(mén)閘,利用鍵盤(pán)輸入控制命令,再利用單片機(jī)

20、控制門(mén)寬,當(dāng)START=1的時(shí)候預(yù)置門(mén)打開(kāi);TF=1的時(shí)候,START還具有另外一個(gè)作用,與此同時(shí),START=0的時(shí)候測(cè)負(fù)脈寬,START=1的時(shí)候測(cè)正脈寬。通過(guò)該功能可以分別獲取脈寬和占空比的數(shù)據(jù)(6)EEND(P 2.3)是標(biāo)志等精度測(cè)頻計(jì)數(shù)程序停止的狀態(tài)指令,當(dāng)計(jì)數(shù)程序在EEND為0的時(shí)候,程序停止。(7)SEL2.0(P 2.2, P 2.1, P 2.0)計(jì)數(shù)值讀出選通控制圖3-7 CPLD測(cè)頻模塊框圖1.測(cè)頻/測(cè)周期的實(shí)現(xiàn)(1)使TF輸入端口置為0,測(cè)頻程序開(kāi)始工作,一個(gè)正脈沖信號(hào)會(huì)發(fā)送至CONTRL元件的CLR端口,整個(gè)測(cè)試的工作電路被初始化。(2)系統(tǒng)正式開(kāi)始工作時(shí),將CON

21、TRL工作元件的START端口配置為高電平,預(yù)置門(mén)定時(shí)程序開(kāi)始工作,被測(cè)信號(hào)流通,開(kāi)始打開(kāi)計(jì)數(shù)器CNT1,開(kāi)始計(jì)數(shù),同時(shí)向計(jì)數(shù)器CNT2輸入標(biāo)準(zhǔn)頻率信號(hào)。(3)通過(guò)單片機(jī),當(dāng)預(yù)置門(mén)的定時(shí)程序結(jié)束時(shí),會(huì)發(fā)出標(biāo)志程序結(jié)束的結(jié)束信號(hào),當(dāng)結(jié)束信號(hào)到達(dá)CONTRL的START端口時(shí),結(jié)束信號(hào)會(huì)將端口電平置為低電平,等到下一次脈沖信號(hào)的上沿到來(lái)時(shí),CNT1計(jì)數(shù)器計(jì)數(shù)程序停止工作,同時(shí),CNT2計(jì)數(shù)器也結(jié)束對(duì)fs的計(jì)數(shù)程序。(4)當(dāng)系統(tǒng)的計(jì)數(shù)程序結(jié)束時(shí),測(cè)量技術(shù)程序也同時(shí)停止,而該程序停止命令是由CONTRL工作元件的EEND端口輸出的低電平來(lái)發(fā)出的。信號(hào)到達(dá)單片機(jī)后,CNT1計(jì)數(shù)元件與CNT2計(jì)數(shù)元件所需

22、要得出的計(jì)數(shù)數(shù)據(jù)可以利用系統(tǒng)中的ADRC(P2.2) , ADRB(P2.1) , ADRA(P2.0)等元件依次讀出,被測(cè)信號(hào)的頻率與周期值就可以通過(guò)公式計(jì)算出來(lái)。2.控制部件設(shè)計(jì)(1)控制電路中,當(dāng)我們將元件START輸入端口的輸入電平置為高電平時(shí),如果系統(tǒng)中的FIN端口產(chǎn)生上升沿,那么D觸發(fā)器的輸入端口Q端口就會(huì)輸出高電平,將FIN到CLK1之間的電路與FSD到CLK2之間的電路導(dǎo)通,當(dāng)程序開(kāi)始工作時(shí),還需要將EEND元件置為高電平來(lái)標(biāo)志這一狀態(tài)。(2)控制電路中,當(dāng)我們將元件START輸入端口的輸入電平置為低電平時(shí),如果系統(tǒng)中的FIN端口產(chǎn)生脈沖上沿,那么FIN到CLK1之間的電路與F

23、SD到CLK2之間的電路,他們之間的信號(hào)流通通道就會(huì)停止。圖3-8 測(cè)頻與測(cè)周期控制的電路3脈沖寬度測(cè)量和占空比測(cè)量模塊設(shè)計(jì)如圖3-9中得出的工作電路是利用脈沖寬度測(cè)量原理設(shè)計(jì)出來(lái)的。圖3-9 CONTRL2子模塊內(nèi)部結(jié)構(gòu)以下是測(cè)量脈沖寬度的步驟:第一步:往上圖所示電路中的CLR輸入端口輸入一個(gè)脈沖信號(hào)來(lái)將整個(gè)電路的工作狀態(tài)進(jìn)行初始化設(shè)置。第二步:把GATE元件的CNL端口電平置為高電平,開(kāi)始脈沖寬度的測(cè)量程序,這個(gè)時(shí)候FSD即為CNT2元件的輸入信號(hào)。第三步:當(dāng)被測(cè)脈沖的上沿進(jìn)入工作電路的時(shí)候,PUL端口輸出電平為高電平,標(biāo)準(zhǔn)頻率信號(hào)輸入計(jì)數(shù)器元件CNT2。第四步:當(dāng)被測(cè)脈沖的下沿進(jìn)入到工作

24、電路的時(shí)候,PUL端口輸出的電平為低電平,計(jì)數(shù)器元件CNT2的計(jì)數(shù)程序停止。第五步:計(jì)數(shù)器CNT2的計(jì)數(shù)結(jié)果可以通過(guò)單片機(jī)來(lái)讀出,而所需得到的脈沖寬度的結(jié)果可以通過(guò)公式3-1計(jì)算得出。 (3-1) CONTRL2模塊的特點(diǎn)是:脈沖輸出端口始終是零直至CONTRL2初始化后,系統(tǒng)能夠正常工作。 當(dāng)系統(tǒng)先接受到脈沖上沿時(shí),PUL端口輸出電平為高電平,之后當(dāng)系統(tǒng)接受到脈沖下沿時(shí),PUL端口輸出電平為低電平;單片機(jī)測(cè)量計(jì)數(shù)程序通過(guò)觀察ENDD端口輸出電平是否為高電平來(lái)決定是否結(jié)束工作;當(dāng)先檢測(cè)到下沿時(shí),PUL是沒(méi)有變化的;在檢測(cè)到一個(gè)脈沖上沿連著一個(gè)脈沖下沿的情況時(shí),CONTRL2元件是根據(jù)緊接著的下

25、一個(gè)初始化信號(hào)的情況來(lái)決定的,下一個(gè)信號(hào)產(chǎn)生時(shí)才會(huì)發(fā)生變化,否則沒(méi)有變化。占空比的測(cè)量需要先經(jīng)過(guò)對(duì)脈沖寬度的兩次測(cè)量才能計(jì)算出,第一次對(duì)于脈沖寬度進(jìn)行測(cè)量,將計(jì)數(shù)元件CNT2的計(jì)數(shù)數(shù)值N1測(cè)量得出,然后將輸入信號(hào)進(jìn)行反相傳輸,開(kāi)始對(duì)于脈沖寬度進(jìn)行第二次測(cè)量,將計(jì)數(shù)元件CNT2的計(jì)數(shù)數(shù)值N2測(cè)量得出,之后就可以利用公式計(jì)算出占空比的數(shù)值: (3-2) 4 軟件設(shè)計(jì)4.1 CPLD模塊的設(shè)計(jì)4.1.1程序設(shè)計(jì)步驟:利用VHDL語(yǔ)言進(jìn)行程序設(shè)計(jì)的步驟:(1)確定電路的具體用途與功能:在設(shè)計(jì)開(kāi)發(fā)的前期先要設(shè)計(jì)總體方案,在采用VHDL時(shí)要分析好研究電路要完成的具體功能。(2)設(shè)計(jì)輸入:設(shè)計(jì)描述涵蓋兩個(gè)方

26、面:(l)系統(tǒng)描述:設(shè)計(jì)方式由系統(tǒng)描述所決定,主要設(shè)計(jì)方式有兩種:從上而下的設(shè)計(jì)、從下而上的設(shè)計(jì)。從上而下的設(shè)計(jì)方式要把不同的元件單獨(dú)分割出來(lái)設(shè)計(jì),要分別為各個(gè)元件專(zhuān)門(mén)定義輸入與輸出,且實(shí)現(xiàn)特定的邏輯功能。從下而上的處理方式正好相反。(2)編寫(xiě)設(shè)計(jì)代碼: 編寫(xiě)的VHDL代碼必須要與可編程邏輯器件所實(shí)現(xiàn)的數(shù)字邏輯相配套。(3)通過(guò)VHDL仿真器完成源代碼的功能仿真:在進(jìn)行功能仿真階段時(shí),主要完成設(shè)計(jì)電路的功能驗(yàn)證,通過(guò)這一步驟,可以及早發(fā)現(xiàn)問(wèn)題。從而可以在設(shè)計(jì)前期就能發(fā)現(xiàn)問(wèn)題,解決問(wèn)題,大大節(jié)省了后期的時(shí)間,減少了整體開(kāi)發(fā)周期。(4)設(shè)計(jì)綜合、設(shè)計(jì)優(yōu)化與設(shè)計(jì)的布局布線(xiàn):VHDL綜合優(yōu)化軟件會(huì)根據(jù)

27、所選取的目標(biāo)器件與約束條件對(duì)VHDL源代碼進(jìn)行處理,處理完成后,會(huì)產(chǎn)生一個(gè)優(yōu)化之后的網(wǎng)絡(luò)表,而且可以進(jìn)行大體的時(shí)序仿真。(5)配置和配置后的時(shí)序仿真:利用優(yōu)化之后的網(wǎng)絡(luò)表,將數(shù)據(jù)分別配置到各個(gè)目標(biāo)器件,便可以得出結(jié)果版圖,我們可以從版圖中得到連線(xiàn)長(zhǎng)短及寬窄的信息,再用這些信息來(lái)豐富原先的網(wǎng)絡(luò)表,準(zhǔn)備再次進(jìn)行時(shí)序仿真。(6)器件編程:成功實(shí)現(xiàn)系統(tǒng)在設(shè)計(jì)方面的詳細(xì)描述、整體電路的綜合優(yōu)化功能、系統(tǒng)配置和配置之后的時(shí)序仿真功能之后,系統(tǒng)在其他方面的工作就能繼續(xù)開(kāi)展。4.1.2 CPLD模塊的頂層設(shè)計(jì) 本次研究的測(cè)頻系統(tǒng)中,是通過(guò)CPLD技術(shù)來(lái)完成對(duì)于標(biāo)準(zhǔn)頻率信號(hào)與被測(cè)信號(hào)的測(cè)試功能的。頂層模塊程序是

28、由VHDL語(yǔ)言完成的,詳見(jiàn)附錄。4.2 單片機(jī)編程如圖4-2所示的即為工作流程圖,工作步驟為:(1) 系統(tǒng)初始化,主程序開(kāi)始工作,開(kāi)始對(duì)鍵盤(pán)中的各個(gè)功能鍵進(jìn)行掃描。(2) 掃描測(cè)頻鍵是否被按下,若已被按下,則實(shí)行子程序,對(duì)調(diào)頻主頻率進(jìn)行測(cè)量,之后返回主程序,若沒(méi)有被按下,則繼續(xù)進(jìn)行掃描。(3) 掃描測(cè)周期鍵是否被按下,若已被按下,則實(shí)行測(cè)頻周期子程序,對(duì)測(cè)頻周期進(jìn)行測(cè)量,之后返回主程序,若沒(méi)有被按下,則繼續(xù)進(jìn)行掃描。(4) 掃描自校鍵是否被按下,若已被按下,則實(shí)行調(diào)自校子程序,對(duì)自校信號(hào)進(jìn)行測(cè)量,之后返回主程序,若沒(méi)有被按下,則繼續(xù)進(jìn)行掃描。(5) 掃描占空比鍵是否被按下,若已被按下,則實(shí)行調(diào)

29、占空比子程序,對(duì)信號(hào)占空比進(jìn)行測(cè)量,之后返回主程序,若沒(méi)有被按下,則繼續(xù)進(jìn)行掃描。(6) 掃描測(cè)脈寬鍵是否被按下,若已被按下,則實(shí)行調(diào)測(cè)脈寬子程序,對(duì)信號(hào)脈寬進(jìn)行測(cè)量,之后返回主程序,若沒(méi)有按下,則繼續(xù)進(jìn)行掃描。(7)返回主程序,重復(fù)進(jìn)行功能鍵掃描。主程序見(jiàn)附錄。 圖4-2 單片機(jī)主程序流程圖5實(shí)驗(yàn)測(cè)試及誤差分析5.1實(shí)驗(yàn)測(cè)試的方法 本次研究的測(cè)頻系統(tǒng)在調(diào)試時(shí),我們運(yùn)用自底向上的調(diào)試方法,即先部分后整體,先完成對(duì)各個(gè)單元電路的軟件仿真和硬件調(diào)試,再進(jìn)行系統(tǒng)聯(lián)調(diào),最后完成調(diào)試,對(duì)系統(tǒng)進(jìn)行組裝。5.2 系統(tǒng)的硬件驗(yàn)證1.單元電路的調(diào)試: 本次頻率測(cè)試電路在調(diào)試時(shí),需要使用的軟件與設(shè)備有MAX+PL

30、US II,計(jì)算機(jī),GW48-CK EDA實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)等。2.系統(tǒng)的聯(lián)合調(diào)試: 系統(tǒng)聯(lián)調(diào)在單元電路調(diào)試之后進(jìn)行。3.系統(tǒng)的硬件驗(yàn)證: 在系統(tǒng)聯(lián)合調(diào)試完成后,便可以將單片機(jī)程序固化到單片機(jī)中,對(duì)CPLD/FPGA實(shí)施編程下載,輸入待測(cè)信號(hào),完成設(shè)計(jì)所需的相關(guān)測(cè)試,反復(fù)驗(yàn)證,直到滿(mǎn)足本次設(shè)計(jì)的要求。表格2為測(cè)試得出的數(shù)據(jù)。表2 實(shí)驗(yàn)測(cè)試數(shù)據(jù)被測(cè)頻率標(biāo)準(zhǔn)頻率閘門(mén)時(shí)間被測(cè)頻率計(jì)數(shù)值標(biāo)準(zhǔn)頻率計(jì)數(shù)值測(cè)試頻率1HZ50MHZ10sA1C1FECF51.05961HZ50MHZ10sA1C1FECF01.05961HZ50MHZ10sA1C1FECF51.0596122HZ50MHZ1s7B2FA7CD612

31、3.0728122HZ50MHZ1s7B2FA7CD6123.0728122HZ50MHZ1s7B2FA7CD6123.0728續(xù)表2978HZ50MHZ0.1s634C8FAE986.5435978HZ50MHZ0.1s634C8FAE986.5435978HZ50MHZ0.1s634C8FAE986.5435結(jié) 論 通過(guò)硬件和軟件系統(tǒng)的設(shè)計(jì)研究,通過(guò)仿真實(shí)驗(yàn)分析和驗(yàn)證,各項(xiàng)功能都達(dá)到了預(yù)定的目標(biāo)。因?yàn)橄藗鹘y(tǒng)的測(cè)頻方法的缺陷,還具有在頻率范圍之內(nèi)變化的優(yōu)點(diǎn),本次設(shè)計(jì)所采用的現(xiàn)代測(cè)頻系統(tǒng)得到了當(dāng)今社會(huì)越來(lái)越廣泛的運(yùn)用。測(cè)頻系統(tǒng)還具有以下的特點(diǎn): 系統(tǒng)總體設(shè)計(jì)方面:充分利用了FPGA/CPL

32、D與單片機(jī)的優(yōu)點(diǎn),F(xiàn)PGA/CPLD控制信號(hào)的分配,既能滿(mǎn)足速度要求的頻率和I / O的要求,而且由于單片機(jī)有優(yōu)秀的人機(jī)接口及控制運(yùn)算的功能,可簡(jiǎn)便地完成鍵盤(pán)與顯示器的數(shù)據(jù)處理運(yùn)算。 頻率測(cè)量方面:因?yàn)檫\(yùn)用了等精度測(cè)頻法,讓本系統(tǒng)有以下特點(diǎn):1)相對(duì) 誤差和被測(cè)頻率的高低無(wú)關(guān);2)Tpr或fs在增大后,Ns也會(huì)變大,測(cè)量時(shí)產(chǎn)生的誤差會(huì)降低,系統(tǒng)的測(cè)量精度會(huì)提高。 顯示器的顯示串口動(dòng)態(tài)方面:節(jié)省了I/O端口,驅(qū)動(dòng)電路系統(tǒng)的設(shè)計(jì)更加簡(jiǎn)便,由于時(shí)間和實(shí)驗(yàn)條件的限制,本系統(tǒng)只做實(shí)驗(yàn)箱測(cè)試,硬件電路實(shí)現(xiàn)方面存在不足,還需進(jìn)一步的完善與提高。16參考文獻(xiàn) 1潘松,黃繼業(yè). EDA技術(shù)與VHDL M.清華大

33、學(xué)出版社,2006.11.2楊志忠著.數(shù)字電子技術(shù)M .高等教育出版社,2001.1.3劉樹(shù)中.孫書(shū)膺.王春平.單片機(jī)和液晶顯示驅(qū)動(dòng)器串行接口的實(shí)現(xiàn)J.微計(jì)算機(jī)信息, 2007.4趙世強(qiáng)等編.電子電路EDA技術(shù)J.西安電子科技大學(xué)出版社,2002.5.5肖景和著.數(shù)字集成電路應(yīng)用精粹M.人民郵電出版社,2002.6.6周潤(rùn)景等. Proteus在MCS-51&ARM7系統(tǒng)中的應(yīng)用百例M.電子工業(yè)出版社,2006. 7吳金戌等著. 8051單片機(jī)實(shí)踐與應(yīng)用M.清華大學(xué)出版社,2004.5. 8甘歷. VHDL應(yīng)用與開(kāi)發(fā)實(shí)踐M.科學(xué)出版社,2003.5.9李忠波 袁宏等著.電子設(shè)計(jì)與仿真計(jì)

34、數(shù)J.機(jī)械工業(yè)出版社,2004.710徐大誠(chéng)等.微型計(jì)算機(jī)控制技術(shù)及應(yīng)用M.北京高等教育出版社,2003.11Bernard Grob.Gregg Division.McGraw-Hill.Electronic circuits and applicationsM, 1982.12 A.L.Kitaigorodsky. ElectronsM,1981. 13A.S. Kasatki Translated from the Russian by Boris. V. Kuznetsov. Electrical engineeringM,1983.24致 謝 轉(zhuǎn)眼間,大學(xué)四年即將過(guò)去,畢業(yè)論文也成為

35、了手頭上的工作,從二月份到現(xiàn)在,用了將近三個(gè)月的時(shí)間,終于完成了這份畢業(yè)論文。值此畢業(yè)之際,我要對(duì)我大學(xué)期間所有的老師和同學(xué)致以最真摯的感謝,是你們對(duì)我的關(guān)心和幫助讓我能夠進(jìn)步,尤其要感謝我的論文指導(dǎo)老師,李致金老師,在我的畢業(yè)設(shè)計(jì)完成期間,李致金老師不僅在系統(tǒng)軟件與硬件方面都對(duì)我進(jìn)行了專(zhuān)業(yè)的指導(dǎo),而且對(duì)我的論文不足的地方也悉心教導(dǎo),幫助我修改完善,讓本身不是很熟練的我能夠順利完成畢業(yè)設(shè)計(jì),也提高了我在這方面的技術(shù)。李老師認(rèn)真的教學(xué)態(tài)度,嚴(yán)謹(jǐn)?shù)难芯孔黠L(fēng)都對(duì)我產(chǎn)生了很大的影響,在我將來(lái)的人生與工作道路上樹(shù)立了良好的榜樣。 其次,我還要感謝我們通信工程專(zhuān)業(yè)的各位同學(xué),他們?cè)谄綍r(shí)學(xué)習(xí)時(shí)給了我很多幫助

36、,而且在我畢業(yè)設(shè)計(jì)期間也為我提供了很多素材,方便了我的設(shè)計(jì)研究。最后,我還要感謝的是我的父母,是你們辛辛苦苦哺育我長(zhǎng)大,讓我能夠順利完成我到大學(xué)為止的繁重的學(xué)業(yè),雖然你們對(duì)我的畢業(yè)論文并不能給予專(zhuān)業(yè)性的幫助,但是你們對(duì)于我在畢業(yè)設(shè)計(jì)時(shí)給予的支持和關(guān)心,讓我能夠更加專(zhuān)心的完成我的設(shè)計(jì)。 大學(xué)即將結(jié)束,學(xué)習(xí)不能結(jié)束,在將來(lái)的學(xué)習(xí)工作中,我一定要認(rèn)真嚴(yán)謹(jǐn),一絲不茍,來(lái)回報(bào)大學(xué)期間老師和同學(xué)們的關(guān)心與幫助。附錄被測(cè)信號(hào)整形電路圖頻率計(jì)測(cè)試模塊 FFFCHECK.VHDLIBRARY IEEE;USE IEEE.STD_LOGIC_ 1164.ALL;USE IEEE.STD_LOGIC_UNSIGNE

37、D.ALL;ENTITY FFFCHECK ISPORT(CHEKF,F(xiàn)INPUT,CHOICE:IN STD_LOGIC;START, CLRTRIG FSTD,TF:IN STD_LOGIC;SEL:IN STD_LOGIC_VECTOR(2 DOWNTO 0 );OO:OUT_STD_ LOGIC_VECTOR(7 DOWNTO 0 );EEND:OUT STD_LOGIC;ENDD:OUT STD_LOGIC);END ENTITY FFFCHECK;ARCHITECTURE ART OF FFFCHECK ISCOMPONENT FIN ISPORT (CHKF ,FIN, CHOI

38、S:IN STD_ LOGIC;FOUT:OUT STD_LOG IC);END COMPONENT FIN;COMPONENT CONTRL ISPORT (FIN,START,CLR,FSD:IN STD_LOGIC;CLK1, EEND, CLK2 ,CLRC: OUT STD_LOGIC);END COMPONENT CONTRL;COMPONENT CNT ISPORT (CLK,CLR:IN STD_LOGIC;Q:OUT STD_LOGIC_VECTOR(31 DOWNTO 0 );END COMPONENT CNT;COMPONENT CONTRL2 ISPORT (FIN,

39、START, CLR:IN STD_LOGIC;ENDD, PUL : OUT STD_LOGIC);END COMPONENTC ONTRL2;COMPONENT GATE ISPORT (CLK2, RSD,CNL,PUL:IN STD-LOGIC;CLKOUT:OUT STD- LOGIC) ;END COMPONENT GATE;SIGNAL INCLK: STD_LOGIC;SIGNAL FOUT, CLRC:STD_LOGIC;SIGNAL CLKI, CLK2,CLKOUT, PUL:STD LOGIC;SIGNAL Ql, Q2: STD_LOGIC _VECTOR(31 DO

40、WNTO 0 );BEGINOO <= Q1(7 DOWNTO 0) WHEN SEL="000"ELSE Ql( 15 DOWNTO 8) WHEN SEL="001" ELSEQl (23 DOWNTO 16)WHEN SEL="010" ELSEQl(31 DOWNTO 24) WHEN SEL="011" ELSEQ2 (7 DOWNTO 0 ) WHEN SE L =" 100"ELSEQ2 (15 DOWNTO 8) WHEN SEL =" 101"ELSE

41、Q2 (23 DOWNTO 16) WHEN SEL="110"ELSEQ2 (31 DOWNTO 24 ) WHEN SEL= "111" ELSE“00000000”FENPIN: PROCESS (FSTD)ISBEGINIF( FSTD'EVENT AND FSTD='1')THENINCLK<= NOT INCLK;END IF;END PROCESSF ENPIN;FCH:FIN PORT MAP(CHKF<=CHEKF,FIN=>FINPUT,CHOIS=CHOICE,FOUT=> FOUT);CON:CONTRL PORT MAP(FIN=>FOUT,

溫馨提示

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

評(píng)論

0/150

提交評(píng)論