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

下載本文檔

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

文檔簡(jiǎn)介

1、摘摘 要要 伴隨著集成電路(IC)技術(shù)的發(fā)展,電子設(shè)計(jì)自動(dòng)化(EDA)逐漸成為重要的設(shè)計(jì)手段, 已經(jīng)廣泛應(yīng)用于模擬與數(shù)字電路系統(tǒng)等許多領(lǐng)域。電子設(shè)計(jì)自動(dòng)化是一種實(shí)現(xiàn)電系統(tǒng) 或電子產(chǎn)品自動(dòng)化設(shè)計(jì)的技術(shù),它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),它吸收 了計(jì)算機(jī)科學(xué)領(lǐng)域的大多數(shù)最新研究成果,以高性能的計(jì)算機(jī)作為工作平臺(tái),促進(jìn)了 工程發(fā)展。 數(shù)字頻率計(jì)是一種基本的測(cè)量?jī)x器。它被廣泛應(yīng)用與航天、電子、測(cè)控等領(lǐng)域。 采用等精度頻率測(cè)量方法具有測(cè)量精度保持恒定,不隨所測(cè)信號(hào)的變化而變化的特點(diǎn)。 本文首先綜述了 EDA 技術(shù)的發(fā)展概況,F(xiàn)PGA/CPLD 開(kāi)發(fā)的涵義、優(yōu)缺點(diǎn),VHDL 語(yǔ) 言的歷史及其優(yōu)點(diǎn),概

2、述了 EDA 軟件平臺(tái)QUARTUS;然后介紹了頻率測(cè)量的一般 原理,利用等精度測(cè)量原理,通過(guò) FPGA 運(yùn)用 VHDL 編程,利用 FPGA(現(xiàn)場(chǎng)可編程門 陣列)芯片設(shè)計(jì)了一個(gè) 8 位數(shù)字式等精度頻率計(jì),該頻率計(jì)的測(cè)量范圍為 0-100MHZ, 利用 QUARTUS 集成開(kāi)發(fā)環(huán)境進(jìn)行編輯、綜合、波形仿真,并下載到 CPLD 器件中, 經(jīng)實(shí)際電路測(cè)試,仿真和實(shí)驗(yàn)結(jié)果表明,該頻率計(jì)有較高的實(shí)用性和可靠性。 關(guān)鍵詞關(guān)鍵詞:電子設(shè)計(jì)自動(dòng)化;VHDL 語(yǔ)言;頻率測(cè)量;數(shù)字頻率計(jì) Abstract The Electronic Design Automation (EDA) technology has

3、 become an important design method of analog and digital circuit system as the integrated circuits growing. The EDA technology, which is closely connected with the electronic technology, microelectronics technology and computer science, can be used in designing electronic product automatically. Digi

4、tal frequency meter is a basic measuring instruments. It is widely used in aerospace, electronics, monitoring and other fields. With equal precision frequency measurement accuracy to maintain a constant, and not with the measured signal varies.We firstly present some background information of EDA, F

5、PGA/CPLD,VHDL and the EDA software platform QUARTUS in this thesis;then introduced the general principle of frequency measurement, utilization of precision measuring principle, using VHDL programming, use of FPGA (Field Programmable Gate Array) chip design such as the precision of a digital frequenc

6、y meter, this frequency meters measuring range is 0-100MHZ,use QUARTUS integrated development environment for editing, synthesis, wave simulation, and download to the CPLD device, by the actual circuit testing, simulation and experimental results show that the frequency meter has high practical and

7、reliability. Keywords: Electronic Design Automation,VHDL, Frequency measurement,digital frequency meter 目目 錄錄 摘 要.I ABSTRACT.II 目 錄.III 1. 前言.1 2. 頻率測(cè)量.3 2.1 數(shù)字頻率計(jì)工作原理概述.3 2.2 測(cè)頻原理及誤差分析.4 2.3.1 常用測(cè)頻方案.4 2.3.2 等精度測(cè)頻原理.4 2.3.3 誤差分析.5 本章小結(jié).6 3. 數(shù)字頻率計(jì)的系統(tǒng)設(shè)計(jì)與功能仿真.7 3.1 系統(tǒng)的總體設(shè)計(jì).7 3.2 信號(hào)源模塊.8 3.3 分頻器.9 3.4

8、測(cè)頻控制信號(hào)產(chǎn)生器.10 3.5 鎖存器.11 3.6 十進(jìn)制計(jì)數(shù)器.11 3.7顯示模塊.12 3.7.1 顯示模塊設(shè)計(jì).12 3.7.2 顯示電路.13 3.7.3 譯碼器.14 本章小結(jié).14 結(jié) 論.15 致 謝.16 參考文獻(xiàn).17 附錄一 頻率計(jì)頂層文件.18 附錄二 信號(hào)源模塊源程序.19 附錄三 分頻器源程序.20 附錄四 測(cè)頻控制信號(hào)發(fā)生器源程序.21 附錄五 32 位鎖存器源程序.22 附錄六 有時(shí)鐘使能的十進(jìn)制計(jì)數(shù)器的源程序.23 附錄七 顯示模塊源程序.24 1. . 前言前言 EDA 是指以計(jì)算機(jī)大規(guī)模可編程邏輯器件的開(kāi)發(fā)軟件及實(shí)驗(yàn)開(kāi)發(fā)系統(tǒng)為設(shè)計(jì)工具, 通過(guò)有關(guān)開(kāi)發(fā)軟

9、件,自動(dòng)完成用軟件方式設(shè)計(jì)的電子系統(tǒng)到硬件系統(tǒng)的邏輯編譯、邏 輯化簡(jiǎn)、邏輯分割、邏輯綜合及優(yōu)化、邏輯布局布線、邏輯仿真,直至對(duì)于特定目標(biāo) 芯片的適配編譯、邏輯映射、編程下載等工作,最終形成集成電子系統(tǒng)或?qū)S眉尚?片的一門新技術(shù)1。EDA 技術(shù)高級(jí)階段采用一種新的設(shè)計(jì)概念:自頂而下(Top_Down) 的設(shè)計(jì)程序和并行工程(Concurrent engineering )的設(shè)計(jì)方法,設(shè)計(jì)者的精力主要集中在 所要電子產(chǎn)品的準(zhǔn)確定義上,EDA 系統(tǒng)去完成電子產(chǎn)品的系統(tǒng)級(jí)至物理級(jí)的設(shè)計(jì)。此 階段 EDA 技術(shù)的主要特征是支持高級(jí)語(yǔ)言對(duì)系統(tǒng)進(jìn)行描述,高層次綜合(High Level Synthesis

10、 )理論得到了巨大的發(fā)展,可進(jìn)行系統(tǒng)級(jí)的仿真和綜合。 VHDL(超高速集成電路硬件描述語(yǔ)言)是由美國(guó)國(guó)防部開(kāi)發(fā)的一種快速設(shè)計(jì)電路的工具,目 前已經(jīng)成為 IEEE(The Institute of Electrical and Electronics Engineers)的一種工業(yè)標(biāo)準(zhǔn)硬件描述語(yǔ) 言。相比傳統(tǒng)的電路系統(tǒng)的設(shè)計(jì)方法,VHDL 具有多層次描述系統(tǒng)硬件功能的能力,支持自頂向下 (Top_Down)和基于庫(kù)(LibraryBased)的設(shè)計(jì)的特點(diǎn),因此設(shè)計(jì)者可以不必了解硬件結(jié)構(gòu)。 VHDL 主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,非常適用于可編程邏輯芯 片的應(yīng)用設(shè)計(jì)。與其它的 HD

