




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 河南科技大學(xué)課 程 設(shè) 計 說 明 書 課程名稱 現(xiàn)代電子系統(tǒng)課程設(shè)計題 目 簡易數(shù)字頻率計設(shè)計 學(xué) 院 電子信息工程學(xué)院班 級 電信科083班 學(xué)生姓名 陳真淮 指導(dǎo)教師 齊晶晶、張雷鳴 日 期 2011年12月16日 課程設(shè)計任務(wù)書(指導(dǎo)教師填寫)課程設(shè)計名稱 現(xiàn)代電子系統(tǒng)課程設(shè)計學(xué)生姓名 陳真淮專業(yè)班級電信科083設(shè)計題目 簡易數(shù)字頻率計設(shè)計 一、 課程設(shè)計目的掌握高速AD的使用方法;掌握頻率計的工作原理;掌握GW48_SOPC實驗箱的使用方法;了解基于FPGA的電子系統(tǒng)的設(shè)計方法。二、 設(shè)計內(nèi)容、技術(shù)條件和要求設(shè)計一個具有如下功能的簡易頻率計。(1)基本要求: a被測信號的頻率范圍為
2、120kHz,用4位數(shù)碼管顯示數(shù)據(jù)。b測量結(jié)果直接用十進(jìn)制數(shù)值顯示。c被測信號可以是正弦波、三角波、方波,幅值13V不等。d具有超量程警告(可以用LED燈顯示,也可以用蜂鳴器報警)。e當(dāng)測量脈沖信號時,能顯示其占空比(精度誤差不大于1%)。(2)發(fā)揮部分a修改設(shè)計,實現(xiàn)自動切換量程。b構(gòu)思方案,使整形時,以實現(xiàn)擴(kuò)寬被測信號的幅值范圍。三、 時間進(jìn)度安排布置課題和講解:1天 查閱資料、設(shè)計:4天實驗:3天 撰寫報告:2天四、 主要參考文獻(xiàn)何小艇 電子系統(tǒng)設(shè)計 浙江大學(xué)出版社 2008.1潘松 黃繼業(yè) EDA技術(shù)實用教程 科學(xué)出版社 2006.10指導(dǎo)教師簽字: 2011年 11月 28日摘 要數(shù)
3、字頻率計是計算機(jī)、通訊設(shè)備、音頻視頻等科研生產(chǎn)領(lǐng)域不可缺少的測量儀器。它不僅可以測量正弦波、方波和尖脈沖信號的頻率,還能對占空比、周期、幅值、脈沖寬度等多種物理量進(jìn)行測量。本設(shè)計用VHDL語言在FPGA器件上實現(xiàn)數(shù)字頻率計測頻系統(tǒng),能夠用十進(jìn)制數(shù)碼顯示頻率范圍為0-20KHZ被測信號的頻率;能夠測量正弦波、方波和三角波等信號的頻率,并實現(xiàn)自動量程切換;能夠測量的信號的占空比。結(jié)合GW48實驗教學(xué)系統(tǒng)特定硬件資源,通過五個功能模塊的實現(xiàn)整個系統(tǒng)的設(shè)計,分別是:模數(shù)轉(zhuǎn)換模塊:將信號發(fā)生器輸入的模擬信號通過AD0809轉(zhuǎn)化成數(shù)字信號。信號整形模塊:將正弦波、三角波信號轉(zhuǎn)換為方波信號。頻率測量及報警模
4、塊:利用直接測頻法和測周期法完成被測信號的頻率測量。當(dāng)被測信號的頻率超過量程時能實現(xiàn)報警功能。占空比測量模塊:本設(shè)計通過測信號的脈沖寬度間接實現(xiàn)占空比的測量。顯示模塊:為了提高人機(jī)交互的方便性及設(shè)備的利用率,設(shè)置顯示控制電路用來控制頻率值和占空比值的交換顯示。采用VDHL編程設(shè)計實現(xiàn)的數(shù)字頻率計,除被測信號的模數(shù)轉(zhuǎn)換部分、鍵輸入部分和數(shù)碼顯示部分以外,其余全部在一片F(xiàn)PGA芯片上實現(xiàn),整個系統(tǒng)非常精簡,而且具有靈活的現(xiàn)場可更改性。在不更改硬件電路的基礎(chǔ)上,對系統(tǒng)進(jìn)行各種改進(jìn)還可以進(jìn)一步提高系統(tǒng)的性能。因此,該數(shù)字頻率計具有具有高速、精確、可靠、功耗低、抗干擾性強(qiáng)和現(xiàn)場可編程等優(yōu)點(diǎn)。關(guān)鍵詞:頻率
5、計、FPGA、頻率測量、占空比、直接測頻法目 錄一 任務(wù)解析51.1 設(shè)計目標(biāo)51.2 性能指標(biāo)51.3 系統(tǒng)原理框圖5二 系統(tǒng)方案論證52.1 方案比較52.2 方案論證8三 系統(tǒng)結(jié)構(gòu)83.1 系統(tǒng)組成83.2 系統(tǒng)運(yùn)行原理9四 模數(shù)轉(zhuǎn)換模塊94.1 AD0809工作原理94.2 轉(zhuǎn)換控制模塊104.3 仿真驗證11五 信號整形模塊115.1 整形電路原理125.2 仿真驗證12六 占空比測量模塊126.1 占空比測量原理126.2 仿真驗證13七 頻率測量及報警模塊147.1 頻率測量原理147.2 測頻模塊設(shè)計157.3 仿真驗證12八 顯示模塊168.1 鎖存于顯示電路168.2顯示控
6、制電路178.3 仿真驗證17九 結(jié)果與總結(jié)189.1 系統(tǒng)仿真189.2 硬件驗證189.3 設(shè)計總結(jié)19十 心得體會20附錄A 系統(tǒng)原理框圖21附錄B 管腳連接圖22附錄C VHDL源程序23一 任務(wù)解析1.1 設(shè)計目標(biāo)本次課程設(shè)計的任務(wù)是設(shè)計一個簡易數(shù)字頻率計。用它可以測量正弦波、矩形波、三角波和尖脈沖等周期信號的頻率值。簡易數(shù)字頻率計可實現(xiàn)用十進(jìn)制數(shù)字顯示被測信號頻率,具有超量程警告的功能,并能顯示其占空比。經(jīng)過修改設(shè)計后,實現(xiàn)自動切換量程和跳變閾值自動進(jìn)行調(diào)節(jié)。同時通過本次課程設(shè)計掌握高速AD的使用方法,掌握頻率計的工作原理,掌握GW48_SOPC實驗箱的使用方法,了解基于FPGA的
7、電子系統(tǒng)的設(shè)計方法。1.2 性能指標(biāo)頻率計主要用于測量正弦波、矩形波、三角波和尖脈沖等周期信號的頻率值。其擴(kuò)展功能可以實現(xiàn)自動切換量程,使整形時,以實現(xiàn)擴(kuò)寬被測信號的幅值范圍。此次數(shù)字頻率計要達(dá)到的基本要求有:被測信號的頻率范圍為120kHz;測量結(jié)果直接用十進(jìn)制數(shù)值表示,并用4位數(shù)碼管顯示數(shù)據(jù);被測信號可以是正弦波、三角波、方波,幅值13V不等;具有超量程警告,可以用LED燈顯示,也可以用蜂鳴器報警來實現(xiàn);當(dāng)測量脈沖信號時,能顯示其占空比,精度誤差不大于1%。發(fā)揮部分的要求有:根據(jù)測量頻率高低的不同,實現(xiàn)自動切換量程;對信號進(jìn)行整形時,跳變閾值能自動進(jìn)行調(diào)節(jié),以實現(xiàn)擴(kuò)寬被測信號的幅值范圍。根
8、據(jù)自己情況,可做其它的適當(dāng)發(fā)揮擴(kuò)展。1.3 系統(tǒng)原理框圖 數(shù)字頻率計的系統(tǒng)原理框圖如圖1所示。圖中被測信號為外部信號,與基準(zhǔn)信號一同,送入測量電路進(jìn)行處理、測量,控制電路用于選擇測試的項目-頻率或占空比,測量電路的輸出信號送到顯示電路進(jìn)行顯示。圖1-1系統(tǒng)原理框圖二 系統(tǒng)方案論證2.1 方案比較在具體是現(xiàn)實時,又可以采用單片機(jī)或者FPGA來實現(xiàn),具體有如下幾種方案:方案一:系統(tǒng)測頻部分采用FPGA來實現(xiàn),即利用FPGA產(chǎn)生時鐘并完成測量,用機(jī)械式功能轉(zhuǎn)換開關(guān)換檔,完成測頻率功能。由于FPGA的工作頻率比單片機(jī)的高很多,因此可以考慮直接利用FPGA產(chǎn)生信號的高頻參考頻率,這樣就可以在一定程度上利
9、用前面講的的測周期法,同時能夠在誤差范圍內(nèi)滿足誤差要求。此方案對輸入信號作分頻整形處理后,再與1秒脈寬帶信號共同輸入與非門,其輸出作為計數(shù)脈沖,由計數(shù)器計數(shù),然后鎖存、譯碼輸出到數(shù)碼管顯示。其原理框圖如圖2-4所示。圖2-1 基于FPGA方案的原理框圖方案二:采用MCS-51系列單片機(jī),將欲測量的輸入信號(1Hz10MHz)進(jìn)行限幅、放大、整形和分頻處理,利用單片機(jī)進(jìn)行頻率、周期的測量和計算處理,運(yùn)算結(jié)果并行輸出到數(shù)碼顯示。顯然此種方案由于采用單片機(jī)技術(shù),利用定時器計時一段時間,在通過計數(shù)器在這段時間內(nèi)計數(shù),實現(xiàn)用計數(shù)法測量頻率。單片機(jī)AT89C51內(nèi)部具有2個16位定時計數(shù)器,定時計數(shù)器的工
10、作可以由編程來實現(xiàn)定時、計數(shù)和產(chǎn)生計數(shù)溢出時中斷要求的功能。在定時器工作方式下,在被測時間間隔內(nèi),每來一個機(jī)器周期,計數(shù)器自動加1(使用12 MHz時鐘時,每1s加1),這樣以機(jī)器周期為基準(zhǔn)可以用來測量時間間隔。在計數(shù)器工作方式下,加至外部引腳的待測信號發(fā)生從1到0的跳變時計數(shù)器加1,這樣在計數(shù)閘門的控制下可以用來測量待測信號的頻率。外部輸入在每個機(jī)器周期被采樣一次,這樣檢測一次從1到0的跳變至少需要2個機(jī)器周期(24個振蕩周期),所以最大計數(shù)速率為時鐘頻率的124(使用12 MHz時鐘時,最大計數(shù)速率為500 kHz)。定時計數(shù)器的工作由運(yùn)行控制位TR控制,當(dāng)TR置1,定時計數(shù)器開始計數(shù);當(dāng)
11、TR清0,停止計數(shù)。在高頻時,我們可以利用單片機(jī)產(chǎn)生一個低頻信號,例如周期為一秒,用來進(jìn)行測量高頻信號。而在低頻時,我們可以采用單片機(jī)發(fā)生一個10K的信號,采用在頻率計原理中所說的第二種方法。其原理框圖如圖2-3所示。圖2-2 基于單片機(jī)方案框圖方案三:采用FPGA和單片機(jī)組合電路設(shè)計。利用FPGA進(jìn)行測頻計數(shù),單片機(jī)實施控制實現(xiàn)多功能頻率計的設(shè)計。外圍信號輸入電路經(jīng)放大整形調(diào)理,該頻率計利用FPGA來實現(xiàn)頻率、占空比的測量和計數(shù),利用單片機(jī)完成整個測量電路的測試控制、數(shù)據(jù)處理和顯示輸出。為了進(jìn)一步提高測量頻率的精度和實時性,采用等精度測量頻率,用FPGA容易實現(xiàn)等精度頻率的測量。其原理框圖如
12、圖2-5所示。放大整形基準(zhǔn)頻率頻率計數(shù)器時間計數(shù)器同步預(yù)置閥門閥門單片機(jī)顯示FPGA閥門圖2-3 FPGA+單片機(jī)組合的原理框圖方案四:采用分離元件設(shè)計。本方案利用大量數(shù)字芯片,通過各種邏輯關(guān)系構(gòu)成,但由于芯片無編程性,如果完成本次大賽的所有要求難度較大,只能完成部分功能,同時電路復(fù)雜。在實際應(yīng)用中存在很多問題。圖2-4 采用分離元件設(shè)計的原理框圖2.2 方案論證方案一:采用基于FPGA的方案,特點(diǎn)是FPGA電路應(yīng)用技術(shù)成熟,能可靠的完成頻率計的基本功能,結(jié)構(gòu)簡單,量程可以自動切換。該方案采用FPGA作為信號處理及系統(tǒng)控制核心,完成包括計數(shù)、門控、顯示等一系列工作。利用了FPGA的可編程和大規(guī)
13、模集成的特點(diǎn),使電路大為簡化,能可靠的完成頻率計的基本功能。 方案二:系統(tǒng)采用MCS一51系列單片機(jī)89C51作為控制核心,性能好,價格便宜。由于單片機(jī)通過中斷可以較準(zhǔn)確地產(chǎn)生信號需要的信號頻率,同時,單片機(jī)的控制能力比較強(qiáng)。此外使用了單片機(jī),使整個系統(tǒng)具有極為靈活的可編程性,能方便地對系統(tǒng)進(jìn)行功能擴(kuò)展與改進(jìn)。但是單片機(jī)運(yùn)算能力有限,讓單片機(jī)同時完成運(yùn)算、控制及顯示功能,會使單片機(jī)超負(fù)荷運(yùn)行。而且單片機(jī)的接口資源有限,同時接AD0809和4個顯示器等外部器件,很容易造成接口資源緊張。方案三:采用FPGA和單片機(jī)組合電路設(shè)計。該方案利用FPGA和單片機(jī)協(xié)調(diào)來進(jìn)行開發(fā),只要利用較少的器件就可以實現(xiàn)
14、系統(tǒng)的功能,并使可以使頻率計系統(tǒng)高效運(yùn)行。但是,該方案不能充分發(fā)揮FPGA和單片機(jī)各自的優(yōu)勢,并且測量精度不夠高,導(dǎo)致系統(tǒng)性能價格比降低、系統(tǒng)功能擴(kuò)展受到限制。因此,該方案不是最好的選擇。 方案四:采用分離元件設(shè)計。本方案利用大量數(shù)字芯片,通過各種邏輯關(guān)系構(gòu)成。但由于芯片無編程性,要完成任務(wù)書的所有要求難度較大,只能完成部分功能,同時電路復(fù)雜。但由于系統(tǒng)功能要求較高,所以電路過于復(fù)雜,而且多量程換檔開關(guān)使用不便。在實際應(yīng)用中也存在很多問題。故該方案不是一個好的選擇。因此,我們最終選擇第一種方案,具體理由有如下幾點(diǎn):由于FPGA本身是將大量的邏輯功能繼承與一個器件內(nèi),集成度要遠(yuǎn)遠(yuǎn)高于單片機(jī),能夠
15、利用的資源也相對充裕,可以較好地完成要求。對于FPGA的設(shè)計,可以直接采用VHDL硬件語言直接進(jìn)行的,在不同的場合,我們只要對語言進(jìn)行適當(dāng)?shù)母膭?,就可實現(xiàn)具體情況具體應(yīng)用。因此利用FPGA來進(jìn)行開放設(shè)計,其可移植性更強(qiáng)。三 系統(tǒng)結(jié)構(gòu)3.1 系統(tǒng)組成本系統(tǒng)除了利用特定硬件資源外,還需通過軟件實現(xiàn)五個模塊的設(shè)計,分別是:模數(shù)轉(zhuǎn)換模塊,信號整形模塊,頻率測量及報警模塊,占空比測量模塊和顯示模塊。模數(shù)轉(zhuǎn)換模塊:將信號發(fā)生器傳過來的模擬信號轉(zhuǎn)化成數(shù)字信號。該模塊主要有AD0809和FPGA控制模塊兩部分組成。AD0809模數(shù)轉(zhuǎn)換,是為把模擬信號轉(zhuǎn)換為信息基本相同的數(shù)字信號而設(shè)計的芯片。FPGA控制模塊主
16、要控制AD0809芯片的數(shù)模轉(zhuǎn)換過程。信號整形模塊:該模塊將AD0809傳輸來數(shù)值與規(guī)定的參比值相比較,以產(chǎn)生一個差值信號,從而實現(xiàn)將的8位并行數(shù)字信號轉(zhuǎn)換為串行的單脈沖信號。頻率測量及報警模塊:該模塊是整個系統(tǒng)的核心。利用直接測頻法和測周期法完成被測信號的頻率測量。并且當(dāng)被測信號的頻率超過量程時實現(xiàn)報警功能。占空比測量模塊:該模塊主要用來測量被測信號的占空比。測占空比實質(zhì)就是測信號的脈沖寬度,測出一個周期占用的時間和其中高電平占用的時間,二者相比即可得占空比的數(shù)值。顯示模塊:該模塊主要實現(xiàn)頻率和占空比的顯示和控制。在一個測量周期過程中,被測周期信號在輸入電路中經(jīng)過放大、整形、微分操作之后形成
17、特定周期的窄脈沖,送到主門的一個輸入端。主門的另外一個輸入端為時基電路產(chǎn)生電路產(chǎn)生的閘門脈沖。在一串理想的脈沖序列中(如方波),正脈沖的持續(xù)時間與脈沖總周期的比值。3.2 系統(tǒng)運(yùn)行原理由于本課程設(shè)計是基于特定的硬件平臺,在GW48-SOPC實驗開發(fā)系統(tǒng)上進(jìn)行實現(xiàn)對被測信號通過AD進(jìn)行轉(zhuǎn)換,把轉(zhuǎn)換的結(jié)果和給定的閾值進(jìn)行比較,產(chǎn)生相應(yīng)的脈沖信號。得到脈沖信號之后,先進(jìn)行頻率測量,給定1S的基準(zhǔn)信號,在1S信號內(nèi)對脈沖信號進(jìn)行計數(shù),計數(shù)的方式采用BCD碼,然后把計數(shù)結(jié)果直接送數(shù)碼管顯示,對應(yīng)的就是十進(jìn)制的數(shù)值。為了實現(xiàn)占空比精度的要求,在適當(dāng)?shù)姆秶鷥?nèi)竟可能提高基準(zhǔn)信號的頻率。通過一個LED燈來表示相
18、應(yīng)的單位。然后對脈沖信號進(jìn)行占空比測量,給定一個高頻的基準(zhǔn)信號,在脈沖信號的高電平期間對脈沖信號進(jìn)行計數(shù),把計數(shù)結(jié)果進(jìn)行相應(yīng)的運(yùn)算,運(yùn)算結(jié)果直接送數(shù)碼管顯示,對應(yīng)的也是十進(jìn)制顯示。對于報警信號,我設(shè)計的方案是接數(shù)碼管顯示,頻率超過3khz時就會發(fā)出警告,數(shù)碼管指示燈全部變?yōu)?。?模數(shù)轉(zhuǎn)換模塊4.1 AD0809工作原理AD0809的工作過程是:輸入3位地址,并使ALE=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。START上升沿將逐次逼近寄存器復(fù)位。下降沿啟動 AD轉(zhuǎn)換,之后EOC輸出信號變低,指示轉(zhuǎn)換正在進(jìn)行。直到AD轉(zhuǎn)換完成,EOC變?yōu)楦唠娖剑甘続D轉(zhuǎn)換結(jié)束,結(jié)
19、果數(shù)據(jù)已存入鎖存器,這個信號可用作中斷申請。當(dāng)OE輸入高電平時,輸出三態(tài)門打開,ALE,START,OE,ADDA都是ADC0809的控制信號,ADDA為模擬通道選擇,低電平選擇通道0,ALE為通道地址鎖存信號,START為啟動AD轉(zhuǎn)換的信號,OE為ADC0809轉(zhuǎn)換結(jié)果輸出的使能信號。其結(jié)構(gòu)原理圖如下:圖4-1 AD0809結(jié)構(gòu)原理圖其具體與ADC0809的連接電路圖如下:圖4-2 ADC0809的連接電路圖4.2 轉(zhuǎn)換控制模塊轉(zhuǎn)換控制模塊主要控制AD0809芯片的數(shù)模轉(zhuǎn)換過程。本模塊用VHDL語言設(shè)計。設(shè)計過程中定義了一個狀態(tài)機(jī)。各狀態(tài)子類型表示的意義分別是:S0狀態(tài)AD0809初始化;S
20、1狀態(tài)啟動采樣;S2狀態(tài)時EOC=1表明轉(zhuǎn)換結(jié)束,EOC=1轉(zhuǎn)換未結(jié)束,繼續(xù)等待;S3狀態(tài)開啟OE;S4狀態(tài)輸出轉(zhuǎn)換好的數(shù)據(jù)。狀態(tài)轉(zhuǎn)換的條件詳見下圖圖4-3 AD0809轉(zhuǎn)換狀態(tài)機(jī)圖其控制模塊結(jié)構(gòu)見圖4-4。其中的表示的含義如下。D:來自0809轉(zhuǎn)換好的8位數(shù)據(jù);CLK:狀態(tài)機(jī)工作時鐘;EOC:轉(zhuǎn)換狀態(tài)指示,低電平表示正在轉(zhuǎn)換;ALE: 8個模擬信號通道地址鎖存信號;START:轉(zhuǎn)換開始信號;OE:數(shù)據(jù)輸出3態(tài)控制信號;ADDA :信號通道最低位控制信號;LOCK0:觀察數(shù)據(jù)鎖存時鐘;Q : 8位數(shù)據(jù)輸出。通過VHDL語言編寫控制模塊實現(xiàn)對ADC0809的控制,具體的程序見附錄。圖4-4 AD
21、控制模塊結(jié)構(gòu)圖4.3 仿真驗證在Quartus中對轉(zhuǎn)換控制模塊完成功能仿真后,編輯波形仿真文件,運(yùn)行的得到的仿真圖如下:圖4-5 AD仿真波形圖從圖4-5中可以看出,每五個 CLK的周期完成一次信號轉(zhuǎn)換。在第二個CLK 周期即S1狀態(tài)ALE,START信號同時變?yōu)楦唠?,從而平啟動采樣。在第三個CLK 周期即S2狀態(tài)時,因為此時EOC=1,指示狀態(tài)轉(zhuǎn)換結(jié)束。在第四個CLK 周期即S3狀態(tài)LOCK0信號變?yōu)楦唠娖?,輸出被?shù)據(jù)鎖存;與此同時OE信號變?yōu)楦唠娖剑?3態(tài)控制門打開,數(shù)據(jù)從8位數(shù)據(jù)端口Q輸出。在整個轉(zhuǎn)換過程中,ADDA 信號一直保持高電平,控制最低位通道信號輸入。五 信號整形模塊5.1 整
22、形電路原理由于輸入的信號可以是正弦波,三角波。而后面的閘門或計數(shù)電路要求被測信號為矩形波,所以需要設(shè)計一個整形電路則在測量的時候,首先通過整形電路將正弦波或者三角波轉(zhuǎn)化成矩形波。在整形之前由于不清楚被測信號的強(qiáng)弱的情況。所以在通過整形之前通過放大衰減處理。當(dāng)輸入信號電壓幅度較大時,通過輸入衰減電路將電壓幅度降低。當(dāng)輸入信號電壓幅度較小時,前級輸入衰減為零時若不能驅(qū)動后面的整形電路,則調(diào)節(jié)輸入放大的增益,時被測信號得以放大。本模塊中用到的整形放大電路,其實質(zhì)是一個數(shù)字比較器。數(shù)字比較器用于數(shù)字信號的比較。例如數(shù)據(jù)A和B比較,如果A>B,則輸出A大于B的結(jié)果信號FA>B=1,F(xiàn)A=B=
23、0,F(xiàn)A<B=0。如果A=B,則輸出A等于B的結(jié)果信號FA>B=0,F(xiàn)A=B=1,F(xiàn)A<B=0。如果A<B,則輸出A小于B的結(jié)果信號FA>B=0,F(xiàn)A=B=0,F(xiàn)A<B=1。我們這里用到的比較器是把ADC0809轉(zhuǎn)換的結(jié)果和給定的閾值進(jìn)行比較,輸出產(chǎn)生脈沖信號,結(jié)果是把正弦波和三角波轉(zhuǎn)換成方波。將其VHDL的程序代碼如下: PROCESS(D)BEGINIF D>"01000000"THEN CLKIN<='1'ELSE CLKIN<='0'END IF;END PROCESS;通過編程實
24、現(xiàn)的整形模塊原理框圖見圖5-1:圖5-1整形放大電路結(jié)構(gòu)圖5.2仿真驗證在Quartus中完成對整形放大電路完成功能仿真后,編輯波形仿真文件,運(yùn)行的得到的仿真圖如下:圖5-2 整形電路波形仿真圖因為D7.0為8位的輸入數(shù)據(jù),最大值為255,而且在模數(shù)轉(zhuǎn)換模塊的仿真中我設(shè)置輸入信號D7.0為一個從0到255逐次增加的三角波信號。因此在本模仿真中我選取閥值等于三角波信號最大值的一半為128。從波形中可以看出當(dāng)大于閥值128時,輸出為高電平,低于閥值時輸出為低電平,從而實現(xiàn)了把正弦波,三角波轉(zhuǎn)換為方波。然后將整形得到的方波或脈沖信號CLKIN,送到輸入到頻率測量模塊和占空比測量模塊中。六 占空比測量
25、模塊6.1 占空比測量原理占空比是指高電平在一個周期之內(nèi)所占的時間比率。例如方波的占空比為50%,說明高電平所占時間為0.5個周期。在進(jìn)行占空比測量時,首先測得被測信號一個周期中高電平的脈沖寬度t,然后測得被測信號一個周期的脈沖寬度T。然后經(jīng)過計算即可得被測信號的占空比為:。其原理圖如圖6-1圖6-1 占空比原理圖具體測量時一般采用高電平時間段內(nèi)經(jīng)過的基準(zhǔn)信號數(shù)來測其脈沖寬度。 首先經(jīng)信號處理電路進(jìn)行處理,限制只有信號的50%幅度及其以上才能輸入數(shù)字測量部分。脈沖邊沿被處理的非常陡峭,然后送入測量計數(shù)器進(jìn)行測量。測量電路在檢測到脈沖信號的上升沿時打開計數(shù)器,設(shè)脈沖寬度為,計算公式為:。測一次脈
26、沖信號的脈寬,記錄其值為,然后將信號反向,再測一次脈寬并紀(jì)錄其值為。通過下式計算占空比:占空比=為計算占空比需要系統(tǒng)提供一個高頻率的基準(zhǔn)信號CLK3M。本模塊中將基準(zhǔn)信號設(shè)為3MHZ。由以上分析可知占空比值t與T的比值,故占空比的范圍0-100%。由于全用整數(shù)表示,占空比的數(shù)值只用兩個4位的信號OUT0、OUT1即可表示,同時外部用兩個數(shù)碼管即可顯示。綜上占空比模塊原理框圖見圖6-2圖6-2 占空比測量模塊原理框圖6.2仿真驗證在Quartus中對轉(zhuǎn)換控制模塊完成功能仿真后,編輯波形仿真文件,運(yùn)行的得到的仿真圖如下:圖6-3 占空比測量波形仿真圖對于占空比測量,在可以允許的范圍內(nèi)應(yīng)竟可能的給一
27、個高頻的基準(zhǔn)信號,因為頻率越高輸出的占空比結(jié)果會越接近真實值。因此在仿真中也應(yīng)該給一個較高頻率的時鐘信號。但由于CLKIN和CLK3M的數(shù)值大小選擇不合適,總是得不到正確的波形仿真結(jié)果。七 頻率測量及報警模塊7.1 頻率測量原理數(shù)字頻率計的基本工作原理是用一個頻率穩(wěn)定度高的頻率源作為基準(zhǔn)時鐘,對比測量其他信號的頻率。通常情況下有以下兩種思路:1.利用一個較大的周期信號作為參考信號,計量在一個周期內(nèi)出現(xiàn)的被測信號的數(shù)目,最終我們可以通過計數(shù)器求出信號的頻率。2.利用一個頻率較高來測量,具體來說就是計量被測信號在一個周期內(nèi)的能夠經(jīng)歷多少個參考頻率。因此,同樣也可以測量出具體信號的值。具體實現(xiàn)方法如
28、下:方法一:直接測頻法測頻法就是在確定的閘門時間Tw內(nèi),記錄被測信號的變化周期數(shù)(或脈沖個數(shù))Nx,則被測信號的頻率為:fx=Nx/Tw。圖7-1 直接測頻法原理圖測量的過程如圖所示,在TW時間內(nèi)通過計數(shù)器記錄被測信號脈沖的個數(shù),然后把記錄結(jié)果鎖存,經(jīng)過運(yùn)算后,送數(shù)碼管顯示,即為所測頻率。方法二:測周期法測周期法需要有標(biāo)準(zhǔn)信號的頻率fs,這個標(biāo)準(zhǔn)信號應(yīng)該取一個頻率適中的高頻信號,在待測信號的一個周期Tx內(nèi),記錄標(biāo)準(zhǔn)頻率的周期數(shù)Ns,則被測信號的頻率為:fx=fs/Ns。圖7-2 測周期法原理圖測量測周期法的過程如上圖所示,在待測信號的一個周期Tx內(nèi),記錄標(biāo)準(zhǔn)信號周期的個數(shù),然后把記錄結(jié)果鎖存,
29、經(jīng)過運(yùn)算后,送數(shù)碼管顯示,即為所測頻率。這兩種測頻率的原理基本一樣,都是通過在給定的時間內(nèi)記錄脈沖的個數(shù),經(jīng)過一定的運(yùn)算處理,得出結(jié)果顯示出來。但是,我們可以看到以上的兩種方法本身有一些缺陷。對于第一種方法,如果被測信號的頻率和參考信號的頻率接近的話,那么測量出的結(jié)果就一定會有比較大的誤差。對于第二種方法,如果被測信號的頻率和比較的的話,會造成計數(shù)值的比較大的誤差,因此第二種方法不適合測量低頻率的信號。因此,為了保證測量的精度,就必須采用分段進(jìn)行測量,也就是在低頻的時候采用第二種方法,在高頻時采用第一種方法。因為測周期法的標(biāo)準(zhǔn)信號是一個高頻信號,在不同的被測信號的脈沖下所造成的誤差有很大的不同
30、。而且在1S閘門信號下,記錄的脈沖個數(shù),對于所有被測信號的產(chǎn)生的誤差基本是一樣??紤]到用VHDL語言編寫乘除的算法比較困難,并且經(jīng)過乘除運(yùn)算后所得結(jié)果的誤差較大,因此我選用方法一。 7.2 測頻模塊設(shè)計測量頻率模塊中將比較器得到的脈沖信號CLKIN作為輸入信號。被測信號經(jīng)整形后變?yōu)槊}沖信號(矩形波或者方波),送入閘門電路,等待閘門信號Clk3M的到來。閘門信號由外部時鐘輸入,經(jīng)整形分頻后,產(chǎn)生一個標(biāo)準(zhǔn)的時基信號,作為閘門開通的基準(zhǔn)時間。被測信號通過閘門,作為計數(shù)器的時鐘信號,計數(shù)器即開始記錄時鐘的個數(shù),這樣就達(dá)到了測量頻率的目的。選定了直測頻法后,我將閘門信號直接選擇為1S的時鐘信號。因為在這
31、1S時間內(nèi)記錄的被測信號脈沖的個數(shù),正好就是被測信號的頻率,不再需要進(jìn)行運(yùn)算處理。不但減少編程的難度,也減小了實驗的誤差。而且在1S閘門信號下,記錄的脈沖個數(shù),對于所有被測信號的產(chǎn)生的誤差基本是一樣。被測信號的頻率范圍為120kHz,被測信號最大頻率為五位數(shù)。題目要求使用4位數(shù)碼管顯示數(shù)據(jù),因此需要將測量量程劃分兩段,并以1000HZ為量程劃分分界點(diǎn),分別以HZ和KHZ為單位顯示。在硬件電路中HZ和KHZ兩個信號分別與一個LED燈連接。將其VHDL的程序代碼如下:IF(Q3>"0000" OR Q4>"0000")THEN QW<=Q4
32、;BW<=Q3;SW<=Q2;GW<=Q1;HZ<='0'KHZ<='1'ELSE QW<=Q3;BW<=Q2;GW<=Q1;SW<=Q0;HZ<='1'KHZ<='0'END IF;其中Q3,Q4分別是被測頻率的萬位和十萬位。當(dāng)被測頻率小于1000HZ時以HZ單位顯示,與HZ相連的LED燈亮;當(dāng)被測頻率大于1000HZ時以KHZ單位顯示,與KHZ相連的LED燈亮。GW30,SW30,BW30,QW30分別為頻率計數(shù)位的個位,十位,百位,千位。顯示單位轉(zhuǎn)換電路和小數(shù)
33、點(diǎn)顯示電路設(shè)計在測量頻率的時候,由于分兩個顯示單位,那么在不同的單位的時候,小數(shù)點(diǎn)也要跟著顯示。比如測量頻率的單位需要顯示Hz的時候,那么在顯示的時候四個數(shù)碼管的小數(shù)點(diǎn)不需要顯示,此時綠燈亮,表示單位是Hz.。測量頻率的單位需要顯示KHz的時候,那么顯示的時候,四個數(shù)碼管第二個位的數(shù)碼管的小數(shù)點(diǎn)要顯示,也就是當(dāng)顯示的數(shù)值以KHz顯示時,后面有兩位小數(shù)以保證測量值度,并且此時紅燈亮,表示單位是KHz.為實現(xiàn)超量程報警功能,特設(shè)置一位輸出信號BEEF,并外接蜂鳴器。當(dāng)被測信號的頻率大于20kHz,BEEF信號被置為高電平,蜂鳴器會發(fā)出連續(xù)的報警聲,以此提醒被測信號頻率超出量程。其VHDL的程序代碼
34、如下:IF (S5="1111")THEN BEEF<='1'ELSE BEEF<='0'END IF; 綜合上述設(shè)計思路, Clk3M為閘門信號,CLKIN是經(jīng)過比較器后的輸入信號,在1S的閘門信號下對CLKIN信號進(jìn)行計數(shù)。計數(shù)器要求低位的計數(shù)值溢出信號做為高位的輸入信號,從而顯示頻率的計量。由此得頻率測量模塊的原理框圖如圖7-3。圖7-3 頻率測量模塊原理框圖7.3仿真驗證在Quartus中對頻率測量模塊完成功能仿真后,編輯波形仿真文件,運(yùn)行的得到的仿真圖如下:圖7-4 頻率測量模塊波形仿真圖如上圖所示,在波形仿真中設(shè)置Cl
35、k3M=3MHZ,CLKIN=3000HZ。通過對波形的分析可以發(fā)現(xiàn),得到的結(jié)果正為被測信號的頻率為3000HZ,即GW30=0,SW30=0,BW30=0,QW30=1。此時HZ信號為低電平,KHZ信號為高電平。八 顯示模塊8.1 鎖存與顯示電路鎖存電路主要用于實現(xiàn)記憶顯示。在測量過程中不刷新新的數(shù)據(jù),直到測量過程結(jié)束后,鎖存顯示測量結(jié)果,并且保存到下一次測量結(jié)束。其功能是對四位BCD碼進(jìn)行鎖存并且轉(zhuǎn)換成為對應(yīng)的4組七段數(shù)碼管,用于驅(qū)動數(shù)碼管。該模塊可使系統(tǒng)顯示電路的工作穩(wěn)定而可靠,避免計數(shù)電路模塊清零時引起顯示閃爍的現(xiàn)象。鎖存電路模塊是由多個鎖存器組成。每個鎖存器都是用來鎖存與其單獨(dú)相連的
36、計數(shù)器的輸出數(shù)據(jù)。由于每個鎖存器鎖存的都是4 位2 進(jìn)代碼表示的十進(jìn)制數(shù),其功能完全相同,因此只需要設(shè)計制作一個鎖存器就可連接組合成一個鎖存電路模塊。為實現(xiàn)系統(tǒng)功能,鎖存器需設(shè)置四個數(shù)據(jù)輸入端:即Q1、Q2、Q3 和Q4 ,并由它們輸入計數(shù)器的計數(shù)值。需設(shè)置一個使鎖存器工作的使能端EN。還需設(shè)置四個鎖存數(shù)據(jù)的輸出端:即GW,SW,BW,QW。電路圖見頻率測量模塊。8.2顯示控制電路為了提高人機(jī)交互的方便性及設(shè)備的利用率,設(shè)置一個顯示控制電路,以控制頻率值和占空比值的顯示。實驗室的GW48_SOPC實驗箱上有8個顯示數(shù)碼管,而且模數(shù)轉(zhuǎn)換模塊中的AD0809已經(jīng)占用了三個數(shù)碼管的端口。如果四位頻率
37、值和兩位的占空比值的同時用數(shù)碼管顯示則端口資源明顯不夠用。因此設(shè)計一個外部控制信號SEL,控制頻率值和占空比值的交換顯示。其VHDL的程序代碼如下:IF SEL='0' THEN B0<=A0;B1<=A1;B2<=A2;B3<=A3;ELSE B0<="0000"B1<="0000"B2<=A5;B3<=A4;END IF; 綜上可得顯示控制模塊的原理框圖見圖8-1:圖8-1 顯示模塊原理框圖8.2 仿真驗證在Quartus中對顯示模塊完成功能仿真后,編輯波形仿真文件,運(yùn)行的得到的仿真圖如
38、下:圖8-2 顯示模塊波形仿真圖如上圖所示,在波形仿真中設(shè)置A0=1,A1=2,A2=3,A3=4,A4=0,A5=5。當(dāng)信號SEL為低電平時B0=1,B1=2,B2=3,B3=4;當(dāng)信號SEL為高電平電平時B0=0,B1=0,B2=0,B3=5。仿真結(jié)果與試驗預(yù)期的結(jié)果完全一致。九 結(jié)果與總結(jié)9.1 系統(tǒng)仿真在Quartus中編寫用例化語句編寫頂層文件,對整個系統(tǒng)進(jìn)行功能仿真,運(yùn)行通過。得到了整個系統(tǒng)的原理框圖,詳見附錄A。然后編輯波形仿真文件,運(yùn)行的得到的仿真圖如下:圖9-1 系統(tǒng)波形仿真圖正常情況下,可以觀測到與輸入頻率一致、如觀測不到輸出波形,或觀測到的波形形狀與幅值不對,則應(yīng)檢測這一
39、部分電路,消除故障。如該部分電路正常,或消除故障后頻率計仍不能正常工作時,也需要進(jìn)一步檢查程序。以上程序經(jīng)綜合仿真后,結(jié)果基本符合設(shè)計要求。如頻率關(guān)系不一致或波形不正常,則應(yīng)對計數(shù)器和反饋門的各引腳電平與波形進(jìn)行檢測。正常情況各電平值或波形應(yīng)與電路中給出的狀態(tài)一致。通過檢測與分析找出原因,消除故障。9.2 硬件驗證硬件驗證采用的是GW48實驗教學(xué)系統(tǒng),采用電路模式5。使用實驗板上的AD0809完成模擬信號的轉(zhuǎn)換,數(shù)碼管和LED完成數(shù)據(jù)輸出。為使0809工作勢能,將實驗板左下角的撥碼開關(guān)的4、6、7向下?lián)?,其余向上。主要信號的管腳連接如下:輸入信號CLK連接PIN_28,CLK3M連接 PIN_
40、29, SEL連接PIN_233,D70連接 PIN_14PIN_20;輸出信號ALE連接 PIN_138,BEEF連接 PIN_174,START連接 PIN_139,OE連接PIN_140,EOC連接 PIN_1,HZ連接 PIN_3,KHZ連接 PIN_4,SMG170, SMG270, SMG370 SMG470分別連接四個數(shù)碼管。詳細(xì)的管腳連接圖見附錄B。完成管腳定義后選擇器件,編譯后生成*.sof、*.pof等文件。選擇sof文件進(jìn)行下載。通過對每一模塊的仿真和下載,可以實現(xiàn)各個模塊的邏輯功能,驗證了各個模塊的正確性。 編程下載完成后,撥動按鍵,可看見數(shù)碼管上的顯示頻率和占空比的數(shù)
41、值。硬件驗證圖見圖9-2圖9-2 硬件驗證圖9.3 設(shè)計總結(jié)起初設(shè)計的電路經(jīng)常有漏洞,對電路進(jìn)行仿真時也仿真不出來,后來經(jīng)過仔細(xì)研究和探討不斷的對電路進(jìn)行改進(jìn),最終得到滿意的結(jié)果,電路完成的相對比較順利。正常情況各電平值應(yīng)與電路中給出的狀態(tài)一致。但是由于顯示的是高頻的信號,在輸入時往往會有一些不正確,有一些功能沒有顯示出來,占空比不穩(wěn)定等,我在程序中找到了一些錯誤。通過檢測與分析找出原因,消除故障,減小了誤差。在測量占空比時,如果計數(shù)器輸出直接與譯碼器相連接,那么在計數(shù)過程中輸出端則隨輸入脈沖數(shù)的增加而不斷跳變,那么顯示數(shù)碼管則也會不斷閃爍跳變,讓人不能看到穩(wěn)定的輸出。所以在電路中加入鎖存器對
42、計數(shù)器輸出信號進(jìn)行鎖存,則不再跳變,便可從數(shù)碼管讀出清晰的計數(shù)結(jié)果。在測量頻率時,為了克服測量低頻信號時的不足,可以使用另一種算法。將被測信號送入被測信號閘門產(chǎn)生電路,該電路輸出一個脈沖信號,脈寬與被測信號的周期相等。再用閘門產(chǎn)生電路輸出的閘門信號控制閘門電路的導(dǎo)通與開斷。設(shè)置一個頻率精度較高的周期信號(如10KHz)作為時基信號,當(dāng)閘門導(dǎo)通時,時基信號通過閘門到達(dá)計數(shù)電路計數(shù)。在硬件驗證過程中要使用到模擬信號發(fā)生器,由于以前未使用過,所以在硬件驗證過程中總是出現(xiàn)問題,如波形不會設(shè)置、找不到占空比的設(shè)置位置等,經(jīng)過反復(fù)摸索試驗,最后得到了比較滿意的結(jié)果。十 心得體會經(jīng)過大學(xué)三年多的學(xué)習(xí),對數(shù)電
43、,模電,EDA,VHDL等各課程都有了初步的認(rèn)識和學(xué)習(xí),也做許多相應(yīng)的實驗和課程設(shè)計,但卻一直沒有建立起來對本專業(yè)的系統(tǒng)的認(rèn)識,所學(xué)的知識也不能系統(tǒng)的綜合起來。這學(xué)期通過對現(xiàn)代電子系統(tǒng)設(shè)計課程的學(xué)習(xí),終于將我們專業(yè)的知識系統(tǒng)的串起來了,也明白了如何高效地去設(shè)計一個電子系統(tǒng)。所以起初拿到本課的課程設(shè)計的時候確實有點(diǎn)兒興奮,心想著盡量要獨(dú)立快速而又高質(zhì)量的完成這個設(shè)計。可是,當(dāng)天就發(fā)現(xiàn)我對這個用VHDL語言寫的頻率計系統(tǒng)一點(diǎn)頭緒都沒有,隨后就是一個勁的去圖書館查閱相關(guān)資料,到網(wǎng)上收集關(guān)于頻率計的資料,可是查到的東西好像并沒有幫到我什么忙,使我更感到無從下手。直到第一次進(jìn)實驗室做實驗時,終于找到了一
44、個比較類似的VHDL程序設(shè)計的簡易數(shù)字頻率計。通過仔細(xì)閱讀這個程序,我對這次的設(shè)計有了些感覺。剛開始看到那設(shè)計的時候,一下子就被很多行的VHDL代碼給嚇著了,當(dāng)時真想放棄,最后還是硬著頭皮看了下去。開始真是很多看不懂,但查過書后大部分都能搞清楚。對我來說是新東西的還有寄存器的設(shè)計等,最后通過查找書本大概的把這個系統(tǒng)看懂了。畢竟是第一次寫這么大的關(guān)于硬件描述的程序,所以雖然看稍微懂了類似的程序,可是到自己做的時候還是覺得不能上手,一直是要翻書看和借鑒里的內(nèi)容。眼看就第一個設(shè)計周快要結(jié)束了,我才完成一半。還是自己是平時上課的知識積累不夠,掌握得不熟練,到編寫程序時,表達(dá)起來就很吃力。很快到了對整個
45、系統(tǒng)作調(diào)試的時候了,編譯、下載、連線、運(yùn)行,一步一步的很小心。最后,還是模仿著那系統(tǒng)完成了這次課程設(shè)計。設(shè)計是我們將來必需的技能,這次設(shè)計恰恰給我們提供了一個應(yīng)用自己所學(xué)知識的機(jī)會,從到圖書館查找資料到對電路的設(shè)計對電路的調(diào)試再到最后電路的成型,都對我所學(xué)的知識進(jìn)行了檢驗。在實習(xí)的過程中發(fā)現(xiàn)了以前學(xué)的數(shù)字電路的知識掌握的不牢。同時在設(shè)計的過程中,遇到了一些以前沒有見到過或沒弄明白的元件,但是通過查找資料來學(xué)習(xí)這些元件的功能和使用。我在此次實習(xí)中,將理論結(jié)合實際,提高和培養(yǎng)創(chuàng)新能力,為后續(xù)課程的學(xué)習(xí),畢業(yè)設(shè)計,畢業(yè)后的工作打下基礎(chǔ)。通過這次課程設(shè)計我又重新學(xué)到了很多電路電子知識,以及相關(guān)軟件的知
46、識,如 Office,Quartus,Visio等。從中學(xué)到了知識也得到了實際的鍛煉,最重要的是我對電子產(chǎn)品的開發(fā)產(chǎn)生了濃厚的興趣。也讓我立志以后要在電子行業(yè)有些作為。另外,還要感謝齊老師和張老師的悉心指導(dǎo),通過他們的進(jìn)一步講解才會更深入的懂得此次任務(wù)的思路和很多需要修改的地方。參考文獻(xiàn)1 何小艇.電子系統(tǒng)設(shè)計M.浙江:浙江大學(xué)出版社,20082 潘松、黃繼業(yè).EDA技術(shù)實用教程M.北京:科學(xué)出版社,20053 閻石.數(shù)字電子技術(shù)基礎(chǔ)M.北京:清華大學(xué)出版社,20064 侯伯亨.VHDL硬件描述語言與數(shù)字邏輯電路設(shè)計M.西安:西安電子科技大學(xué)出版社,20095 齊晶晶.現(xiàn)代電子系統(tǒng)設(shè)計試驗指導(dǎo)
47、書.電工電子實驗教學(xué)中心,20096 王鳳英.基于FPGA的數(shù)字頻率計設(shè)計與仿真J.科技資訊,20087 Altera Corporation. Cyclone Device HandbookJ.2003-4附錄A 系統(tǒng)原理框圖附錄B 管腳連接圖附錄C VHDL源程序模數(shù)轉(zhuǎn)換模塊VHDL源程序:LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;ENTITY cint IS PORT(D : IN STD_LOGIC_VECTOR(7 DOWNTO 0); -來自0809轉(zhuǎn)換好的8位數(shù)據(jù) CLK : IN STD_LOGIC; -狀態(tài)機(jī)工作時鐘 EOC: IN
48、STD_LOGIC; -轉(zhuǎn)換狀態(tài)指示,低電平表示正在轉(zhuǎn)換 ALE: OUT STD_LOGIC; -8個模擬信號通道地址鎖存信號 START: OUT STD_LOGIC; -轉(zhuǎn)換開始信號 OE: OUT STD_LOGIC; -數(shù)據(jù)輸出3態(tài)控制信號 ADDA : OUT STD_LOGIC; -信號通道最低位控制信號LOCK0: OUT STD_LOGIC; -觀察數(shù)據(jù)鎖存時鐘 Q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); -8位數(shù)據(jù)輸出END cint;ARCHITECTURE behav OF cint ISTYPE states IS (st0, st1,
49、 st2, st3,st4) ; -定義各狀態(tài)子類型 SIGNAL current_state, next_state: states :=st0 ; SIGNAL REGL : STD_LOGIC_VECTOR(7 DOWNTO 0); SIGNAL LOCK : STD_LOGIC; - 轉(zhuǎn)換后數(shù)據(jù)輸出鎖存時鐘信號BEGINADDA <= '1' -當(dāng)ADDA<='0',模擬信號進(jìn)入通道IN0;當(dāng)ADDA<='1',則進(jìn)入通道IN1Q <= REGL; LOCK0 <= LOCK ;COM: PROCESS(cu
50、rrent_state,EOC) -規(guī)定各狀態(tài)轉(zhuǎn)換方式 BEGIN CASE current_state IS WHEN st0=>ALE<='0'START<='0'LOCK<='0'OE<='0' next_state <= st1; -0809初始化 WHEN st1=>ALE<='1'START<='1'LOCK<='0'OE<='0' next_state <= st2; -啟動采樣 W
51、HEN st2=>ALE<='0'START<='0'LOCK<='0'OE<='0' IF (EOC='1') THEN next_state <= st3; -EOC=1表明轉(zhuǎn)換結(jié)束 ELSE next_state <= st2; END IF ; -轉(zhuǎn)換未結(jié)束,繼續(xù)等待 WHEN st3=> ALE<='0'START<='0'LOCK<='0'OE<='1' next_st
52、ate <= st4;-開啟OE,輸出轉(zhuǎn)換好的數(shù)據(jù) WHEN st4=> ALE<='0'START<='0'LOCK<='1'OE<='1' next_state <= st0; WHEN OTHERS => next_state <= st0; END CASE ; END PROCESS COM ;REG: PROCESS (CLK) BEGIN IF (CLK'EVENT AND CLK='1') THEN current_state<=n
53、ext_state; END IF; END PROCESS REG ; - 由信號current_state將當(dāng)前狀態(tài)值帶出此進(jìn)程:REGLATCH1: PROCESS (LOCK) - 此進(jìn)程中,在LOCK的上升沿,將轉(zhuǎn)換好的數(shù)據(jù)鎖入 BEGIN IF LOCK='1' AND LOCK'EVENT THEN REGL <= D ; END IF; END PROCESS LATCH1 ; END behav;信號整形模塊VHDL源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UN
54、SIGNED.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;ENTITY cmp ISPORT(D:IN STD_LOGIC_VECTOR(7 DOWNTO 0);CLKIN:OUT STD_LOGIC);END ENTITY cmp ;ARCHITECTURE ONE OF cmp ISBEGINPROCESS(D)BEGINIF D>"10000000"THEN -比較閾值選為128CLKIN<='1'ELSE CLKIN<='0'END IF;END PROCESS; END ONE;頻率測量及報警
55、模塊VHDL源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY cnt ISPORT(CLK3M:IN STD_LOGIC; CLKIN:IN STD_LOGIC; GW,SW,BW,QW:OUT STD_LOGIC_VECTOR(3 DOWNTO 0); -其中GW,SW,BW,QW為記數(shù)碼管的khz,hz的四位 BEEF:OUT STD_LOGIC:='0' HZ:OUT STD_LOGIC:='
56、;0' KHZ:OUT STD_LOGIC:='0');END ENTITY cnt ;ARCHITECTURE ONE OF cnt ISSIGNAL CLKOUT:STD_LOGIC;SIGNAL S0,S1,S2,S3,S4,S5:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL Q0,Q1,Q2,Q3,Q4,Q5:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL GATE:STD_LOGIC;SIGNAL CNT0:INTEGER RANGE 0 TO 3000000;SIGNAL CNT1:INTEGER RANGE 0 TO 3000000:=0;SIGNAL CNT2:INTEGER RANGE 0 TO 3000000:=0;SIGNAL CNQ1:INTEGER RANGE 0 TO 3000000:=0;SIGNAL CNQ2:INTEGER RANGE 0 TO 3000000:=0;BEGIN PROCESS(CLKIN)BEGINIF(RISING_EDGE(CLKIN)THEN -將輸入的被測信號分頻與閘門信號匹配 CLKOUT<=NOT CLKOUT;END IF;END PROCESS;PROCESS(CLK
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- TY/T 1111-2024路跑賽事活動指南
- 甘肅小學(xué)數(shù)學(xué)課題申報書
- 聾啞人群探究課題申報書
- 課題立項申報書范文思政
- 廳級課題申報書范例
- 賣樓房定金合同范例
- 環(huán)保類課題申報書
- 省級文旅課題申報書
- 取水證合同范本
- 化肥訂單合同范本
- 前輪轂止口不合格8D報告
- 蝴蝶蘭溫室工廠化栽培管理技術(shù)
- 三年級學(xué)生學(xué)情分析
- 高中化學(xué)競賽-中級無機(jī)化學(xué)--金屬原子簇word版本
- 銀行對賬單(共9頁)
- 企業(yè)職工流動登記表格模板(最新)
- 水泥穩(wěn)定碎石配合比設(shè)計報告7頁
- KET核心詞匯中文加音標(biāo)_完整版
- 嫩江縣柞蠶養(yǎng)殖綜合配套技術(shù)
- 從聚焦課堂到關(guān)注教育教學(xué)全過程PPT課件
- 江蘇雨水泵站工程深基坑土方開挖施工專項方案
評論
0/150
提交評論