




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、數(shù)字頻率計用VHDL語言設(shè)計實(shí)現(xiàn)基于FPGA的數(shù)字頻率計學(xué)校:學(xué)院:姓名:學(xué)號:實(shí)驗(yàn)室:實(shí)驗(yàn)日期:摘要本文介紹了一種基于FPGA勺數(shù)字頻率的實(shí)現(xiàn)方法。該設(shè)計采用 硬件描述語言VHDL在軟件開發(fā)平臺ISE上完成。該設(shè)計的頻率計 有三種閘門選擇,分別是1s、0.1s、0.01s,能較準(zhǔn)確的測量頻率在 10Hz到10MHz之間的信號。使用 ModelSim仿真軟件對各個模塊的 VHDL程序做了仿真,對各個模塊的功能進(jìn)行了測試,并完成了綜合 布局布線,最終下載到芯片上取得了良好測試效果。關(guān)鍵詞:VHDL頻率計、FPGA 測量目錄第一章 引言 錯誤!未定義書簽。第二章 基于FPGA的VHDL設(shè)計流程 3
2、2.1 概述 32.2 VHDL語言和 VErilogHDL介紹 32.2.1 VHDL 的特點(diǎn) 42.3 FPGA介 紹 5第三章數(shù)字頻率計的軟件開發(fā)環(huán)境 錯誤!未定義書簽。3.1開發(fā)環(huán)境 63.2 MddeSm 介紹 63.3 ISE 介紹 5第四章數(shù)字頻率計的設(shè)計與實(shí)現(xiàn) 74.1 任務(wù)要求 74.2測量原理 錯誤!未定義書簽。4.3設(shè)計方案與系統(tǒng)需求 74.4各模塊的功能及實(shí)現(xiàn) 94.4.1 分頻器 94.4.2 閘門選擇器 104.4.3 測頻控制器 錯誤!未定義書簽。4.4.4 計數(shù)器 錯誤!未定義書簽。4.4.5 鎖存器 錯誤!未定義書簽。4.4.6 顯示控制系統(tǒng) 錯誤!未定義書簽
3、。4.5分配引腳和下載實(shí)現(xiàn) 錯誤!未定義書簽。4.6誤差分析 錯誤!未定義書簽。第五章實(shí)驗(yàn)結(jié)論及總結(jié) 19參考文獻(xiàn)20致謝 21附錄 錯誤!未定義書簽。第一章、引言硬件描述語言(英文: Hardware Description Lan guage,簡稱:HDL )是電子系統(tǒng)硬件行為描述、結(jié)構(gòu)描述、數(shù)據(jù)流描述的語言。利用這種語言,數(shù)字 電路系統(tǒng)的設(shè)計可以從頂層到底層(從抽象到具體)逐層描述自己的設(shè)計思想, 用一系列分層次的模塊來表示極其復(fù)雜的數(shù)字系統(tǒng)。以硬件描述語言(Verilog或VHDL所完成的電路設(shè)計,可以經(jīng)過簡單的綜 合與布局,快速的燒錄至FPGA上進(jìn)行測試,是現(xiàn)代IC設(shè)計驗(yàn)證的技術(shù)主流
4、。 這些可編輯元件可以被用來實(shí)現(xiàn)一些基本的邏輯門電路(比如AND OR XORNOT或者更復(fù)雜一些的組合功能比如解碼器或數(shù)學(xué)方程式。在大多數(shù)的FPGA里面,這些可編輯的元件里也包含記憶元件例如觸發(fā)器(Flip - flop )或者其他更加完整的記憶塊。在電子技術(shù)中,頻率是最基本的參數(shù)之一,并且與許多電參量的測量方案、 測量結(jié)果都有十分密切的關(guān)系,因此,頻率的測量就顯得更為重要。所謂“頻率”, 就是周期信號在單位時間(秒)內(nèi)變化的次數(shù),若在一定的時間間隔T內(nèi)計得某 周期信號的重復(fù)變化次數(shù)為N,則該信號的頻率為f = N。測量頻率的方法有多T種,其中電子計數(shù)器測量頻率具有精度高、使用方便、測量迅速
5、,以及便于實(shí)現(xiàn) 測量過程自動化等優(yōu)點(diǎn),是頻率測量的重要手段之一。電子計數(shù)器測頻有兩種方 式: 一是直接測頻法,即在一定閘門時間內(nèi)測量被測信號的脈沖個數(shù);二是間接測頻法,如周期測頻法。直接測頻法適用于高頻信號的頻率測量,間接測頻法適用于低頻信號的頻率測量。本文使用的是直接測頻法。第二章、基于FPGA勺VHDI設(shè)計流程2.1 概述頻率計的基本原理是用一個頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時鐘, 對比測量 其他信號的頻率。通常情況下計算每秒內(nèi)待測信號的脈沖個數(shù),此時我們稱閘門 時間為1秒。閘門時間也可以大于或小于一秒。 閘門時間越長,得到的頻率值就 越準(zhǔn)確,但閘門時間越長則沒測一次頻率的間隔就越長。 閘門
6、時間越短,測的頻 率值刷新就越快,但測得的頻率精度就受影響。本文中,數(shù)字頻率計是用數(shù)字顯 示被測信號頻率的儀器,限于實(shí)驗(yàn)條件等,被測信號只能是方波。數(shù)字頻率計是數(shù)字電路中的一個典型應(yīng)用,實(shí)際的硬件設(shè)計用到的器件較 多,連線比較復(fù)雜,而且會產(chǎn)生比較大的延時,造成測量誤差、可靠性差。頻率 計的設(shè)計有傳統(tǒng)方法和現(xiàn)代方法, 傳統(tǒng)的設(shè)計方法耗時耗功,設(shè)計強(qiáng)度大,且容 易出錯,設(shè)計的質(zhì)量不一定是最好的。自然我們考慮到現(xiàn)代方法,即二十世紀(jì)八 十年代興起的電子設(shè)計自動化技術(shù),英文為Electro nic Design Auto ,縮寫為EDA在EDA設(shè)計工具中,用的最廣泛的是 VHDL和VERILOG當(dāng)然還有
7、其它的, 例如sopc。比較VHDI和VERILOG在頂層設(shè)計方面 VHDL優(yōu)于VERILOG在門級 電路設(shè)計方面VERILOG優(yōu)于VHDL隨著復(fù)雜可編程邏輯器件(CPLD的廣泛應(yīng) 用,以EDA工具作為開發(fā)手段,運(yùn)用 VHDL語言,將使整個系統(tǒng)大大簡化,提高 整體的性能和可靠性。本次的頻率計設(shè)計主要是頂層設(shè)計,目的是設(shè)計6位十進(jìn) 制頻率計,學(xué)習(xí)常用的數(shù)字系統(tǒng)設(shè)計方法。采用VDHL編程設(shè)計實(shí)現(xiàn)的數(shù)字頻率計,除被測信號的整形部分、鍵輸入部分以外,其余全部在一片F(xiàn)PGA芯片上實(shí)現(xiàn),整個系統(tǒng)非常精簡,而且具有靈活的現(xiàn)場可更改性。 在不更改硬件電路的基 礎(chǔ)上,對系統(tǒng)進(jìn)行各種改進(jìn)還可以進(jìn)一步提高系統(tǒng)的性能
8、。該數(shù)字頻率計具有高 速、精確、可靠、抗干擾性強(qiáng)和現(xiàn)場可編程等優(yōu)點(diǎn)。2.2 VHDL 語言和 Verilog HDL 介紹VHDL誕生于1982年。在1987年底,VHDL被 IEEE和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬 件描述語言。自IEEE公布了 VHDL的標(biāo)準(zhǔn)版本,IEEE-1076 (簡稱87版)之后, 各EDA公司相繼推出了自己的 VHDL設(shè)計環(huán)境,或宣布自己的設(shè)計工具可以和 VHDL接口。此后VHDL在電子設(shè)計領(lǐng)域得到了廣泛的接受,并逐步取代了原有的 非標(biāo)準(zhǔn)的硬件描述語言。而 Verilog HDL是由 GDA(GatewaQesign Automation) 公司的PhilMoorby在19
9、83年末首創(chuàng)的,最初只設(shè)計了一個仿真與驗(yàn)證工具, 之 后又陸續(xù)開發(fā)了相關(guān)的故障模擬與時序分析工具。1985年Moorby推出它的第三個商用仿真器Verilog-XL,獲得了巨大的成功,從而使得 Verilog HDL迅速得到推廣應(yīng)用。1989年CADENC公司收購了 GDA公司,使得VerilogHDL成為了該公 司的獨(dú)家專利。1990年CADENC公司公開發(fā)表了 Verilog HDL,并成立LVI組織 以促進(jìn) Verilog HDL 成為 IEEE 標(biāo)準(zhǔn),即 IEEE Standard 1364-1995。由于 GDA 公司本就偏重于硬件,所以不可避免地Verilog HDL就偏重于硬件一
10、些,故Verilog HDL的底層統(tǒng)合做得非常好。而 VHDL的邏輯綜合就較之 Verilog HDL 要出色一些。所以,Verilog HDL作重強(qiáng)調(diào)集成電路的綜合,而 VHDL強(qiáng)調(diào)于組 合邏輯的綜合。2.2.1 VHDL的特點(diǎn)VHDL是一種用普通文本形式設(shè)計數(shù)字系統(tǒng)的硬件描述語言,主要用于描述數(shù) 字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,可以在任何文字處理軟件環(huán)境中編輯。除了 含有許多具有硬件特征的語句外,其形式、描述風(fēng)格及語法十分類似于計算機(jī)高 級語言。VHDL程序?qū)⒁豁椆こ淘O(shè)計項目(或稱設(shè)計實(shí)體)分成描述外部端口信 號的可視部分和描述端口信號之間邏輯關(guān)系的內(nèi)部不可視部分,這種將設(shè)計項目分成內(nèi)、外
11、兩個部分的概念是硬件描述語言 (HDL)的基本特征。當(dāng)一個設(shè)計項 目定義了外部界面(端口),在其內(nèi)部設(shè)計完成后,其他的設(shè)計就可以利用外部 端口直接調(diào)用這個項目。VHDL的主要特點(diǎn)如下:(1)作為HDL的第一個國際標(biāo)準(zhǔn),VHDL具有很強(qiáng)的可移植性。2)具有豐富的模擬仿真語句和庫函數(shù),隨時可對設(shè)計進(jìn)行仿真模擬,因而能 將設(shè)計中的錯誤消除在電路系統(tǒng)裝配之前, 在設(shè)計早期就能檢查設(shè)計系統(tǒng)功能的 可行性,有很強(qiáng)的預(yù)測能力。(3)VHDL有良好的可讀性,接近高級語言,容易理解。(4)系統(tǒng)設(shè)計與硬件結(jié)構(gòu)無關(guān),方便了工藝的轉(zhuǎn)換,也不會因工藝變化而使描 述過時。(5)支持模塊化設(shè)計,可將大規(guī)模設(shè)計項目分解成若干
12、個小項目,還 可以把已有的設(shè)計項目作為一個模塊調(diào)用。6)對于用VHDL完成的一個確定設(shè)計,可以利用 EDA工具進(jìn)行邏輯綜合和 優(yōu)化,并能自動地把VHDL描述轉(zhuǎn)變成門電路級網(wǎng)表文件。(7)設(shè)計靈活,修改方便,同時也便于設(shè)計結(jié)果的交流、保存和重用,產(chǎn)品開 發(fā)速度快,成本低。VHDL是一種快速的電路設(shè)計工具,其功能涵蓋了電路描述、電路合成、電路仿 真等設(shè)計工作。VHDL具有極強(qiáng)的描述能力,能支持系統(tǒng)行為級、寄存器傳輸級 和邏輯門電路級三個不同層次的設(shè)計,能夠完成從上層到下層(從抽象到具體) 逐層描述的結(jié)構(gòu)化設(shè)計思想。用VHDL設(shè)計電路主要的工作過程是:1)編輯。用文本編輯器輸入設(shè)計的源文件(為了提高
13、輸入效率,可用某些專用 編輯器)。2)編譯。用編譯工具將文本文件編譯成代碼文件,并檢查語法錯誤。3)功能仿真(前仿真)。在編譯前進(jìn)行邏輯功能驗(yàn)證,此時的仿真沒有延時, 對于初步的功能檢測非常方便。4)綜合。將設(shè)計的源文件用自動綜合工具由語言轉(zhuǎn)換為實(shí)際的電路圖(門電路 級網(wǎng)表),但此時還沒有在芯片中形成真正的電路, 就好像是把設(shè)計者腦海中的 電路畫成了原理圖。5)布局、布線。用已生成的網(wǎng)表文件,再根據(jù) CPLD (或FPGA)器件的容量 和結(jié)構(gòu),用自動布局布線工具進(jìn)行電路設(shè)計。 首先根據(jù)網(wǎng)表文件內(nèi)容和器件結(jié)構(gòu) 確定邏輯門的位置,然后再根據(jù)網(wǎng)表提供的門連接關(guān)系,把各個門的輸入輸出連 接起來,類似于
14、設(shè)計 PCB (印刷電路板)時的布局布線工作。最后生成一個供 器件編程(或配置)的文件,同時還會在設(shè)計項目中增加一些時序信息,以便于 后仿真。6)后仿真(時序仿真)。這是與實(shí)際器件工作情況基本相同的仿真,用來確定 設(shè)計在經(jīng)過布局、布線之后,是否仍能滿足設(shè)計要求。如果設(shè)計的電路時延滿足 要求,則可以進(jìn)行器件編程(或配置)。2.3 FPGA 介紹FPGA(Field Programmable Gate Array ),即現(xiàn)場可編程門陣列,它是在 PAL GAL CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成 電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又
15、 克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。傳統(tǒng)的電路設(shè)計過程是:先畫原理圖、把原理圖繪制成印制電路板圖、 再制 版、安裝、調(diào)試。有了 FPG A我們只需要在計算機(jī)上繪出原理圖,再運(yùn)行相應(yīng) 的軟件,就可把所設(shè)計的邏輯電路在 FPG/中實(shí)現(xiàn)。所有步驟均可自動完成。電 子設(shè)計工程師自己設(shè)計專用集成電路成為了一件很容易的事情。FPGA作為專用集成電路(ASIC)概念上的一個新型范疇和門類,以其高度 靈活的用戶現(xiàn)場編程方式,現(xiàn)場定義高容量數(shù)字單片系統(tǒng)的能力,能夠重復(fù)定義、 反復(fù)改寫的新穎功能,為復(fù)雜數(shù)字系統(tǒng)設(shè)計、研制以及產(chǎn)品開發(fā)提供了有效的技 術(shù)手段。電子應(yīng)用設(shè)計工程師應(yīng)用 FPGA技術(shù)不僅可避免通常
16、ASIC單片系統(tǒng)設(shè)計 周期長,前期投資風(fēng)險大的弱點(diǎn),而且克服了過去板級通用數(shù)字電路應(yīng)用設(shè)計的 落后,繁瑣和不可靠性。目前FPGA勺兩個重要發(fā)展與突破是,大多數(shù)廠商在其高端器件上都提供了 片上的處理器(如 CPU DSP等硬核(Hard Core)或固化核(Fixed Core )。 比如 Xilinx 的 Virtex II Pro芯片可以提供 Power PC,而 Altera 的 Stratix、Excalibur等系列芯片可以提供Nios、DSP和Arm等模塊。在FPGAh集成微處 理器,使SOP(設(shè)計更加便利與強(qiáng)大。另一個發(fā)展是在不同器件商推出的高端芯 片上大都集成了高速串行收發(fā)器,一
17、般能夠達(dá)到3Gb/s以上的數(shù)據(jù)處理能力,在 Xilinx、Altera、Lattice都有相應(yīng)的器件型號提供該功能。這些新功能使FPGA的數(shù)據(jù)吞吐能力大幅度增強(qiáng)。第三章、數(shù)字頻率計的軟件開發(fā)環(huán)境本章主要介紹項目中將要用到了一系列軟件,包括用于VHDL語言編寫和編譯的ISE軟件和用于程序仿真的仿真軟件 ModelSim。3.1開發(fā)環(huán)境隨著可編程器件紛紛超越百萬門級,設(shè)計者面臨的產(chǎn)品性能與設(shè)計效率的挑 戰(zhàn)也越來越大。設(shè)計者必須合理選擇各EDA廠家提供的加速設(shè)計的工具軟件,這 樣才能在較短的時間內(nèi)設(shè)計出高效穩(wěn)定的產(chǎn)品。 在本次設(shè)計中,由于選擇的FPGA 芯片是由Xilinx公司生產(chǎn)的,所以我們主要使
18、用ModelSim和ISE軟件進(jìn)行仿真 和綜合。3.2 ModelSim 介紹Mentor公司的ModelSim是業(yè)界最優(yōu)秀的HDL語言仿真軟件,它能提供友好 的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持 VHDL和Verilog混合仿真的仿真器。它 采用直接優(yōu)化的編譯技術(shù)、Tcl/Tk技術(shù)、和單一內(nèi)核仿真技術(shù),編譯仿真速度 快,編譯的代碼與平臺無關(guān),便于保護(hù)IP核,個性化的圖形界面和用戶接口, 為用戶加快調(diào)錯提供強(qiáng)有力的手段,是 FPGA/ASIC設(shè)計的首選仿真軟件。ModelSim完全支持VHDL和 Verilog標(biāo)準(zhǔn);采用直接編輯技術(shù),大大提高HDL 編譯和仿真速度。還可以利用 ModelSim調(diào)
19、用設(shè)計文件進(jìn)行仿真分析。在調(diào)試環(huán) 境中,設(shè)計者可以通過ModelSim的快速調(diào)試步驟以及對各種信號的監(jiān)控功能 (無 論信號處于VHDL層,還是處于混合語言層)使仿真的執(zhí)行過程形象直觀化,幫 助設(shè)計者及時發(fā)現(xiàn)漏洞,縮短設(shè)計周期。ModelSim最大的特點(diǎn)是其強(qiáng)大的調(diào)試功能:先進(jìn)的數(shù)據(jù)流窗口,可以迅速 追蹤到生產(chǎn)不定或者錯誤狀態(tài)的原因; 性能分析工具幫助分析性能瓶頸,加速仿 真;代碼覆蓋率檢查確保測試的完備;多種模式的波形比較功能;先進(jìn)的SignalSpy功能,可以方便地訪問VHDI或者VHDL和 Verilog混合設(shè)計中的底層 信號;支持加密IP;可以實(shí)現(xiàn)與Matlab的Simulink的聯(lián)合仿
20、真。3.3 ISE介紹ISE的主要功能包括設(shè)計輸入、綜合、仿真、實(shí)現(xiàn)和下載,涵蓋了可編程邏輯器件開發(fā)的全過程,從功能上講,完成CPLD/FPG的設(shè)計流程無需借助任何第 三方EDA軟件。下面簡要說明各功能的作用:設(shè)計輸入:ISE提供的設(shè)計輸入工具包括用于 HDLL弋碼輸入和查看報告的ISE 文本編輯器(The ISE Text Editor ),用于原理圖編輯的工具 ECS ( The Engineering Capture System ),用于生成 IP Core 的 Core Generator,用于 狀態(tài)機(jī)設(shè)計的StateCAD以及用于約束文件編輯的 Constraint Editor
21、等。綜合:ISE的綜合工具不但包含了 Xilinx自身提供的綜合工具XST同時還 可以內(nèi)嵌 Mentor Graphics 公司的 Leonardo Spectrum 和 Synplicity 公司的 Synplify,實(shí)現(xiàn)無縫鏈接。仿真:ISE本身自帶了一個具有圖形化波形編輯功能的仿真工具HDLBencher,同時又提供了使用 Model Tech公司的Modelsim進(jìn)行仿真的接口。實(shí)現(xiàn):此功能包括了翻譯、映射、布局布線等,還具備時序分析、管腳指定 以及增量設(shè)計等高級功能。下載:下載功能包括了 BitGen,用于將布局布線后的設(shè)計文件轉(zhuǎn)換為位流文件,還包括了 IMPACT功能是進(jìn)行芯片配置
22、和通信,控制將程序燒寫到FPGA芯片中去。第四章、數(shù)字頻率計的設(shè)計與實(shí)現(xiàn)4.1任務(wù)要求本實(shí)驗(yàn)核心任務(wù)是完成基于FPGA利用VHDL語言設(shè)計一個數(shù)字頻率計的設(shè)計, 仿真,下載實(shí)現(xiàn)并實(shí)際測量效果。具體要求是:頻率測量范圍為10Hz10MHz用6只數(shù)碼管以kHz為單位顯示測量結(jié)果;有三個帶鎖按鍵開關(guān) (任何時候都只 會有一個被按下)用來選擇1S 0.1S和0.01S三個閘門時間中的一個,若按下兩 個及以上或者不選擇則隨意顯示;有兩只 LED 一只的亮滅用來顯示閘門信號高 低電平,另一只當(dāng)計數(shù)器溢出時做溢出指示。4.2測量原理頻率計的基本原理是用一個頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時鐘,對比測量 其他信號
23、的頻率。通常情況下計數(shù)每秒內(nèi)待測信號的脈沖個數(shù),此時我們稱閘門 時間為1S,閘門時間也可以大于或小于1S。閘門時間越長,得到的頻率值就準(zhǔn) 確,但閘門時間越長則每測一次頻率的間隔就越長;閘門時間越短,測得頻率值刷新就越快,但測得的頻率精準(zhǔn)度就受影響。4.3設(shè)計方案與系統(tǒng)需求由電子計數(shù)器頻率測量基本原理可知,測頻功能實(shí)現(xiàn)需要脈沖形成電路、閘門、 十進(jìn)制電子計數(shù)器、門控電路、時基信號發(fā)生器。被測信號輸入圖4.1 實(shí)驗(yàn)原理框架從圖4.1中可知,所設(shè)計的頻率計需要6個模塊,分別是:分頻器、閘門選擇 器、測頻控制器,計數(shù)器、鎖存器以及顯示模塊。核心板硬件結(jié)構(gòu)如下圖所示:結(jié)合實(shí)際實(shí)驗(yàn)板的硬件條件,可以利用E
24、DA軟件和VHDL語言在EEC-FPG實(shí)驗(yàn) 板上完成頻率計的數(shù)字部分的設(shè)計與實(shí)現(xiàn)。Fpga實(shí)驗(yàn)板如圖4-2所示:圖4.2 EDA實(shí)驗(yàn)板從圖4.1和圖4.2可知,如果以此實(shí)驗(yàn)板做為頻率計的硬件實(shí)現(xiàn), 可以使用 50Mhz的有源晶振作為時基信號發(fā)生器,但是測量需要的時基信號為 1S、0.1S、 0。01S,因此需要進(jìn)行分頻,另外計數(shù)器的輸出結(jié)果可以使用數(shù)碼管顯示,需要一個1KHz的掃描信號,也可由晶振分頻得到,脈沖形成電路可以使用模擬電路, 另外為了使數(shù)碼管能夠穩(wěn)定顯示,在輸出之前加一個鎖存器,閘門選擇可以使用 實(shí)驗(yàn)板上的撥碼開關(guān)得到。至此可以確定,可以在EEC-FPG實(shí)驗(yàn)板實(shí)現(xiàn)的數(shù)字電路部分為分
25、頻器、計數(shù)器、鎖存器、測頻控制、閘門選擇、數(shù)碼管掃描顯示控 制子系統(tǒng),這些模塊之間的關(guān)系如圖 4.1所示。放大整形電路(模擬電路):放大被測信號并將其整形為方波脈沖,該方波 脈沖經(jīng)過閘門后送計數(shù)器計數(shù)。石英振蕩器:產(chǎn)生一個頻率高度穩(wěn)定的信號送分頻器分頻。分頻器:對石英振蕩器產(chǎn)生的信號進(jìn)行分頻,得到100Hz、10Hz和1Hz三個基準(zhǔn)頻率;同時產(chǎn)一個1000Hz的信號作為掃描顯示譯碼模塊的時鐘,以產(chǎn)生掃 描選擇信號。門控電路:產(chǎn)生控制信號門控電路在時間基準(zhǔn)信號的控制下產(chǎn)生門控信號GATE門控信號有效時,閘門開通,計數(shù)器計數(shù)。當(dāng)門控信號停止作用時,閘門 關(guān)斷。為了使計數(shù)結(jié)果能夠在顯示器上穩(wěn)定的顯示
26、,閘門關(guān)斷后門控電路要產(chǎn)生一個鎖存命令Latch使鎖存器鎖存計數(shù)結(jié)果。在計數(shù)結(jié)果鎖存以后,下一次計數(shù) 開始以前,門控電路還要產(chǎn)生一個清零信號 CLEAR各計數(shù)器清零,以便重新計數(shù)。 4.4各模塊的功能及實(shí)現(xiàn)4.4.1 分頻器分頻器的功能是提供標(biāo)準(zhǔn)閘門時間控制信號以精確控制計數(shù)器的開閉。由于 閘門時間只有1S,0.1S,0.01S三檔,且在數(shù)碼管顯示時采用動態(tài)掃描的方法, 需要產(chǎn)生1kHz的掃描信號,由于本設(shè)計將下載到開發(fā)板上,其提供的標(biāo)準(zhǔn)時間 是50MHz晶振,所以要對系統(tǒng)的50MHz寸鐘信號進(jìn)行分頻,以產(chǎn)生符合要求的各 頻率信號:先由系統(tǒng)時鐘50M Hz分頻出1kHz作為數(shù)碼管顯示的動態(tài)掃描
27、信號, 再由1kHz分頻出100Hz產(chǎn)生0.01S的計數(shù)閘門信號脈沖,由100Hz分頻出10Hz 產(chǎn)生0.1S的計數(shù)閘門信號脈沖,由10Hz分頻出1Hz產(chǎn)生1S的計數(shù)閘門信號脈 沖。同時給整個系統(tǒng)定義系統(tǒng)復(fù)位。由以上分析,可分頻器模塊如下圖所示:這個模塊實(shí)現(xiàn)了把50MHZ的晶振信號分成了我們需要的四個信號 1Hz, 10Hz, 100Hz, 1KHz因?yàn)榉抡鎴D需經(jīng)過50000個周期clk_1kHz才能出現(xiàn)一次上升沿,無法準(zhǔn)確顯 示50000次,故而仿真圖略。442 閘門選擇器該模塊的功能是根據(jù)開關(guān)sw(2:0 )的不同輸入,實(shí)現(xiàn)對輸入的幾個閘門信號 fdiv_in、fdiv_in10、fdiv
28、_in100 的手動選擇,輸出被選中的閘門信號fdiv_out 和小數(shù)點(diǎn)的控制信號dp_loc(2:0)。生成的模塊如下圖所示:gate selectorf_reffd i v J nfdiv_outfdiv in 10u1fdiv_in100 -sw(2:0)dpoc(2:0)I該模塊有四個輸入端口,其中sw(2:0)為選擇端,fdiv_in 、fdiv_in10、fdiv_in100為被選時基信號輸入端。當(dāng)sw為001時,1hz的輸入時基信號被選 中,被賦值給輸出端口 fdiv_out輸出,此時dp_loc為011;當(dāng)sw為010時, 10hz時基信號被選中,被賦值給輸出端口 fdiv_o
29、ut輸出,此時dp_loc為010; 最后當(dāng)sw為100時,100hz時基信號被選中,被賦值給輸出端口 fhz輸出,此 時 dp_loc 為 001。仿真圖如圖4-8所示:9KiKM-1叩F莎* “h AmjEluF知(,1丄 tes.jdtnf.fj:.1 PU:01.:LIK|11:鈿:u443 測頻控制器測頻控制器是控制整個頻率計各模塊進(jìn)行時序工作的控制裝置, 它對輸入的標(biāo) 準(zhǔn)時鐘信號fdiv_in 進(jìn)行變換,產(chǎn)生我們所需要的三個信號閘門信號 counter_en_out,鎖存信號 latch_en_out 以及清零信號 count_reset_out。其 生成的模塊如下圖所示:一一一
30、一controlfdivjn counter_en_outcoun ter_reset_outu2 latcn en outr測頻控制器的計數(shù)使能信號fdiv_in能產(chǎn)生一個周期信號,并對頻率計的計數(shù)器 使能端進(jìn)行同步控制。當(dāng)fdiv_in為高電平時,允許計數(shù),為低電平時停止計數(shù), 并保持其所計得脈沖數(shù)。在停止計數(shù)期間,首先需要一個鎖存信號latch_en_out 的上升沿將計數(shù)器在前一秒的計數(shù)值鎖存進(jìn)24位鎖存器latch_en_out中,并經(jīng)過顯示模塊顯示。鎖存信號之后,必須有一清零信號count_reset_out對計數(shù)器 清零,為下一秒的計數(shù)操作準(zhǔn)備。測頻控制信號發(fā)生器的仿真工作時序如
31、下圖所示。如果閘門信號fdiv_in的頻率取100Hz那么信號fdiv_in的脈寬恰好為0.01S,可以用作計數(shù)閘門信號,而選擇其他閘門信號時也類似。然后根據(jù)測頻 的時序要求,可得出信號latch_en_out和count_reset_out的邏輯描述。由圖 可見,在計數(shù)完成后,即計數(shù)使能信號fdiv_i n在1S的高電平后,利用其反相值產(chǎn)生一個鎖存信號latch_en_out ,由于反相器的器件延時,鎖存信號的上升 沿是在計數(shù)使能信號即閘門信號fdiv_i n的下降沿之后,即是計數(shù)完了才鎖存的,符合我們的設(shè)計要求。而清零信號count_reset_out的上升沿的產(chǎn)生是在下 一個fdiv_i
32、n信號上升沿來臨之前,也就是說是清了零才開始計數(shù)的,不是計了 一會兒數(shù)再被清零了繼續(xù)計數(shù),這也是與我們的設(shè)計要求相符合的。444計數(shù)器由于要求頻率計的顯示為十進(jìn)制六位,所示我們設(shè)計的是使能端的十進(jìn)制計數(shù) 器,所生成的模塊如圖所示:其中clr是清零端,enc是計數(shù)信號輸入端,fx為被測信號輸入端,進(jìn)位輸出作為溢出標(biāo)志用over來表示,用以顯示計數(shù)器計數(shù)是否溢出。計數(shù)器的仿真圖如下圖所示:忙:!)jjiuiircI iliji IWI |J昨$期一丄一丄一ULJL二1/二匚皿1弓r弓養(yǎng)計IJJU E J .:)behe從上圖可知計數(shù)器符合我們設(shè)計的要求。445 鎖存器如果計數(shù)器輸出直接與譯碼器相連
33、接,那么在計數(shù)過程中輸出端則隨輸入脈沖 數(shù)的增加而不斷跳變,那么顯示數(shù)碼管則也會不斷閃爍跳變, 讓人不能看到穩(wěn)定的輸出,設(shè)鎖存器后,則不再跳變,便可清晰讀出計數(shù)結(jié)果。由控制模塊產(chǎn)生的 latch信號來提供鎖存脈沖。其生成的功能模塊如下圖所示:31(3:0)2(3:0),J13(3:0)I4(3:0)5(3:0)=6(3:0”這模塊實(shí)現(xiàn)了對六位計數(shù)結(jié)果和溢出信號 overn的鎖存功能。即鎖存信號的上 升沿來時送數(shù),其它時候則保持不變。仿真圖如下所示:卜.jkuhfujti 卜占郵AjiS 莎 tUiin.nlHl匂M幣 X .bfchnH加1勁Illi11 .sfchj*Ti!B,nn D暮鮒治
34、期 n- 訪-.(肌一U- x feldu.kfi1KCjwgT-INg詞mHU1446掃描顯示控制系統(tǒng)本模塊通過用一個頻率1KHz的信號來掃描一個多路選擇器,實(shí)現(xiàn)對六位已經(jīng) 鎖存的計數(shù)結(jié)果的掃描輸出,由于 1KHz相對了人眼的暫留效應(yīng)已經(jīng)很高了,所 以顯示結(jié)果不會讓人感覺到閃爍。這樣就可以在程序中實(shí)現(xiàn)對六個 4位二進(jìn)制數(shù) 的譯碼。譯碼結(jié)果再和段選碼結(jié)合,同樣由1KHz的信號來同步掃描選通。最后的輸出全部通過下載前的固定引腳連接到 LED顯示管上。實(shí)現(xiàn)最終結(jié)果的數(shù)字顯 示。輸入端包括掃描信號1KHz由前小數(shù)點(diǎn)指示信號dp_loc(2:0)以及鎖存器的輸出結(jié)果。其生成的模塊圖如下所示:displ
35、ayelkd p_outdpjoc(2:0)num_in 1(3:0)u5num_in 2(3:0)Ied_position_out(5:0)num_in 3(3:0)num_in4(3:0)numa 5(3:0)numjin6(3:0)led_out(6:0)仿真圖如下所示:fv羈皿:DMe阿lIMIImln列剛pLIJQ:210tJXM臥 &ifepfe-.Wran閔1LLIJliwmMlMlM-ElMJS.11T4.5 分配引腳和下載實(shí)現(xiàn)全部仿真通過后,就運(yùn)行ISE的設(shè)計實(shí)現(xiàn),然后分配引腳,即實(shí)現(xiàn)設(shè)計的輸入 輸出端口與實(shí)際芯片的輸入輸出端口的對應(yīng)連接。比如六段LED管的控制信號就 連接到
36、實(shí)際電路的六個引腳。需要注意的是一些端口是固定的,不能胡亂的連接。 外部信號輸入只能由外部信號源接口輸入,同時還要考慮內(nèi)部的可配制邏輯塊一 切都準(zhǔn)備就緒后就可以運(yùn)行 Con figure Device ,選擇要下載的位文件(.bit ) 便可開始下載了。管腳分配文件也在附錄中給出,僅供參考4.6 誤差分析在實(shí)際測量中,輸入10MHz的方波,顯示為09.9998MHz調(diào)低一檔,若要顯 示999.999kHz則需要輸入1.00001MHz若在1Hz檔,將輸入方波的頻率逐漸增 加,增加到約為800kHz時,最后一位開始閃爍,隨著頻率的不斷增加,輸入頻率與顯示的差距逐漸增大。1Hz檔測得數(shù)據(jù)如下:輸入
37、(Hz)輸出(kHz)1000.00110000.010100000.1001000001.00010000010.000100000099.999800000800.0011000001999.9991000002溢出10Hz檔測得的數(shù)據(jù):輸入(Hz)輸出(kHz)100000.011000000.1010000001.00100000010.001000000100.0010000000999.9980000200800.01100000129999.9910000013溢出100Hz檔測得的數(shù)據(jù):輸入(Hz)輸出(kHz)10000000.1100000001.01000000010.0
38、10000000100.0100000001000.01000000009999.8下面我們來分析計數(shù)器測頻的測量誤差。從公式 f =以(4-1)可知,上述測頻T方法的測量誤差,一方面決定于閘門時間T,另一方面決定于計數(shù)器計得的數(shù)據(jù)。 根據(jù)誤差合成方法,從公式(4-1)可得:xN T(4-2)公式(4-2)中第一項是數(shù)字化儀器所特有的誤差,而第二項是閘門時間的相對 誤差,這項誤差決定于石英振蕩器所提供的標(biāo)準(zhǔn)頻率的準(zhǔn)確度。現(xiàn)分述如下。(1) 1誤差在測頻時,主門的開啟時刻與計數(shù)脈沖之間的時間關(guān)系是不相關(guān)的,所以它們 在時間軸上的相對位置是隨機(jī)的。 這樣,在相同的主門開啟時間內(nèi),計數(shù)器所計得的數(shù)卻
39、不一定相同,當(dāng)主門開啟時間T接近甚至等于被測信號周期Tx的整數(shù)倍N倍時,此項誤差為最大,圖4-2畫出的就是這種情況。NTx嚴(yán)ZniwwuviL+騷3*ToiftnnnruwLIdI t厶T趟近于0圖4-2正負(fù)1誤差若主門開啟時刻為To,而第1個計數(shù)脈沖出現(xiàn)在Tx,圖4-2 (a)中示出了TxT0的情況( T二Tx -T。),這時計數(shù)器計得N個數(shù)(圖中N=6);現(xiàn)在再來看圖4-2 (b)情況,即趨近于0,這就有兩種可能的計數(shù)結(jié)果:若第 1個計數(shù)脈沖 和第7個計數(shù)脈沖都能通過主門,則可計得N+1=7個數(shù);也可能這兩個脈沖都沒 有能進(jìn)入主門,則只能計得N-仁5個數(shù)。由此可知,最大的計數(shù)誤差為個數(shù)。所
40、 以考慮到公式(4-1),可寫成N -11=土N NTfx(4-3)式中T為閘門時間,為被測頻率。從公式(4-3)可知,不管計數(shù)值N多少,其 最大誤差總是土 1個計數(shù)單位,故稱“土 1個字誤差”,簡稱“土 1誤差”。而 且一定時,增大閘門時間T,可減小土 1誤差對測頻誤差的影響。當(dāng) T選定后, 越低,則由土 1誤差產(chǎn)生的測頻誤差越大。(2) 標(biāo)準(zhǔn)頻率誤差閘門時間T準(zhǔn)不準(zhǔn),主要決定于由石英振蕩器提供的標(biāo)準(zhǔn)頻率的準(zhǔn)確度,若石英振蕩器的頻率為,分頻系數(shù)為k,則所以.汀二fcfc(4-4)可見,閘門時間的準(zhǔn)確度在數(shù)值上等于標(biāo)準(zhǔn)頻率的準(zhǔn)確度,式中負(fù)號表示由引起的閘門時間的誤差為-AT。(3)結(jié)論綜上所述
41、,可得如下結(jié)論:即誤差和標(biāo)準(zhǔn)頻率誤差。一般,總誤差可采計數(shù)器直接測頻的誤差主要有兩項: 用分項誤差絕對值合成,即(4-5)由以上公式可知:當(dāng)輸入頻率值為10000012HZ時,輸出頻率值為9999.99kHZ,誤差為:10000012-999999010000012100% =0.00022%當(dāng)輸入頻率值為10000000Hz時,輸出頻率值為09999.8Hz,其誤差為:10000000-999998010000000100% =0.0002%其余的相對誤差計算方法一樣,分析結(jié)果可見,誤差都在0.0002%左右,這個數(shù)很小,因此在一般精度的系統(tǒng)中,就可以應(yīng)用該頻率計來計數(shù)或測頻。第五章實(shí)驗(yàn)結(jié)論
42、及總結(jié)本文主要介紹了利用VHDL語言完成基于FPGA的數(shù)字頻率計的設(shè)計與實(shí)現(xiàn)。詳 細(xì)介紹了測量原理,設(shè)計方案、各模塊的設(shè)計過程及其實(shí)現(xiàn)的功能,并對設(shè)計中遇到的問題作了分析和處理;利用ISE和ModelSim對設(shè)計進(jìn)行了仿真,分析, 綜合,并最終下載到FPGA芯片中,實(shí)現(xiàn)了對頻率的測量。(1) . 通過ISE綜合,ModelSim仿真,最終在EDA實(shí)驗(yàn)板上實(shí)現(xiàn)了 10Hz 10MHz 頻率計的設(shè)計,其誤差在0.01%數(shù)量級,能夠較為精確的測量頻率。(2) .當(dāng)頻率計值達(dá)到該檔量程最大測量值時,這時輸入頻率值再繼續(xù)增加,則會產(chǎn)生溢出,并且LED6會變亮表示計數(shù)器已經(jīng)溢出。(3) .在測量頻率過程中
43、我們應(yīng)當(dāng)選擇適當(dāng)?shù)臋n位, 使得測量結(jié)果更加精確,特 別是溢出信號LED亮的時候,一定要選擇更高檔位來進(jìn)行測量。而有時為了能更 精確的顯示頻率,也應(yīng)調(diào)低檔次來讀數(shù)。通過頻率計的設(shè)計試驗(yàn),對頻率計有了更深的認(rèn)識,尤其是對頻率計的工作原 理以及各功能模塊的實(shí)現(xiàn)有深入了解。此外,還熟悉了Xili nx ISE 10.1i、ModelSim軟件的用法和VHDL/Verilog的編程環(huán)境,通過本次的設(shè)計培養(yǎng)自己的 實(shí)驗(yàn)動手能力。這是第一次利用VHDL語言來實(shí)現(xiàn)基于FPGA勺實(shí)際工程項目,所 以在實(shí)驗(yàn)過程中不可避免的遇到了很多問題。理論和實(shí)踐沒有有機(jī)的聯(lián)系起來, 導(dǎo)致出現(xiàn)各種錯誤。參考文獻(xiàn)1 .蔣煥文,孫續(xù)
44、電子測量(第二版).中國計量出版社(中)2 . Volnei A. Pedroni. VHDL數(shù)字電路設(shè)計教程.電子工業(yè)出版社(巴西).3 .姜立東.VHDL語言程序設(shè)計及應(yīng)用(第二版).北京郵電出版社(中).4 .湯山俊夫.數(shù)字電路設(shè)計與制作.科學(xué)出版社(日).廖超平.EDA技術(shù).北京理工大學(xué)出版社(中).孫航.Xilinx可編程邏輯器件的高級應(yīng)用與設(shè)計技巧.電子工業(yè)出版社(中).致 謝在此,我首先向不辭辛勞,誨人不倦的老師一一老師,表示最衷心的感謝。本實(shí)驗(yàn)在系統(tǒng)的設(shè)計和開發(fā)、代碼的編寫和調(diào)試過程中都得到了劉老師和皇老師 的悉心指導(dǎo)與指正。正是老師們的諄諄教導(dǎo)和熱心關(guān)懷使我較快的熟悉了如何使
45、 用硬件語言VHDL來實(shí)現(xiàn)項目的過程,并最終順利完成實(shí)驗(yàn)。同時,老師們嚴(yán)謹(jǐn) 的治學(xué)態(tài)度以及對工作的一絲不茍,也使我受益匪淺,終生難忘。特別感謝同學(xué)們在實(shí)驗(yàn)期間給予我的巨大幫助與支持。在此,謹(jǐn)向他們致以深 深的敬意和誠摯的感謝!附錄分頻器(50000分頻,即出來1kHz的脈沖)-Engin eer:-Create Date: 03/15/2015LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;en tity freque ncy_divider_50000 isport(f_in : in std_
46、logic;f_out : out std_logic);end freque ncy_divider_50000;architecture behav of freque ncy_divider_50000 issig nal count : stdo gic_vector(15 dow nto 0) := (others=0); beg inprocess(f_i n)begi nif f_in eve nt and f_in = 0 the nif cou nt = 49999 thencount 0);elsecount = count + 1; end if;end if;end p
47、rocess;f_out 0); beg inprocess(f_i n)begi nif f_in eve nt and f_in = 0 the nif count = 9 the ncount 0);elsecount = count + 1;end if;end if;end process;f_out fdiv_out = fdiv_i n; dp_loc fdiv_out = fdiv_in 10; dp_loc fdiv_out = fdiv_i n100; dp_loc fdiv_out = 0; dp_loc = 111; end case;end process;end o
48、ne;測頻控制器:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;en tity con trol isport(fdiv_i n:i n std_logic;coun ter_e n_out:out std_logic:=0; coun ter_reset_out:out std_logic:=0; latch_en_out:out std_logic:=0);end con trol;architecture one of con tr
49、ol issig nal sig1,sig2:std_logic:=0;beg inprocess(fdiv_i n, sig1,sig2)begi nif risin g_edge(fdiv_i n) the nsig1=not sig1;end if;if falli ng_edge(fdiv_i n) the n sig2=not sig2;end if;end process;coun ter_e n_out=sig1;latch_e n_out=sig2;coun ter_reset_out=(not fdiv_i n)and(not sig1)a nd(sig2); end one
50、;計數(shù)器:-Compa ny:-Engin eer:-Create Date:16:32:10 03/18/2015-Desig n Name:-Module Name:count_6 - Behavioral-Project Name:-Target Devices:-Tool versi ons:-Descripti on:-Depe nden cies: -Revisi on:-Revision 0.01 - File Created-Additi onal Comme nts: library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;-Uncomment the following library declaration if using-arithmetic functions w
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國防銹干燥劑市場分析及競爭策略研究報告
- 2025至2030年中國鋼結(jié)構(gòu)支架市場分析及競爭策略研究報告
- 2025至2030年中國超級純合成發(fā)動機(jī)油市場分析及競爭策略研究報告
- 2025至2030年中國自動感應(yīng)干手器市場分析及競爭策略研究報告
- 2025至2030年中國紫菜米餅市場分析及競爭策略研究報告
- 2025至2030年中國監(jiān)控卡多媒體疊加系統(tǒng)市場分析及競爭策略研究報告
- 2025至2030年中國玻璃塞夾具市場分析及競爭策略研究報告
- 2025至2030年中國液壓下錨機(jī)市場分析及競爭策略研究報告
- 2025至2030年中國氮?dú)獍l(fā)生器市場分析及競爭策略研究報告
- 2025至2030年中國扣鎖型快速接頭市場分析及競爭策略研究報告
- 部編版小學(xué)語文四年級上冊第三單元整體設(shè)計交流課件
- 年產(chǎn)30萬噸水泥粉磨站建設(shè)工程可行性研究報告
- 邊際貢獻(xiàn)分析
- 2017人教版一年級語文下冊識字表
- 《高度參與的課堂 提高學(xué)生專注力的沉浸式教學(xué)》讀書筆記思維導(dǎo)圖PPT模板下載
- GB/T 28046.1-2011道路車輛電氣及電子設(shè)備的環(huán)境條件和試驗(yàn)第1部分:一般規(guī)定
- 外科病應(yīng)急預(yù)案嵌頓疝病人應(yīng)急預(yù)案
- 孤獨(dú)癥康復(fù)教育人員上崗培訓(xùn)練習(xí)題庫及答案
- 機(jī)械設(shè)備投入計劃及保證措施
- 東南大學(xué)附屬中大醫(yī)院ECMO操作記錄單
- 每月防火檢查及記錄表(每月一次)
評論
0/150
提交評論