11、L 相比,VHDL 具有更強(qiáng)的行為描述能力,從而決定了它 成為系統(tǒng)設(shè)計(jì)領(lǐng)域最佳的硬件描述語(yǔ)言。強(qiáng)大的行為描述能力是避開(kāi)具體的器件結(jié)構(gòu), 從邏輯行為上描述和設(shè)計(jì)大規(guī)模電子系統(tǒng)的重要保證。就目前流行的 EDA 工具和 VHDL 綜合器而言,將基于抽象的行為描述風(fēng)格的 VHDL 程序綜合成為具體的 FPGA 和 CPLD 等目標(biāo)器件的網(wǎng)表文件己不成問(wèn)題。VHDL 語(yǔ)言在硬件設(shè)計(jì)領(lǐng)域的作用將與 C 和 C+在軟件設(shè)計(jì)領(lǐng)域的作用一樣,在大規(guī)模數(shù)字系統(tǒng)的設(shè)計(jì)中,它將逐步取代如 邏輯狀態(tài)表和邏輯電路圖等級(jí)別較低的繁瑣的硬件描述方法,而成為主要的硬件描述 工具,它將成為數(shù)字系統(tǒng)設(shè)計(jì)領(lǐng)域中所有技術(shù)人員必須掌握的

12、一種語(yǔ)言。VHDL 和可 編程邏輯器件的結(jié)合作為一種強(qiáng)有力的設(shè)計(jì)方式,將為設(shè)計(jì)者的產(chǎn)品上市帶來(lái)創(chuàng)紀(jì)錄 的速度。從系統(tǒng)設(shè)計(jì)入手,在頂層進(jìn)行系統(tǒng)方框圖的劃分和結(jié)構(gòu)設(shè)計(jì),在方框圖一級(jí)用 VHDL 對(duì) 電路的行為進(jìn)行描述,并進(jìn)行仿真和糾錯(cuò),然后在系統(tǒng)一級(jí)進(jìn)行驗(yàn)證,最后再用邏輯綜合優(yōu)化工具 生成具體的門級(jí)邏輯電路的網(wǎng)表,下載到具體的 CPLD 器件中去,從而實(shí)現(xiàn)可編程的專用集成電路 (ASIC)的設(shè)計(jì)。CPLD 和 FPGA 建立內(nèi)部可編程邏輯連接關(guān)系的編程技術(shù)有三種:基于反熔絲技 術(shù)的器件只允許對(duì)器件編程一次,編程后不能修改。其優(yōu)點(diǎn)是集成度、工作頻率和可靠性都很高, 適用于電磁輻射干擾較強(qiáng)的惡劣環(huán)境。

13、基于 EEPROM 內(nèi)存技術(shù)的可編程邏輯芯片能夠重復(fù)編程 100 次以上,系統(tǒng)掉電后編程信息也不會(huì)丟失。編程方法分為在編程器上編程和用下載電纜編程。 用下載電纜編程的器件,只要先將器件裝焊在印刷電路板上,通過(guò) PC, SUN 工作站、ATE(自動(dòng)測(cè) 試儀)或嵌入式微處理器系統(tǒng),就能產(chǎn)生編程所用的標(biāo)準(zhǔn) 5V, 3.3V 或 2.5V 邏輯電平信號(hào),也稱為 ISP ( In System Programmable)方式編程,其調(diào)試和維修也很方便。基于 SRAM 技術(shù)的器件編程數(shù)據(jù) 存儲(chǔ)于器件的 RAM 區(qū)中,使之具有用戶設(shè)計(jì)的功能。在系統(tǒng)不加電時(shí),編程數(shù)據(jù)存儲(chǔ)在 EPROM、硬盤(pán)、或軟盤(pán)中。系統(tǒng)加

14、電時(shí)將這些編程數(shù)據(jù)實(shí)時(shí)寫(xiě)入可編程器件,從而實(shí)現(xiàn)板級(jí)或系 統(tǒng)級(jí)的動(dòng)態(tài)配置。 數(shù)字頻率計(jì)是數(shù)字電路中的一個(gè)典型應(yīng)用,實(shí)際的硬件設(shè)計(jì)用到的器件較多,連 線比較復(fù)雜,而且會(huì)產(chǎn)生比較大的延時(shí),造成測(cè)量誤差,可靠性差。隨著復(fù)雜可編程 邏輯器件(CPLD)的廣泛應(yīng)用,以 EDA 工具作為開(kāi)發(fā)手段,運(yùn)用 VHDL 語(yǔ)言。將使 整個(gè)系統(tǒng)大大簡(jiǎn)化。提高整體的性能和可靠性。 數(shù)字頻率計(jì)是通信設(shè)備、音、視頻等科研生產(chǎn)領(lǐng)域不可缺少的測(cè)量?jī)x器。采用 VHDL 編程設(shè)計(jì)實(shí)現(xiàn)的數(shù)字頻率計(jì),除被測(cè)信號(hào)的整形部分、鍵輸入部分和數(shù)碼顯示 部分外,其余全部在一片 FPGA 芯片上實(shí)現(xiàn)。整個(gè)系統(tǒng)非常精簡(jiǎn),且具有靈活的現(xiàn)場(chǎng) 可更改性。

15、本文用 VHDL 在 CPLD 器件上實(shí)現(xiàn)一種 8 位數(shù)字頻率計(jì)測(cè)頻系統(tǒng),能夠用十進(jìn)制 數(shù)碼顯示被測(cè)信號(hào)的頻率,不僅能夠測(cè)量正弦波、方波和三角波等信號(hào)的頻率,而且 能對(duì)其他多種頻率信號(hào)進(jìn)行測(cè)量。具有體積小、可靠性高、功耗低的特點(diǎn)。 2. . 頻率測(cè)量頻率測(cè)量 2.1 數(shù)字頻率計(jì)工作原理概述數(shù)字頻率計(jì)工作原理概述 數(shù)字頻率計(jì)的設(shè)計(jì)原理實(shí)際上是測(cè)量單位時(shí)間內(nèi)的周期數(shù)。這種方法免去了實(shí)測(cè) 以前的預(yù)測(cè),同時(shí)節(jié)省了劃分頻段的時(shí)間,克服了原來(lái)高頻段采用測(cè)頻模式而低頻段 采用測(cè)周期模式的測(cè)量方法存在換擋速度慢的缺點(diǎn)。 采用一個(gè)標(biāo)準(zhǔn)的基準(zhǔn)時(shí)鐘,在單位時(shí)間(1s)里對(duì)被測(cè)信號(hào)的脈沖數(shù)進(jìn)行計(jì)數(shù),即為 信號(hào)的頻率。

