基于FPGA實(shí)現(xiàn)等精度數(shù)字頻率計(jì)設(shè)計(jì)_第1頁(yè)
基于FPGA實(shí)現(xiàn)等精度數(shù)字頻率計(jì)設(shè)計(jì)_第2頁(yè)
基于FPGA實(shí)現(xiàn)等精度數(shù)字頻率計(jì)設(shè)計(jì)_第3頁(yè)
基于FPGA實(shí)現(xiàn)等精度數(shù)字頻率計(jì)設(shè)計(jì)_第4頁(yè)
基于FPGA實(shí)現(xiàn)等精度數(shù)字頻率計(jì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩57頁(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、漳州師范學(xué)院 畢業(yè)論文(設(shè)計(jì))基于FPGA實(shí)現(xiàn)等精度數(shù)字頻率計(jì)設(shè)計(jì) Cymometer of Equal Precision Based On FPGA 2010 年 1 月 15 日摘要本文基于FPGA的等精度測(cè)頻原理,給出了通過(guò)FPGA來(lái)設(shè)計(jì)等精度頻率計(jì)的具體方法。并在此基礎(chǔ)上增加了測(cè)量周期、脈沖寬度、占空比的功能。設(shè)計(jì)中,以Alteta FPGA系列Cyclone EP2C5T144C8器件為核心;運(yùn)用VHDL語(yǔ)言設(shè)計(jì)功能模塊;運(yùn)用SOPC設(shè)計(jì)技術(shù)來(lái)配置NiosII系統(tǒng),進(jìn)行信號(hào)的控制、數(shù)據(jù)讀取、運(yùn)算處理、液晶的顯示。關(guān)鍵詞: 等精度頻率計(jì);FPGA;Nios;AbstractThe p

2、rinciple of cymometer of equal precision based on FPGA is introduced in this paper. The specific methods are given to design the system through the FPGA. It is also adds much more function such as cycle, pulse width, duty cycle measurement. It uses Altera Corporation CycloneII series ship-EP2C5T144C

3、8 as a core; adopts Verilog Hardware Description Language to implement function module; adopts the SOPC technique to configuration NiosII system. the Niossystem is used for signal controlling, data processing , calculation, and display。Key Word: equal precision frequency meter; FPGA; Nios;目錄摘要IAbstr

4、actI1 引言12 系統(tǒng)設(shè)計(jì)12.1設(shè)計(jì)要求12.2方案論證與比較22.3 設(shè)計(jì)思路22.4 系統(tǒng)的總體設(shè)計(jì)33 模塊電路的設(shè)計(jì)43.1 Cyclone SOPC Board 簡(jiǎn)介43.2 頻率、周期測(cè)試模塊53.2.1 等精度測(cè)頻法原理53.2.2 等精度測(cè)周期法原理63.2.3 實(shí)現(xiàn)方法63.2.4 仿真73.3 脈寬、占空比測(cè)試模塊83.3.1 脈寬測(cè)量原理83.3.2 占空比測(cè)量原理83.3.3 實(shí)現(xiàn)方法83.3.4 仿真83.4 液晶顯示93.4.1 LCM128645ZK液晶概述93.4.2 液晶的控制94 NIOS系統(tǒng)的設(shè)計(jì)114.1 NIOS系統(tǒng)的分析114.2 基于NIOS

5、 IDE的軟件設(shè)計(jì)124.2.1 主要的庫(kù)函數(shù)說(shuō)明124.2.2 系統(tǒng)流程圖125 系統(tǒng)測(cè)試145.1 測(cè)試儀器145.2數(shù)據(jù)記錄與分析145.2.1 頻率、周期測(cè)試145.2.2 脈寬測(cè)試165.2.3 占空比測(cè)試175.3 設(shè)計(jì)不足176 結(jié)束語(yǔ)18致謝19參考文獻(xiàn)20附錄211 引言在電子測(cè)量技術(shù)中,頻率測(cè)量是最基本的測(cè)量之一。工程中很多測(cè)量,如用振弦式方法測(cè)量力、時(shí)間測(cè)量、速度測(cè)量、速度控制等,都涉及到頻率測(cè)量,或可歸結(jié)為頻率測(cè)量。 常用的直接測(cè)頻方法對(duì)被測(cè)信號(hào)的計(jì)數(shù)都會(huì)產(chǎn)生±1個(gè)數(shù)字誤差1;基于傳統(tǒng)測(cè)頻原理的頻率計(jì)的測(cè)量精度將隨著被測(cè)信號(hào)頻率的下降而降低,在實(shí)用中有很大的局

6、限性,而等精度頻率計(jì)不但有較高的測(cè)量精度,而且在整個(gè)測(cè)頻區(qū)域內(nèi)保持恒定的測(cè)試精度。等精度測(cè)頻方法是一種在直接測(cè)頻方法基礎(chǔ)上發(fā)展起來(lái)的測(cè)頻方法,該方法測(cè)量精度高、頻段寬,在頻率測(cè)量中具有廣泛的應(yīng)用前景。采用等精度頻率測(cè)量方法具有測(cè)量精度保持恒定,不隨所測(cè)信號(hào)的變化而變化;結(jié)合現(xiàn)場(chǎng)可編程門陣列FPGA ( Field Programmable Gate Array),具有集成度高、高速和高可靠性的特點(diǎn)。設(shè)計(jì)人員只需要完成對(duì)系統(tǒng)功能的描述,就可以由計(jì)算機(jī)軟件進(jìn)行處理,得到設(shè)計(jì)結(jié)果,而且修改設(shè)計(jì)如同修改軟件一樣方便,可以極大地提高設(shè)計(jì)效率2。Nios嵌入式處理器是Altera公司于2004年6月推出的

7、第2代用于可編程邏輯器件的可配置的軟核處理器,性能超過(guò)200DMIPS。基于哈佛結(jié)構(gòu)的RISC通用嵌入式處理器軟核,Nios處理器系統(tǒng)的外設(shè)配置具有很大的靈活性,設(shè)計(jì)者可以根據(jù)自己的系統(tǒng)需求來(lái)添加必要的外設(shè),Nios能與用戶邏輯相結(jié)合,編程至Altera的FPGA中,降低了用戶的系統(tǒng)總體成本。無(wú)論是外設(shè)、存儲(chǔ)器接口、性能特性,還是成本,這些優(yōu)勢(shì)的體現(xiàn)都借助于再Altera的FPGA上創(chuàng)建一個(gè)定制的片上系統(tǒng),或者更精確地說(shuō),創(chuàng)建一個(gè)可編程單芯片系統(tǒng)3。本次的畢業(yè)設(shè)計(jì)將通過(guò)等精度數(shù)字頻率計(jì)的設(shè)計(jì),對(duì)FPGA技術(shù)、SOPC的開發(fā)流程、Quartus II開發(fā)軟件有了一個(gè)比較全面、直觀的介紹。2 系統(tǒng)

8、設(shè)計(jì)2.1設(shè)計(jì)要求基于傳統(tǒng)測(cè)頻原理的頻率計(jì)的測(cè)量精度將隨被測(cè)信號(hào)頻率的下降而降低,在實(shí)用中有較大的局限性,而等精度頻率計(jì)不但具有較高的測(cè)量精度,而且在整個(gè)測(cè)頻區(qū)域內(nèi)保持恒定的測(cè)試精度4.本系統(tǒng)設(shè)計(jì)的基本指標(biāo)如下:1 對(duì)于頻率測(cè)試功能,測(cè)頻范圍為1 Hz90 MHz;對(duì)于測(cè)頻精度,測(cè)頻全域相對(duì)誤差恒為百萬(wàn)分之一。2 對(duì)于周期測(cè)試功能,信號(hào)測(cè)試范圍與精度要求與測(cè)頻功能相同。3 對(duì)于脈寬測(cè)試功能,測(cè)試范圍為0.1 s1 s,測(cè)試精度為0.01 s。4 對(duì)于占空比測(cè)試功能,測(cè)試精度為1%99%。5 利用液晶顯示測(cè)量結(jié)果。2.2方案論證與比較本設(shè)計(jì)是以Altera公司的Cyclone為核心,其實(shí)現(xiàn)方案有

9、四種:方案一:將單片機(jī)和FPGA結(jié)合起來(lái)實(shí)現(xiàn)。其中單片機(jī)完成整個(gè)測(cè)量電路的測(cè)試控制、數(shù)據(jù)處理和顯示輸出;FPGA完成各種測(cè)試功能5。方案二:將ARM和FPGA結(jié)合起來(lái)實(shí)現(xiàn)。其中利用ARM技術(shù)來(lái)完成測(cè)量電路的測(cè)試控制以及數(shù)據(jù)處理等。方案三:利用FPGA實(shí)現(xiàn)。在EDA工具軟件平臺(tái)上以硬件描述語(yǔ)言VHDL為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯、邏輯化簡(jiǎn)、邏輯分割、邏輯綜合、結(jié)構(gòu)綜合經(jīng)及邏輯優(yōu)化與仿真,直到實(shí)現(xiàn)既定的電子線路系統(tǒng)功能。 方案四:在方案二的基礎(chǔ)上稍加改進(jìn),通過(guò)在FPGA上嵌入Nios系統(tǒng),在IDE環(huán)境下采用C或者C+對(duì)各種邏輯器件進(jìn)行控制。另外在FPGA上采用VHDL或者V

10、ERILOG等硬件描述語(yǔ)言編寫各種邏輯器件的驅(qū)動(dòng),從而完成各種測(cè)試功能。下面對(duì)三種方案進(jìn)行論證:方案一實(shí)現(xiàn)起來(lái)比較簡(jiǎn)單,但是由于該系統(tǒng)板上的資源充足,可以完成等精度數(shù)字頻率計(jì)涉及到的計(jì)算(包括加、減、乘、除),沒(méi)必要增加資源,另外單片機(jī)的處理頻率一般不是很高,易受外部條件的干擾,功耗也高。方案二中使用到得ARM技術(shù)性能較好,但是相對(duì)于FPGA來(lái)說(shuō)其處理速度還是稍遜一籌的,另外在靈活性上不如FPGA。方案三中,采用VDHL 編程設(shè)計(jì)實(shí)現(xiàn)的數(shù)字頻率計(jì), 整個(gè)設(shè)計(jì)過(guò)程變得十分透明、快捷和方便, 特別是對(duì)于各層次電路系統(tǒng)的工作時(shí)序的了解和把握顯得尤為準(zhǔn)確, 而且具有靈活的現(xiàn)場(chǎng)可更改性。在不更改硬件電路

11、的基礎(chǔ)上,對(duì)系統(tǒng)進(jìn)行各種改進(jìn)還可以進(jìn)一步提高系統(tǒng)的性能和測(cè)量頻率的范圍。該數(shù)字頻率計(jì)具有高速、精確、可靠、抗干擾性強(qiáng)、而且可根據(jù)需要進(jìn)一步提高其測(cè)量頻率的范圍而不需要更改硬件連接圖, 具有現(xiàn)場(chǎng)可編程等優(yōu)點(diǎn)。方案四在FPGA中嵌入Nios系統(tǒng),用戶可以根據(jù)設(shè)計(jì)要求對(duì)NIOS及其外圍設(shè)備進(jìn)行構(gòu)建,實(shí)現(xiàn)單芯片片上系統(tǒng)(SOPC)。由于要進(jìn)行乘除運(yùn)算,采用VHDL語(yǔ)言設(shè)計(jì)時(shí),使用FPGA的資源較大,相比之下,嵌入一個(gè)Nios系統(tǒng)可以節(jié)約資源,另外靈活性也比較好,信號(hào)的處理也比較簡(jiǎn)單。綜上所述,采用方案四。2.3 設(shè)計(jì)思路根據(jù)系統(tǒng)設(shè)計(jì)功能的要求,確定系統(tǒng)由7個(gè)模塊電路組成:頻率測(cè)量模塊、周期測(cè)量模塊、脈

12、寬測(cè)量模塊、占空比測(cè)量模塊、Nios微處理器(控制器)模塊、PLL模塊、液晶顯示,系統(tǒng)框圖如圖1所示。圖1 系統(tǒng)框圖2.4 系統(tǒng)的總體設(shè)計(jì)圖2 系統(tǒng)總體原理圖系統(tǒng)總體原理圖如圖2所示。各模塊的說(shuō)明如下:1. f_d_test為測(cè)試模塊,即測(cè)試輸入信號(hào)的頻率、周期、脈寬、占空比,通過(guò)四個(gè)輸入信號(hào)(CLR、START、W_D、QH)來(lái)控制該模塊的工作。該模塊的各個(gè)端口功能說(shuō)明如下:u BCLK是頻率為fs的標(biāo)準(zhǔn)信號(hào)輸入端;u TCLK是頻率為fx的待測(cè)信號(hào)輸入端;u CLR為清零端,為1時(shí)對(duì)計(jì)數(shù)值進(jìn)行清零;u QH為功能選擇控制端,為0時(shí)進(jìn)行頻率/周期測(cè)量,為1時(shí)進(jìn)行脈寬/占空比測(cè)量;u STAR

13、T為頻率/周期測(cè)量的預(yù)置門控信號(hào),當(dāng)START為高電平后,同時(shí)啟動(dòng)兩個(gè)計(jì)數(shù)器對(duì)標(biāo)準(zhǔn)信號(hào)和待測(cè)信號(hào)進(jìn)行計(jì)數(shù),當(dāng)START為低電平后,兩個(gè)計(jì)數(shù)器同時(shí)關(guān)閉,Nios處理器讀取計(jì)數(shù)值;u W_D為脈寬/占空比測(cè)試的允許位,當(dāng)W_D=1時(shí),進(jìn)行脈寬/占空比測(cè)試。2. nios2c5是由SOPC Builder創(chuàng)建的Nios系統(tǒng),該內(nèi)核主要有五個(gè)作用:第一,檢測(cè)按鍵,根據(jù)按鍵來(lái)設(shè)置工作的狀態(tài);第二,產(chǎn)生控制測(cè)試模塊f_d_test的信號(hào),即CLR、START、W_D、QH;第三,讀取兩個(gè)計(jì)數(shù)器的計(jì)數(shù)值;第四,對(duì)讀取的計(jì)數(shù)值進(jìn)行運(yùn)算;第五,控制液晶顯示。3. lcd_delay模塊用于產(chǎn)生滿足LCD的時(shí)序。

14、4. LCD_EN模塊用于產(chǎn)生LCD的使能信號(hào)EN。5. DEBOUNCING模塊用于按鍵去抖。6. delay_reset_block模塊用于保證PLL穩(wěn)定工作才產(chǎn)生復(fù)位信號(hào)。7. PLL模塊用于產(chǎn)生系統(tǒng)時(shí)鐘、標(biāo)準(zhǔn)信號(hào)和SRAM的時(shí)鐘。3 模塊電路的設(shè)計(jì)3.1 Cyclone SOPC Board 簡(jiǎn)介本課題所用的開發(fā)板為Cyclone SOPC Board,開發(fā)板的實(shí)物圖見附錄1。開發(fā)板上的主要配置如下:u Cyclone系列的EP2C5T144C8芯片: 采用全銅層、1.2伏SRAM工藝設(shè)計(jì),具體內(nèi)部資源如下表1所示。另外該芯片還支持SOPC的開發(fā),用戶可以使用Nios嵌入式處理器。表1

15、 EP2C5T144C8的資源列表6邏輯單元(LE)M4K RAM塊RAM數(shù)量嵌入式18*18乘法器鎖相環(huán)(PLL)最大可用I/O口460826119808132142u Am29LV160D:16兆位的閃存FLASH,另外,F(xiàn)LASH與SRAM共用數(shù)據(jù)總線和地址總線。u IS61LV25616:256K×16bit,高速異步的CMOS靜態(tài)RAM。u 50M的晶振u JTAG配置:將ByteBlaster或USB Blaster 下載電纜連接到JTAG接口,通過(guò)Quartus軟件就能直接對(duì)FPGA進(jìn)行配置。3.2 頻率、周期測(cè)試模塊3.2.1 等精度測(cè)頻法原理等精度測(cè)頻法是指利用二個(gè)

16、計(jì)數(shù)器分別計(jì)算標(biāo)準(zhǔn)信號(hào)的脈沖個(gè)數(shù)與實(shí)測(cè)信號(hào)的脈沖個(gè)數(shù),最后由公式進(jìn)行換算。此方法的優(yōu)勢(shì)是,不用再進(jìn)行多個(gè)頻段的轉(zhuǎn)換,如果標(biāo)準(zhǔn)頻率高,測(cè)量的精度也是會(huì)相應(yīng)提高。等精度測(cè)頻方法是在直接測(cè)頻方法的基礎(chǔ)上發(fā)展起來(lái)的。它的閘門時(shí)間不是固定的值,而是被測(cè)信號(hào)周期的整數(shù)倍,即與被測(cè)信號(hào)同步,因此,消除了對(duì)被測(cè)信號(hào)計(jì)數(shù)所產(chǎn)生±1 的誤差,并且達(dá)到了在整個(gè)測(cè)試頻段的等精度測(cè)量。其測(cè)頻波形圖如圖3所示7。圖3 測(cè)頻原理時(shí)序圖由圖3可看出,在測(cè)量過(guò)程中,有2個(gè)計(jì)數(shù)器分別對(duì)標(biāo)準(zhǔn)信號(hào)和被測(cè)信號(hào)同時(shí)計(jì)數(shù)。首先給出閘門開啟信號(hào)(預(yù)置門限上升沿) ,此時(shí)計(jì)數(shù)器并不開始計(jì)數(shù), 而是等到被測(cè)信號(hào)的上升沿到來(lái)時(shí), 計(jì)數(shù)器

17、才真正開始計(jì)數(shù)。然后預(yù)置閘門關(guān)閉信號(hào)(下降沿) 到來(lái)時(shí),計(jì)數(shù)器并不立即停止計(jì)數(shù),而是等到被測(cè)信號(hào)的上升沿到來(lái)時(shí)才結(jié)束計(jì)數(shù),完成1 次測(cè)量過(guò)程。若所測(cè)頻率值為fx,標(biāo)準(zhǔn)頻率為fs,計(jì)數(shù)器1測(cè)得的被測(cè)信號(hào)的脈沖數(shù)值為Nx,計(jì)數(shù)器2測(cè)得的標(biāo)準(zhǔn)信號(hào)的脈沖值為Ns,則它們之間存在如下的關(guān)系8: (1)下面由(1)可推得 (2)等精度數(shù)字頻率計(jì)誤差的證明:若所測(cè)頻率值為fx,其真實(shí)值為fxe,標(biāo)準(zhǔn)頻率為fs,一次測(cè)量中,由于fx計(jì)數(shù)的起停時(shí)間都是由該信號(hào)的上升沿觸發(fā)的,因此在Tpr時(shí)間內(nèi)對(duì)fx的計(jì)數(shù)Nx無(wú)誤差,在此時(shí)間內(nèi)的計(jì)數(shù)Ns最多相差一個(gè)脈沖,即et1,則下式成立: (3)可推得 (4)根據(jù)相對(duì)誤差的

18、公式(2)(4)推得 (5)經(jīng)整理可得到 (6)因et1,故et/Ns1/Ns,即 (7) (8)結(jié)論:誤差在頻率范圍內(nèi)恒定,取決于標(biāo)準(zhǔn)頻率,標(biāo)準(zhǔn)頻率越大,誤差越小,所以又稱等精度測(cè)試。3.2.2 等精度測(cè)周期法原理為提高周期測(cè)量的精度,采用等精度周期測(cè)量法。該方法在測(cè)量電路和測(cè)量精度上與等精度頻率測(cè)量完全相同,只是在進(jìn)行計(jì)算時(shí)公式不同,用周期1/T代換頻率f即可,計(jì)算公式為8 (9)3.2.3 實(shí)現(xiàn)方法測(cè)試模塊f_d_test內(nèi)部的原理圖如圖4所示89。當(dāng)QH=0時(shí),測(cè)試模塊進(jìn)行頻率或周期測(cè)量,其工作步驟如下:(1) 在CLR端加以正脈沖信號(hào)以完成測(cè)試電路狀態(tài)的初始化。(2) 將預(yù)置門控信號(hào)

19、START端置高電平,預(yù)置門開始定時(shí),此時(shí)由被測(cè)信號(hào)的上升沿打開計(jì)數(shù)器CNT1和CNT2,兩計(jì)數(shù)器開始工作。(3) 預(yù)置門定時(shí)結(jié)束信號(hào)START端置為低電平(由NIOS微處理器來(lái)完成)。在被測(cè)信號(hào)的下一個(gè)脈沖的上升沿到來(lái)時(shí),兩個(gè)計(jì)數(shù)器停止工作。(4) 計(jì)數(shù)結(jié)束時(shí),count_end端口輸出低電平,NIOS微處理器讀取該信號(hào)后,就對(duì)兩個(gè)計(jì)數(shù)器的計(jì)數(shù)時(shí)進(jìn)行讀取,再根據(jù)公式進(jìn)行運(yùn)算,計(jì)算出被測(cè)信號(hào)的頻率或周期值。圖4 測(cè)試模塊的原理圖3.2.4 仿真周期/頻率測(cè)試仿真圖如圖5所示。測(cè)試信號(hào)TCLK的頻率值設(shè)置為10MHz,即fx=10MHz;標(biāo)準(zhǔn)信號(hào)BCLK的頻率值設(shè)置為100MHz,即fs=100

20、MHz。仿真情況分析如下:1.計(jì)數(shù)器CNT1的計(jì)數(shù)值為4,即Nx=4;計(jì)數(shù)器CNT2的計(jì)數(shù)值為40,即Ns=40;則由公式計(jì)算可得:,與設(shè)置的頻率值一致,故滿足設(shè)計(jì)要求。圖5 周期/頻率測(cè)試仿真圖 2.由圖可看出:當(dāng)START=1時(shí),測(cè)試信號(hào)的第一個(gè)上升沿到來(lái)時(shí),計(jì)數(shù)器使能端BENA=1,但是相對(duì)于計(jì)數(shù)器時(shí)鐘信號(hào)的上升沿,使能端會(huì)有些延時(shí),以至于計(jì)數(shù)器無(wú)法計(jì)數(shù)打開使能端的這個(gè)測(cè)試信號(hào)的脈沖,只能從下一個(gè)脈沖開始計(jì)數(shù);同理,當(dāng)START=0時(shí),計(jì)數(shù)器仍然會(huì)對(duì)關(guān)閉計(jì)數(shù)器的這個(gè)測(cè)試信號(hào)的脈沖進(jìn)行計(jì)數(shù),只有等到下一個(gè)脈沖的上升沿到來(lái)時(shí)才停止,故在軟件編寫上要注意延時(shí),以確保測(cè)試正常。3.3 脈寬、占空

21、比測(cè)試模塊3.3.1 脈寬測(cè)量原理測(cè)量電路在檢測(cè)到脈沖信號(hào)的上升沿時(shí)打開計(jì)數(shù)器,在下降沿時(shí)關(guān)閉計(jì)數(shù)器,設(shè)脈沖寬度為Twx,計(jì)算公式為8 (10)3.3.2 占空比測(cè)量原理測(cè)一次脈沖信號(hào)的脈寬,記錄其值為Twx1,然后將信號(hào)反相,再測(cè)一次脈寬并記錄其值為Twx2,通過(guò)下式計(jì)算占空比8: (11) 3.3.3 實(shí)現(xiàn)方法圖6 脈寬測(cè)量原理圖脈寬測(cè)量原理圖如圖6所示,編譯生成為圖4中的MAIKUANG模塊。當(dāng)QH=1, 測(cè)試模塊進(jìn)行脈寬或占空比測(cè)量。當(dāng)W_D=1時(shí),測(cè)試的是信號(hào)高電平的脈寬;當(dāng)W_D=0時(shí),測(cè)試的是信號(hào)高電平的脈寬;具體工作步驟如下8:(1) 在CLR端加以正脈沖信號(hào)以完成測(cè)試電路狀態(tài)

22、的初始化。(2) 在被測(cè)信號(hào)的上升沿到來(lái)時(shí),標(biāo)準(zhǔn)頻率信號(hào)進(jìn)入計(jì)數(shù)器CNT2。(3) 在被測(cè)信號(hào)的下升沿到來(lái)時(shí),計(jì)數(shù)器CNT2被關(guān)斷。3.3.4 仿真脈寬/占空比測(cè)試仿真圖如圖7所示。測(cè)試信號(hào)TCLK的頻率值設(shè)置為10MHz,即fx=10MHz;標(biāo)準(zhǔn)信號(hào)BCLK的頻率值設(shè)置為100MHz,占空比為60%,即fs=100MHz。仿真情況分析如下:1.當(dāng)W_D=1時(shí),計(jì)數(shù)器CNT2的計(jì)數(shù)值為6,即N1=6;當(dāng)W_D=0時(shí),計(jì)數(shù)器CNT2的計(jì)數(shù)值為4,即N2=4,則由公式計(jì)算可得:脈寬為,與設(shè)置的脈寬值一致,故滿足設(shè)計(jì)要求;,與設(shè)置的測(cè)試信號(hào)的占空比一致,故滿足設(shè)計(jì)要求。2.由圖可看出:初始化后,計(jì)數(shù)

23、器工作在測(cè)試信號(hào)的第二個(gè)高電平或者低電平期間,即此時(shí)才對(duì)標(biāo)準(zhǔn)信號(hào)進(jìn)行計(jì)數(shù)。這是因?yàn)槊}寬測(cè)試模塊(見圖6)中只有等到第二個(gè)測(cè)試信號(hào)的上升沿到來(lái)時(shí),PUL端口才有輸出值,這樣才能打開后面的計(jì)數(shù)器。故在軟件編寫上要注意延時(shí),以確保測(cè)試正常。圖7 脈寬/占空比測(cè)試仿真圖3.4 液晶顯示3.4.1 LCM128645ZK液晶概述中文液晶顯示模塊 LCM128645ZK 的字型ROM 內(nèi)含8192個(gè)16*16 點(diǎn)中文字型和128 個(gè)16*8 半寬的字母符號(hào)字型;另外繪圖顯示畫面提供一個(gè)64*256 點(diǎn)的繪圖區(qū)域GDRAM;而且內(nèi)含CGRAM 提供4 組軟件可編程的16*16 點(diǎn)陣造字功能,可實(shí)現(xiàn)漢字、AS

