【正文】
039。039。PLAY6=S4。 PLAY2=0。decimal6=39。decimal4=39。decimal2=39。PLAY5=S2。 elsif (S8=0 AND S7=0 and s6=0 and s5=0 and s4=0)then PLAY1=0。039。039。039。PLAY4=0。 LED=100。decimal5=39。decimal3=39。 decimal1=39。PLAY3=0。 END IF。 END IF。 END IF。 if (S6=9) THEN S7=S7+1。 if (S4=9) THEN S5=S5+1。 if (S2=9) THEN S3=S3+1。139。 elsif (clk39。S5=0。) then S1=0。 END。 entity plj is port (enable,clk,reset:in std_logic。 END BEHAVIOR。 END IF。)THEN RST_CNT=39。 PROCESS(CLK ,div2clk) BEGIN IF (CLK=39。139。 END 。 USE 。 end if。 t2:=0。 begin if clk_1K39。 clk1=clk_1K。 THEN if t1=24999 then clk_1K=not clk_1K。 BEGIN process(clk0) variable t1:integer range 0 to 24999。 clk1,clk2:out STD_LOGIC)。 在論文 完 成之際,我的心情無法平靜,從開始進入課題到論文的順利完成,有 很多 可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請接受我誠摯的謝意 ! 基于 CPLD\FPGA 的數(shù)字頻率計系統(tǒng)的設(shè)計 第 33 頁 共 40 頁 參考文獻 【 1】 尹常永 . EDA 技術(shù)與數(shù)字系統(tǒng)設(shè)計 [M]. 西安 : 電子科技大學(xué)出版社 , 2020 【 2】 余孟嘗 . 數(shù)字電子技術(shù)基礎(chǔ)簡明教程 (第三版 )[M]. 北京:高等教育出版社, 2020 【 3】 張友漢 . 數(shù)字電子技術(shù)基礎(chǔ) [M]. 北京:高等教育出版社, 2020 【 4】 顧斌 . 數(shù)字電路 EDA 設(shè)計 [M]. 西安:西安電子科技大學(xué) 出版社, 2020 【 5】 徐志軍 . CPLD/FPGA 的開發(fā)與應(yīng)用 [M]. 北京:北京電子工業(yè)出版社, 2020 【 6】 李國麗 . EDA 與數(shù)字系統(tǒng)設(shè)計 [M]. 北京:北京機械工業(yè)出版社, 2020 【 7】 龔蘭芳 . EDA 技術(shù)實驗指導(dǎo)書 [M] 廣東:廣東水利電力職業(yè)技術(shù)學(xué)院, 2020 【 8】 羅朝霞 . CPLD/FPGA 設(shè)計及應(yīng)用 [M]. 北京: 人民郵電出版社, 2020 基于 CPLD\FPGA 的數(shù)字頻率計系統(tǒng)的設(shè)計 第 34 頁 共 40 頁 附錄一 數(shù)字頻率計原理圖 基于 CPLD\FPGA 的數(shù)字頻率計系統(tǒng)的設(shè)計 第 35 頁 共 40 頁 附錄二 數(shù)字頻率計 PCB圖 PCB 頂層圖 PCB 底層圖 基于 CPLD\FPGA 的數(shù)字頻率計系統(tǒng)的設(shè)計 第 36 頁 共 40 頁 附錄三 數(shù)字頻率計程序清單 ************************************* 分頻模塊程序 : ************************************* LIBRARY IEEE。 龔 老師 嚴肅的科學(xué)態(tài)度,嚴謹?shù)闹螌W(xué)精神,深深地感染和激勵著我。 在系統(tǒng)總體設(shè)計方面,充分 地 利用 了 FPGA/CPLD 的優(yōu)勢,滿足 了 頻測對速度方面的要求 。 基于 CPLD\FPGA 的數(shù)字頻率計系統(tǒng)的設(shè)計 第 32 頁 共 40 頁 結(jié)束語 基于 CPLD\FPGA 的數(shù)字頻率計系統(tǒng)的設(shè)計 已接近尾聲, 而 在整個設(shè)計過程中所出現(xiàn)的一系列問題,使我受益頗豐。在實際測頻過程中,被測頻率每次的測試結(jié)果都穩(wěn)定不變,標準頻率計數(shù)值只有在個位出現(xiàn)誤差,這和理論計算的結(jié)果是相吻合的,證明該頻率計已達到頂計設(shè)計要求。 進行完硬件的測試后,接下來進行 軟件 的調(diào)試。 基于 CPLD\FPGA 的數(shù)字頻率計系統(tǒng)的設(shè)計 第 31 頁 共 40 頁 第五章 系統(tǒng)調(diào)試及誤差分析 系統(tǒng)調(diào)試 為了更好的完成本次課程設(shè)計的任務(wù),檢測系統(tǒng)的穩(wěn)定度與準確度,因此對這次設(shè)計的成品進行了調(diào)試。 圖 49 為顯示模塊圖 。 圖 48 為 鎖存器的模塊圖 。 模塊對計數(shù)結(jié)果的顯示進行了處理,把計數(shù)結(jié)果分為三個頻率段: 0~999Hz,1KHz~, 1MHz~。 控制模塊作為數(shù)字頻率計系統(tǒng)的控制部分,實現(xiàn)了一般計數(shù)所需的復(fù)位,開始測頻等的功能,通過仿真,驗證,所有功能準確無誤。 圖 46 測頻控制信號發(fā)生器工作時序 每次測量時,控制模塊首先對基準信號進行二分頻,產(chǎn)生一個計數(shù)使能信號EN 啟動計數(shù)器,對輸入脈沖信號進行計數(shù),計數(shù)使能信號結(jié)束即將計 數(shù)結(jié)果送到鎖存器,再產(chǎn)生一個鎖存信號 LOAD 啟動鎖存器,將計算出來的結(jié)果經(jīng)過鎖存器送到顯示模塊,然后計數(shù)器清零,準備下一次計數(shù)。 其中控制信號時鐘 CLK 的頻率取 1 Hz,而信號 TSTEN 的脈寬恰好為 1 s,可以用作閘門信號。在停止計數(shù)期間,首先需要一個鎖存信號 LOAD 的上跳沿將計數(shù)器在前 1 秒鐘的計數(shù)值鎖存進 4 位鎖存器 REG4B 中,并由外部的 7 段譯碼器譯出并穩(wěn)定顯示。對輸入時鐘信號首先進行 50000 分頻 ,得出 1KHz 的動態(tài)掃描頻率 ,再將 1KHz 再進行一次 500 分頻 ,得出時基信號 1Hz,即 50MHZ 的頻率每計到 25000 個上升沿,輸出信號翻轉(zhuǎn)一次 ,得出 1KHZ 的頻率 ,然后 1KHz 的頻率每計到 500 個上升沿 ,輸出信號翻轉(zhuǎn)一次 ,得出 1Hz 的頻率。整數(shù)分頻器的實現(xiàn)非常簡單,可采用標準的計數(shù)基于 CPLD\FPGA 的數(shù)字頻率計系統(tǒng)的設(shè)計 第 25 頁 共 40 頁 器,也可以采用可編程邏輯器件設(shè)計實現(xiàn)。 時鐘 頻率發(fā)生電路采用高頻率穩(wěn)定度和高精度的 有源 晶 振 作為標準頻率發(fā)生器。如果仿真結(jié)果達不到設(shè)計要求,就需要修改 VHDL 源代碼或選擇不同的目標器件甚至要重構(gòu)整個系統(tǒng)。這一步通 常由綜合器自動完成,但設(shè)計者可以設(shè)定一些技術(shù)上的約束條件來“幫助 ”綜合器。事實上,在 VHDL 設(shè)計過程中,常常根據(jù)需要往后退一步,甚至更多,這也是流程圖中出現(xiàn)很多往回走的箭頭的原因。這些編輯器一般都具有 VHDL 關(guān)鍵詞的高亮顯 示等特點,有的還內(nèi)嵌了常用的 VHDL程序模板等。 選擇菜單命令 Assignments→ Device...,彈出所示的 Setting 對話框中 ,設(shè)定器件 。 打開 Quartus II 軟件 ,在主界面中執(zhí)行File→ New Project Wizard...命令 ,該框最上的一欄是工程的存放路徑 ; 第二欄作為當前工程的名字 ,工程名可以使用任何名字 ,最好使用和頂層設(shè)計相同的名字 ; 第三欄是頂層設(shè) 計名 ,該名字必須與頂層文件名字相同 ,如圖 42 所示。C o n f i g u r a t i o n ) 功耗分析(P o w e r A n a l y s i s )調(diào)試(D e b u g g i n g )工程更改管(E n g i n e e r i n g C h a n g eM a n a g e m e n t )時序逼近(T i m i n g C l o s u r e )仿真(S i m u l a t i o n )時序分析(T i m i n g A n a l y s i s )布局布線(P l a c e amp。 Quartus II 的設(shè)計流程 Altera公司的 Quartus II設(shè)計軟件提供完整的多平臺設(shè)計環(huán)境,能夠直接滿足特定設(shè)計需要,為可編程芯片系統(tǒng)提供全面的設(shè)計環(huán)境。 Altera 的 Quartus II 可編程邏輯軟件屬于第四代 PLD開發(fā)平臺。 Maxplus II 作為 Altera 的上一代 PLD設(shè)計軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。具有運行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點。該方法是從底層設(shè)計開始的,設(shè)計者無論是取現(xiàn)成模塊還是自行設(shè)計電路,其設(shè)計成本和開發(fā)周期都優(yōu)于自頂向下法;但由于設(shè)計是從低級別開始,因此不能保證整體設(shè)計的最佳性。 而從系統(tǒng)總體出發(fā)來描述和設(shè)計的方法有多種,常用的有自頂向下 法和自底向上法。此后,當 /WR1由低電平變高時,控制信號成為低電平,此時,數(shù)據(jù)被鎖存到輸入寄存器中,這樣輸入寄存器的輸出端不再隨外部數(shù)據(jù) DB的變化而變化。這個電路控制只要使能腳 CS 置低,提供上寫 上寫時鐘,按照時鐘寫數(shù)據(jù)就可以輸入相應(yīng)的電流。轉(zhuǎn)換控制有 CPLD 提供的時序控制,轉(zhuǎn)換之后的數(shù)據(jù)通過 ADC0~ADC7 的 I/O 口上。 在 A/D 轉(zhuǎn)換中,因為輸入的模擬信號在時間上是連續(xù)的,而輸出的數(shù)字信號是離散量,所以進行轉(zhuǎn)換時只能按一定的時間間隔對輸入的模擬信號進行采樣,然后再把這些采樣值轉(zhuǎn)換為輸出的數(shù)字量。 由于 CPLD 支持反復(fù)編程、在線編程 , 只要下載不同的設(shè)計程序,就能完成相應(yīng)功能的數(shù)字系統(tǒng)功能,能真正的實現(xiàn)硬件設(shè)計軟件化。 圖 36 計算機與 PCB 的下載連接示意圖 需要注意的是, JTAG 電路的電源需要由下載的 PCB 板來提供。 圖 35 顯示模塊 基于 CPLD\FPGA 的數(shù)字頻率計系統(tǒng)的設(shè)計 第 14 頁 共 40 頁 下載接口電路設(shè)計 MAX II 系列的 CPLD 芯片 支持 JTAG 邊界掃描測試,設(shè)計人員可以通過下載電纜把程序下載到器件運行。 本設(shè)計采用 共陰極 動態(tài)顯示驅(qū)動。在此瞬間 , 段選控制 I/O口輸出相應(yīng)字符段選碼 (字型碼 ), 而位選則控制 I/O 口在該顯示相應(yīng)字符。 所謂靜態(tài)顯 示驅(qū)動法,即是指每一個 LED 燈分別對應(yīng)一個獨立的 I/O 驅(qū)動口 , 其點亮和關(guān)閉由該 I/O 來對其進行控制,互不干擾 ,但 對于 I/O 驅(qū)動能力弱的 CPLD,必須增加外部的驅(qū)動芯片或驅(qū)動三極管等器件 。另外還有 5 個固定電壓輸出( 、 、 、 和 5V)的型號。 電源 輸出 端 采用了低壓差穩(wěn)壓器( AMS1117) 進行降壓輸出。 如圖 33 所示。相對于無源晶體,有源晶振的缺陷是其信號電平是固定的,需要選擇好合適輸出電平,靈活性較差,價格相對較高。無源晶振相對于晶振而基于 CPLD\FPGA 的數(shù)字頻率計系統(tǒng)的設(shè)計 第 11 頁 共 40 頁 言其缺陷是信號質(zhì)量較差,通常需要精確匹配外圍電路(用于信號匹配的電容、電感、電阻等),更換不同頻率的晶體時周邊配置電路需要做相應(yīng)的調(diào)整。 圖 32 EPM240T100 原理 圖 時鐘電路設(shè)計 時鐘電路為 CPLD 提供基準時鐘頻率。 該芯片有 240 個邏輯單元,等效宏單元是 192 個,資源比較豐富,內(nèi)有 8Kbit Flash 的存儲空間。系統(tǒng)用 50MHz 的有源晶振作為 CPLD 的 基準時鐘 頻率 。 圖 23 總體設(shè)計方案 分頻模塊5 0 M H z 基準時鐘控制模塊計數(shù)器模塊鎖存模塊顯示模塊LOADC L K 1 H zC L K 1 K H z基于 CPLD\FPGA 的數(shù)字頻率計系統(tǒng)的設(shè)計 第 9 頁 共 40 頁 第三章 數(shù)字頻率計系統(tǒng)硬件設(shè) 計 系統(tǒng)組成原理框圖如圖 31。如果要設(shè)計一個測頻范圍為 1 Hz~50 MHz 的數(shù)字頻率計,應(yīng)當結(jié)合測頻法和測周法,高頻時采用測頻法,通過計算 T=1/f 得到周期;低頻時采用測周法,通過計算 f=1/T 得到頻率。事實上,測頻和測周的唯一區(qū)別就在于“計數(shù)的”究竟是待測信號還是系統(tǒng)提供的時基(基準)信號。設(shè)時基信號的周期為 T,在被測信號一個周期計數(shù)內(nèi)計得的時基信 號脈沖數(shù)為 N。 圖 21 測頻原理 假設(shè)所測得的脈沖個數(shù)為 N,則所測量頻率的最大誤差為 1/( N1) 100%。 六 、要求學(xué)生能在討論的基礎(chǔ)上獨立完成 基于 CPLD\FPGA 的數(shù)字頻率計系統(tǒng)的設(shè)計 第 6 頁 共 40 頁 第二章 數(shù)字頻率計總體方案及工作原理 數(shù)字頻率計系統(tǒng)的基本原理 測頻原理 測頻的原理即在單位時間內(nèi)被測信號進行計數(shù)。 課題任務(wù)內(nèi)容和要求 本畢業(yè)設(shè)計課題任務(wù)的內(nèi)容和要求: 一、了解數(shù)字頻率計系統(tǒng)。 數(shù)字頻率計是數(shù)字電路中的一個典型應(yīng)用,實際的硬件設(shè)計用到的器件較多,連線比較復(fù)雜,而且會產(chǎn)生比較大的延時,造成