16、由于閘門的起始和結(jié)束時(shí)刻對(duì)于信號(hào)來(lái)說(shuō)是隨機(jī)的,將會(huì)有一個(gè)脈沖周 期的量化誤差。進(jìn)一步分析測(cè)量準(zhǔn)確度:設(shè)待測(cè)信號(hào)脈沖周期為 Tx,頻率為 Fx,當(dāng)測(cè) 量時(shí)間為 T=1s 時(shí),測(cè)量準(zhǔn)確度為=Tx/T=1/Fx。由此可知直接測(cè)頻法的測(cè)量準(zhǔn)確度與 信號(hào)的頻率有關(guān):當(dāng)待測(cè)信號(hào)頻率較高時(shí),測(cè)量準(zhǔn)確度也較高,反之測(cè)量準(zhǔn)確度也較 低。因此直接測(cè)頻法只適合測(cè)量頻率較高的信號(hào),不能滿足在整個(gè)測(cè)量頻段內(nèi)的測(cè)量 精度保持不變的要求。 為克服低頻段測(cè)量的不準(zhǔn)確問(wèn)題,采用門控信號(hào)和被測(cè)信號(hào)對(duì)計(jì)數(shù)器的使能信號(hào) 進(jìn)行雙重控制,大大提高了準(zhǔn)確度。當(dāng)門控信號(hào)為 1 時(shí),使能信號(hào)并不為 1,只有被測(cè) 信號(hào)的上升沿到來(lái)時(shí),使能端才開(kāi)

17、始發(fā)送有效信號(hào),兩個(gè)計(jì)數(shù)器同時(shí)開(kāi)始計(jì)數(shù)。當(dāng)門 控信號(hào)變?yōu)?0 時(shí),使能信號(hào)并不是立即改變,而是當(dāng)被測(cè)信號(hào)的下一個(gè)上升沿到來(lái)時(shí) 才變?yōu)?0,計(jì)數(shù)器停止計(jì)數(shù)。因此測(cè)量的誤差最多為一個(gè)標(biāo)準(zhǔn)時(shí)鐘周期。當(dāng)采用 100MHz 的信號(hào)作為標(biāo)準(zhǔn)信號(hào)時(shí),誤差最大為 0.01s。 計(jì)算每秒鐘內(nèi)待測(cè)信號(hào)脈沖個(gè)數(shù)。這就要求計(jì)數(shù)使能信號(hào) TSTEN 能產(chǎn)生一個(gè) 1 秒 脈寬的周期信號(hào),并對(duì)頻率計(jì)的每一計(jì)數(shù)器 cnt10 的 ENA 使能端進(jìn)行同步控制。當(dāng) TSTEN 為高電平時(shí),允許計(jì)數(shù);低電平時(shí),停止計(jì)數(shù),并保持其所計(jì)的數(shù)。在停止計(jì) 數(shù)期間,首先需要一個(gè)鎖存信號(hào) LOAD 的上跳沿將計(jì)數(shù)器在前 1 秒鐘的計(jì)數(shù)值鎖存進(jìn)

18、 32 位鎖存器 REG32B 中,并由外部的譯碼器譯出并穩(wěn)定顯示。鎖存信號(hào)之后,必須由 清零信號(hào) CLR_CNT 對(duì)計(jì)數(shù)器進(jìn)行清零,為下一秒鐘的計(jì)數(shù)操作做準(zhǔn)備。 當(dāng)系統(tǒng)正常工作時(shí),脈沖發(fā)生器提供的 1 Hz 的輸入信號(hào),經(jīng)過(guò)測(cè)頻控制信號(hào)發(fā)生 器進(jìn)行信號(hào)的變換,產(chǎn)生計(jì)數(shù)信號(hào),被測(cè)信號(hào)通過(guò)信號(hào)整形電路產(chǎn)生同頻率的矩形波, 送入計(jì)數(shù)模塊,計(jì)數(shù)模塊對(duì)輸入的矩形波進(jìn)行計(jì)數(shù),將計(jì)數(shù)結(jié)果送入鎖存器中,保證 系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅(qū)動(dòng)電路將二進(jìn)制表示的計(jì)數(shù)結(jié)果轉(zhuǎn)換成相應(yīng)的能 夠在數(shù)碼顯示管上可以顯示的十進(jìn)制結(jié)果。在數(shù)碼顯示管上可以看到計(jì)數(shù)結(jié)果3。 2.2 測(cè)頻原理及誤差分析測(cè)頻原理及誤差分析 2.3

19、.1 常用測(cè)頻方案常用測(cè)頻方案 頻率測(cè)量方案 方案一:采用周期法。通過(guò)測(cè)量待測(cè)信號(hào)的周期并求其倒數(shù),需要有標(biāo)準(zhǔn)倍的頻 率,在待測(cè)信號(hào)的一個(gè)周期內(nèi),記錄標(biāo)準(zhǔn)頻率的周期數(shù),這種方法的計(jì)數(shù)值會(huì)產(chǎn)生最 大為1 個(gè)脈沖誤差,并且測(cè)試精度與計(jì)數(shù)器中記錄的數(shù)值有關(guān),為了保證測(cè)試精度, 測(cè)周期法僅適用于低頻信號(hào)的測(cè)量。 方案二:采用直接測(cè)頻法。直接測(cè)頻法就是在確定的閘門時(shí)間內(nèi),記錄被測(cè)信號(hào) 的脈沖個(gè)數(shù)。由于閘門時(shí)間通常不是待測(cè)信號(hào)的整數(shù)倍,這種方法的計(jì)數(shù)值也會(huì)產(chǎn)生 最大為1 個(gè)脈沖誤差。進(jìn)一步分析測(cè)量準(zhǔn)確度:設(shè)待測(cè)信號(hào)脈沖周期為 Tx,頻率為 Fx,當(dāng)測(cè)量時(shí)間為 T=1s 時(shí),測(cè)量準(zhǔn)確度為=Tx/T=1/Fx

20、。由此可知直接測(cè)頻法的測(cè)量 準(zhǔn)確度與信號(hào)的頻率有關(guān):當(dāng)待測(cè)信號(hào)頻率較高時(shí),測(cè)量準(zhǔn)確度也較高,反之測(cè)量準(zhǔn) 確度也較低。因此直接測(cè)頻法只適合測(cè)量頻率較高的信號(hào),不能滿足在整個(gè)測(cè)量頻段 內(nèi)的測(cè)量精度保持不變的要求。 方案三:采用等精度頻率測(cè)量法,測(cè)量精度保持恒定,不隨所測(cè)信號(hào)的變化而變 化。在快速測(cè)量的要求下,要保證較高精度的測(cè)頻,必須采用較高的標(biāo)準(zhǔn)頻率信號(hào)。 單片機(jī)受本身時(shí)鐘頻率和若干指令運(yùn)算的限制,測(cè)頻速度較慢,無(wú)法滿足高速、高精 度的測(cè)頻要求;而采用高集成度、高速的現(xiàn)場(chǎng)可編程門陣列 FPGA 為實(shí)現(xiàn)高速、高精 度的測(cè)頻提供了保證。 本設(shè)計(jì)所采用的測(cè)頻方法就是等精度頻率測(cè)量法,下面我們將對(duì)等精度