24、CII 碼、點(diǎn)陣圖形的同屏顯示。與單片機(jī)等微控器的接口模式有三種,分別為:并行8 位/4 位,串行。LCM128645ZK液晶引腳說(shuō)明見附錄2。3.4.2 液晶的控制圖8 液晶驅(qū)動(dòng)電路SOPC Builder中有已經(jīng)定制好的液晶顯示的內(nèi)核,液晶屏內(nèi)部帶有液晶控制器ST7920。液晶驅(qū)動(dòng)電路如圖8所示。由于液晶屏是Motorala接口,不能直接使用Avalon總線接口來(lái)操作,要對(duì)LCD_EN信號(hào)進(jìn)行必要的邏輯轉(zhuǎn)換,轉(zhuǎn)換由LCD_EN模塊來(lái)實(shí)現(xiàn)10,其中的具體邏輯如圖9所示??梢钥闯鲋挥挟?dāng)片選和讀(或?qū)懀┑碗娖接行r(shí)才產(chǎn)生高電平有效的LCD_EN,滿足控制要求。圖9 LCD_EN模塊的邏輯圖查看S

25、T7920的數(shù)據(jù)手冊(cè),從CPU寫數(shù)據(jù)到ST790的時(shí)序圖中可看出,數(shù)據(jù)是在使能信號(hào)(LCD_EN,高有效)的下降沿寫入,并要求RS(由地址信號(hào)A0產(chǎn)生)信號(hào)有一定的保持時(shí)間(大于20ns),相當(dāng)于寫數(shù)據(jù)時(shí)要求地址信號(hào)有一定的保持時(shí)間;另一方面,Avalon三態(tài)接口中的選通信號(hào)與地址信號(hào)是同時(shí)結(jié)束,不能滿足液晶屏的寫控制時(shí)序。這個(gè)問(wèn)題可通過(guò)將控制液晶屏的地址信號(hào)A0(RS)和A1(R/W)延時(shí)解決,因此增加一個(gè)lcd_delay模塊,其內(nèi)部邏輯如圖10所示。lcd_delay模塊內(nèi)部邏輯中,有一個(gè)多路選擇開關(guān),其選擇由LCD_nCS來(lái)控制,因此只有對(duì)液晶屏進(jìn)行操作時(shí),A0(RS)和A1(R/W)

