![基于FPGA的多功能計數(shù)器的設(shè)計_第1頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/16/399167ec-929f-49ab-9406-a3f0977bd50c/399167ec-929f-49ab-9406-a3f0977bd50c1.gif)
![基于FPGA的多功能計數(shù)器的設(shè)計_第2頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/16/399167ec-929f-49ab-9406-a3f0977bd50c/399167ec-929f-49ab-9406-a3f0977bd50c2.gif)
![基于FPGA的多功能計數(shù)器的設(shè)計_第3頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/16/399167ec-929f-49ab-9406-a3f0977bd50c/399167ec-929f-49ab-9406-a3f0977bd50c3.gif)
![基于FPGA的多功能計數(shù)器的設(shè)計_第4頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/16/399167ec-929f-49ab-9406-a3f0977bd50c/399167ec-929f-49ab-9406-a3f0977bd50c4.gif)
![基于FPGA的多功能計數(shù)器的設(shè)計_第5頁](http://file1.renrendoc.com/fileroot_temp2/2021-2/16/399167ec-929f-49ab-9406-a3f0977bd50c/399167ec-929f-49ab-9406-a3f0977bd50c5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、本科畢業(yè)論文(設(shè)計) 題 目: 基于 FPGA 的多功能計數(shù)器的設(shè)計 學(xué) 院: 自動化工程學(xué)院 專 業(yè): 電子信息科學(xué)與技術(shù) 姓 名: # 指導(dǎo)教師: # 2010 年 6 月 8 日 基于 FPGA 的多功能計數(shù)器的設(shè)計 The Design of Multi-function Counter Based on FPGA 摘 要 本文介紹了一種以大規(guī)??删幊踢壿嬓酒瑸樵O(shè)計載體,由頂層到底層設(shè)計的多功能 數(shù)字頻率計。該頻率計采用單片機與頻率測量技術(shù)相結(jié)合,大大提高了測量的精度。本 文主要包括該頻率計的設(shè)計基礎(chǔ)和實現(xiàn)方法兩部分內(nèi)容, 描述了它的設(shè)計平臺、工作原 理和軟硬件實現(xiàn)。在硬件上,利用Al
2、tera公司的FPGA器件為主控器;在軟件上,采用 VHDL硬件描述語言編程,極大地減少了硬件資源的占用。該數(shù)字頻率計具有頻率測量、 周期測量、脈寬測量和占空比測量等多種功能。仿真與分析結(jié)果表明,該數(shù)字頻率計性 能優(yōu)異,軟件設(shè)計語言靈活,硬件簡單,速度快。 關(guān)鍵詞關(guān)鍵詞 FPGA 等精度 頻率計 VHDL Abstract This article introduced one kind as designs the carrier take the large-scale programmable logic chip, the multi-purpose digital frequency
3、 meters which designs from the top layer to the first floor. This frequency meter uses the monolithic integrated circuit and the frequency measurement technology unifies, increased the survey precision greatly. This article mainly includes this frequency meters design basis and realizes the method t
4、wo partial contents, described its design platform, the principle of work and the software and hardware realizes. On the hardware, uses Altera Corporations FPGA component is the master controller; On the software, uses the VHDL hardware description language programming, reduced hardware source occup
5、ancy enormously. This digital frequency meter has the frequency measurement, the cyclical survey, the pulse width survey and the dutyfactor survey and so on many kinds of functions. The simulation and the analysis result indicated that this digital frequency meter performance is outstanding, the sof
6、tware design language is flexible, the hardware is simple, the speed is quick. Keywords FPGA Equal Precision Measurement Frequency meter VHDL 目 錄 第一章 概述.1 1.1 多功能計數(shù)器現(xiàn)狀.1 1.2 頻率測量方法簡介.2 第二章 軟件開發(fā)平臺 VHDL 簡介.3 2.1 VHDL 的發(fā)展.3 2.2 VHDL 的特點.3 2.3 VHDL 語言結(jié)構(gòu).4 2.3.1 實體(ENTITY) .4 2.3.2 結(jié)構(gòu)體(ARCHITECTURE) .5 2
7、.4 VHDL 軟件設(shè)計簡介.6 第三章 硬件開發(fā)平臺現(xiàn)場可編程門陣列(FPGA)簡介.7 3.1 可編程邏輯器件.7 3.2 現(xiàn)場可編程門陣列(FPGA).7 3.2.1 FPGA 的器件結(jié)構(gòu)與工作原理.8 3.2.2 基于 EDA 平臺的 FPGA 開發(fā)流程 .10 第四章 多功能計數(shù)器的理論基礎(chǔ)和總體設(shè)計方案.13 4.1 常用頻率測量方法及其誤差分析.13 4.1.1 直接測頻法.13 4.1.2 測周法原理.15 4.1.3 等精度測頻原理.15 4.2 脈沖寬度和占空比測量原理.17 4.3 總體設(shè)計.18 第五章 多功能計數(shù)器的軟件設(shè)計和硬件設(shè)計.20 5.1 軟件設(shè)計.20 5
8、.1.1 測頻專用模塊工作功能描述及 VHDL 程序.21 5.1.2 脈沖寬度和占空比測量模塊.23 5.1.3 GATE.26 5.1.4 測頻/測周期實現(xiàn).26 5.2 硬件設(shè)計.27 5.2.1 程控放大電路.28 5.2.2 過零比較電路.28 5.2.3 測頻主系統(tǒng)實現(xiàn).29 總 結(jié).31 謝 辭.32 參考文獻(xiàn).33 第一章 概述 在信息技術(shù)高速發(fā)展的今天,電子系統(tǒng)數(shù)字化已成為有目共睹的趨勢。從傳統(tǒng)的應(yīng)用 中小規(guī)模芯片構(gòu)成電路系統(tǒng)到廣泛地應(yīng)用單片機,直至今天 FPGA/CPLD 在系統(tǒng)設(shè)計中的 應(yīng)用,電子設(shè)計技術(shù)已邁入了一個全新的階段。FPGA/CPLD 不僅具有容量大、邏輯功能
9、強 的特點,而且兼有高速、高可靠性。同時使得硬件的設(shè)計可以如軟件設(shè)計一樣方便快捷,使 電子設(shè)計的技術(shù)操作和系統(tǒng)構(gòu)成在整體上發(fā)生了質(zhì)的飛躍。隨著 FPGA/CPLD 器件的日益 成熟和應(yīng)用,在通信、國防、工業(yè)自動化、儀器儀表等領(lǐng)域的數(shù)字電子系統(tǒng)設(shè)計工作中,它 們正在成為電子設(shè)計的主要角色。基于強大的 EDA 技術(shù)的支持,以 VHDL 為主要設(shè)計手 段,充分開發(fā)利用 CPLD 芯片豐富而靈活的邏輯資源,成為當(dāng)前數(shù)字系統(tǒng)設(shè)計的主要發(fā)展方 向。 1.1 多功能計數(shù)器現(xiàn)狀 多功能計數(shù)器是一種用十進制數(shù)字顯示被測信號頻率、周期、占空比的數(shù)字測量儀 器,是在數(shù)字電路中的一個典型應(yīng)用;實際的硬件設(shè)計的多功能計
10、數(shù)器用到的器件較多, 連線比較復(fù)雜,而且會產(chǎn)生比較大的延時,造成測量誤差、可靠性差。隨著復(fù)雜可編程 邏輯器件(CPLD)的廣泛應(yīng)用,以 EDA 工具作為開發(fā)手段,運用 VHDL 語言,將使整 個系統(tǒng)大大簡化,提高整體的性能和可靠性。它是計算機、通訊設(shè)備、音頻視頻等科研 生產(chǎn)領(lǐng)域不可缺少的測量儀器。當(dāng)今 VLSI 的發(fā)展日新月異,F(xiàn)PGA 的容量和速度成倍地 增長,而價格卻逐年下降,這將使得基于 FPGA 設(shè)計的多功能計數(shù)器優(yōu)勢更加明顯。采 用 VHDL 編程設(shè)計實現(xiàn)的多功能計數(shù)器,除被測信號的整形部分、鍵輸入部分和數(shù)碼顯 示部分以外,其余全部在一片 FPGA 芯片上實現(xiàn),具有體積小、可靠性高、
11、功耗低的特 點;整個系統(tǒng)非常精簡,且具有靈活的現(xiàn)場可更改性。通過改裝,可以測量脈沖寬度, 做成數(shù)字脈寬測量儀;可以測量電容做成數(shù)字電容測量儀;在電路中增加傳感器,還可 以做成數(shù)字脈搏儀、計價器等。因此多功能計數(shù)器在測量物理量方面及航天、電子、測 控、儀器儀表、通信等領(lǐng)域應(yīng)用廣泛。 近年來,高精度頻率測量儀器廣泛應(yīng)用在晶體或晶體振蕩器等需求量大和要求高精 度的行業(yè)、越來越多的電子產(chǎn)品要求具備高性能和低功耗的特點,通常一塊印刷電路板 會布置多個晶體或晶體振蕩器、一般精度的頻率測量儀不能滿足對其測量要求,而滿足 測量要求的儀器又都是作為頻率計量基準(zhǔn),應(yīng)用于國家科研院所。這此儀器設(shè)計復(fù)雜、 體積龐大、
12、價格昂貴,很難在短期內(nèi)推廣。因此,設(shè)計一款測量精度高、成木較低的頻 率測量儀顯得十分必要。 這里介紹的計數(shù)器設(shè)計精良,操作簡便,精確度高,測量范圍廣, LCD 熒幕全功能 顯示,兼具備測頻、測周期功能,且成本較低.并具有良好的市場前景及經(jīng)濟效益。 1.2 頻率測量方法簡介 根據(jù)測頻工作原理可將頻率測量方法分成以下幾類: 1)是利用電路的某種頻率響應(yīng)特性來測量頻率,諧振測頻法和電橋測頻法是這類 測量方法的典型代表:前者常用于低頻段的測量,后者主要用于高頻或微波頻段 的測量。諧振法的優(yōu)點是體積小、重要輕、不要求電源等,目前仍獲得廣泛應(yīng)用。 2)是利用標(biāo)準(zhǔn)頻率與被測頻率進行比較來測量頻率,采用比較法
13、測量頻率,其準(zhǔn)確 度取決于標(biāo)準(zhǔn)頻率的準(zhǔn)確度。拍頻法、示波器法以及差頻法等均屬此類方法。拍 頻法和示波器法主要用于低頻段的測量,差頻法則用于高頻段的頻率測量,它的 顯著優(yōu)點是測試靈敏度高1。 以上兩種方法適合于模擬電路中實現(xiàn),但是模擬電路沒有數(shù)字電路穩(wěn)定,因此數(shù)字 電路出現(xiàn)后,馬上就出現(xiàn)了數(shù)字頻率計。目前廣泛使用的計數(shù)測頻法則適合于數(shù)字電路 實現(xiàn)。該方法是根據(jù)頻率的定義,記下單位時間內(nèi)周期信號的重復(fù)次數(shù),因此又稱為電 子計數(shù)器測頻法。 常用數(shù)字頻率測量方法有 M 法,T 法和 TM 法。M 法是在給定的閘門時間內(nèi),測量 被測信號的脈沖個數(shù)再進行換算得出被測信號的頻率,其測量精度取決于閘門時間的準(zhǔn)
14、 確度和被測信號頻率。當(dāng)被測信號頻率較低時將產(chǎn)生較大誤差,除非閘門時間取得很大。 T 法是通過測量被測信號的周期,然后換算得出被測信號的頻率。其測量精度取決于被測 信號的周期和計時精度,測信號頻率較高時,對計時精度的要求就很高。 TM 法具有以 上 2 種方法的優(yōu)點,它通過測量被測信號數(shù)個周期的時間,然后換算得出被測信號的頻 率,可兼顧低頻與高頻信號,提高了測量精度。但是,M 法,T 法和 TM 法都存在 1 計 數(shù)誤差問題。M 法在規(guī)定閘門時間內(nèi)存在 1 個被測信號的脈沖計數(shù)誤差,T 法或 TM 法 也存在 1 個字的計時誤差。這個問題成為限制測量精度提高的一個重要原因。本設(shè)計在 研究總結(jié)上
15、述方法的基礎(chǔ)上,得出了一種新的頻率測量方法,該方法利用等精度測頻方 法消除限制測量精度提高的 1 個數(shù)字誤差問題,從而使頻率測量的精度和性能大為改善。 然而一種新的方法的實際應(yīng)用比提出來更難,要考慮各種可能的問題,首先就是由 于采用的新的設(shè)計方法使得電路的復(fù)雜程度成倍增加,因此如果還采用傳統(tǒng)數(shù)字電路來 實現(xiàn)則將使 PCB 板面積變得異常龐大與復(fù)雜。信號走線長,導(dǎo)致系統(tǒng)誤差增大,難以提 高系統(tǒng)的工作頻率,此外,PCB 板的集成度不高還將導(dǎo)致高頻信號容易受到外界的干擾, 反而可能降低測頻精度。由于可編程邏輯器件能很好地克服了以上缺點,大大提高系統(tǒng) 時鐘,因此本設(shè)計將介紹由現(xiàn)場可編程門陣列(FPGA
16、) 來實現(xiàn)等精度頻率計。 第二章 軟件開發(fā)平臺 VHDL 簡介 2.1 VHDL 的發(fā)展 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(Gateway Design Automation)公司的 PhilMoor
17、by 在 1983 年 末首創(chuàng)的,最初只設(shè)計了一個仿真與驗證工具,之后又陸續(xù)開發(fā)了相關(guān)的故障模擬與時 序分析工具。1985 年 Moorby 推出它的第三個商用仿真器 Verilog XL,獲得了巨大的成功, 從而使得 Verilog HDL 迅速得到推廣應(yīng)用。1989 年 CADENCE 公司收購了 GDA 公司, 使得 Verilog HDL 成為了該公司的獨家專利。1990 年 CADENCE 公司公開發(fā)表了 Verilog HDL,并成立 LVI 組織以促進 Verilog HDL 成為 IEEE 標(biāo)準(zhǔn),即 IEEE Standard 1364-1995。 2.2 VHDL 的特點 V
18、HDL 語言主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,與其他硬件描述語 言相比,VHDL 語言有如下優(yōu)越之處2: 1)VHDL 語言支持自上而下(Top Down)和基于庫(Library Base )的設(shè)計方法, 還支持同步電路、異步電路、FPGA 以及其他隨機電路的設(shè)計; 2)VHDL 語言具有多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的數(shù)學(xué)模型直到門 級電路,其高層次的行為描述可以與低層次的 RTL 描述和結(jié)構(gòu)描述混合使用, 還可以自定義數(shù)據(jù) 類型,給編程人員帶來較大的自由和方便; 3)VHDL 對設(shè)計的描述具有相對獨立性,設(shè)計者可以不懂硬件的結(jié)構(gòu),也不必關(guān)心 最終設(shè)計實現(xiàn)的目標(biāo)器件是
19、什么; 4)VHDL 具有電路仿真與驗證功能,可以保證設(shè)計的正確性,用戶甚至不必編寫如 何測試相量便可以進行源代碼級的調(diào)試,而且設(shè)計者可以非常方便地比較各種方 案之間的可行性及其優(yōu)劣,不需做任何實際的電路實驗; 5)VHDL 語言可以與工藝無關(guān)編程; 6)VHDL 語言標(biāo)準(zhǔn)、規(guī)范,易于共享和復(fù)用。 2.3 VHDL 語言結(jié)構(gòu) 圖 2.1 VHDL 程序結(jié)構(gòu)框圖3 圖 2.1 中是 VHDL 的全部結(jié)構(gòu),但實際上并不需要全部的結(jié)構(gòu),就像在許多設(shè)計項 目中,大部分工程師只用到 VHDL 其中的 30%的語法;通常圖 2.2 的結(jié)構(gòu)才是基本和必 需的。 USE 定義區(qū) ENTITY 定義區(qū) ARCH
20、ITECTURE 定義區(qū) 圖 2.2 VHDL 程序基本結(jié)構(gòu) 2.3.1 實體(ENTITY) 實體作為一個設(shè)計實體的組成部分,其功能是對這個設(shè)計實體與外部電路進行接口 描述,它是設(shè)計實體的表層設(shè)計單元;實體說明部分規(guī)定了設(shè)計單元的輸入輸出接口信 號或引腳,它是設(shè)計實體對外一個通信界面。就一個設(shè)計實體面言,外界所看到的僅僅 是它的界面上的各種接口。它可以擁有一個或多個結(jié)構(gòu)體,用于描述此設(shè)計實體的邏輯 結(jié)構(gòu)和邏輯功能,對于外界來主,這一部分是不可見的。不同邏輯功能的實體可以擁有 相同的實體描述,這是因為實體類似于原理圖中的一個部件符號,而其的邏輯功能是由 設(shè)計實體中結(jié)構(gòu)體的描述確定的。實體是 V
21、HDL 的基本設(shè)計單元,它可以對一個門電路、 一個芯片、一塊電路板乃至整個系統(tǒng)進行接口描述。其結(jié)構(gòu): ENTITY 實體名 IS4 GENERIC(常數(shù)名:數(shù)據(jù)類型:設(shè)定值 ; 常數(shù)名:數(shù)據(jù)類型:設(shè)定值 ) ; PORT(端口名:端口模式 數(shù)據(jù)類型; 端口名:端口模式 數(shù)據(jù)類型) ; END ENTITY 實體名; 2.3.2 結(jié)構(gòu)體(ARCHITECTURE) 結(jié)構(gòu)體是實體所定義的設(shè)計實體中的一個組成部分。結(jié)構(gòu)體描述設(shè)計實體的內(nèi)部結(jié) 構(gòu)和實體端口間的邏輯關(guān)系。結(jié)構(gòu)體由兩大部分組成5: 對數(shù)據(jù)類型、常數(shù)、信號、子程序和元件等元素的說明部分; 描述實體邏輯行為的,以各種不同的描述風(fēng)格表達(dá)的功能描
22、述語句,它們包括各種 形式的順序描述語句和并行描述語句。其語句格式如下: ARCHITECTURE 結(jié)構(gòu)體名; 說明語句 BEGIN 功能描述語句 END ARCHITECTURE 結(jié)構(gòu)體名; 圖 2.3 中的五種語句結(jié)構(gòu)的基本組成和功能分別是: 塊語句是由一個系列并行執(zhí)行語句構(gòu)成的組成體,它的功能是將結(jié)構(gòu)中的并行語句 組成一個或多個模塊。 進程語句定義順序語句模塊,用以將從外部獲得的信號值,或內(nèi)部的運算數(shù)據(jù)向其 它的信號進行賦值。 信號賦值語句將設(shè)計實體內(nèi)的處理結(jié)果向定義的信號或界面端口進行賦值。 子程序調(diào)用語句用以調(diào)用過程或者函數(shù),并將此元件的端口與其它的元件、信號或 高層次實體的界面端口
23、進行連接。 圖 2.3 結(jié)構(gòu)體構(gòu)造圖 2.4 VHDL 軟件設(shè)計簡介 系統(tǒng)電路的軟件設(shè)計可采用工具軟件 MAX+PLUS,用該工具軟件所支持的語言 硬件描述語言 VHDL,以文本的方式進行編程輸入。在編程時分別對控制、計數(shù)、鎖 存、譯碼等電路模塊進行 VHDL 文本描述,使每個電路模塊以及器件都以文本的形式出 現(xiàn),然后通過編譯、波形分析、仿真、調(diào)試來完善每個器件的功能。單個器件制作完成 后,然后將它們生成庫文件,并產(chǎn)生相應(yīng)的符號,最后用語言將各個已生成庫文件的器 件的各個端口連接在一起,從而形成了系統(tǒng)主電路的軟件結(jié)構(gòu)。在連接器件時,也可以 采用圖形輸入方式,即在圖形輸入界面中調(diào)出先制作好的庫文
24、件器件符號,再將每個器 件符號的各端口直接連線,從而構(gòu)成系統(tǒng)主電路。在上述工作的基礎(chǔ)上,再進行波形分 析、仿真調(diào)試便完成整個軟件設(shè)計6。 說明語句 結(jié)構(gòu)體(ARCHITECTURE) 塊語句(BLOCK) 進行語句(PROCESS) 信號賦值語句 子程序調(diào)用語句 元件例化語句 功能描述語句結(jié)構(gòu) 第三章 硬件開發(fā)平臺現(xiàn)場可編程門陣列(FPGA)簡介 3.1 可編程邏輯器件 可編程邏輯器件(PLD-Programmable Logic Devices)是一種由用戶編程以實現(xiàn)某種 邏輯功能的新型邏輯器件。它誕生于 20 世紀(jì) 70 年代,在 20 世紀(jì) 80 年代以后,隨著 集成電路技術(shù)和計算機技術(shù)
25、的發(fā)展而迅速發(fā)展起來的??删幊踢壿嬈骷詥柺酪詠恚琍LD 經(jīng)歷了從 PROM、PLA、PAL、GAL 到 FPGA、ispLSI 等高密度 PLD 的發(fā)展過程。在 此期間,PLD 的集成度、速度不斷提高,功能不斷增強,結(jié)構(gòu)趨于更合理,使用變得更 靈活方便。PLD 的出現(xiàn)打破了由中小型通用型集成電路和大規(guī)模專用集成電路壟斷的局 面。與中小規(guī)模通用型集成電路相比,用 PLD 實現(xiàn)數(shù)字系統(tǒng),有研制周期短、先期投資 少、無風(fēng)險、修改邏輯設(shè)計方便、小批量生產(chǎn)成本低等優(yōu)勢。 隨著可編程邏輯器件性能價格比的不斷提高,EDA 開發(fā)軟件的不斷完善,現(xiàn)代電子 系統(tǒng)的設(shè)計將越來越多地使用可編程邏輯器件,特別是大規(guī)模
26、可編程邏輯器件。如果說 一個電子系統(tǒng)可以像積木堆積起來的話,那么現(xiàn)在構(gòu)成許多電子系統(tǒng)僅僅需要 3 種標(biāo)準(zhǔn) 的積木塊微處理器、存儲器和可編程邏輯器件,甚至只需一塊大規(guī)模可編程邏輯器 件。PAL ( Programmable Array Logic)器件是 20 世紀(jì) 70 年代末期出現(xiàn)的一種低密度、一 次性可編程邏輯器件。GAL(Generic Array Logic)器件是繼 PAL 器件之后,在 20 世紀(jì) 80 年代中期推出的一種低密度可編程邏輯器件。它在結(jié)構(gòu)上采用了輸出邏輯宏單元(OLMC- Output Logic Macro Cell )結(jié)構(gòu)形式,在工藝上吸收 EEPROM 的浮柵技
27、術(shù),從而使 GAL 器件具有可擦除、可重新編程、數(shù)據(jù)可長期保存的結(jié)構(gòu)特點。CPLD(Complex Programmable Logic Device)是萬門以上的復(fù)雜可編程邏輯器件,采用 CMOS EPROM、EEPROM、快閃存儲器和 SRAM 等編程技術(shù),從而構(gòu)成高密度、高速度和低 功耗的可編程邏輯器件7。 3.2 現(xiàn)場可編程門陣列(FPGA) FPGA 是現(xiàn)場可編程門陣列(Field Programmable Gate Array)的簡稱。FPGA 器件及 其開發(fā)系統(tǒng)是開發(fā)大規(guī)模數(shù)字集成電路的新技術(shù)。它利用計算機輔助設(shè)計,繪制出實現(xiàn) 用戶邏輯的原理圖、編輯布爾方程或用硬件描述語言等方式
28、作為設(shè)計輸入;然后經(jīng)一系 列轉(zhuǎn)換程序、自動布局布線、模擬仿真的過程;最后生成配置 FPGA 器件的數(shù)據(jù)文件, 對 FPGA 器件初始化。這樣就實現(xiàn)了滿足用戶要求的專用集成電路,真正達(dá)到了用戶自 行設(shè)計、自行研制和自行生產(chǎn)集成電路的目的。 FPGA 是一種半定制的集成電路,其特點是直接面向用戶,具有極大的靈活性和通用 性,開發(fā)效率高,硬件測試和實現(xiàn)快捷,工作可靠性好而且技術(shù)維護簡單。 FPGA 相對于 CPLD 而言,其結(jié)構(gòu)特點在于 FPGA 是基于查找表 look-up-table 的。 查找表(look-up-table)簡稱為 LUT,LUT 本質(zhì)上是一個 RAM。FPGA 中多使用 4
29、輸入 的 LUT,所以每一個 LUT 可以看成一個有 4 位地址線的 16x1 的 RAM。當(dāng)用戶通過原 理圖或 HDL 語言描述了一個邏輯電路后,PLD/FPGA 開發(fā)軟件會自動計算邏輯電路的所 有可能的結(jié)果,并把結(jié)果事先寫入 RAM,這樣,每輸入一個信號進行邏輯運算就等于輸 入一個地址進行查表,找出地址對應(yīng)的內(nèi)容,然后輸出即可。下面是一個 4 輸入與門的 例子。 圖 3.1 輸入與門 3.2.1 FPGA 的器件結(jié)構(gòu)與工作原理 FPGA(Field Programmable Gate Array)即現(xiàn)場可編程邏輯陣列,是大規(guī)??删幊碳?電路的主流器件。FPGA 一般由三種可編程電路和一個
30、用于存放編程數(shù)據(jù)的 SRAM(靜態(tài) 隨機存儲器)組成,這三種可編程電路是:可編程邏輯陣列 LAB(Logic Array Block),輸入 輸出模塊 IOB (I/O Block)和互連資源 IR(Interconnect Resource)。FPGA 可編程邏輯形成的 方法是基于查找表 LUT (Look Up Table)結(jié)構(gòu)的,LUT 是可編程的最小邏輯構(gòu)成單元4。 下面將以 Altera 公司的 ACEX 系列芯片為例對 FPGA 器件的結(jié)構(gòu)原理作個簡要的闡 述。ACEK 系列芯片除了具備上述三種常規(guī)的可編程電路,還有其特有的結(jié)構(gòu)即嵌入式陣 列塊 EAB(Embedded Array
31、 Block)。 FPGA 的內(nèi)部結(jié)構(gòu)示意圖如圖 3.2 示。 FPGA 的內(nèi)部連線是分布在 CLB 周圍,而且編程的種類和編程點很多,使得布線相 當(dāng)靈活,因此在系統(tǒng)速度方面低于 CPLD 的速度。 芯片邏輯利用率:由于 FPGA 的 CLB 規(guī)模小,可分為兩個獨立的電路,又有豐富 的連線,所以系統(tǒng)綜合時可進行充分的優(yōu)化,以達(dá)到邏輯最高的利用。 芯片功耗:高密度可編程邏輯器件 HDPLD 的功耗一般在 0.5W2.5W 之間,而 FPGA 芯片功耗 0.25mW5mW,靜態(tài)時幾乎沒有功耗,所以稱 FPGA 為零功耗器件。 圖 3.2 FPGA 結(jié)構(gòu)示意圖 1.可編程邏輯陣列 LAB 可編程邏輯
32、陣列是由一系列相鄰的邏輯單元 LE (Logic Element)構(gòu)成的,每個 LAB 包 括八個邏輯單元 LE、相連的進位鏈和級聯(lián)鏈,LAB 控制信號和 LAB 局部互連。LAB 的 構(gòu)成、ACEK 系列芯片的“粗粒度(coarse-grained )結(jié)構(gòu),有利于 EDA 軟件進行布局布線, 優(yōu)化器件的利用進而提高整個數(shù)字系統(tǒng)的性。 其中的邏輯單元 LE 是一種基于查找表的函數(shù)發(fā)生器。它能夠?qū)崿F(xiàn) 4 輸入 1 輸出的任 意邏輯函數(shù)。每個 LE 包含一個 4 輸入的查找表、一個帶有同步使能的可編程觸發(fā)器、一 個進位鏈和一個級聯(lián)鏈。每個 LE 有兩個輸出分別可以驅(qū)動局部互連和快速通道互連。LE
33、有兩個輸出驅(qū)動內(nèi)部互連,一個是驅(qū)動局部互連輸出,另一個驅(qū)動行或列的快速通道 Fast Track 的互連輸出,這兩個輸出可以單獨控制。因此在一個邏輯單元 LE 中的觸發(fā)器和查 找表能夠用來完成不相關(guān)的功能,從而提高 LE 的資源利用率。 在 ACEK 系列芯片的結(jié)構(gòu)中還提供了兩種專用的高速數(shù)據(jù)通道,用于連接相鄰的 LE,但不占用局部互連通路,它們是進位鏈和級聯(lián)鏈。進位鏈用來支持高速計數(shù)器和加 法器,它提供了 LE 之間的決速向前進位功能。來自低位的進位信號經(jīng)進位鏈向前直接送 到高位,同時饋入查找表和進位鏈的下一段。這種特點使得 ACEK 結(jié)構(gòu)能夠?qū)崿F(xiàn)高速計 數(shù)器、加法器和寬位比較器。級聯(lián)鏈可以
34、用來實現(xiàn)多輸入數(shù)的邏輯函數(shù)。相鄰的查找表 并行地完成部分邏輯功能,級聯(lián)鏈把中間結(jié)果拼接起來。進位鏈和級聯(lián)鏈的使用有利于 提高器件的工作速度,但是大量使用進位鏈和級聯(lián)鏈會限制布局布線的靈活性,導(dǎo)致資 源的浪費。因此在設(shè)計過程應(yīng)該權(quán)衡考慮,在 FPGA 芯片資源利用和工作速度之間尋求 平衡。 2.輸入/輸出模塊 IOB ACEK 器件的 I/O 引腳是由一些 I/O 單元驅(qū)動的。IOE (I/O Element)位于快速通道的 行和列末端,包含一個雙向的緩沖器和一個寄存器。這個寄存器可以用作需要快速建立 時間的外部數(shù)據(jù)輸入寄存器,也可以作為需要快速“時鐘到輸出”性能的數(shù)據(jù)輸出寄存 器。IOE 可以
35、配置成輸入、輸出或雙向口。 ACEK 器件中的 IOE 具有許多特性,支持 JTAG 編程、三態(tài)緩沖和漏極開路輸出等 等。每個 IOE 的時鐘、清零、時鐘使能和輸出使能的控制均由 I/O 控制信號網(wǎng)絡(luò)提供, 采用高速驅(qū)動以減小通過器件的時間偏差。此外,ACEK 器件還提供了若干專用輸入引腳, 這些引腳用來驅(qū)動 IOE 寄存器的控制端,使用了專用的布線通道,以便具有比快速通道 更短的延遲和更小的偏差。 3.互連資源 IR 可編程的互連資源包括各種長度的金屬連線線段和一些可編程的連線開關(guān),它們將 各個邏輯陣列之間、及其與 IO 模塊之間互相連接起來,構(gòu)成各種功能復(fù)雜的系統(tǒng)。 在 ACEK 中互連結(jié)
36、構(gòu)是通過快速通道(Fast Track)實現(xiàn)的。Fast Track 遍布于整個 ACEK 器件,是一系列水平和垂直走向的連續(xù)式布線通道。每一行的 LAB 都有一個專用 的“行互連” , “行互連”可以驅(qū)動。I/O 引腳或饋送到器件中的其 LAB;“列互連”連接 各行,也能驅(qū)動 I/O 引腳。這種布線結(jié)構(gòu)能夠有效提高布線效率,使得即使非常復(fù)雜的設(shè) 計也能夠測定其延時性。 4.嵌人式陣列塊 EAB 嵌人式陣列塊 EAB 是在輸入輸出口上帶有寄存器的靈活的 RAM 塊,是由一系列嵌 人式 RAM 單元組成的。EAB 的邏輯功能是在配置期間,用只讀模式對 EAB 編程產(chǎn)生一 個大型查找表來實現(xiàn)的。采
37、用查找表實現(xiàn)組合邏輯比一般算法快,EAB 的快速時間通道 使得這一先進性能進一步得到加強。當(dāng)要實現(xiàn)存儲器功能時,每個 EAB 提供 2048 比特 位,每一個 EAB 是一個獨立的結(jié)構(gòu),它具有共同的輸入、互連和控制信號。每個 EAB 含有一個行互連饋入端,EAB 的輸出能夠同時驅(qū)動行互連通道和列互連通道。這一特性 增加了 EAB 的可利用布線資源。因此,EAB 可以非常方便地用于實現(xiàn)一些規(guī)模不大的 RAM, ROM, FIFO 等功能模塊;同時在實現(xiàn)地址譯碼器、狀態(tài)機、微控制器等復(fù)雜邏輯時 也具備了一定優(yōu)勢5。 3.2.2 基于 EDA 平臺的 FPGA 開發(fā)流程 一個完整、典型的 EDA 設(shè)
38、計流程67即是自頂向下設(shè)計方法的具體實施過程,也是 EDA 軟件本身的組成結(jié)構(gòu)。在實踐中進一步了解支持這一個設(shè)計流程的諸多設(shè)計工具, 有利于排解設(shè)計中的具體問題,提高設(shè)計質(zhì)量。 1.設(shè)計輸入 基于 EDA 軟件平臺的 FPGA 開發(fā)流程,一般有兩種設(shè)計輸入方式:圖形輸入和硬件 描述語言文本輸入。下面將重點介紹采用 VHDL 硬件描述語言進行設(shè)計輸入方法,這是 筆者在設(shè)計開發(fā)過程中采用的主要方法。VHDL 作為電子工程主流硬件描述語言,是 EDA 技術(shù)的重要組成部分。它于 1983 年由美國國防部創(chuàng)建,由 IEEE 協(xié)會進一步發(fā)展并 在 1987 年成為 IEEE 國際標(biāo)準(zhǔn)。自 IEEE 協(xié)會公
39、布了 VHDL 標(biāo)準(zhǔn)版本(IEEE Std 1076)之后, 各大 EDA 公司相繼推出支持 VHDL 語言的開發(fā)環(huán)境。從此 VHDL 作為硬件描述語言的 業(yè)界標(biāo)準(zhǔn)之一,在電子設(shè)計領(lǐng)域得到廣泛應(yīng)用,并逐步成為事實上的通用硬件描述語言。 VHDL 語言具有很強的電路建模能力,具有良好的電路行為描述和系統(tǒng)描述的能力, 能從多個層次對數(shù)字系統(tǒng)進行建模和描述;VHDL 語言還具有與硬件電路無關(guān)和設(shè)計平 臺無關(guān)的特性,并且在語言易讀性和層次化結(jié)構(gòu)化設(shè)計方面表現(xiàn)了強大的生命力和應(yīng)用 潛力。這些特性使得 VHDL 語言在支持自頂向下的 EDA 設(shè)計流程方面顯得游刃有余。因 此,采用 VHDL 進行電子系統(tǒng)設(shè)
40、計可以讓設(shè)計者專心致力于其功能的實現(xiàn),而不需要對 不影響功能的與工藝相關(guān)的問題花費過多的時間和精力,從而大大簡化了設(shè)計任務(wù),提 高了設(shè)計效率和可靠性。 采用 VHDL 文本設(shè)計輸入與傳統(tǒng)的計算機軟件語言編輯輸入基本上一樣,就是使用 VHDL 描述數(shù)字系統(tǒng)的功能,進行文本編輯輸入。事實上,純粹的 VHDL 設(shè)計輸入方法 仍然是最基本、最有效和最普遍的設(shè)計輸入方法。 2.設(shè)計綜合 在電子設(shè)計領(lǐng)域“綜合”的概念可以表示為:將行為和功能層次表達(dá)的電子系統(tǒng)轉(zhuǎn) 化為低層次的便于具體實現(xiàn)的模塊組合裝配而成的過程。事實上,設(shè)計過程通常從高層 次的行為描述開始,直到最底層的結(jié)構(gòu)描述結(jié)束,每一個步驟都是上一個層次
41、的綜合轉(zhuǎn) 換。在 FPGA 設(shè)計開發(fā)過程中,整個綜合過程就是設(shè)計者在 EDA 軟件平臺上編輯輸入 VHDL 文本,依據(jù)給定電路結(jié)構(gòu)組件和約束控制條件進行編譯、優(yōu)化、轉(zhuǎn)換和綜合,最 終獲得門級電路甚至更底層的電路描述網(wǎng)表文件。因此設(shè)計綜合的過程就是將軟件設(shè)計 的 VHDL 描述文本與硬件結(jié)構(gòu)掛鉤,是軟件描述轉(zhuǎn)化為硬件電路的關(guān)鍵步驟,是文本描 述與硬件實現(xiàn)之間的一座橋梁。 3.結(jié)構(gòu)適配 適配器也稱為結(jié)構(gòu)綜合器,它的功能是將綜合器產(chǎn)生的網(wǎng)表文件配置于指定的 FPGA 目標(biāo)器件中,使之產(chǎn)生最終的下載文件。適配過程中所選定的 FPGA 目標(biāo)器件必須屬于 綜合器原來指定的目標(biāo)器件系列,這是因為適配器的適配
42、對象是直接與器件的結(jié)構(gòu)細(xì)節(jié) 相對應(yīng)的。邏輯綜合通過后必須利用適配器將綜合后的網(wǎng)表文件針對某一具體目標(biāo)器件 進行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優(yōu)化、邏輯布局布線操作。 適配完成后可以利用適配所產(chǎn)生的仿真文件作精確的時序仿真,同時產(chǎn)生可用于編程下 載文件。 4.功能仿真和時序仿真 在編程下載前必須利用 EDA 工具對配置生成的結(jié)果進行模擬分析,這就是所謂的仿 真。仿真的過程就是讓計算機根據(jù)一定的算法和一定的仿真庫對 EDA 設(shè)計進行模擬,以 驗證設(shè)計,排除錯誤。仿真包括功能仿真和時序仿真。 功能仿真:不經(jīng)過綜合和適配階段,在設(shè)計項目編譯后直接進入門級仿真器進行模 擬測試。主要用
43、于測試設(shè)計項目的邏輯功能,用以了解其實現(xiàn)的功能是否滿足設(shè)計要求, 在功能仿真的過程不涉及任何具體器件的硬件特性。 時序仿真:當(dāng)設(shè)計項目通過功能仿真初步確定滿足設(shè)計要求后,需要綁定具體器件 進行時序仿真。時序仿真就是接近真實器件運行特性的仿真,仿真文件包含了器件硬件 特性參數(shù),因而仿真精度高。但時序仿真的仿真文件必須來自針對具體器件的綜合器和 適配器。綜合所得的 EDIF 網(wǎng)表文件通常作為 FPGA 適配器的輸入文件,產(chǎn)生的仿真網(wǎng)表 文件包含了器件精確的延時信息。 5.編程下載 把適配后生成的下載或配置文件,通過編程器或編程電纜向 FPGA 進行下載,以便 進行硬件調(diào)試和驗證,從而實現(xiàn)滿足設(shè)計要
44、求的電子系統(tǒng)8。 第四章 多功能計數(shù)器的理論基礎(chǔ)和總體設(shè)計方案 4.1 常用頻率測量方法及其誤差分析 4.1.1 直接測頻法 直接測頻法是最簡單的、也是最基本的測量頻率的方法。其原理就是在給定的閘門 信號中填入脈沖,并通過一定的計數(shù)線路,得到所填充的脈沖的個數(shù),從而算出待測信 號的頻率或者周期。其測量原理如圖 4.1 所示:在測量的過程中,按照信號頻率高低的不 同,其測量方法分為兩種: (1) 被測信號頻率較高時 此時,通常選用頻率較低的一個標(biāo)準(zhǔn)頻率信號作為閘門信號,而將被測信號作為填 充脈沖,在固定的閘門時間內(nèi)對其計數(shù)。設(shè)閘門寬度為 T,計數(shù)值為 N,則這種測量方法 的頻率測量值為: = (
45、4-1)fx T N 測量誤差主要決定于閘門時間 T 和計數(shù)器計數(shù)的數(shù)的準(zhǔn)確度,因此,總的誤差可以 采用分項誤差絕對值線性相加來表示,即 (4-2) fc fc Tfxfx fx1 其中 Tfx 1 是最大量化誤差的相對值, TfxNN N11 , N N 的產(chǎn)生是由于在測頻時, 閘門的開啟時刻與計數(shù)脈沖之間的時間關(guān)系不相關(guān)造成的,即在相同的主門開啟時間內(nèi), 計數(shù)器所得的數(shù)不一定相同,當(dāng)主門開啟時間 T 接近甚至等于被測信號周期 Tx 的整數(shù)倍 時,量化的誤差最大,最大量化誤差為 1 N N 個數(shù)。 fc fc 為標(biāo)準(zhǔn)頻率的準(zhǔn)確度,在數(shù) 值上等于石英晶體振蕩器所提供的標(biāo)準(zhǔn)頻率的準(zhǔn)確度,也是閘門
46、時間的相對誤差閘門時 間 TT 的準(zhǔn)確度,即: (4-3) fc fc T T 式中負(fù)號表示有所引起的閘門時間的誤差為。fcT 通常情況下,對標(biāo)準(zhǔn)頻率的準(zhǔn)確度的要求是根據(jù)所要求的測頻準(zhǔn)確度而提出fcfc 來的。因此,為了使標(biāo)準(zhǔn)頻率誤差不對測量結(jié)果產(chǎn)生影響,標(biāo)準(zhǔn)頻率的準(zhǔn)確度應(yīng)高于被 測信號準(zhǔn)確度至少一個數(shù)量級。因此,在較高的信號頻率測量時,若一定,則閘門時fx 間 T 越長,測量的準(zhǔn)確度越高,當(dāng) T 選定后,越高,1 個數(shù)字誤差對測量結(jié)果減小,fx 測量準(zhǔn)確度越高。 輸入 Fx 脈沖整形 與 門 計 數(shù) 器 鎖 存 器 譯碼電路 顯示電路控制電路 鎖存脈沖信號 清零脈沖信號 閘門控制信號 圖 4
47、.1 直接測頻法測頻原理圖 (2) 被測信號頻率較低時 此時,通常選用被測信號作為閘門信號,而將頻率較高的標(biāo)準(zhǔn)頻率信號作為填充脈 沖,進行計數(shù)。設(shè)計數(shù)值為 N,標(biāo)準(zhǔn)頻率信號的頻率為,周期為。則這種測量方法0f0T 的頻率測量值為: (4-4) 0 1 NT fx 誤差主要為對標(biāo)準(zhǔn)頻率信號計數(shù)產(chǎn)生的1 個字誤差,在忽略閘門信號自身誤差的情 況下,測量精度為: (4-5) 0f fx fx fx 直接測頻方法的優(yōu)點是:測量比較方便、讀數(shù)直接,在比較寬的頻率范圍內(nèi)能夠獲得 較高的測量精度。這種測頻方法的主要缺點是:測量誤差主要來自于被測信號和標(biāo)準(zhǔn)頻率 信號,由于標(biāo)準(zhǔn)頻率信號的計數(shù)器總存在個計數(shù)誤差,
48、難以同時兼顧低頻和高頻以實1 現(xiàn)等精度測量,所以測量的精度較低。但是,通過提高測量頻率可以提高測量的精度, 如果測量的頻率一定時,盡可能的在比較長的閘門時間下測頻,可以提高測量精度。但 對于較低的被測頻率來說,測頻的精度是不高的9。 4.1.2 測周法原理 如下圖所示: 圖 4.2 周期測量原理圖 當(dāng)間隔信號第一個脈沖上升沿到來時,T 觸發(fā)器 1 輸出產(chǎn)生翻轉(zhuǎn),輸出信號由 0 跳變 為 1,后接的與門打開,計數(shù)器 CNT 開始對標(biāo)準(zhǔn)頻率 BCLK 計數(shù)。同時 T 觸發(fā)器 2 接受 到的輸入信號由 1 跳變?yōu)?0,觸發(fā)器輸出狀態(tài)不變。當(dāng)時間間隔信號第二個脈沖上升沿到 來時,T 觸發(fā)器 1 產(chǎn)生翻
49、轉(zhuǎn),T 觸發(fā)器 1 輸出由 1 跳變?yōu)?0,與門關(guān)閉,計數(shù)器 CNT 計數(shù) 停止。同時 T 觸發(fā)器 2 接受到的輸入信號由 1 跳變?yōu)?0,其輸出產(chǎn)生翻轉(zhuǎn),輸出信號由 1 跳變?yōu)?0。由于 T 觸發(fā)器 1 的觸發(fā)使能端被置為 0,T 觸發(fā)器 1 無法對后面到來的脈沖信 號計數(shù),從而保證計數(shù)器只對前兩個脈沖計數(shù)。將輸出的計數(shù)值 N 經(jīng)由單片機計算即可 得出時間間隔值 Tx。計算公式如下: =N TsTx (4-6) Tx 為待測時間間隔值,N 為標(biāo)準(zhǔn)信號的計數(shù)值,Ts 為標(biāo)準(zhǔn)信號的周期。 當(dāng)輸入信號為周期信號時,由于采用雙 T 觸發(fā)器控制計數(shù),所以只對周期信號前兩 次脈沖上升沿計數(shù),測出的時間間
50、隔 T 即為輸入周期信號的周期。經(jīng)換算即可得到其頻 率值。 4.1.3 等精度測頻原理 標(biāo)準(zhǔn)頻率 BCLK與 門 CNT 計數(shù)器 模塊 輸出計數(shù)值 N 單片機計算 T 觸發(fā) 器 2 讀出時間間 隔 反 相 器 T 觸發(fā) 器 1 待測時間間隔 觸發(fā)使能 圖 4.3 測頻原理框圖2 如圖 4.3 預(yù)置門控信號是寬度為 Tpr 的一個脈沖,cnt1、cnt2 是兩個可控計數(shù)器,標(biāo) 準(zhǔn)頻率信號從 cnt1 的時鐘輸入端 clk 輸入,其頻率為 Fs;經(jīng)整形后的被測信號從 cnt2 時鐘 輸入端 clk 輸入,設(shè)其實際頻率為 Fxe,測量頻率為 Fx. 當(dāng)門控信號為高電平時,被測信號的上沿通過 D 觸發(fā)
51、器的 Q 端同時啟動計數(shù)器 CNT1 和 CNT2。對被測信號 Fx 和標(biāo)準(zhǔn)頻率信號 Fs 同時計數(shù)。當(dāng)門控信號為低電平時, 隨后而至的被測信號的上沿將使這兩個計數(shù)器同時關(guān)閉。設(shè)在一次門控時間 Tpr 中對被測 信號計數(shù)值為 Nx。對標(biāo)準(zhǔn)頻率信號的計數(shù)值為 Ns。則: NsFsNxFx 就可以得到被測信號的頻率值為: (4-7)NxNsFsFx 誤差分析如下: 在一次測量中,由于 Fx 計數(shù)的起停時間都是由該信號的上升沿觸發(fā)的,在 Tpr 時間 內(nèi)對 Fx 的計數(shù) Nx 無誤差;在此時間內(nèi) Fs 的計數(shù) Ns 最多相差一個脈沖,即,則1et 下式成立: (4-8)NsFsNxFx (4-9)e
52、tNsFsNxFxe 所以有: (4-10)NxNsFsFx (4-11)NxetNsFsFxe 清零信號 標(biāo) 準(zhǔn) 頻 率 被測信號 D Q CNT1 CLKEN CLK OUT CLR CNT2 CLKEN CLK OUT CLR 預(yù)置門控信 根據(jù)相對誤差公式有: (4-12)FxeFxFxeFxeFxe 代入整理得: (4-13)FxeetFxeFxe 又因為: (4-14)1et 所以: (4-15)NsNset1 即: (4-16)NsFxeFxe1 其中: (4-17)FsTprNs 由以上推導(dǎo)結(jié)果可得出下面結(jié)論: 1) 相對測量誤差與頻率無關(guān)。 2) 增大 Tpr 或提高 Fs,可
53、以增大 Ns,減少測量誤差,提高測量精度。 3) 標(biāo)準(zhǔn)頻率誤差為 FsFs ,由于晶體的穩(wěn)定度很高,標(biāo)準(zhǔn)頻率誤差可以進行校準(zhǔn)。 4) 等精度測頻方法測量精度與預(yù)置門寬度和標(biāo)準(zhǔn)頻率有關(guān),與被測信號的頻率無關(guān)。 在預(yù)置門時間和常規(guī)測頻閘門時間相同而被測信號頻率不同的情況下,等精度測量 法的測量精度在整個測量范圍內(nèi)保持恒定不變,而常規(guī)的直接測頻法(在低頻時用測周法, 高頻時用測頻法),其精度會隨著被測信號頻率的下降而下降11。 4.2 脈沖寬度和占空比測量原理 根據(jù)脈寬測量原理,設(shè)計如圖 4.4 的電路原理示意圖。該信號的上沿和下沿信號對應(yīng) 于未經(jīng)處理時的被測信號的 50%幅度時上沿和下沿信號。被測
54、信號從 FIN 端輸入,CLR 為初始化信號,SRART 為工作使能信號,圖中 CONRTL2 的 PUL 端與 GATE 的輸入端 PUL 相連。其測量脈沖寬度的工作步驟是: 1)向 CONTRL2 的 CLR 端送一個脈沖以便進行電路的工作狀態(tài)初始化。 2)將 GATE 的 CNL 置高電平,表示開始脈沖寬度測量,這時 CONT2 的輸入信號 為 FSD。 3)在被測脈沖的上沿到來時,CONTRT2 的 PUL 端輸出高電平,標(biāo)準(zhǔn)頻率信號進入 計數(shù)器 CONT2。 4)在被測脈沖的下沿到來時,CONTRL2 的 PUL 端輸出低電平,計數(shù)器 CONT2 被 關(guān)斷。 5)由單片機讀出計數(shù)器
55、CONT2 的結(jié)果,并通過上述測量原理公式計算出脈沖寬度。 圖 4.4 脈沖寬度測量原理圖 CONTRL2 子模塊的主要特點是:電路的設(shè)計保證了只有 CONTRL2 被初始化過后才能工 作,否則 PUL 輸出始終為零。只有在先檢測到上沿后 PUL 才為高電平,然后在檢測到下 沿時,PUL 輸出為低電平時;ENDD 輸出高電平以便通知單片機測量計數(shù)已經(jīng)結(jié)束;如果 先檢測到下沿,PUL 并無變化;在檢測到上沿并緊接一個下沿后,CONTRL2 不再發(fā)生變化 直到下一個初始化信號到來。占空比的測量方法是通過測量脈沖寬度記錄 CONT2 的計數(shù) 值 N1,然后將輸入信號反相,再測量其脈沖寬度,測得 CO
56、NT2 計數(shù)值 N2,則可以計算出: 占空比=N1/N1+N2. 4.3 總體設(shè)計 多功能數(shù)字計數(shù)器基本測量原理是,首先讓被測信號與標(biāo)準(zhǔn)信號一起通過一個閘門, 然后用計數(shù)器計數(shù)信號脈沖的個數(shù),把標(biāo)準(zhǔn)時間內(nèi)的計數(shù)結(jié)果,用鎖存器鎖存起來,最 后用顯示譯碼器,把鎖存的結(jié)果用 LED 數(shù)碼顯示管顯示出來。 根據(jù)多功能數(shù)字計數(shù)器的基本原理,本文設(shè)計方案的基本思想是分為五個模塊來實 現(xiàn)其功能,即整個多功能數(shù)字計數(shù)器系統(tǒng)分為分頻模塊、計數(shù)模塊、鎖存器模塊和顯示 模塊等幾個單元,并且分別用 VHDL 硬件描述語言對其進行編程,實現(xiàn)了閘門控制信號、 計數(shù)電路、鎖存電路、顯示電路等,并在 EDA(電子設(shè)計自動化)
57、工具的幫助下,用大 規(guī)模可編程器件(FPGA)實現(xiàn)多功能數(shù)字計數(shù)器的設(shè)計原理及相關(guān)程序。 圖 4.5 系統(tǒng)總框圖 圖 4.6 系統(tǒng)電路模塊結(jié)構(gòu)框圖 輸入電路 閘門 A 計數(shù)器 A 控制電路 運算器 時基 閘門 B 計數(shù)器 B 顯示 計數(shù)電路 鎖存電路 譯碼顯示 控制電路 被測信號 第五章 多功能計數(shù)器的軟件設(shè)計和硬件設(shè)計 5.1 軟件設(shè)計 測頻時信號經(jīng)峰值檢波,AD 采樣后送入 FPGA,選擇模擬開關(guān)對不同幅度段的信 號進行程控放大。放大后的信號分別經(jīng)兩路比較器整形,然后送往 FPGA 內(nèi)分別計數(shù), 高頻時采用經(jīng)高頻比較器整形后的計數(shù)值,低頻時采用經(jīng)低頻比較器整形后的計數(shù)值, 準(zhǔn)確測得信號頻率
58、。程序流程如圖 5.1 所示。 圖 5.1 流程圖 由于多功能計數(shù)器是一個需對數(shù)字信號進行測量和顯示的系統(tǒng),因此它需要設(shè)置控 制電路、計數(shù)電路、鎖存電路和譯碼顯示電路等??刂齐娐返墓δ苁菍τ嫈?shù)電路、鎖存 電路和譯碼顯示電路進行工作和時序的控制。其控制要求為:先使計數(shù)電路在 1s 內(nèi)進行 計數(shù),接著在下一個 1s 內(nèi)鎖存計數(shù)的結(jié)果,然后再將鎖存的數(shù)據(jù)進行譯碼和顯示。在第 一個測量顯示周期結(jié)束后,控制電路將再次發(fā)出控制信號,先對功能電路清零,然后使 系統(tǒng)開始第二個測量周期的工作。計數(shù)電路是對被測頻率信號進行頻率計數(shù)測量的主功 能電路。由于被測信號頻率是未知的,因此用計數(shù)電路測量時,一般使用多個輸出
59、為 4 位 2 進制數(shù)的數(shù)字十進制計數(shù)器。此計數(shù)器從個位開始到高位分別進行計數(shù),使低位計數(shù)器 的溢出位與高位計數(shù)器的輸入時鐘位相連。從計數(shù)器電路結(jié)構(gòu)可知,該電路輸出信號是 由低位到高位的多組 4 位 2 進制表示的十進制數(shù),用來分別表示被測信號的個、十、百、 千等位的數(shù)值。位數(shù)越高頻率測量的范圍也越寬,此測量范圍由計數(shù)電路內(nèi)部的十 進制計數(shù)器的個數(shù)來決定。鎖存電路的主要功能是對計數(shù)器計數(shù)輸出的數(shù)據(jù)進行鎖定保 存。即使在前級計數(shù)電路的計數(shù)器清零以后,鎖存器依然有保存的數(shù)據(jù)存在,不會造成 數(shù)據(jù)的丟失。鎖存電路中的鎖存器是對單個十進制計數(shù)器數(shù)據(jù)進行保存,因此鎖存器的 個數(shù)由前一級計數(shù)電路的十進制計數(shù)
60、器的個數(shù)決定。譯碼顯示電路由譯碼器和顯示器構(gòu) 成。譯碼器的功能是,將鎖存器保存并輸出的 4 位 2 進制代碼表示的十進制數(shù)進行譯碼 轉(zhuǎn)換,將其轉(zhuǎn)換為能直接驅(qū)動數(shù)碼管顯示與其對應(yīng)的十進制數(shù)字字符的輸出信號。顯示 器由數(shù)碼管電路構(gòu)成。由于被測信號可能具有多個位數(shù)的頻率,因此需要多個數(shù)碼管對 其進行顯示。數(shù)碼管的個數(shù)可根據(jù)被測信號頻率的位數(shù)來決定。若采用動態(tài)顯示模式驅(qū) 動數(shù)碼管,則可使數(shù)碼管依次顯示個、十、百、千等位的數(shù)字。若顯示的循環(huán)頻率足夠 高,則看到的依然是多個數(shù)碼管同時顯示。采用動態(tài)顯示模式可大量減少單個數(shù)碼管的 工作時間,亦可將動態(tài)顯示電路和譯碼電路結(jié)合在一起,減小系統(tǒng)譯碼電路的規(guī)模。 5
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級數(shù)學(xué)口算題
- 青島版數(shù)學(xué)七年級上冊5.2《代數(shù)式》聽評課記錄
- 魯教版地理六年級下冊6.2《自然環(huán)境》聽課評課記錄3
- 蘇教版三年級下冊《兩位數(shù)乘整十?dāng)?shù)的口算》教案
- 委托經(jīng)營管理協(xié)議書范本
- 蘇州蘇教版三年級數(shù)學(xué)上冊《周長是多少》聽評課記錄
- 產(chǎn)品銷售合作協(xié)議書范本(代理商版本)
- 書稿專用版權(quán)合同范本
- 酒店房屋出租辦公經(jīng)營協(xié)議書范本
- 部編版道德與法治九年級下冊《1.2復(fù)雜多變的關(guān)系》聽課評課記錄
- 2025年中國黃芪提取物市場調(diào)查研究報告
- 山東省濱州市2024-2025學(xué)年高一上學(xué)期期末考試語文試題(含答案)
- 安徽省定遠(yuǎn)重點中學(xué)2024-2025學(xué)年第一學(xué)期高二物理期末考試(含答案)
- 教育教學(xué)質(zhì)量經(jīng)驗交流會上校長講話:聚焦課堂關(guān)注個體全面提升教育教學(xué)質(zhì)量
- 2025年廣西投資集團有限公司招聘筆試參考題庫含答案解析
- 2024人教新目標(biāo)(Go for it)八年級英語上冊【第1-10單元】全冊 知識點總結(jié)
- 北京市北師大附中2024-2025學(xué)年高一上學(xué)期期末考試數(shù)學(xué)試卷(含答案)
- 教學(xué)成果獎培育工作方案
- 廈門三固科技有限公司貨幣資金管理優(yōu)化設(shè)計
- 北京卷2025屆高考語文倒計時模擬卷含解析
- 2023學(xué)年廣東省深圳實驗學(xué)校初中部九年級(下)開學(xué)語文試卷
評論
0/150
提交評論