21、頻率測(cè)量 法做進(jìn)一步介紹。 2.3.2 等精度測(cè)頻原理等精度測(cè)頻原理 等精度測(cè)頻方法是在直接測(cè)頻方法的基礎(chǔ)上發(fā)展起來(lái)的。它的閘門時(shí)間不是固定 的值,而是被測(cè)信號(hào)周期的整數(shù)倍,即與被測(cè)信號(hào)同步,因此,避除了對(duì)被測(cè)信號(hào)計(jì) 數(shù)所產(chǎn)生1 個(gè)字誤差,并且達(dá)到了在整個(gè)測(cè)試頻段的等精度測(cè)量。其測(cè)頻原理如圖 2.1 所示。在測(cè)量過(guò)程中,有兩個(gè)計(jì)數(shù)器分別對(duì)標(biāo)準(zhǔn)信號(hào)和被測(cè)信號(hào)同時(shí)計(jì)數(shù)。首先給 出閘門開(kāi)啟信號(hào)(預(yù)置閘門上升沿),此時(shí)計(jì)數(shù)器并不開(kāi)始計(jì)數(shù),而是等到被測(cè)信號(hào)的上 升沿到來(lái)時(shí),計(jì)數(shù)器才真正開(kāi)始計(jì)數(shù)。然后預(yù)置閘門關(guān)閉信號(hào)(下降沿)到時(shí),計(jì)數(shù)器并 不立即停止計(jì)數(shù),而是等到被測(cè)信號(hào)的上升沿到來(lái)時(shí)才結(jié)束計(jì)數(shù),完成一

22、次測(cè)量過(guò)程。 可以看出,實(shí)際閘門時(shí)間 t 與預(yù)置閘門時(shí)間 t1 并不嚴(yán)格相等,但差值不超過(guò)被測(cè)信號(hào) 的一個(gè)周期4。 圖 2.1 等精度測(cè)頻原理波形圖 等精度測(cè)頻的實(shí)現(xiàn)方法可簡(jiǎn)化為圖 2.2 所示。CNT1 和 CNT2 是兩個(gè)可控計(jì)數(shù)器, 標(biāo)準(zhǔn)頻率信號(hào)從 CNT1 的時(shí)鐘輸入端 CLK 輸入;經(jīng)整形后的被測(cè)信號(hào)從 CNT2 的時(shí)鐘 輸入端 CLK 輸入。當(dāng)預(yù)置門控信號(hào)為高電平時(shí),經(jīng)整形后的被測(cè)信號(hào)的上升沿通過(guò) D 觸發(fā)器的 Q 端同時(shí)啟動(dòng) CNT1 和 CNT2。CNT1、CNT2 同時(shí)對(duì)標(biāo)準(zhǔn)頻率信號(hào)和經(jīng)整形 后的被測(cè)信號(hào)進(jìn)行計(jì)數(shù),分別為 NS與 NX。當(dāng)預(yù)置門信號(hào)為低電平的時(shí)候,后而來(lái)的 被

23、測(cè)信號(hào)的上升沿將使兩個(gè)計(jì)數(shù)器同時(shí)關(guān)閉,所測(cè)得的頻率為(FS/NS)*NX。則等精度 測(cè)量方法測(cè)量精度與預(yù)置門寬度的標(biāo)準(zhǔn)頻率有關(guān),與被測(cè)信號(hào)的頻率無(wú)關(guān)。在預(yù)置門 時(shí)間和常規(guī)測(cè)頻閘門時(shí)間相同而被測(cè)信號(hào)頻率不同的情況下,等精度測(cè)量法的測(cè)量精 度不變。 圖 2.2 等精度測(cè)頻實(shí)現(xiàn)原理圖 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): =(|f

24、xe-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 無(wú)誤差(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)頻率的大小無(wú)關(guān),僅與閘門時(shí) 間和標(biāo)準(zhǔn)信號(hào)頻率有關(guān),即實(shí)現(xiàn)了整個(gè)測(cè)試頻段的等精度測(cè)量。

25、閘門時(shí)間越長(zhǎng),標(biāo)準(zhǔn) 頻率越高,測(cè)頻的相對(duì)誤差就越小。標(biāo)準(zhǔn)頻率可由穩(wěn)定度好、精度高的高頻率晶體振 蕩器產(chǎn)生,在保證測(cè)量精度不變的前提下,提高標(biāo)準(zhǔn)信號(hào)頻率,可使閘門時(shí)間縮短, 即提高測(cè)試速度5。 本章小結(jié)本章小結(jié) 本章從各個(gè)方面說(shuō)明了頻率計(jì)的工作原理,介紹了頻率測(cè)量的原理和誤差的分析, 通過(guò)對(duì)各種頻率測(cè)量方法的比對(duì),對(duì)等精度頻率計(jì)的實(shí)現(xiàn),在理論上起到了作用。 3. 數(shù)字頻率計(jì)的系統(tǒng)設(shè)計(jì)與功能仿真數(shù)字頻率計(jì)的系統(tǒng)設(shè)計(jì)與功能仿真 3.1 系統(tǒng)的總體設(shè)計(jì)系統(tǒng)的總體設(shè)計(jì) 當(dāng)系統(tǒng)正常工作時(shí),由系統(tǒng)時(shí)鐘提供的 100MHz 的輸入信號(hào),經(jīng)過(guò)信號(hào)源模塊, 先通過(guò) 100 分頻產(chǎn)生 1MHZ 的時(shí)鐘信號(hào),再將 1

26、MHZ 的時(shí)鐘信號(hào)分頻產(chǎn)生多種頻率輸 出,其中 1HZ 的輸出頻率被作為控制模塊的時(shí)鐘輸入,7812HZ 的輸出頻率被作為顯 示模塊的時(shí)鐘輸入,由控制模塊產(chǎn)生的計(jì)數(shù)使能信號(hào) testen 和清零信號(hào) clr 對(duì)計(jì)數(shù)模塊 進(jìn)行控制,而由其產(chǎn)生的鎖存信號(hào) load 對(duì)鎖存模塊進(jìn)行控制,一旦計(jì)數(shù)使能信號(hào)為高 電平,并且時(shí)鐘上升沿到來(lái),計(jì)數(shù)器便開(kāi)始正常計(jì)數(shù),清零信號(hào)到來(lái)則計(jì)數(shù)清零,而 當(dāng)鎖存信號(hào)為高電平時(shí),數(shù)據(jù)便被鎖存器鎖存,然后將鎖存的數(shù)據(jù)輸出到顯示模塊顯 示出來(lái),數(shù)據(jù)鎖存保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅(qū)動(dòng)電路將二進(jìn)制表示的計(jì) 數(shù)結(jié)果轉(zhuǎn)換成相應(yīng)的能夠在數(shù)碼顯示管上可以顯示的十進(jìn)制結(jié)果。在數(shù)碼顯示

27、管上可 以看到計(jì)數(shù)結(jié)果。數(shù)字頻率計(jì)的原理框圖如圖 3.1 所示。主要由 5 個(gè)模塊組成,分別是: 信號(hào)源模塊、控制模塊、計(jì)數(shù)模塊、鎖存器模塊和顯示器模塊6。 圖 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),并對(duì)頻率計(jì)的每一計(jì)數(shù)器 Cnt10 的 ENA 使能端進(jìn)行同 步控制:當(dāng) testen 高電平時(shí)允許計(jì)數(shù)、低電平時(shí)停止計(jì)數(shù)。 reg32b 為鎖存器。在信號(hào) load 的上升沿時(shí),立即對(duì)模塊的輸入口的數(shù)據(jù)鎖存到 reg32b 的內(nèi)部,并由 reg32b 的輸出端輸出,然后,七段