26、才可延時(shí)10。圖10 lcd_delay模塊的邏輯圖4 NIOS系統(tǒng)的設(shè)計(jì)4.1 NIOS系統(tǒng)的分析1、根據(jù)系統(tǒng)要實(shí)現(xiàn)的功能和開發(fā)板配置,系統(tǒng)需要使用的外圍器件包括:u LCD液晶顯示:顯示待測(cè)信號(hào)的頻率、周期、脈寬、占空比等信息;u 按鍵(四個(gè)):用于測(cè)試模塊功能的選擇;u Flash存儲(chǔ)器:存儲(chǔ)硬件和程序;u SRAM存儲(chǔ)器:程序運(yùn)行時(shí)將其導(dǎo)入SRAM。2、根據(jù)用到的外設(shè)和器件特性,在sopc builder中加入的內(nèi)核及各內(nèi)核的作用如下11:u CPU:用來(lái)對(duì)系統(tǒng)各外設(shè)的邏輯控制u JTAG UART( JTAG 通用異步通信總線):用于Flash存儲(chǔ)器的讀寫控制,在參數(shù)設(shè)置時(shí)一般保持默

27、認(rèn)不變u 系統(tǒng)ID外設(shè):當(dāng)SOPC Builder 生成NIOS系統(tǒng)時(shí),將為每個(gè)NIOS系統(tǒng)生成一個(gè)標(biāo)識(shí)符。該標(biāo)識(shí)符會(huì)被寫入system id寄存器中,供編譯器和用戶辨別所運(yùn)行的程序是否與目標(biāo)系統(tǒng)匹配u timer(定時(shí)器內(nèi)核):作為系統(tǒng)的周期性時(shí)鐘源、定時(shí)器等u SRAM:用作程序運(yùn)行時(shí)所要的內(nèi)存u FLASH:用于存放最終的程序和數(shù)據(jù),掉電時(shí),數(shù)據(jù)不會(huì)丟失u Avalon Tristate Bridge(Avalon三態(tài)橋):是Avalon交換結(jié)構(gòu)與片外外設(shè)相連的橋梁,它產(chǎn)生片外器件所需的數(shù)據(jù)、地址、讀/寫、片選以及其他控制信號(hào)u PIO口:用作功能選擇及控制信號(hào)u LCD顯示:顯示所測(cè)量

