




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 大 學(xué) 畢 業(yè) 論 文 (設(shè) 計(jì))基于FPGA的多功能頻率計(jì)的設(shè)計(jì)學(xué) 生: 學(xué) 號(hào): 指導(dǎo)老師: 專 業(yè):通信工程 完成年月:2013年06月 (此頁封面用統(tǒng)一模板,到時(shí)會(huì)通知學(xué)生)目錄摘要3Abstract4第一章 緒論51.1 研究背景及意義51.2 論文的研究內(nèi)容及結(jié)構(gòu)安排5第二章 頻率測(cè)量原理概述72.1 開發(fā)平臺(tái)及FPGA/CPLD簡介72.1.1 Quartus II簡介72.1.2 FPGA/CPLD簡介72.2 數(shù)字頻率計(jì)工作原理概述82.3 測(cè)頻方法及誤差分析102.3.1 常用測(cè)頻方案102.3.2 等精度測(cè)頻原理112.3.3 誤差分析122.4 本章小結(jié)13第三章 等
2、精度頻率計(jì)的系統(tǒng)設(shè)計(jì)與功能仿真143.1 系統(tǒng)的總體設(shè)計(jì)143.2 信號(hào)源模塊163.2.1 預(yù)分頻163.2.2 分頻模塊173.3 按鍵控制模塊193.4 測(cè)頻控制信號(hào)模塊203.5 鎖存器213.6 計(jì)數(shù)器模塊223.7 周期模塊233.8 顯示模塊263.8.1 數(shù)據(jù)選擇器263.8.2 數(shù)碼管顯示驅(qū)動(dòng)263.9 本章小結(jié)27第四章 總體設(shè)計(jì)驗(yàn)證28第五章 總結(jié)與展望30致謝31參考文獻(xiàn)32附錄 文獻(xiàn)翻譯33英文文獻(xiàn)133英文文獻(xiàn)237譯文1 頻率調(diào)制39譯文2 振幅鍵控4346摘要數(shù)字頻率計(jì)是一種基本的測(cè)量儀器。本設(shè)計(jì)根據(jù)等精度的測(cè)量原理進(jìn)行設(shè)計(jì),克服了傳統(tǒng)的頻率計(jì)的測(cè)量精度隨被測(cè)信
3、號(hào)頻率的變動(dòng)而改變的缺點(diǎn)。等精度的測(cè)量方法在具有較高測(cè)量精度的同時(shí),在整個(gè)頻率區(qū)域保持有恒定的測(cè)試精度。本文論述了利用FPGA/CPLD進(jìn)行頻率測(cè)量技術(shù),設(shè)計(jì)了一個(gè)8位數(shù)字顯示的等精度頻率計(jì)。它采用Verilog/VHDL硬件描述語言編寫程序,在Quartus II軟件開發(fā)集成環(huán)境下進(jìn)行仿真,包括設(shè)計(jì)輸入、編譯、軟件仿真、下載和硬件仿真等全過程。軟件設(shè)計(jì)模塊分為被測(cè)信號(hào)、頻率測(cè)量、周期測(cè)量、數(shù)碼管顯示共四個(gè)模塊。硬件采用Altera公司的Cyclone II開發(fā)板EP2C8Q208C8N,系統(tǒng)時(shí)鐘為50MHZ,該頻率計(jì)的頻率測(cè)量范圍為15HZ-10MHZ。經(jīng)過仿真下載驗(yàn)證,能夠?qū)崿F(xiàn)等精度測(cè)頻率
4、和周期的功能,證明該設(shè)計(jì)方案切實(shí)可行。關(guān)鍵詞:數(shù)字頻率計(jì),F(xiàn)PGA/CPLD,Verilog/VHDL語言AbstractDigital Frequency Meter is a basic measuring instrument. According to the principle of equal precision measurement, this design overcomes the shortcomings of the traditional frequency meter measurement, whose accuracy changes with the meas
5、ured signal frequency. Methods such as precision measurements with its high accuracy, while the entire frequency region to maintain a constant precision.This article discusses frequency measurement technology using FPGA / CPLD, and completes the design of an 8-bit digital precision frequency meter.
6、It based on Verilog / VHDL description of a programming language under Quartus simulation environment. It is divided into four modules: the measured signal, frequency measurement, period measurement, digital display. Hardware design uses the development board EP2C8Q208C8N manufactured by Alteras Cyc
7、lone II. Its system clock is 50MHZ. This frequency meters frequency measurement ranges from 15HZ to 10MHZ. This design includes the whole process of input, compilation, software simulation, downloads, and hardware simulation. Precision frequency and period measuring is achieved through simulation do
8、wnload, which demonstrates that the design scheme is practicable.Key words: Digital frequency meter, FPGA/CPLD,Verilog/VHDL.第一章 緒論1.1 研究背景及意義頻率是電信號(hào)中重要的物理量,在電子、通信系統(tǒng)中,信號(hào)的頻率穩(wěn)定度決定了整個(gè)系統(tǒng)的性能的穩(wěn)定度,因此系統(tǒng)設(shè)計(jì)的重要內(nèi)容是能準(zhǔn)確測(cè)量信號(hào)的頻率。頻率計(jì)是計(jì)算機(jī)、通信設(shè)備和儀器儀表等諸多領(lǐng)域中不可缺少的測(cè)量儀器。隨著現(xiàn)代數(shù)字電子技術(shù)的進(jìn)一步發(fā)展,頻率已成為電子測(cè)量技術(shù)中最基本最常見的測(cè)量數(shù)據(jù)之一,數(shù)字頻率計(jì)及其設(shè)計(jì)也越來越
9、廣泛的受到關(guān)注。FPGA是在PAL,GAL等邏輯器件基礎(chǔ)上發(fā)展起來的新型高性能可編程邏輯器件,同以往的可編程邏輯器件相比,F(xiàn)PGA的規(guī)模較大,集成度較高,適用于高速、高密度的高端數(shù)字邏輯電路設(shè)計(jì)領(lǐng)域。傳統(tǒng)的數(shù)字頻率計(jì)一般由分離的單個(gè)元件連接而成,傳統(tǒng)數(shù)字頻率計(jì)的測(cè)量范圍、精度和速度受到的限制性比較大。單片機(jī)的發(fā)展與應(yīng)用改良了一些不利因素,但由于單片機(jī)性能本身也受到其工作頻率及內(nèi)部計(jì)數(shù)器位數(shù)等因素的影響,因此數(shù)字頻率計(jì)的穩(wěn)定性方面沒有得到突破性的進(jìn)展。隨著可編程邏輯器件FPGA技術(shù)的發(fā)展, 將大量的不同的邏輯功能集成于單個(gè)器件中,根據(jù)不同的需要提供的門數(shù)范圍從幾百門到上百萬門,從根本上解決了單片
10、機(jī)的先天性限制問題?;贔PGA的數(shù)字頻率計(jì)不僅在集成度方面遠(yuǎn)遠(yuǎn)超過了傳統(tǒng)的數(shù)字頻率計(jì),而且在基準(zhǔn)頻率及精度等外部條件允許的情況下,根據(jù)不同需要對(duì)精度和頻率范圍,只需對(duì)硬件描述語言進(jìn)行一定的改動(dòng),即可達(dá)到更改系統(tǒng)的精度和頻率范圍的目的。這種對(duì)硬件描述語言的改變很少涉及到硬件電路的大范圍改動(dòng),因此降低了系統(tǒng)的整體造價(jià)。在現(xiàn)代數(shù)字電路設(shè)計(jì)中,采用FPGA結(jié)合硬件描述語言可以設(shè)計(jì)出各種復(fù)雜的時(shí)序和邏輯電路,具有設(shè)計(jì)靈活、可編程和高性能等優(yōu)點(diǎn)。本文將介紹一種以FPGA為控制核心,根據(jù)等精度測(cè)頻原理,能夠?qū)崿F(xiàn)顯示被測(cè)頻率信號(hào)頻率和周期的數(shù)字頻率計(jì)的設(shè)計(jì)。1.2 論文的研究內(nèi)容及結(jié)構(gòu)安排 本文主要內(nèi)容如下
11、:第一章,為本設(shè)計(jì)的緒論,交代了數(shù)字頻率計(jì)的研究背景及現(xiàn)狀;另介紹了本論文的研究內(nèi)容及結(jié)構(gòu)安排。第二章,介紹了數(shù)字頻率計(jì)的工作原理,對(duì)比了直接測(cè)頻法、直接測(cè)周法實(shí)現(xiàn)的頻率計(jì)的優(yōu)缺點(diǎn),并介紹等精度頻率測(cè)量的理論基礎(chǔ)和設(shè)計(jì)方案。第三章,等精度頻率計(jì)FPGA的系統(tǒng)設(shè)計(jì)。開發(fā)板EP2C8Q208C8N介紹,頻率計(jì)總體設(shè)計(jì),信號(hào)源模塊,計(jì)數(shù)器模塊,周期模塊,顯示模塊設(shè)計(jì)過程,并且給出它們的封裝圖形和仿真結(jié)果。第四章,總體設(shè)計(jì)驗(yàn)證。通過把設(shè)計(jì)下載到開發(fā)板上,并實(shí)際用于頻率周期測(cè)量,從而發(fā)現(xiàn)設(shè)計(jì)的不足和錯(cuò)誤之處并加以改正。第五章,本次畢業(yè)設(shè)計(jì)的總結(jié)與展望。第二章 頻率測(cè)量原理概述2.1 開發(fā)平臺(tái)及FPGA/
12、CPLD簡介2.1.1 Quartus II簡介Quartus II是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界上最大的可編程邏輯器件供應(yīng)商之一。它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。Altera的Quartus II提供了完整的多平臺(tái)設(shè)計(jì)環(huán)境,能滿足各種特定設(shè)計(jì)的需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計(jì)的綜合性環(huán)境和SOPC開發(fā)的基本設(shè)計(jì)工具,并為Altera DSP開發(fā)包進(jìn)行系統(tǒng)模型設(shè)計(jì)提供了集成組合環(huán)境。Quartus II設(shè)計(jì)工具完全支持VHDL、Verilog的設(shè)計(jì)流程,其內(nèi)部嵌有VHDL、Verilog邏輯綜
13、合器。Quartus II也可利用第三方的綜合工具。同樣,Quartus II具備仿真功能,同時(shí)也支持第三方的仿真工具,如ModelSim。此外,Quartus II與MATLAB和DSP Builder結(jié)合,可以進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā)和數(shù)字通信模塊的開發(fā)。Quartus II編譯器支持的硬件描述語言有VHDL、Verilog HDL及AHDL(Altera HDL)。Quartus II支持層次化設(shè)計(jì),可以在一個(gè)新的編輯輸入環(huán)境中對(duì)使用不同輸入設(shè)計(jì)方式完成的模塊(元件)進(jìn)行調(diào)用,從而解決了原理圖與HDL混合輸入設(shè)計(jì)的問題。在設(shè)計(jì)輸入之后,Quartus II的編譯器將給出設(shè)計(jì)輸入的
14、錯(cuò)誤報(bào)告。QuartusII作為目前CPLD/FPGA開發(fā)工具理想的綜合、仿真軟件,具有許多優(yōu)良的特性。2.1.2 FPGA/CPLD簡介FPGA和CPLD都是高密度現(xiàn)場可編程邏輯芯片,都能夠?qū)⒋罅康倪壿嫻δ芗捎谝粋€(gè)單片集成電路中,其集成度已發(fā)展到現(xiàn)在的幾百萬門。復(fù)雜可編程邏輯器件CPLD是由PAL ( Programmable Array Logic,可編程數(shù)組邏輯)或GAL ( Generic Array Logic,通用數(shù)組邏輯)發(fā)展而來的。它采用全局金屬互連導(dǎo)線,因而具有較大的延時(shí)可預(yù)測(cè)性,易于控制時(shí)序邏輯;但功耗比較大?,F(xiàn)場可編程門陣列(FPGA)既有門陣列的高邏輯密度和通用性,又
15、有可編程邏輯器件的用戶可編程特性。FPGA通常由布線資源分隔的可編程邏輯單元(或宏單元)構(gòu)成數(shù)組,又由可編程I/O單元圍繞數(shù)組構(gòu)成整個(gè)芯片。其內(nèi)部資源是分段互聯(lián)的,因而延時(shí)不可預(yù)測(cè),只有編程完畢后才能實(shí)際測(cè)量。FPGA/CPLD的主要優(yōu)點(diǎn)如下:編程方式簡便、先進(jìn)。FPGA/CPLD產(chǎn)品越來越多地采用了先進(jìn)的 IEEE1149.1邊界掃描測(cè)試(BST)技術(shù)和 ISP(在系統(tǒng)配置編程方式)。在+5 V工作電平下可隨時(shí)對(duì)正在工作的系統(tǒng)上的 FPGA/CPLD進(jìn)行全部或部分地在系統(tǒng)編程,并可進(jìn)行多芯片串行編程,對(duì)于SRAM結(jié)構(gòu)的FPGA,其下載編程次數(shù)幾乎沒有限制。這種編程方式可輕易地實(shí)現(xiàn)紅外編程、超
16、聲編程或無線編程,或通過電話線遠(yuǎn)程在線編程。這些功能在工控、智能儀器儀表、通訊和軍事上有特殊用途。高速。FPGA/CPLD的時(shí)鐘延遲可達(dá)納秒級(jí),結(jié)合其并行工作方式,在超高速應(yīng)用領(lǐng)域和實(shí)時(shí)測(cè)控方面有非常廣闊的應(yīng)用前景。高可靠性。FPGA/CPLD的高可靠性還表現(xiàn)在幾乎可將整個(gè)系統(tǒng)下載于同一芯片中,從而大大縮小了體積,易于管理和屏蔽。開發(fā)工具和設(shè)計(jì)語言標(biāo)準(zhǔn)化,開發(fā)周期短。由于FPGA/CPLD的集成規(guī)模非常大,集成度可達(dá)數(shù)百萬門。因此,F(xiàn)PGA/ CPLD的設(shè)計(jì)開發(fā)必須利用功能強(qiáng)大的EDA工具,通過符合國際標(biāo)準(zhǔn)的硬件描述語言(如VHDL或 Verilog-HDL)來進(jìn)行電子系統(tǒng)設(shè)計(jì)和產(chǎn)品開發(fā)。由于
17、開發(fā)工具的通用性、設(shè)計(jì)語言的標(biāo)準(zhǔn)化以及設(shè)計(jì)過程幾乎與所用的FPGA/ CPLD器件的硬件結(jié)構(gòu)沒有關(guān)系,所以設(shè)計(jì)成功的各類邏輯功能塊軟件有很好的兼容性和可移植性,它幾乎可用于任何型號(hào)的FPGA/ CPLD中,由此還可以以知識(shí)產(chǎn)權(quán)的方式得到確認(rèn),并被注冊(cè)成為所謂的IP芯核,從而使得片上系統(tǒng)的產(chǎn)品設(shè)計(jì)效率大幅度提高。由于相應(yīng)的EDA軟件功能完善而強(qiáng)大,仿真方式便捷而實(shí)時(shí),開發(fā)過程形象而直觀,兼之硬件因素涉及甚少,因此可以在很短時(shí)間內(nèi)完成十分復(fù)雜的系統(tǒng)設(shè)計(jì),這正是產(chǎn)品快速進(jìn)入市場的最寶貴的特征。功能強(qiáng)大,應(yīng)用廣闊。目前,F(xiàn)PGA/ CPLD可供選擇范圍很大,可根據(jù)不同的應(yīng)用選用不同容量的芯片。2.2
18、數(shù)字頻率計(jì)工作原理概述 頻率計(jì)又稱頻率計(jì)數(shù)器,是一種專門對(duì)被測(cè)信號(hào)頻率進(jìn)行測(cè)量的電子測(cè)量儀器。其最基本的工作原理為:當(dāng)被測(cè)信號(hào)在特定時(shí)間段T內(nèi)的周期個(gè)數(shù)為N時(shí),則可以得出被測(cè)信號(hào)的頻率f=N/T 。 本設(shè)計(jì)中的數(shù)字頻率計(jì)的設(shè)計(jì)原理實(shí)際上是測(cè)量被測(cè)信號(hào)在單位時(shí)間(1s)內(nèi)的周期數(shù)。這種方法免去了實(shí)際測(cè)量前的預(yù)測(cè),節(jié)省了劃分頻段所用的時(shí)間,克服了原來高頻段采用測(cè)頻模式而低頻段采用測(cè)周期模式的測(cè)量方法中存在換擋而導(dǎo)致的測(cè)量速度慢的缺點(diǎn)。在設(shè)計(jì)中用一個(gè)標(biāo)準(zhǔn)的基準(zhǔn)時(shí)鐘,在單位時(shí)間(1s)里對(duì)被測(cè)信號(hào)的脈沖數(shù)進(jìn)行計(jì)數(shù),計(jì)數(shù)結(jié)果即為信號(hào)的頻率。但由于閘門信號(hào)的起始和結(jié)束時(shí)刻對(duì)于信號(hào)來說是隨機(jī)的,這就會(huì)產(chǎn)生一
19、個(gè)脈沖周期的量化誤差,它直接影響頻率測(cè)量的精度。測(cè)量結(jié)果的準(zhǔn)確度()分析:設(shè)待測(cè)信號(hào)周期為Tx,頻率為Fx,當(dāng)測(cè)量時(shí)間為T=1s時(shí),則測(cè)量準(zhǔn)確度為=Tx/T=1/Fx。由上式可知直接測(cè)頻法的準(zhǔn)確度與待測(cè)信號(hào)頻率有關(guān):當(dāng)待測(cè)信號(hào)頻率較高時(shí),測(cè)量準(zhǔn)確度較高;反之亦然。因此直接測(cè)頻法只適合測(cè)量頻率較高的待測(cè)信號(hào),測(cè)量精度隨著待測(cè)信號(hào)頻率的變化而變化,不能滿足在整個(gè)測(cè)量頻段內(nèi)的測(cè)量精度保持不變的要求。為克服低頻段測(cè)量的誤差偏大的問題,設(shè)計(jì)中采用D觸發(fā)器對(duì)門控信號(hào)和被測(cè)信號(hào)對(duì)計(jì)數(shù)器的使能信號(hào)進(jìn)行調(diào)整,使得門控信號(hào)即計(jì)數(shù)器的工作時(shí)間不是固定值,其值恰好等于待測(cè)信號(hào)的完整周期數(shù),大大提高了準(zhǔn)確度的穩(wěn)定性,也
20、就是等精度的關(guān)鍵。當(dāng)門控信號(hào)為1時(shí),使能信號(hào)并不為1,只有被測(cè)信號(hào)的上升沿到來時(shí),使能端才開始發(fā)送有效信號(hào),計(jì)數(shù)器開始計(jì)數(shù)。當(dāng)門控信號(hào)變?yōu)?時(shí),使能信號(hào)并不是立即改變,而是當(dāng)被測(cè)信號(hào)的下一個(gè)上升沿到來時(shí)才變?yōu)?,計(jì)數(shù)器停止計(jì)數(shù)。因此測(cè)量誤差最多為一個(gè)標(biāo)準(zhǔn)時(shí)鐘周期,從而實(shí)現(xiàn)了等精度頻率計(jì)的設(shè)計(jì)。下面介紹如何計(jì)算每秒鐘內(nèi)待測(cè)信號(hào)脈沖個(gè)數(shù)。首先計(jì)數(shù)使能信號(hào)TSTEN產(chǎn)生一個(gè)1秒脈寬的周期信號(hào),并對(duì)頻率計(jì)計(jì)數(shù)部分的8個(gè)十進(jìn)制計(jì)數(shù)器cnt10的ENA使能端進(jìn)行同步控制。當(dāng)TSTEN為高電平時(shí),允許計(jì)數(shù);低電平時(shí),停止計(jì)數(shù),并保持其所計(jì)數(shù)值。當(dāng)TSETEN為低電平時(shí),需要一個(gè)鎖存信號(hào)LOAD的上升沿將計(jì)數(shù)
21、器在前1s計(jì)數(shù)所得的值鎖存進(jìn)32位鎖存器REG32B中,并由數(shù)碼管譯碼顯示出計(jì)數(shù)值。鎖存信號(hào)之后,再由清零信號(hào)CLR_CNT對(duì)計(jì)數(shù)器進(jìn)行清零,為下一秒鐘的計(jì)數(shù)做準(zhǔn)備。當(dāng)系統(tǒng)正常工作時(shí),首先將系統(tǒng)時(shí)鐘進(jìn)行預(yù)分頻產(chǎn)生10MHZ的脈沖信號(hào),在對(duì)10MHZ進(jìn)行分頻提供1 Hz的輸入信號(hào),經(jīng)過測(cè)頻控制信號(hào)發(fā)生器進(jìn)行信號(hào)的變換,產(chǎn)生計(jì)數(shù)使能信號(hào)(頻率為0.5HZ,高電平持續(xù)時(shí)間即門控信號(hào)為1S),鎖存信號(hào),清零信號(hào)。待測(cè)信號(hào)與門控信號(hào)通過D觸發(fā)器產(chǎn)生實(shí)際的門控信號(hào),送入計(jì)數(shù)模塊使能端,控制計(jì)數(shù)模塊對(duì)輸入的待測(cè)信號(hào)進(jìn)行計(jì)數(shù),再將計(jì)數(shù)結(jié)果送入鎖存器中,保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅(qū)動(dòng)將二進(jìn)制表示的計(jì)數(shù)結(jié)
22、果轉(zhuǎn)換成相應(yīng)的能夠在數(shù)碼顯示管上顯示的十進(jìn)制結(jié)果。周期部分即將鎖存器中的數(shù)據(jù)送入32位除法器division中,用109除以計(jì)數(shù)結(jié)果,得到周期結(jié)果,單位為ns;再將二進(jìn)制的周期結(jié)果在B_BCD中轉(zhuǎn)化為8421BCD碼,通過按鍵控制數(shù)碼管顯示頻率或者周期,在數(shù)碼顯示管上可以看到相應(yīng)結(jié)果。2.3 測(cè)頻方法及誤差分析2.3.1 常用測(cè)頻方案(1) 頻率測(cè)量法:在一定的時(shí)間間隔T內(nèi),對(duì)輸入的待測(cè)信號(hào)脈沖計(jì)數(shù)為N,則信號(hào)的頻率為f=N/T 。這種方法適合于高頻測(cè)量,信號(hào)的頻率越高,則相對(duì)誤差越小。其原理如圖2.1所示。但在這種測(cè)量方法中由于閘門信號(hào)與被測(cè)信號(hào)不同步,會(huì)出現(xiàn) 1個(gè)被測(cè)信號(hào)脈沖個(gè)數(shù)的誤差。當(dāng)
23、被測(cè)信號(hào)頻率較低時(shí),這種測(cè)量誤差將導(dǎo)致測(cè)量精度大幅下降。圖2.1 頻率法測(cè)量原理(2)周期測(cè)量法:這種方法是計(jì)量在被測(cè)信號(hào)一個(gè)周期內(nèi)頻率為 fo的標(biāo)準(zhǔn)信號(hào)的脈沖數(shù) N來測(cè)量被測(cè)信號(hào)的頻率,f=fo/N 。若被測(cè)信號(hào)的周期越長(頻率越低),測(cè)得的標(biāo)準(zhǔn)信號(hào)的脈沖數(shù)N越大,則相對(duì)誤差越小。其原理如圖2.2所示。當(dāng)頻率增大時(shí),由于被測(cè)信號(hào)的測(cè)量周期較短,根據(jù)周期測(cè)量法的測(cè)頻原理可知其測(cè)量精度將大幅下降。圖2.2 周期法測(cè)量原理這兩種方法分別適合高頻和低頻,頻率測(cè)量法適用于高頻段,周期測(cè)量法適用于低頻段。在整個(gè)測(cè)量域內(nèi)測(cè)量精度會(huì)有所不同,因此要達(dá)到等精度的要求,需要在此基礎(chǔ)上進(jìn)行改進(jìn)。2.3.2 等精度
24、測(cè)頻原理等精度頻率測(cè)量法又稱多周期同步測(cè)頻法,它的最大特點(diǎn)是測(cè)量的實(shí)際門控時(shí)間不是一個(gè)固定值,而是一個(gè)與被測(cè)信號(hào)有關(guān)的值,剛好等于被測(cè)信號(hào)的整數(shù)倍。由D觸發(fā)器來調(diào)節(jié)被測(cè)信號(hào)與門控信號(hào)的同步關(guān)系。在測(cè)量過程中,有兩個(gè)計(jì)數(shù)器分別對(duì)標(biāo)準(zhǔn)信號(hào)和被測(cè)信號(hào)同時(shí)計(jì)數(shù)。首先給出閘門開啟信號(hào)(預(yù)置閘門上升沿)送入D觸發(fā)器,在D觸發(fā)器內(nèi)部,等到被測(cè)信號(hào)的上升沿到來時(shí),實(shí)際閘門信號(hào)變?yōu)楦唠娖剑蝗缓箢A(yù)置閘門關(guān)閉信號(hào)(下降沿)到時(shí),實(shí)際閘門信號(hào)也不立即變?yōu)榈碗娖?,而是等到被測(cè)信號(hào)的上升沿到來時(shí)才跳轉(zhuǎn)為低電平。等精度測(cè)頻的實(shí)現(xiàn)方法可以用圖2.3來簡化說明。其中CNT1和CNT2是兩個(gè)可控計(jì)數(shù)器,標(biāo)準(zhǔn)信號(hào)頻率從CNT1的時(shí)
25、鐘輸入端輸入,被測(cè)信號(hào)從CNT2的時(shí)鐘輸入端輸入。圖2.3 等精度測(cè)頻實(shí)現(xiàn)方法每個(gè)計(jì)數(shù)器的ENA是使能輸入端,用來控制計(jì)數(shù)器計(jì)數(shù),CLR是清零端。測(cè)量開始前,先進(jìn)行初始化操作,發(fā)送一個(gè)清零信號(hào),使兩個(gè)計(jì)數(shù)器和D觸發(fā)器清零,同時(shí)通過計(jì)數(shù)使能端禁止計(jì)數(shù)器工作。然后當(dāng)預(yù)置門控信號(hào)GATE為高電平。這時(shí),D觸發(fā)器要一直等到被測(cè)信號(hào)的上升沿通過時(shí)Q端才能被置1,同時(shí),計(jì)數(shù)器CNT1和CNT2的使能信號(hào)有效,計(jì)數(shù)器開始工作。當(dāng)門控信號(hào)持續(xù)T時(shí)間后被置為低電平,但此時(shí)兩個(gè)計(jì)數(shù)器并沒有停止工作,一直要等到隨后的被測(cè)信號(hào)上升沿到來時(shí),其使能端變?yōu)榈碗娖?,停止?jì)數(shù)。其測(cè)頻原理波形如圖2.4所示。可以看出,實(shí)際閘門
26、時(shí)間t與預(yù)置閘門時(shí)間t1并不嚴(yán)格相等,但差值不超過被測(cè)信號(hào)的一個(gè)周期。圖2.4 等精度測(cè)頻原理波形圖設(shè)在一次預(yù)置門控信號(hào)時(shí)間t中,對(duì)被測(cè)信號(hào)的計(jì)數(shù)值為NX,對(duì)標(biāo)準(zhǔn)信號(hào)的計(jì)數(shù)值為NS,則由FX/NX=FS/NS,可得被測(cè)信號(hào)的頻率為FX=NX/NS*FS。本實(shí)驗(yàn)中t=t1=1s,則有NS= FS,由此可以得出FX=NX。2.3.3 誤差分析設(shè)在一次實(shí)際閘門時(shí)間t中計(jì)數(shù)器對(duì)被測(cè)信號(hào)的計(jì)數(shù)值為Nx,對(duì)標(biāo)準(zhǔn)信號(hào)的計(jì)數(shù)值為Ns。標(biāo)準(zhǔn)信號(hào)的頻率為fs,則被測(cè)信號(hào)的頻率如式(2-1): fx=(Nx/Ns)fs (2-1)由式1-1可知,若忽略標(biāo)頻fs的誤差,則等精度測(cè)頻可能產(chǎn)生的相對(duì)誤差如式(2-2):
27、=(|fxe-fx|/fxe)100% (2-2)其中fxe為被測(cè)信號(hào)頻率的準(zhǔn)確值。在測(cè)量中,由于fx計(jì)數(shù)的起停時(shí)間都是由該信號(hào)的上升沿觸發(fā)的,在閘門時(shí)間t內(nèi)對(duì)fx的計(jì)數(shù)Nx無誤差(t=NxTx);對(duì)fs的計(jì)數(shù)Ns最多相差一個(gè)數(shù)的誤差,即|Ns|1,其測(cè)量頻率如式(2-3):fxe=Nx/(Ns+Ns)fs (2-3)將式(2-1)和(2-3)代入式(2-2),并整理如式(2-4):=|Ns|/Ns1/Ns=1/(tfs) (2-4)由上式可以看出,測(cè)量頻率的相對(duì)誤差與被測(cè)信號(hào)頻率的大小無關(guān),僅與閘門時(shí)間和標(biāo)準(zhǔn)信號(hào)頻率有關(guān),即實(shí)現(xiàn)了整個(gè)測(cè)試頻段的等精度測(cè)量。閘門時(shí)間越長,標(biāo)準(zhǔn)頻率越高,測(cè)頻的相
28、對(duì)誤差就越小。標(biāo)準(zhǔn)頻率可由穩(wěn)定度好、精度高的高頻率晶體振蕩器產(chǎn)生,在保證測(cè)量精度不變的前提下,提高標(biāo)準(zhǔn)信號(hào)頻率,可使閘門時(shí)間縮短,即提高測(cè)試速度。2.4 本章小結(jié)本章先具體說明了頻率計(jì)的基本工作原理,介紹了頻率測(cè)量的原理和誤差的分析,通過對(duì)頻率測(cè)量法與周期測(cè)量法及等精度測(cè)量法的優(yōu)缺點(diǎn)對(duì)比,對(duì)等精度頻率計(jì)的實(shí)現(xiàn)提供了理論依據(jù)。等精度測(cè)頻法不僅避免了傳統(tǒng)測(cè)頻方法在計(jì)數(shù)過程中產(chǎn)生的1的誤差,而且實(shí)現(xiàn)了在整個(gè)測(cè)量頻域內(nèi)的等精度。由于等精度測(cè)頻方法具有以上優(yōu)點(diǎn),所以確定為本次設(shè)計(jì)的測(cè)頻的實(shí)現(xiàn)方法。第三章 等精度頻率計(jì)的系統(tǒng)設(shè)計(jì)與功能仿真3.1 系統(tǒng)的總體設(shè)計(jì)首先對(duì)EP2C8Q208C8N開發(fā)板提供的50
29、MHZ的晶振進(jìn)行預(yù)分頻,獲得10MHZ的信號(hào),再把10MHZ的信號(hào)在分頻模塊產(chǎn)生不同頻率的方波,通過按鍵控制被測(cè)信號(hào)的頻率變化。由控制模塊產(chǎn)生的計(jì)數(shù)使能信號(hào)testen和清零信號(hào)clr對(duì)計(jì)數(shù)模塊進(jìn)行控制,而由其產(chǎn)生的鎖存信號(hào)load對(duì)鎖存模塊進(jìn)行控制,為了達(dá)到等精度的要求,testen,load,clr信號(hào)分別通過D觸發(fā)器與被測(cè)信號(hào)整合再輸入相應(yīng)端口。一旦計(jì)數(shù)使能信號(hào)為高電平,并且時(shí)鐘上升沿到來,計(jì)數(shù)器便開始正常計(jì)數(shù),清零信號(hào)到來則將計(jì)數(shù)器計(jì)數(shù)清零,而當(dāng)鎖存信號(hào)為高電平時(shí),數(shù)據(jù)便被鎖存器鎖存,然后將鎖存的數(shù)據(jù)輸出到顯示模塊和周期模塊進(jìn)行運(yùn)算,數(shù)據(jù)鎖存保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼部分將二進(jìn)
30、制表示的計(jì)數(shù)結(jié)果通過B_BCD轉(zhuǎn)換成8421BCD在數(shù)碼顯示管上顯示十進(jìn)制結(jié)果。通過按鍵控制在數(shù)碼顯示管上可以看到相應(yīng)的頻率和周期。數(shù)字頻率計(jì)的原理框圖如圖3.1所示。主要由6個(gè)部分組成,分別是:信號(hào)源模塊、控制模塊、計(jì)數(shù)模塊、鎖存器模塊、周期模塊和顯示器模塊。圖3.1 數(shù)字頻率計(jì)的原理框圖根據(jù)數(shù)字頻率計(jì)的系統(tǒng)原理,cnt為控制信號(hào)發(fā)生器。testctl的計(jì)數(shù)使能信號(hào)testen能產(chǎn)生一個(gè)1 s寬的周期信號(hào),并通過D觸發(fā)器后對(duì)頻率計(jì)的每一計(jì)數(shù)器Cnt10的ENA使能端進(jìn)行同步控制:當(dāng)testen高電平時(shí)允許計(jì)數(shù)、低電平時(shí)停止計(jì)數(shù)。周期模塊為一個(gè)32位除法器division,與B_BCD相連將除
31、法器的二進(jìn)制結(jié)果轉(zhuǎn)化成8421BCD碼。reg32b為鎖存器。在信號(hào)load的上升沿時(shí),立即對(duì)模塊的輸入口的數(shù)據(jù)鎖存到reg32b的內(nèi)部,并由reg32b的輸出端輸出,然后七段譯碼器可以譯碼輸出。使用鎖存器的優(yōu)點(diǎn)是可以穩(wěn)定顯示數(shù)據(jù),不會(huì)由于周期性的清零信號(hào)而不斷閃爍。Cnt10為十進(jìn)制計(jì)數(shù)器。有一時(shí)鐘使能輸入端ENA,用于鎖定計(jì)數(shù)值。當(dāng)高電平時(shí)允許計(jì)數(shù),低電平時(shí)禁止計(jì)數(shù)。將八個(gè)十進(jìn)制計(jì)數(shù)器Cnt10級(jí)聯(lián)起來實(shí)現(xiàn)8 位十進(jìn)制計(jì)數(shù)功能2,7 。display為數(shù)碼管顯示驅(qū)動(dòng),可以將頻率計(jì)數(shù)的結(jié)果和周期的計(jì)算結(jié)果在數(shù)碼管上顯示的相對(duì)應(yīng)的阿拉伯?dāng)?shù)字,便于讀取測(cè)量的結(jié)果。為了實(shí)現(xiàn)系統(tǒng)功能,測(cè)頻控制信號(hào)發(fā)
32、生器testctl、計(jì)數(shù)器Cnt10、鎖存器reg32b存在一個(gè)工作時(shí)序的問題,設(shè)計(jì)時(shí)需要綜合考慮。8位數(shù)字頻率計(jì)的頂層框圖如圖3.2。圖3.2 等精度頻率計(jì)頂層圖形設(shè)計(jì)實(shí)現(xiàn)包括信號(hào)源模塊(fep10,cnt1hz,fep)、頻率計(jì)模塊、周期模塊(division、B_BCD)和顯示模塊(smg)四大模塊。除此之外,在本設(shè)計(jì)中還加入了按鍵功能:分別用兩個(gè)獨(dú)立按鍵控制信號(hào)源模塊的待測(cè)信號(hào)頻率的加減,另一個(gè)獨(dú)立按鍵控制數(shù)碼管顯示頻率/周期。下面分別介紹四個(gè)模塊的結(jié)構(gòu)和實(shí)現(xiàn)方法。3.2 信號(hào)源模塊信號(hào)源模塊主要包括:分頻模塊fep10,cnt1hz,fep三個(gè)功能模塊。fep10功能為產(chǎn)生10MHZ
33、的時(shí)鐘,cnt1hz為產(chǎn)生1hz的時(shí)鐘,fep由按鍵控制輸出頻率的加減。信號(hào)源模塊組成如圖3.3所示。圖3.3 信號(hào)源模塊3.2.1 預(yù)分頻fep10的封裝圖如3.4所示,圖中CLKIN為接入的50MHZ信號(hào),圖中CLKOUT為接到CNT1hz的CLK的10MHZ的信號(hào)。圖3.4 預(yù)分頻10MHZ將50MHZ的系統(tǒng)時(shí)鐘產(chǎn)生10MHz 的門控信號(hào)和待測(cè)的定頻信號(hào),而對(duì)輸入系統(tǒng)時(shí)鐘clk(50MHz)進(jìn)行分頻的模塊,設(shè)計(jì)源代碼fep10.v對(duì)輸入系統(tǒng)時(shí)鐘clk(50MHz)進(jìn)行5分頻產(chǎn)生10MHz 信號(hào)。fep10的工作時(shí)序仿真圖如圖3.5所示。圖3.5 fep10功能仿真從fep10的工作時(shí)序仿
34、真圖可以看出:由系統(tǒng)時(shí)鐘提供的50MHz的輸入信號(hào),經(jīng)過信號(hào)源模塊,通過5分頻產(chǎn)生10MHZ的時(shí)鐘信號(hào),達(dá)到了設(shè)計(jì)所需的預(yù)期效果。3.2.2 分頻模塊CNT1HZ, FEP的封裝圖如圖3.6,圖中CLK為fep10輸出的10MHZ信號(hào),freq1為輸出給控制信號(hào)發(fā)生器的1HZ信號(hào), feping作為待測(cè)信號(hào)。圖3.6 cnt1hz,fep封裝圖Fep功能為將10MHZ的輸入頻率分別進(jìn)行21分頻(產(chǎn)生5mHZ的輸出頻freq5m)、22分頻(產(chǎn)生2500KHZ的輸出頻freq2500k)、23分頻(產(chǎn)生1250KHZ的輸出頻率freq1250k)、24分頻(產(chǎn)生625000HZ的輸出頻freq6
35、25000)、25 分頻(產(chǎn)生312500HZ的輸出頻freq312500)、26分頻(產(chǎn)生156250HZ的輸出頻freq156250)、27分頻(產(chǎn)生78125HZ的輸出頻率freq78125)、 28分頻(產(chǎn)生39063HZ的輸出頻freq39063)、29分頻(產(chǎn)生19531HZ的輸出頻率freq19531)、 210分頻(產(chǎn)生9767HZ的輸出頻freq9767)、211分頻(產(chǎn)生4882HZ的輸出頻率freq4882)、212分頻(產(chǎn)生2441HZ的輸出頻freq2441)、213分頻(產(chǎn)生1220HZ的輸出頻率freq1220)、214分頻(產(chǎn)生610HZ的輸出頻率freq610
36、)、215分頻(產(chǎn)生305HZ的輸出頻率freq305)、216分頻(產(chǎn)生153HZ的輸出頻率freq153)、217分頻(產(chǎn)生76HZ的輸出頻率freq76)、218分頻(產(chǎn)生38HZ的輸出頻率freq38)、219分頻(產(chǎn)生19HZ的輸出頻率freq19) 、220分頻(產(chǎn)生10HZ的輸出頻率freq10)。Cnt1hz將輸入的10MHZ進(jìn)行223分頻(產(chǎn)生1HZ的輸出頻率freq1),輸出1hz的信號(hào),用于控制信號(hào)發(fā)生器的時(shí)鐘輸入。分頻模塊時(shí)序仿真如圖3.7所示。圖3.7 分頻模塊功能仿真在分頻模塊的仿真中,當(dāng)up , down值為0時(shí),fep的輸出端feping輸出的信號(hào)為輸入的10M
37、HZ。在本次實(shí)驗(yàn)中up,down由兩個(gè)獨(dú)立按鍵控制,中間變量num初始值為0,up為高電平時(shí),num值加一;down為高電平時(shí),num值減一。當(dāng)num=0時(shí), feping輸出頻率為10MHZ。num增加,依次輸出既定頻率的信號(hào)。3.3 按鍵控制模塊本實(shí)驗(yàn)中通過兩個(gè)獨(dú)立按鍵控制信號(hào)源待測(cè)頻率的加減,一個(gè)獨(dú)立按鍵控制周期和頻率的顯示。封裝圖如3.8所示。圖3.8 按鍵模塊當(dāng)按下按鍵key1時(shí),信號(hào)源模塊輸出信號(hào)feping的頻率遞增;當(dāng)按下按鍵key2時(shí),信號(hào)源輸出信號(hào)feping頻率遞減。Key3控制數(shù)據(jù)選擇器mux_num,系統(tǒng)開始工作,數(shù)碼管顯示器上沒有數(shù)據(jù)顯示,當(dāng)按下key3則顯示頻率,
38、再按下key3顯示周期,如此交替變換。按鍵開關(guān)是各種電子設(shè)備不可或缺的人機(jī)接口。在實(shí)際應(yīng)用中,很大一部分的按鍵是機(jī)械按鍵。在機(jī)械按鍵的觸點(diǎn)閉合和斷開時(shí),都會(huì)產(chǎn)生抖動(dòng),為了保證系統(tǒng)能正確識(shí)別按鍵的開關(guān),就必須對(duì)按鍵的抖動(dòng)進(jìn)行處理。在系統(tǒng)設(shè)計(jì)中,有各種各樣的消除按鍵抖動(dòng)的設(shè)計(jì)方法,硬件電路和軟件設(shè)計(jì)都很成熟。按鍵在按下時(shí)會(huì)產(chǎn)生抖動(dòng),釋放時(shí)也會(huì)產(chǎn)生抖動(dòng),抖動(dòng)時(shí)間一般為20ms左右。按鍵消抖是為了避免在按鍵按下或是抬起時(shí)電平劇烈抖動(dòng)帶來的影響。一般來說,按鍵消抖的方法是不斷檢測(cè)按鍵值,直到按鍵值穩(wěn)定。實(shí)現(xiàn)方法:假設(shè)未按鍵時(shí)輸入1,按鍵后輸入為0,抖動(dòng)時(shí)不定??梢宰鲆韵聶z測(cè):檢測(cè)到按鍵輸入為0之后,延時(shí)
39、20ms,再次檢測(cè),如果按鍵還為0,那么就認(rèn)為有按鍵輸入。延時(shí)的20ms恰好避開了抖動(dòng)期。按鍵消抖能使最終的顯示結(jié)果更穩(wěn)定。3.4 測(cè)頻控制信號(hào)模塊測(cè)頻控制產(chǎn)生器testctl,D觸發(fā)器如圖3.9所示。圖中CLK接CNT的FREQ1的1HZ的信號(hào),TSTEN為計(jì)數(shù)允許信號(hào),接計(jì)數(shù)器CNT10的ENA,CLR_CNT信號(hào)用于在每次測(cè)量開始時(shí),對(duì)計(jì)數(shù)器進(jìn)行復(fù)位,接計(jì)數(shù)器CNT10的CLR,LOAD接鎖存器的LOAD。圖3.9 測(cè)頻控制產(chǎn)生器testctl,D觸發(fā)器控制模塊的作用是產(chǎn)生測(cè)頻所需要的各種控制信號(hào)??刂菩盘?hào)的標(biāo)準(zhǔn)輸入時(shí)鐘為1HZ,每兩個(gè)時(shí)鐘周期進(jìn)行一次頻率測(cè)量。該模塊產(chǎn)生的3個(gè)控制信號(hào),
40、分別為TSTEN,LOAD,CLR_CNT。CLR_CNT信號(hào)用于在每次測(cè)量開始時(shí),對(duì)計(jì)數(shù)器進(jìn)行復(fù)位,以清除上次測(cè)量的結(jié)果,該復(fù)位信號(hào)高電平有效,持續(xù)半個(gè)時(shí)鐘周期的時(shí)間。TSTEN為計(jì)數(shù)允許信號(hào),在TSTEN信號(hào)的上升沿時(shí)刻計(jì)數(shù)模塊開始對(duì)輸入信號(hào)的頻率進(jìn)行測(cè)量,測(cè)量時(shí)間恰為一個(gè)時(shí)鐘周期(正好為單位時(shí)間1s),在此時(shí)間里被測(cè)信號(hào)的脈沖數(shù)進(jìn)行計(jì)數(shù),即為信號(hào)的頻率。然后將值鎖存,并送到數(shù)碼管顯示出來。設(shè)置鎖存器的好處是使顯示的數(shù)據(jù)穩(wěn)定,不會(huì)由于周期性的清零信號(hào)而不斷閃爍。在每一次測(cè)量開始時(shí),都必須重新對(duì)計(jì)數(shù)器清0。由于本次設(shè)計(jì)的重點(diǎn)是等精度頻率計(jì)的實(shí)現(xiàn),在等精度原理介紹的時(shí)候有強(qiáng)調(diào)過等精度的關(guān)鍵是:
41、門控信號(hào)不是一個(gè)固定的值,而是與被測(cè)信號(hào)相關(guān)的,恰好是被測(cè)信號(hào)的整數(shù)倍。所以在設(shè)計(jì)的過程中加入了D觸發(fā)器,把測(cè)頻控制信號(hào)產(chǎn)生器testctl的輸出信號(hào)clr_cnt,load,tsten分別通過D觸發(fā)器再分別與計(jì)數(shù)器,鎖存器相連。確保本設(shè)計(jì)的頻率計(jì)是等精度頻率計(jì)。測(cè)頻控制信號(hào)發(fā)生器TESTCTL的工作時(shí)序圖,控制模塊的幾個(gè)控制信號(hào)的時(shí)序關(guān)系圖如圖3.10所示。圖3.10 TESTCTL,D觸發(fā)器的時(shí)序仿真圖從圖中可看出,計(jì)數(shù)使能信號(hào)TSTEN在1s的高電平后,利用其反相值的上升沿產(chǎn)生一個(gè)鎖存信號(hào)LOAD,隨后產(chǎn)生清0信號(hào)上升沿CLR_CNT。其中,控制信號(hào)時(shí)鐘clk的頻率取1HZ,而信號(hào)TST
42、EN的脈寬恰好為1s,可以用作閘門信號(hào)。此時(shí),根據(jù)測(cè)頻的時(shí)序要求,可得出信號(hào)LOAD和CLR_CNT的邏輯描述。由圖可知,在計(jì)數(shù)完成后,計(jì)數(shù)使能信號(hào)TETEN在1s的高電平后,利用其反相值的上升沿產(chǎn)生一個(gè)鎖存信號(hào)LOAD,0.5s后,CLR_CNT產(chǎn)生一個(gè)清零信號(hào)上升沿。3.5 鎖存器鎖存器REG32B的封裝如圖3.11,圖中LOAD接控制測(cè)頻產(chǎn)生器TESTCTL的LOAD,而DIN31.0接計(jì)數(shù)器CNT10的CQ3.0,DOUT31.0接顯示器smg的in端。圖3.11 鎖存器REG32B鎖存器模塊是本設(shè)計(jì)中必不可少的,測(cè)量模塊測(cè)量完成后,在load信號(hào)的上升沿時(shí)刻將測(cè)量值鎖存到寄存器中,然
43、后輸出到顯示模塊。鎖存器的作用是數(shù)據(jù)保持,它將會(huì)把數(shù)據(jù)保存到下次觸發(fā)或復(fù)位,主要是主從觸發(fā)器組成的。用于存儲(chǔ)數(shù)據(jù)來進(jìn)行交換,使數(shù)據(jù)穩(wěn)定下來保持一段時(shí)間不變化,直到新的數(shù)據(jù)將其替換。32位鎖存器REG32B的工作時(shí)序圖如圖3.12。 圖3.12 鎖存器REG32B仿真本程序是用來實(shí)現(xiàn)鎖存器模塊的功能,在鎖存信號(hào)load的上升沿到來時(shí),鎖存器將測(cè)量值鎖存到寄存器,然后輸出到選擇模塊和周期模塊。但從仿真圖3.12中可以明顯的看出,鎖存輸出并不是立即進(jìn)行的,而是經(jīng)歷了一個(gè)短暫的延時(shí),這是由于硬件引起的。3.6 計(jì)數(shù)器模塊CNT10的封裝如圖3.13,其中CLR為復(fù)位接TESTCTL的通過D觸發(fā)器后的C
44、LR_CNT端,ENA接TESTCTL通過D觸發(fā)器后的TSTEN端,CQ3.0接鎖存器的DOUT31.0端。圖3.13 CNT10封裝圖計(jì)數(shù)器模塊是由8個(gè)帶有異步清零端,進(jìn)位信號(hào)輸出的模為10的計(jì)數(shù)模塊級(jí)連而成。此十進(jìn)制計(jì)數(shù)器的特殊之處是,有一時(shí)鐘使能輸入端ENA,用于控制計(jì)數(shù)器的工作。高電平允許計(jì)數(shù),低電平時(shí)停止計(jì)數(shù)。計(jì)數(shù)器模塊用于對(duì)輸入信號(hào)的脈沖進(jìn)行計(jì)數(shù),該模塊必須有計(jì)數(shù)允許、異步清零等端口,以便于控制模塊對(duì)其進(jìn)行控制。有時(shí)鐘使能,異步清零的十進(jìn)制計(jì)數(shù)器CNT10的工作時(shí)序仿真如圖3.14。圖3.14 CNT10時(shí)序仿真此程序模塊實(shí)現(xiàn)的功能是帶使能端的10進(jìn)制計(jì)數(shù)。程序要求只有當(dāng)使能端信號(hào)
45、為高電平時(shí)計(jì)數(shù)器才能正常工作,每個(gè)時(shí)鐘的上升沿到來時(shí)計(jì)數(shù)器加1,因?yàn)檫@里要實(shí)現(xiàn)的是10進(jìn)制計(jì)數(shù),所以當(dāng)計(jì)數(shù)到10時(shí)計(jì)數(shù)器清零,同時(shí)產(chǎn)生進(jìn)位信號(hào),這里的進(jìn)位信號(hào)僅為一個(gè)脈沖信號(hào),一旦計(jì)數(shù)從9變?yōu)?,脈沖信號(hào)立即變?yōu)榈碗娖?。同時(shí)該計(jì)數(shù)器帶有清零信號(hào),一旦清零信號(hào)為高電平,計(jì)數(shù)器立即清零。3.7 周期模塊在本次頻率計(jì)的設(shè)計(jì)中加入了周期測(cè)量功能,周期模塊主要由32位除法器division和轉(zhuǎn)碼器B_BCD這兩個(gè)功能模塊組成。32位除法器division,轉(zhuǎn)碼器B_BCD的封裝如圖3.15所示。圖3.15 周期模塊封裝圖32位除法器division中的除數(shù)設(shè)置為109,由于本次頻率計(jì)的信號(hào)源頻率范圍是1
46、5hz10MHZ,根據(jù)周期T=1/f(單位:s)可知,當(dāng)除數(shù)取1 的時(shí)候,周期很小,誤差較大;所以在這里除法器中除數(shù)取109時(shí),此時(shí)周期單位:ns。除法器的部分源代碼如下:always (posedge clk)begin tempa = a; tempb = b;endinteger i;always (posedge clk)begin temp_a = 32h00000000,tempa; temp_b = tempb,32h00000000; for(i = 0;i = tempb) temp_a = temp_a - temp_b + 1b1; else temp_a = temp_
47、a; end yshang = temp_a31:0; yyushu = temp_a63:32;end如果此時(shí)把除法器的商yshang直接輸入到數(shù)碼管模塊數(shù)據(jù)輸入端,在數(shù)碼管上的顯示結(jié)果并不與預(yù)期的相同。是因?yàn)槌ㄆ鞯妮敵鼋Y(jié)果yshang31.0為32位二進(jìn)制,但是在數(shù)碼管顯示中只能顯示0-9,十進(jìn)制9所對(duì)應(yīng)的二進(jìn)制為:1001,而4位的二進(jìn)制能表示的數(shù)字范圍為0-15。所以如果把32位的yshang直接輸入到數(shù)碼管顯示模塊所顯示的數(shù)據(jù)是錯(cuò)誤的。這就需要把32位二進(jìn)制轉(zhuǎn)化為8421BCD碼,每4位對(duì)應(yīng)的十進(jìn)制的0-9。把轉(zhuǎn)碼后的結(jié)果輸入數(shù)碼管顯示模塊中才能顯示出相應(yīng)的數(shù)字。周期模塊工作時(shí)序仿
48、真如圖3.16。圖3.16 周期模塊仿真圖在周期模塊的波形仿真中,除法器中的除數(shù)為常數(shù)109,被除數(shù)隨機(jī)取b=8388623。所以yshang=109/8388623=119。B_BCD的輸出端bcd顯示為000100011001,即119。由仿真結(jié)果可知,該除法器和轉(zhuǎn)碼器的能正常工作。3.8 顯示模塊3.8.1 數(shù)據(jù)選擇器由于本次設(shè)計(jì)中有頻率和周期的顯示,則需要一個(gè)數(shù)據(jù)選擇器,輸入端為相應(yīng)頻率和周期,用按鍵控制輸出端具體為頻率或者周期。數(shù)據(jù)選擇器mux_num的封裝如圖3.17所示。圖3.17 數(shù)據(jù)選擇器圖中 sw3連接按鍵模塊的sw3,用于控制輸出信號(hào);F,t分別連接鎖存器的輸出端和轉(zhuǎn)碼器
49、的輸出端;Num31.0連接到數(shù)碼管的data1data8。數(shù)據(jù)選擇器MUX_NUM的功能仿真圖如圖3.18所示。圖3.18 MUX_NUM功能仿真3.8.2 數(shù)碼管顯示驅(qū)動(dòng)LED有段碼和位碼之分,所謂段碼就是讓LED顯示出八位數(shù)據(jù),一般情況下要通過一個(gè)譯碼電路,將輸入的4位2進(jìn)制數(shù)轉(zhuǎn)換為與LED顯示對(duì)應(yīng)的8位段碼。位碼也就是LED的顯示使能端,對(duì)于共陰級(jí)的LED而言,低電平使能。數(shù)碼管模塊smg的封裝如圖3.19。圖3.19 數(shù)碼管顯示在本設(shè)計(jì)中由于在頻率部分的計(jì)數(shù)器為10進(jìn)制,所以不會(huì)有大于9的數(shù),則不用通過B_BCD進(jìn)行轉(zhuǎn)碼即可直接由數(shù)據(jù)選擇器輸入數(shù)碼管顯示模塊。要讓8個(gè)LED同時(shí)工作顯
50、示數(shù)據(jù),就是要不停的循環(huán)掃描每一個(gè)LED,并在使能每一個(gè)LED的同時(shí),輸入所需顯示的數(shù)據(jù)對(duì)應(yīng)的8位段碼。雖然8個(gè)LED是依次顯示,但是受視覺分辨率的影響,看到的現(xiàn)象是8個(gè)LED同時(shí)工作。數(shù)碼管顯示模塊中,data1data8接數(shù)據(jù)選擇器的輸出端,clk為時(shí)鐘,bc1bc8為數(shù)碼管的8個(gè)段碼,低電平有效,smg_disp對(duì)應(yīng)為8位數(shù)碼管。用8個(gè)LED將輸入數(shù)據(jù)顯示出來,將通過十進(jìn)制計(jì)數(shù)器的時(shí)鐘信號(hào)CLK,輸出為時(shí)鐘信號(hào)計(jì)數(shù)譯碼后的顯示驅(qū)動(dòng)端,在八段LED譯碼為對(duì)應(yīng)的八段二進(jìn)制編碼,并由數(shù)碼顯示器顯示出來。3.9 本章小結(jié)本章首先介紹了頻率計(jì)的總體設(shè)計(jì),然后分別介紹了各個(gè)軟件組成模塊,通過運(yùn)用QU
51、ARTUS 集成開發(fā)環(huán)境對(duì)各功能模塊進(jìn)行編輯、綜合、波形仿真,對(duì)各功能模塊的的仿真圖,及其仿真功能做了基本講解,對(duì)本設(shè)計(jì)的實(shí)現(xiàn)起到了主要作用。第四章 總體設(shè)計(jì)驗(yàn)證在Quartus II中將所有功能模塊建立完成后,將各個(gè)模塊在頂層圖形文件中連接起來。配置管腳,通過編譯后下載到核心開發(fā)板Cyclone II的EP2C8Q208C8N中驗(yàn)證實(shí)驗(yàn)結(jié)果。開發(fā)板的整體介紹如圖4.1所示。圖4.1 開發(fā)板的整體介紹由兩個(gè)獨(dú)立按鍵控制待測(cè)信號(hào)頻率的加減,使得測(cè)試結(jié)果在8位數(shù)碼管上顯示;再由另一個(gè)按鍵控制數(shù)碼管顯示待測(cè)信號(hào)的頻率和周期。下載到開發(fā)板上的實(shí)驗(yàn)結(jié)果如圖4.2所示。圖4.2實(shí)驗(yàn)結(jié)果示例通過開發(fā)板驗(yàn)證表
52、明,按鍵功能正常,頻率測(cè)量功能正常,周期測(cè)量有誤差。通過對(duì)實(shí)驗(yàn)結(jié)果的分析,在做FPGA設(shè)計(jì)時(shí),把主要的精力都放在了寫代碼本身,而較少的關(guān)注時(shí)序分析的問題。實(shí)際上,當(dāng)設(shè)計(jì)比較簡單,且運(yùn)行頻率比較低的時(shí)候,不加相關(guān)的時(shí)序約束,F(xiàn)PGA軟件都可以綜合出來可用且相對(duì)較可靠的代碼來。但當(dāng)設(shè)計(jì)比較復(fù)雜,運(yùn)行頻率比較高的時(shí)候,不做時(shí)序分析,不加上一些必要的約束,就很難保證設(shè)計(jì)能且穩(wěn)定的運(yùn)行在所設(shè)定的頻率上。在開始做設(shè)計(jì)的時(shí)候并沒有很在意時(shí)序方面的問題,導(dǎo)致后面計(jì)算周期的時(shí)候出現(xiàn)誤差。第五章 總結(jié)與展望本設(shè)計(jì)對(duì)等精度頻率計(jì)進(jìn)行了系統(tǒng)的設(shè)計(jì)。首先介紹了頻率測(cè)量的一般方法,著重介紹等精度測(cè)頻原理并進(jìn)行了誤差分析,
53、利用等精度測(cè)量原理,通過FPGA運(yùn)用VHDL編程,利用FPGA(現(xiàn)場可編程門陣列)芯片設(shè)計(jì)了一個(gè)8位數(shù)字式等精度頻率計(jì)測(cè)量頻率和周期,該頻率計(jì)的測(cè)量范圍為15HZ-10MHZ,利用QUARTUS 集成開發(fā)環(huán)境進(jìn)行編輯、綜合、波形仿真,并下載到Cyclone II的EP2C8Q208C8N器件中,經(jīng)實(shí)際電路測(cè)試,仿真和實(shí)驗(yàn)結(jié)果表明,在頻率測(cè)量方面該頻率計(jì)有較高的實(shí)用性和可靠性,達(dá)到預(yù)期的結(jié)果;在周期測(cè)量部分有一定誤差,造成的主要原因是工作時(shí)序的問題。和傳統(tǒng)的頻率計(jì)相比,利用FPGA設(shè)計(jì)的頻率計(jì)簡化了電路板設(shè)計(jì),提高了系統(tǒng)設(shè)計(jì)的實(shí)用性和可靠性,實(shí)現(xiàn)數(shù)字系統(tǒng)的軟件化,這也是數(shù)字邏輯設(shè)計(jì)的趨勢(shì)。在此次
54、設(shè)計(jì)過程中由于經(jīng)驗(yàn)不足,所以總體設(shè)計(jì)還有些瑕疵。特別在周期部分測(cè)量過程中,由于使用VerilogHDL編寫的除法器做除法運(yùn)算時(shí),只能得到商和余數(shù),而不能得到二進(jìn)制表示的小數(shù),因此在后面的顯示時(shí)把余數(shù)給忽略了。FPGA并不善于數(shù)據(jù)處理,一般需要外加數(shù)據(jù)處理芯片,比如Atmel公司就推出專門針對(duì)FPGA的數(shù)據(jù)處理芯片NIOS。此設(shè)計(jì)只能對(duì)15Hz-10MHz的頻率進(jìn)行測(cè)量,而不能測(cè)量信號(hào)的占空比,脈寬的測(cè)量。如果能加入這些功能,會(huì)使設(shè)計(jì)更趨于完整。若加入這些功能,若只用FPGA做設(shè)計(jì)就會(huì)顯得相對(duì)復(fù)雜,此時(shí)可用單片機(jī)控制,不僅控制顯示,而且對(duì)FPGA進(jìn)行輸入控制,控制FPGA去完成哪個(gè)測(cè)量。本次畢業(yè)
55、設(shè)計(jì)中,我除了對(duì)相關(guān)的專業(yè)知識(shí)以及相關(guān)的實(shí)驗(yàn)操作進(jìn)行了回顧,還有許多其他的收獲,這次畢業(yè)設(shè)計(jì)不但讓我對(duì)本專業(yè)的相關(guān)基礎(chǔ)知識(shí)進(jìn)行了很好的復(fù)習(xí),還對(duì)原由書本上的知識(shí)進(jìn)行了拓展和延伸,畢業(yè)設(shè)計(jì)不但鍛煉了我的動(dòng)手能力,也鍛煉了我處理問題的能力,并且學(xué)會(huì)了許多新的知識(shí)。致謝在這里首先要感謝指導(dǎo)老師鄒雪妹老師。在我畢業(yè)設(shè)計(jì)期間,鄒老師在學(xué)習(xí)、生活上都給予了我極大的關(guān)懷和鼓勵(lì)。從論文選題、實(shí)驗(yàn)仿真到最后論文的撰寫,鄒老師都做了悉心的指導(dǎo),并提出了許多寶貴的建議。藉此完成之際,借此機(jī)會(huì)謹(jǐn)向尊敬的鄒老師致以最衷心的感謝!而且在整個(gè)論文的撰寫過程中出現(xiàn)的問題鄒老師也給予了及時(shí)的指正,最后我的論文才得以順利完成。其次要感謝論文中參考的參考文獻(xiàn)的作者;感謝對(duì)于提供論文中隱含的上述提及的支持者以及研究思想和設(shè)想的支持者;感謝各大網(wǎng)站平臺(tái)提供的強(qiáng)大的技術(shù)支持。在實(shí)驗(yàn)設(shè)計(jì)和論文的撰寫的過程中,我得到了很多同學(xué)和朋友的幫助與支持,在這里一并表示感謝。同時(shí),也向我的家人致以真心的謝意!最后,衷心感謝各位評(píng)閱老師!感謝您們?cè)诎倜χ袇⑴c我的論文評(píng)閱工作。謝謝!參考文獻(xiàn)1 李國洪, 沈明山.可編程器件 EDA 技術(shù)與實(shí)踐M. 北京:機(jī)械工業(yè)出版社, 2004.72 姜雪松,張海風(fēng).可編程邏輯器件和EDA設(shè)計(jì)技術(shù)M. 北京:機(jī)械工業(yè)出版社, 2005.93
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45225-2025人工智能深度學(xué)習(xí)算法評(píng)估
- 醫(yī)療機(jī)構(gòu)血液采購合同書
- 部門合作協(xié)議合同
- 電子產(chǎn)品經(jīng)銷合同書格式
- 1 尊重自己(教學(xué)設(shè)計(jì))-統(tǒng)編版道德與法治六年級(jí)下冊(cè)
- 制造業(yè)廠房設(shè)備買賣合同
- 健身中心會(huì)員服務(wù)合同延期協(xié)議
- 崗位聘任標(biāo)準(zhǔn)化合同文本
- 深圳證券交易所證券上市合同文本解析
- 醫(yī)療機(jī)構(gòu)室內(nèi)裝修施工合同標(biāo)準(zhǔn)文本
- 石材幕墻維修方案
- 廣西版四年級(jí)下冊(cè)美術(shù)教案
- 人工智能導(dǎo)論-課件 第1章 人工智能的前世今生
- 當(dāng)那一天來臨混聲合唱譜
- 制程工程師年終總結(jié)匯報(bào)
- 高中生安全教育主題班會(huì)課件
- 住戶調(diào)查輔助調(diào)查員培訓(xùn)教學(xué)課件
- 數(shù)字營銷基礎(chǔ)PPT完整全套教學(xué)課件
- 園林植物環(huán)境PPT完整全套教學(xué)課件
- 跨境電商B2B數(shù)據(jù)運(yùn)營高職PPT全套完整教學(xué)課件
- 教師師德和專業(yè)發(fā)展課件
評(píng)論
0/150
提交評(píng)論