28、譯碼器可以譯碼輸出。在這里 使用了鎖存器,好處是可以穩(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)起來(lái)實(shí)現(xiàn) 8 位十進(jìn)制 計(jì)數(shù)功能2,7 。 disply 為七段譯碼顯示驅(qū)動(dòng)電路,可以將頻率計(jì)數(shù)的結(jié)果譯成能在數(shù)碼管上顯示的 相對(duì)應(yīng)的阿拉伯?dāng)?shù)字,便于讀取測(cè)量的結(jié)果。 為了實(shí)現(xiàn)系統(tǒng)功能,測(cè)頻控制信號(hào)發(fā)生器 testctl、計(jì)數(shù)器 Cnt10、鎖存器 reg32b 存 在一個(gè)工作時(shí)序的問(wèn)題,設(shè)計(jì)時(shí)需要綜合考慮。 8位數(shù)字頻率計(jì)的頂層框圖(endfr

29、eq.bdf),設(shè)計(jì)實(shí)現(xiàn)包括信號(hào)源模塊 (F1MHZ、CNT)、頻率計(jì)模塊(FREQ)和顯示模塊(display)三大模塊。下面分別 介紹三個(gè)模塊的結(jié)構(gòu)和實(shí)現(xiàn)方法。 3.2 信號(hào)源模塊信號(hào)源模塊 信號(hào)源是為了產(chǎn)生 1MHz 的門控信號(hào)和待測(cè)的定頻信號(hào),而對(duì)輸入系統(tǒng)時(shí)鐘 clk(50MHz)進(jìn)行分頻的模塊,設(shè)計(jì)源代碼 PIN1MHZ.VHD 對(duì)輸入系統(tǒng)時(shí)鐘 clk(50MHz)進(jìn)行分頻產(chǎn)生 1MHz 信號(hào)。 PIN1MHZ 的封裝圖如 3.2 所示,圖中 CLKIN 為接入的 100MHZ 信號(hào),圖中 CLKOUT 為接到 CNT 的 CLK 的 1MHZ 的信號(hào)。 clkin clkout P

30、IN1MHZ_1 inst 圖3.2 PIN1MHZ封裝圖 PIN1MHZ 的工作時(shí)序仿真圖如圖 3.3 所示。 圖 3.3 信號(hào)源模塊仿真圖 從 PIN1MHZ 的工作時(shí)序仿真圖可以看出:由系統(tǒng)時(shí)鐘提供的 100MHz 的輸入信 號(hào),經(jīng)過(guò)信號(hào)源模塊,通過(guò) 100 分頻產(chǎn)生 1MHZ 的時(shí)鐘信號(hào),達(dá)到了設(shè)計(jì)所需的預(yù)期 效果。 3.3 分頻器分頻器 此程序要求將1MHZ的輸入頻率分別進(jìn)行21分頻(產(chǎn)生500KHZ的輸出頻freq500k)、 23分頻(產(chǎn)生125 KHZ的輸出頻率freq125k)、25 分頻(產(chǎn)生31250HZ的輸出頻freq31250)、 27分頻(產(chǎn)生7812HZ的輸出頻率

31、freq7812)、29分頻(產(chǎn)生1953HZ的輸出頻率freq1953)、 211分頻(產(chǎn)生488HZ的輸出頻率freq488)、213分頻(產(chǎn)生1HZ的輸出頻率freq1)。 CNT的封裝圖如圖3.4,圖中CLK為PIN1MHZ輸入的1MHZ信號(hào),freq1為輸出給控 制信號(hào)發(fā)生器的1HZ信號(hào),7812HZ的輸出頻率freq7812被作為顯示模塊的時(shí)鐘輸入, freq 488、freq1953、freq31250、freq125K、freq500K作為待測(cè)信號(hào)。 clkfreq1 freq488 freq1953 freq7812 freq31250 freq125k freq500k c

32、nt inst 圖3.4CNT封裝圖 CNT 的工作時(shí)序仿真圖如圖 3.5 所示。 圖 3.5 CNT 的時(shí)序仿真圖 當(dāng) 1MHZ 頻率波形輸入后,分別產(chǎn)生了設(shè)計(jì)所需要的 500KHZ 的輸出頻 freq500k,125 KHZ 的輸出頻率 freq125k,31250HZ 的輸出頻 freq31250,7812HZ 的輸 出頻率 freq7812,1953HZ 的輸出頻率 freq1953,488HZ 的輸出頻率 freq488,1HZ 的 輸出頻率 freq1。 3.4 測(cè)頻控制信號(hào)產(chǎn)生器測(cè)頻控制信號(hào)產(chǎn)生器 控制模塊的作用是產(chǎn)生測(cè)頻所需要的各種控制信號(hào)??刂菩盘?hào)的標(biāo)準(zhǔn)輸入時(shí)鐘為 1HZ,每

33、兩個(gè)時(shí)鐘周期進(jìn)行一次頻率測(cè)量。該模塊產(chǎn)生的 3 個(gè)控制信號(hào),分別為 TSTEN,LOAD,CLR_CNT.CLR_CNT 信號(hào)用于在每次測(cè)量開(kāi)始時(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ù)模塊開(kāi)始對(duì)輸入信號(hào)的頻率進(jìn)行測(cè) 量,測(cè)量時(shí)間恰為一個(gè)時(shí)鐘周期(正好為單位時(shí)間 1s),在此時(shí)間里被測(cè)信號(hào)的脈沖數(shù) 進(jìn)行計(jì)數(shù),即為信號(hào)的頻率。然后將值鎖存,并送到數(shù)碼管顯示出來(lái)。設(shè)置鎖存器的 好處是使顯示的數(shù)據(jù)穩(wěn)定,不會(huì)由于周期性的清零信號(hào)而不斷閃爍。在每一次測(cè)量開(kāi) 始時(shí),都必須重新對(duì)計(jì)數(shù)器清 07。