28、的結(jié)果圖11 NIOS微處理器的配置NIOS系統(tǒng)的配置情況如圖11所示。4.2 基于NIOS IDE的軟件設(shè)計(jì)本系統(tǒng)的軟件設(shè)計(jì)是以C語(yǔ)言形式在非操作系統(tǒng)環(huán)境下,利用Altera公司的軟件集成開發(fā)工具IDE所提供的硬件抽象層(HAL)的函數(shù)支持下來(lái)完成編寫的。4.2.1 主要的庫(kù)函數(shù)說(shuō)明系統(tǒng)中用到的主要的NIOS庫(kù)函數(shù)如下所示:1. I/O操作IORD_ALTERA_AVALON_PIO_DATA(base):讀取I/O口的值。 IOWR_ALTERA_AVALON_PIO_DATA(base, data):往I/O口寫入數(shù)據(jù)。IOWR_ALTERA_AVALON_PIO_IRQ_MASK(ba

29、se, data):寫中斷屏蔽寄存器。參數(shù)data為向中斷屏蔽寄存器寫入的數(shù)據(jù)。IOWR_ALTERA_AVALON_PIO_IRQ_EDGE_CAP(base, data):寫邊沿捕獲寄存器。參數(shù)data為向邊沿捕獲寄存器寫入的數(shù)據(jù)。alt_irq_register(alt_u32 id,void *context,void(* isr)(void *,alt_u32):登記中斷源2. 液晶顯示LCD_init(void):液晶顯示初始化LCD_BacklightCon(alt_u8 status):打開背光LCD_printf(alt_u8 row,alt_u8 col,alt_u8 *p

30、data,alt_u8 len):顯示字符ST7920_ClearScreen():清屏3.定時(shí)函數(shù)alt_busy_sleep(unsigned int us):延時(shí)4.2.2 系統(tǒng)流程圖 系統(tǒng)總流程圖如圖12所示。系統(tǒng)外部共有四個(gè)按鍵,分別控制頻率測(cè)試、周期測(cè)試、脈寬測(cè)試、占空比測(cè)試。主程序中主要是檢測(cè)按鍵,根據(jù)鍵值Test_Mode來(lái)選擇系統(tǒng)的工作狀態(tài)。頻率、周期、脈寬、占空比測(cè)試的子程序分別如圖13、14、15、16所示。對(duì)于頻率/周期測(cè)試,不同的待測(cè)信號(hào)頻率采用不同的預(yù)置門限。原因如下:當(dāng)高頻時(shí),若系統(tǒng)采用的門限時(shí)間太長(zhǎng)的話,F(xiàn)PGA內(nèi)部的32位計(jì)數(shù)器可能會(huì)溢出,另外也會(huì)影響系統(tǒng)的實(shí)

31、時(shí)性;當(dāng)頻率低時(shí),若系統(tǒng)采用的門限時(shí)間太短時(shí),計(jì)數(shù)器可能就無(wú)法計(jì)數(shù)了。本系統(tǒng)中,劃分了三個(gè)頻率段,每個(gè)頻率段的門控信號(hào)的時(shí)間不同:Fx<1KHz時(shí),門控信號(hào),即閘門時(shí)間為2s,1KHzFx<1MHz時(shí),閘門時(shí)間為1.5s,F(xiàn)x1MHz時(shí),閘門時(shí)間為1s。圖12 系統(tǒng)總流程圖圖13 周期測(cè)試子程序圖14 頻率測(cè)試子程序圖16 占空比測(cè)試子程序圖15 脈寬測(cè)試子程序5 系統(tǒng)測(cè)試5.1 測(cè)試儀器表2 儀器列表序號(hào)儀器名稱及型號(hào)數(shù)量1TDS 1002數(shù)字示波器12SP1641B型函數(shù)信號(hào)發(fā)生器13EE1461型DDS合成信號(hào)發(fā)生器15.2數(shù)據(jù)記錄與分析5.2.1 頻率、周期測(cè)試1. 利用S

32、P1641B型函數(shù)信號(hào)發(fā)生器產(chǎn)生方波,輸出電壓為2.5V,占空比為50%。數(shù)據(jù)記錄如表3所示。相對(duì)誤差值的計(jì)算公式如下:REL= (12)表3 頻率測(cè)試數(shù)據(jù)記錄表 儀器測(cè)試信號(hào)發(fā)生器OSC示波器測(cè)試IDE液晶顯示DES相對(duì)誤差(%)REL頻率(Hz)1.0951.0951.090.456周期-920.00ms0.92s0頻率(Hz)1.3051.2991.30-0.077周期-780.00ms0.779s0.128頻率(Hz)2.2252.2222.220.090周期-450ms0.449s0.222頻率(Hz)11.7911.796211.790.052周期-84.77ms84.77ms0頻

33、率(Hz)66.4966.490366.490周期-15.03ms15.03ms0頻率(Hz)604.51604.533604.530.0004周期-1.65ms1.65ms0頻率(Hz)6.4182K6.41830K6.418K0.005周期-155.8us0.156ms0.128頻率(Hz)70.619K70.6199K70.619K0.001周期-14.16us14.16us0頻率(Hz)742.15K742.173K742.173K0周期-1.35us1.35us0頻率(Hz)1148.7K1.14882M1.1488M0.001周期-870.5ns0.870ms0.057頻率(Hz)

34、3403.6K3.40368M3.4037M0.0005周期-293.8ns0.294ms0.0682. 利用EE1461型DDS合成信號(hào)發(fā)生器產(chǎn)生一正弦波,數(shù)據(jù)記錄如下表4所示。相對(duì)誤差值的計(jì)算公式如下:REL= (13)表4 頻率、周期測(cè)試數(shù)據(jù)記錄表 儀器測(cè)試信號(hào)發(fā)生器OSC示波器測(cè)試IDE液晶顯示DES相對(duì)誤差(%)REL頻率(MHz)2.0212002.021202.02120周期(ns)494.755500.00494.7550頻率(MHz)5.0212005.021205.02120周期(ns)199.155200.00199.156-0.0005頻率(MHz)10.0212001

35、0.021210.02120周期(ns)99.788100.0099.7880頻率(MHz)30.02120030.021230.02120周期(ns)33.31034.0033.3100頻率(MHz)50.02120050.021450.0214-0.0004周期(ns)19.992-19.9900.0050頻率(MHz)70.021200-70.0215-0.0004周期(ns)14.281-14.280頻率(MHz)85.021200-85.0215-0.0006周期(ns)11.762-11.7600.0070頻率(MHz)87.021200-87.0215-0.0006周期(ns)1

36、1.491-11.4900.0087頻率(MHz)92.021200-92.00410.0186周期(ns)10.867-10.869-0.0184頻率(MHz)100.021200- 3.數(shù)據(jù)分析與總結(jié):當(dāng)被測(cè)信號(hào)頻率在01kHz時(shí),精確到小數(shù)點(diǎn)后兩位;當(dāng)被測(cè)信號(hào)頻率在1kHz1MHz范圍內(nèi)時(shí),精確度為小數(shù)點(diǎn)后三位;當(dāng)被測(cè)信號(hào)頻率在1MHz100MHz范圍內(nèi)時(shí),精確度為小數(shù)點(diǎn)后四位。用SP1641B型函數(shù)信號(hào)發(fā)生器產(chǎn)生信號(hào)時(shí),由于儀器的精度問(wèn)題,測(cè)試時(shí)參考示波器測(cè)到的頻率/周期;在用EE1461型DDS合成信號(hào)發(fā)生器產(chǎn)生信號(hào)時(shí),參考信號(hào)發(fā)生器上的頻率值/周期。由于系統(tǒng)設(shè)計(jì)時(shí),液晶顯示的位數(shù)有

37、限,與參考的頻率/周期的位數(shù)不一致。所以由表3、4可知,用公式計(jì)算出的相對(duì)誤差比較大,但在整個(gè)頻率范圍內(nèi),其精度都近乎相等,且精度都保持在0.05%之內(nèi)。綜上所述:頻率/周期測(cè)試的測(cè)量范圍為1Hz90MHz,且精度達(dá)到設(shè)計(jì)要求。5.2.2 脈寬測(cè)試?yán)肧P1641B型函數(shù)信號(hào)發(fā)生器產(chǎn)生方波,輸出電壓為2.5V。數(shù)據(jù)記錄如表5所示。表5 脈寬測(cè)試數(shù)據(jù)記錄表示波器測(cè)得的脈寬液晶顯示的脈寬相對(duì)誤差(%)176.0ns0.174us1.14500.0ns0.500us05.200us5.190us0.1947.00us47.00us0500.0us0.499ms0.204.600ms4.5183ms1

38、.7850.00ms50.186ms-0.37490ms0.485s1.02980ms0.977s0.31數(shù)據(jù)分析與總結(jié):由表5可知,測(cè)試范圍無(wú)法測(cè)到0.1us,這是由于該信號(hào)發(fā)生器最大的輸出頻率為3MHz。相對(duì)誤差最大為1.78%,測(cè)試精度略超出0.01 s。另外,由于信號(hào)的周期是手動(dòng)測(cè)量,也存在人為誤差。綜上所述:由于未設(shè)計(jì)外部整形電路,無(wú)法得到高頻的矩形波,導(dǎo)致無(wú)法測(cè)量高頻,故測(cè)量范圍未達(dá)到要求,精度有待提高。5.2.3 占空比測(cè)試 信號(hào)發(fā)生器輸出一矩形波,其頻率f=1.0007kHz,幅度Vpp=2.7V,改變占空比測(cè)試如表6所示。表6 占空比測(cè)試數(shù)據(jù)記錄表高電平(us)低電平(us)

39、占空比(%)顯示的占空比(%)誤差(%)90016084.985-0.1264036064.065-1.5640062039.240-2.0424082022.624-6.1916098014.014050050050.0500數(shù)據(jù)分析與總結(jié):由表6可知,由示波器測(cè)出該儀器輸出的矩形波的占空比的范圍為14%85%,本設(shè)計(jì)均能較準(zhǔn)確地測(cè)出占空比。綜上所述:由于儀器問(wèn)題,無(wú)法測(cè)試設(shè)計(jì)要求中的占空比的范圍,在可測(cè)范圍內(nèi),本設(shè)計(jì)基本可以準(zhǔn)確的測(cè)出信號(hào)的占空比,達(dá)到設(shè)計(jì)要求。5.3 設(shè)計(jì)不足頻率/周期測(cè)試模塊的實(shí)時(shí)性不是很高。NIOS系統(tǒng)對(duì)頻率/周期測(cè)試的門控信號(hào)進(jìn)行控制,系統(tǒng)是通過(guò)延時(shí)以等待計(jì)數(shù)的完成