34、 測(cè)頻控制產(chǎn)生器如圖 3.6,圖中 CLK 接 CNT 的 FREQ1 的 1HZ 的信號(hào),TSTEN 為 計(jì)數(shù)允許信號(hào),接計(jì)數(shù)器 CNT10 的 ENA,CLR_CNT 信號(hào)用于在每次測(cè)量開(kāi)始時(shí),對(duì) 計(jì)數(shù)器進(jìn)行復(fù)位,接計(jì)數(shù)器 CNT10 的 CLR,LOAD 接鎖存器的 LOAD。 CLKTSTEN CLR_CNT LOAD TESTCTL inst 圖 3.6 TESTCTL 的封裝圖 測(cè)頻控制信號(hào)發(fā)生器 TESTCTL 的工作時(shí)序圖,控制模塊的幾個(gè)控制信號(hào)的時(shí)序關(guān) 系圖如圖 3.7 所示。 圖3.7 TESTCTL的時(shí)序仿真圖 從圖中可看出,計(jì)數(shù)使能信號(hào) TSTEN 在 1s 的高電平后

35、,利用其反相值的上跳沿 產(chǎn)生一個(gè)鎖存信號(hào) LOAD,隨后產(chǎn)生清 0 信號(hào)上跳沿 CLR_CNT。為了產(chǎn)生這個(gè)時(shí)序圖 需首先建立一個(gè)由 D 觸發(fā)器構(gòu)成的二分頻器,在每次時(shí)鐘 CLK 上升沿到來(lái)時(shí)令其翻轉(zhuǎn)。 其中,控制信號(hào)時(shí)鐘 clk 的頻率取 1HZ,而信號(hào) TSTEN 的脈寬恰好為 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è)請(qǐng)零信號(hào)上跳沿。 3.5 鎖存器鎖存器 鎖存器模

36、塊也是必不可少的,測(cè)量模塊測(cè)量完成后,在load信號(hào)的上升沿時(shí)刻將測(cè) 量值鎖存到寄存器中,然后輸出到顯示模塊。鎖存器是起數(shù)據(jù)保持的作用,它將會(huì)把 數(shù)據(jù)保存到下次觸發(fā)或復(fù)位。主要是主從觸發(fā)器組成的。用于存儲(chǔ)數(shù)據(jù)來(lái)進(jìn)行交換, 使數(shù)據(jù)穩(wěn)定下來(lái)保持一段時(shí)間不變化,直到新的數(shù)據(jù)將其替換。 鎖存器REG32B的封裝如圖3.8,圖中LOAD接控制測(cè)頻產(chǎn)生器TESTCTL的LOAD, 而DIN31.0接計(jì)數(shù)器CNT10的CQ3.0,DOUT31.0接顯示器display的in端。 LOAD DIN31.0 DOUT31.0 REG32B inst 圖3.8 REG32B的封裝圖 32 位鎖存器 REG32B

37、的工作時(shí)序圖如圖 3.9。 圖 3.9 REG32B 的時(shí)序仿真圖 本程序是用來(lái)實(shí)現(xiàn)鎖存器模塊的功能,但它的程序相當(dāng)簡(jiǎn)單,在鎖存信號(hào) load 的 上升沿到來(lái)時(shí),鎖存器將測(cè)量值鎖存到寄存器,然后輸出到顯示模塊。但從仿真圖 3.9 中可以明顯的看出,鎖存輸出并不是立即進(jìn)行的,而是經(jīng)歷了一個(gè)短暫的延時(shí),這是 由于硬件引起的。 3.6 十進(jìn)制十進(jìn)制計(jì)數(shù)器計(jì)數(shù)器 計(jì)數(shù)器模塊是由 8 個(gè)帶有異步清零端,進(jìn)位信號(hào)輸出的模為 10 的計(jì)數(shù)模塊級(jí)連而 成。通過(guò)(freq.vhd)進(jìn)行元件例化實(shí)現(xiàn)。此十進(jìn)制計(jì)數(shù)器的特殊之處是,有一時(shí)鐘使能 輸入端 ENA,用于鎖定計(jì)數(shù)器。當(dāng)高電平計(jì)數(shù)允許,低電平時(shí)計(jì)數(shù)禁止。計(jì)數(shù)

38、器模塊 用于對(duì)輸入信號(hào)的脈沖進(jìn)行計(jì)數(shù),該模塊必須有計(jì)數(shù)允許、異步清零等端口,以便于 控制模塊對(duì)其進(jìn)行控制。 CNT10 的封裝如圖 3.10,其中 CLR 為復(fù)位接 TESTCTL 的 CLR_CNT 端,ENA 接 TESTCTL 的 TSTEN 端,CQ3.0接鎖存器的 DOUT31.0端。 CLK CLR ENA CQ3.0 CARRY_OUT CNT10 inst 圖 3.10 CNT10 的封裝圖 有時(shí)鐘使能的十進(jìn)制計(jì)數(shù)器CNT10的工作時(shí)序仿真如圖3.11。 圖 3.11 CNT10 的時(shí)序仿真圖 此程序模塊實(shí)現(xiàn)的功能是帶使能端的 10 進(jìn)制計(jì)數(shù)。程序要求只有當(dāng)使能端信號(hào)為 高電平

39、時(shí)計(jì)數(shù)器才能正常工作,每個(gè)時(shí)鐘的上升沿到來(lái)時(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ù)從 10 變?yōu)?1,脈沖信號(hào)立即變?yōu)榈碗娖健M瑫r(shí)該計(jì) 數(shù)器也應(yīng)帶有清零信號(hào),一旦清零信號(hào)為高電平,計(jì)數(shù)器立即清零。 3.7顯示模塊顯示模塊 3.7.1 顯示模塊設(shè)計(jì)顯示模塊設(shè)計(jì) LED有段碼和位碼之分,所謂段碼就是讓LED顯示出八位數(shù)據(jù),一般情況下要通 過(guò)一個(gè)譯碼電路,將輸入的4位2進(jìn)制數(shù)轉(zhuǎn)換為與LED顯示對(duì)應(yīng)的8位段碼。位碼也就是 LED的顯示使能端,對(duì)于共陰級(jí)的LED而言,低電平使能,在本設(shè)計(jì)中設(shè)計(jì)了一

40、個(gè)3位 的循環(huán)計(jì)數(shù)器,將計(jì)數(shù)結(jié)果輸入到譯碼器,譯碼結(jié)果輸出即可依次使能每個(gè)LED。例 如:要讓8個(gè)LED同時(shí)工作顯示數(shù)據(jù),就是要不停的循環(huán)掃描每一個(gè)LED,并在使能每 一個(gè)LED的同時(shí),輸入所需顯示的數(shù)據(jù)對(duì)應(yīng)的8位段碼。雖然8個(gè)LED是依次顯示,但 是受視覺(jué)分辨率的影響,看到的現(xiàn)象是8個(gè)LED同時(shí)工作。display 模塊的頂層圖如下 所示。CNT計(jì)數(shù)產(chǎn)生掃描信號(hào)(位碼),LED模塊用于查表產(chǎn)生LED段碼輸出。 圖3.12位display的封裝圖。圖中in0in7接鎖存器的DOUT31.0端。 in73.0 in63.0 in53.0 in43.0 in33.0 in23.0 in13.0 i