40、,若在計(jì)數(shù)期間,外部的待測(cè)信號(hào)的頻率值發(fā)生改變,系統(tǒng)無(wú)法馬上進(jìn)行判別,只能等待計(jì)數(shù)完成后,才能對(duì)該頻率值進(jìn)行測(cè)試。6 結(jié)束語(yǔ)本次設(shè)計(jì)的等精度數(shù)字頻率計(jì)不僅能夠很好地對(duì)被測(cè)信號(hào)的頻率進(jìn)行測(cè)量,并且實(shí)現(xiàn)了周期、脈寬、占空比測(cè)量等功能,測(cè)量結(jié)果通過(guò)液晶很直觀地顯示。另外本系統(tǒng)利用SOPC技術(shù),嵌入一個(gè)IP核,節(jié)約了FPGA芯片的資源,便于添加外設(shè)。所測(cè)得的指標(biāo)如下: 對(duì)于頻率測(cè)試功能,測(cè)頻范圍為1HZ90MHz:對(duì)于測(cè)頻精度,測(cè)頻全域相對(duì)誤差為0.05%之內(nèi)。 對(duì)于周期測(cè)試功能,測(cè)周期范圍為7ns90ms;對(duì)于測(cè)量精度,測(cè)周期全域相對(duì)誤差為0.2%之內(nèi)。 對(duì)于脈寬測(cè)試功能,被測(cè)范圍為176ns980

41、ms。 對(duì)于占空比測(cè)試功能,被測(cè)范圍為14%85%。 用字符型液晶來(lái)顯示測(cè)試的結(jié)果,直觀明了。它與傳統(tǒng)的頻率計(jì)的比較,其優(yōu)點(diǎn)是:軟件開發(fā)效率高,易于很好的擴(kuò)展功能,并且在整個(gè)測(cè)量范圍內(nèi)都能保持一定的精確度,對(duì)于高頻信號(hào)的測(cè)量準(zhǔn)確更高,速度更快,穩(wěn)定度更高。致謝在本次畢業(yè)設(shè)計(jì)的過(guò)程中,王靈芝老師在論文的選題、開題、設(shè)計(jì)構(gòu)思到最后定稿的各個(gè)環(huán)節(jié)上都給予了悉心的指引與教導(dǎo),使我對(duì)FPGA、SOPC的設(shè)計(jì)、開發(fā)軟件的應(yīng)用有了深刻的認(rèn)識(shí)。更為重要的是王老師教會(huì)了我面對(duì)困難時(shí)不要輕言放棄。王老師精益求精的治學(xué)態(tài)度、豐富淵博的知識(shí)以及誨人不倦的師者風(fēng)范是我終生學(xué)習(xí)的楷模。在此,謹(jǐn)向老師表示崇高的敬意和衷心的