41、n03.0 clk lout76.0 SEL2.0 display inst 圖3.12 display的封裝圖 display 工作時(shí)序圖如下圖 3.13。 圖 3.13 disply 工作時(shí)序圖 用 8 個(gè) LED 將待測(cè)頻率顯示出來(lái),將通過(guò)十進(jìn)制計(jì)數(shù)器的時(shí)鐘信號(hào) CLK,輸出為時(shí) 鐘信號(hào)計(jì)數(shù)譯碼后的顯示驅(qū)動(dòng)端,在八段 LED 譯碼為對(duì)應(yīng)的八段二進(jìn)制編碼,并由數(shù) 碼顯示器顯示出來(lái)。圖 3.13 中為相應(yīng)二進(jìn)制編碼與相對(duì)應(yīng)的屏顯數(shù)字。 3.7.2 顯示電路顯示電路 圖 3.14 display 硬件結(jié)構(gòu)圖 此部分如圖 3.14,圖中主要由 07 循環(huán)累加器、3-8 譯碼器、BCD-7 段顯示

42、譯碼器、 8 選 1 多路數(shù)據(jù)開(kāi)關(guān)和 8 個(gè) LED 顯示器組成的掃描數(shù)碼顯示器。 3.7.3 譯碼器譯碼器 74138 譯碼器作為數(shù)據(jù)分配器的功能表如表 1 所示。 表 1 74LS138 編碼器作為數(shù)據(jù)分配器的功能表 輸入輸出 EN1 EN2B EN2A C B AY0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 0 X X X X 1 1 1 1 1 1 1 1 1 0 D 0 0 0 D 1 1 1 1 1 1 1 1 0 D 0 0 1 1 D 1 1 1 1 1 1 1 0 D 0 1 0 1 1 D 1 1 1 1 1 1 0 D 0 1 1 1 1 1 D 1 1 1 1 1

43、 0 D 1 0 0 1 1 1 1 D 1 1 1 1 0 D 1 0 1 1 1 1 1 1 D 1 1 1 0 D 1 1 0 1 1 1 1 1 1 D 1 1 0 D 1 1 1 1 1 1 1 1 1 1 D 74LS138 的 3 個(gè)譯碼輸入 C、B、A 用做數(shù)據(jù)分配器的地址輸入,8 個(gè)輸出 Y0Y7 用做 8 路數(shù)據(jù)輸出,3 個(gè)輸入控制端中的 EN2A用做數(shù)據(jù)輸入端,EN2B接地,EN1 用做 使能端6。當(dāng) EN1=1,允許數(shù)據(jù)分配,若需要將輸入數(shù)據(jù)轉(zhuǎn)送至輸出端 Y2,地址輸入 應(yīng)為 CBA=010,由功能表可得: (3-1) 21222 () ABA YGGGCBAG 而其余

44、輸出端均為高電平。因此,當(dāng)?shù)刂?CBA=010 時(shí),只有輸出端 Y2 得到與輸入相 同的數(shù)據(jù)波形。 本章小結(jié)本章小結(jié) 本章介紹了頻率計(jì)的各個(gè)軟件組成模塊,通過(guò)運(yùn)用 QUARTUS 集成開(kāi)發(fā)環(huán)境對(duì) 各功能模塊進(jìn)行編輯、綜合、波形仿真,對(duì)各功能模塊的的仿真圖,及其仿真功能做 了基本講解,對(duì)本設(shè)計(jì)的實(shí)現(xiàn)起到了主要作用。 結(jié)結(jié) 論論 本設(shè)計(jì)對(duì)等精度頻率計(jì)進(jìn)行了系統(tǒng)的設(shè)計(jì)。首先介紹了頻率測(cè)量的一般方法,著 重介紹等精度測(cè)頻原理并進(jìn)行了誤差分析,利用等精度測(cè)量原理,通過(guò) FPGA 運(yùn)用 VHDL 編程,利用 FPGA(現(xiàn)場(chǎng)可編程門陣列)芯片設(shè)計(jì)了一個(gè) 8 位數(shù)字式等精度頻率 計(jì),該頻率計(jì)的測(cè)量范圍為 0-

45、100MHZ,利用 QUARTUS 集成開(kāi)發(fā)環(huán)境進(jìn)行編輯、綜 合、波形仿真,并下載到 CPLD 器件中,經(jīng)實(shí)際電路測(cè)試,仿真和實(shí)驗(yàn)結(jié)果表明,該 頻率計(jì)有較高的實(shí)用性和可靠性,達(dá)到預(yù)期的結(jié)果。和傳統(tǒng)的頻率計(jì)相比,利用 FPGA 設(shè)計(jì)的頻率計(jì)簡(jiǎn)化了電路板設(shè)計(jì),提高了系統(tǒng)設(shè)計(jì)的實(shí)用性和可靠性,實(shí)現(xiàn)數(shù) 字系統(tǒng)的軟件化,這也是數(shù)字邏輯設(shè)計(jì)的趨勢(shì)。 本次畢業(yè)設(shè)計(jì)中,我除了對(duì)相關(guān)的專業(yè)知識(shí)以及相關(guān)的實(shí)驗(yàn)操作進(jìn)行了回顧,還 有許多其他的收獲,比如在繪制論文中所需要的相關(guān)的電路圖的過(guò)程中,我還學(xué)會(huì)使 用word繪圖,這次畢業(yè)設(shè)計(jì)不但讓我對(duì)本專業(yè)的相關(guān)基礎(chǔ)知識(shí)進(jìn)行了很好的復(fù)習(xí),還 對(duì)原由書(shū)本上的知識(shí)進(jìn)行了拓展和延

46、伸,畢業(yè)設(shè)計(jì)不但鍛煉了我的動(dòng)手能力,也鍛煉 了我處理問(wèn)題的能力,并且學(xué)會(huì)了許多新的知識(shí)。 致致 謝謝 通過(guò)兩個(gè)多月的努力,參閱了大量的文獻(xiàn)、專著、和資料,才使我有了較為清晰 的思路來(lái)完成本課題的設(shè)計(jì)。設(shè)計(jì)也引用了其中的部分內(nèi)容,在此,對(duì)這些文獻(xiàn)、專 著和資料的作者和編著們表示感謝。 在這里同時(shí)也要感謝指導(dǎo)老師徐進(jìn)老師,由于對(duì)以前所學(xué)知識(shí)的遺忘,我在最初 的一個(gè)星期里總是不知道該怎么入手,正是有了徐進(jìn)老師的指點(diǎn)我的畢業(yè)設(shè)計(jì)才得以 順利進(jìn)行。 在論文的撰寫(xiě)和設(shè)計(jì)模塊的仿真過(guò)程中,我也得到了很多同學(xué)和朋友的幫助與支 持,在這里一并表示感謝。同時(shí),也向我的家人致以真心的謝意!他們?cè)谖业拇髮W(xué)階段 中給予

47、我的一切是無(wú)法用言語(yǔ)來(lái)表達(dá)的。 最后,衷心感謝各位評(píng)閱老師!感謝您們?cè)诎倜χ袇⑴c我的論文評(píng)閱工作。謝謝! 參考文獻(xiàn)參考文獻(xiàn) 1 王紫婷,吳蓉,張彩珍,吳曉春.EDA 技術(shù)與應(yīng)用.蘭州:蘭州大學(xué)出版社,2003 年 4 月 2 譚會(huì)生,張昌凡.EDA 技術(shù)及應(yīng)用.西安:西安電子科技大學(xué)出版社,2004 年 4 月 3 林敏,方穎立.VHDL 數(shù)字系統(tǒng)設(shè)計(jì)與高層次綜合.北京:電子工業(yè)出版社,2002 年 1 月 4 李國(guó)洪,沈明山.可編程器件 EDA 技術(shù)與實(shí)踐.北京:機(jī)械工業(yè)出版社,2004 年 7 月 5 王鎖萍.電子設(shè)計(jì)自動(dòng)化教程.成都:電子科技大學(xué)出版社,2000 年 2 月 6 周國(guó)富

48、.現(xiàn)場(chǎng)可編程門陣列及應(yīng)用.電子技術(shù)應(yīng)用,1995 年 6 月 附錄一附錄一 頻率計(jì)頂層文件頻率計(jì)頂層文件 clkfreq1 freq488 freq1953 freq7812 freq31250 freq125k freq500k cnt inst CLK CLR ENA CQ3.0 CARRY_OUT CNT10 inst1 CLK CLR ENA CQ3.0 CARRY_OUT CNT10 inst2 CLK CLR ENA CQ3.0 CARRY_OUT CNT10 inst3 CLK CLR ENA CQ3.0 CARRY_OUT CNT10 inst4 CLK CLR ENA CQ3

49、.0 CARRY_OUT CNT10 inst5 CLK CLR ENA CQ3.0 CARRY_OUT CNT10 inst6 CLK CLR ENA CQ3.0 CARRY_OUT CNT10 inst7 CLK CLR ENA CQ3.0 CARRY_OUT CNT10 inst8 in73.0 in63.0 in53.0 in43.0 in33.0 in23.0 in13.0 in03.0 clk lout76.0 SEL2.0 display inst9 clkin clkout PIN1MHZ_1 inst10 LOAD DIN31.0 DOUT31.0 REG32B inst11

50、 CLKTSTEN CLR_CNT LOAD TESTCTL inst12 VCC clk INPUT lout76.0 OUTPUT sel2.0 OUTPUT SD3.0 SD7.4 SD11.8 SD19.16 SD23.20 SD27.24 SD31.28SD15.12 sd31.0 dout31.0 附錄二附錄二 信號(hào)源模塊源程序信號(hào)源模塊源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY PIN1MHZ_1 IS PORT (clkin : IN STD_LOG

51、IC; clkout : OUT STD_LOGIC); END PIN1MHZ_1; ARCHITECTURE A OF PIN1MHZ_1 IS BEGIN PROCESS(clkin) variable cnttemp : INTEGER RANGE 0 TO 99; BEGIN IF clkin=1 AND clkinevent THEN IF cnttemp=99 THEN cnttemp:=0; ELSE IF cnttemp50 THEN clkout=1; ELSE clkout=0; END IF; cnttemp:=cnttemp+1; END IF; END IF; EN

52、D PROCESS; END A; 附錄三附錄三 分頻器源程序分頻器源程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity cnt is port(clk : in std_logic; -1MHz 輸入 freq1 : out std_logic; -1Hz 輸出 freq488 : out std_logic; -488Hz 輸出 freq1953 : out std_logic; -1953Hz 輸出 freq7812 : out std_logic; -7812Hz 輸

53、出 freq31250: out std_logic; -31250Hz 輸出 freq125k : out std_logic; -125KHz 輸出 freq500k : out std_logic ); -500KHz 輸出 end cnt; architecture behv of cnt is signal temp: std_logic_vector(19 downto 0); begin process(clk) begin if clkevent and clk =1 then if temp= then temp=; else temp=temp+1; end if; end

54、 if; end process; freq1=temp(19); freq488=temp(10); freq1953=temp(8); freq7812=temp(6); freq31250=temp(4); freq125k=temp(2); freq500k=temp(0); end behv; 附錄四附錄四 測(cè)頻控制信號(hào)發(fā)生器源程序測(cè)頻控制信號(hào)發(fā)生器源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY TESTCTL IS PORT ( CLK: IN STD_LO

55、GIC; -1 Hz 測(cè)頻控制時(shí)鐘 TSTEN: OUT STD_LOGIC; -計(jì)數(shù)器時(shí)鐘使能 CLR_CNT: OUT STD_LOGIC; -計(jì)數(shù)器清零 LOAD: OUT STD_LOGIC); -輸出鎖存信號(hào) END TESTCTL; ARCHITECTURE ART OF TESTCTL IS SIGNAL DIV2CLK :STD_LOGIC; SIGNAL CLR :STD_LOGIC; SIGNAL loadcnt :STD_LOGIC; BEGIN PROCESS ( CLK ) IS BEGIN IF CLKEVENT AND CLK= 1 -1 HZ 時(shí)鐘二分頻 THE

56、N DIV2CLK=NOT DIV2CLK; END IF ; END PROCESS; PROCESS ( CLK,DIV2CLK ) BEGIN IF CLK= 0 AND DIV2CLK = 0 THEN -產(chǎn)生計(jì)數(shù)器清零信號(hào) CLR= 1; ELSE CLR= 0 ; END IF; if clr=0 and div2clk=0 then loadcnt=1; else loadcnt=0; end if; END PROCESS; LOAD=not div2clk; TSTEN=DIV2CLK;CLR_CNT=CLR; END ARCHITECTURE ART; 附錄五附錄五 32

57、位鎖存器源程序位鎖存器源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY REG32B IS PORT(LOAD: IN STD_LOGIC; DIN: IN STD_LOGIC_VECTOR(31 DOWNTO 0); DOUT: OUT STD_LOGIC_VECTOR(31 DOWNTO 0); END ENTITY REG32B; ARCHITECTURE ART OF REG32B IS BEGIN PROCESS ( LOAD, DIN ) IS BEGIN IF LOAD EVENT AND LOAD= 1 THEN DOU

58、T=DIN; -鎖存輸入數(shù)據(jù) END IF; END PROCESS; END ART; 附錄六附錄六 有時(shí)鐘使能的十進(jìn)制計(jì)數(shù)器的源程序有時(shí)鐘使能的十進(jìn)制計(jì)數(shù)器的源程序 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY CNT10 IS PORT (CLK:IN STD_LOGIC; -計(jì)數(shù)時(shí)鐘信號(hào) CLR:IN STD_LOGIC; -清零信號(hào) ENA:IN STD_LOGIC; -計(jì)數(shù)使能信號(hào) CQ :OUT INTEGER RANGE 0 TO 15;-4位計(jì)數(shù)結(jié)果輸出 CARRY_OUT:OUT STD_LOGIC); -計(jì)數(shù)進(jìn)位 END CNT10; ARCHITECTURE ART OF CNT10 IS SIGNAL CQI :INTEGER RANGE 0 TO 15; BEGIN PROCESS(CLK,CLR,ENA) IS BEGIN IF CLR= 1 THEN CQI= 0; -計(jì)數(shù)器異步清零 ELSIF CLK

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論