42、感謝!同時(shí)我要感謝吳一純老師在我課題研究期間給予了很大的幫助、提出了寶貴的意見和建議。最后,感謝我的家人,他們一直默默的支持和鼓勵(lì)著我。參考文獻(xiàn)1 張夢(mèng)梨 韓國(guó)松.基于FPGA的等精度數(shù)字頻率計(jì)的研究與實(shí)現(xiàn)J. 商丘職業(yè)技術(shù)學(xué)院學(xué)報(bào),2006年第2期,第5卷:7981.2 褚振勇,齊亮,田紅心,高楷娟編著.FPGA設(shè)計(jì)及應(yīng)用(第二版)M.西安電子科技大學(xué)出版社2006.12 8323 周立功等.SOPC嵌入式系統(tǒng)基礎(chǔ)教程M.北京:北京航空航天大學(xué)出版社,2006年11月.312.4 莫琳基于FPGA的等精度頻率計(jì)的設(shè)計(jì)與實(shí)現(xiàn)J現(xiàn)代電子技術(shù),2004(10):81825 唐亞平 王學(xué)梅. 基于F

43、PGA的等精度頻率計(jì)的設(shè)計(jì)J.電子元器件應(yīng)用,2005(10):6365.6 Altera Corporation. CycloneDevice HandbookK.7 張杰 姚劍 葉林 李昌禧.頻率測(cè)量的新方法J.工業(yè)儀表與自動(dòng)化裝置,2003年,第1期:6365.8 譚會(huì)生 瞿遂春.EDA技術(shù)綜合應(yīng)用實(shí)例與分析M.西安:西安電子科技大學(xué)出版社,2007.217251.9 潘松 黃繼業(yè).EDA與VHDL(第二版)M.北京:清華大學(xué)出版社.2007.251253.10 周立功等.SOPC嵌入式系統(tǒng)實(shí)驗(yàn)教程(一)M.北京:北京航空航天大學(xué)出版社,2006年11月. 134135.11 周立功等.

44、SOPC嵌入式系統(tǒng)基礎(chǔ)教程M.北京:北京航空航天大學(xué)出版社,2006年11月.73132.附錄1. 開發(fā)板實(shí)物圖2. LCM128645ZK液晶引腳說(shuō)明3. 基于NIOS IDE的軟件設(shè)計(jì)的程序#include "stdio.h" /標(biāo)準(zhǔn)輸入/輸出函數(shù)頭文件#include "system.h" /SOPC生成的cpu信息#include <string.h>#include "alt_types.h"#include "sys/alt_irq.h"/中斷操作函數(shù)頭文件#include "al

45、tera_avalon_pio_regs.h" /該文件定義了內(nèi)核的寄存器映射并提供硬件設(shè)備訪問(wèn)宏定義#include "zlg_avalon_lcd128_64.h" #include "sys/alt_alarm.h" #include "altera_avalon_timer_regs.h"#include "priv/alt_busy_sleep.h"#include "hello_world_small_1.h"hello_world_small_1.h#ifndef HEL

46、LO_WORLD_SMALL_1_H_#define HELLO_WORLD_SMALL_1_H_#define Tdata_BASE 0x00502070#define Bdata_BASE 0x00502080#define button_BASE 0x00502090#define CLR_BASE 0x005020a0#define count_end_BASE 0x005020b0#define SPUL_BASE 0x005020c0#define START_BASE 0x005020d0#define w_d_end_BASE 0x005020e0#define W_D_BAS

47、E 0x005020f0#define button_IRQ 3#define count_end_IRQ 4#define w_d_end_IRQ 5#endif /*HELLO_WORLD_SMALL_1_H_*/ float Fs=.0;/標(biāo)準(zhǔn)頻率fs=100MHz float Fx; /待測(cè)頻率 float Tx; /待測(cè)周期 float Twx;/待測(cè)信號(hào)脈寬 float Duty;/待測(cè)信號(hào)的占空比 alt_u32 Ns; /標(biāo)準(zhǔn)頻率計(jì)數(shù)器BZQ中的計(jì)數(shù)值 alt_u32 Nx; /待測(cè)頻率計(jì)數(shù)器TZQ中的計(jì)數(shù)值 alt_u32 N1; /高電平時(shí),標(biāo)準(zhǔn)頻率計(jì)數(shù)器BZQ中的計(jì)數(shù)值

48、alt_u32 N2; /低電平時(shí),標(biāo)準(zhǔn)頻率計(jì)數(shù)器BZQ中的計(jì)數(shù)值 alt_u8 Test_Mode=0; /模式選擇 alt_u8 Operation=0; /頻率測(cè)量或者占空比測(cè)量或者暫停標(biāo)志 alt_u8 gata_time; alt_u8 number1=0; alt_u8 number2=0; alt_u8 number3=0; alt_u8 number4=0; alt_u8 i; alt_u8 j; alt_u8 k; alt_u8 l; alt_u8 byte1;/顯示測(cè)量的頻率、周期的位數(shù)不同時(shí),轉(zhuǎn)換前清零所設(shè)的標(biāo)志位 alt_u8 byte2; alt_u8 byte3;

49、alt_u8 byte4; alt_u8 byte5; alt_u8 byte6; alt_u8 duty; alt_u8 aa; alt_u8 danwei; alt_u8 danwei2; char a; /顯示數(shù)據(jù)緩沖區(qū)char b;char c;char d;char e;char f;int edge_capture;void Init(); /初始化設(shè)置void Freq_Test();/頻率測(cè)量void Time_Test();/周期測(cè)量void Duty_Test();/占空比測(cè)量void Width_Test();/脈寬測(cè)量void display();/剛上電時(shí)的顯示voi

50、d key_Scan();/按鍵掃描void init_button_pio();void judge();void count_end_interrupts(void *context,alt_u32 id);void judge();void Init_pio();void w_d_end_interrupts(void *context,alt_u32 id);/* * 按鈕的初始化 * */ void handle_button_interrupts(void*context,alt_u32 id) int*edge_capture_ptr=(int*)context; *edge_capture_ptr=IORD_ALTERA_AVALON_PIO_EDGE_CAP(button_BASE);/儲(chǔ)存按鈕的值到邊沿捕獲寄存器中 IOWR_ALTERA_AVALON_PIO_EDGE_CAP(button_BASE,0);/復(fù)位邊沿捕獲寄存

溫馨提示

  • 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)論