【正文】
是否符合邏輯設計要求。創(chuàng)建電路符號:選取窗口菜單 File→Create Default Symbol ,可以產生 文件,代表現(xiàn)在的設計電路符號。選取 File→Edit Symbol,進入Symbol Edit 進行編輯。1創(chuàng)建電路包含文件:選取窗口菜單 File→Create Default Include File,產生用來代表現(xiàn)在所設計電路的 文件,供其他 VHDL 編譯時使用。1時間分析:選取窗口菜單 Utilities→Analyze Timing,再選取窗口菜單Analysis→Delay Matrix,產生時間分析結果。軟件仿真:進入波形編輯窗口:選取窗口菜單 Max+plusII→Waveform Editor,進入仿真波形編輯器。引入輸入和輸出腳:選取窗口菜單 Node→Enter Nodes from SNF,出現(xiàn)對話框,打擊 list 按鈕,選擇 Available Nodes 中的輸入與輸出,按 “=”鍵將CLKEN 、 CLR、LOAD 移至右邊,單擊 OK 按鈕并進行波形編輯。設定時鐘的周期:選取窗口菜單 Options→Gride Size,出現(xiàn)對話框,設定 Gride Size,單擊 OK 按鈕。設定各輸入信號初始值并保存。仿真:選取窗口菜單 Max+plusII→Simulator,出現(xiàn) Timing Simulation 對話框,單擊 Start 按鈕,出現(xiàn) Simulator 對話框,單擊“確定”按鈕。觀察輸入結果的正確性:單擊 A 按鈕,可以在時序圖中寫字,并驗證仿真結果的正確性。仿真波形如下圖:長春理工大學本科畢業(yè)設計23f=200HZ 仿真如果仿真測試無誤后,進行引腳鎖定。方法同上。 計數(shù)器模塊數(shù)字系統(tǒng)經常需要對脈沖的個數(shù)進行計數(shù),以實現(xiàn)數(shù)字測量、狀態(tài)控制和數(shù)據(jù)運算等,計數(shù)器就是完成這一功能的邏輯器件。計數(shù)器是數(shù)字系統(tǒng)的一種基本部件,是典型的時序電路。計數(shù)器的應用十分廣泛,常用于數(shù)/模轉換、計時、頻率測量等。而本設計的十進制計數(shù)器就是來進行頻率測量的。計數(shù)器以待測信號作為時鐘,清零信號 CLR 到來時,異步清零;EN 為高電平時開始計數(shù)。計數(shù)以十進制顯示。十進制計數(shù)器模塊的的各個引腳的意義是:CLK:待測時鐘信號; RST:清零信號;ENA:計數(shù)使能信號; COUT:進位信號;OUTY:輸出信號;VHDL 設計:步驟同上。但鍵入文件名是 CNT10。十進制計數(shù)器程序見附錄 A。軟件仿真:步驟同上。長春理工大學本科畢業(yè)設計24f=4kHZ 仿真仿真分析無誤后,即對器件引腳鎖定,方法同上。 鎖存器模塊數(shù)字系統(tǒng)中,經常要用到可以存放二進制數(shù)據(jù)的部件,這種部件成為數(shù)據(jù)鎖存器。從硬件上看,鎖存器就是一組可儲存二進制數(shù)的觸發(fā)器,每個觸發(fā)器都可儲存一位二進制數(shù),比如 4 位鎖存器用 4 個 D 觸發(fā)器組合即可實現(xiàn)。本設計的鎖存器就是一個 4 位的鎖存器。當 EN 下降沿到來時即 LOAD 上升沿到來時,將計數(shù)器的值鎖存,這樣可由外部的七段譯碼器譯碼并在數(shù)碼管上顯示。鎖存器的各個引腳的意義是:LOAD:輸入使能信號; DIN:輸入數(shù)據(jù);DOUT:輸出數(shù)據(jù)。VHDL 設計:步驟同上。但鍵入文件名是REG4B。鎖存器器程序見附錄A 。軟件仿真:步驟同上。仿真波形如圖長春理工大學本科畢業(yè)設計25f=20kHZ 報警仿真仿真分析無誤后,即對器件引腳鎖定,方法同上。 顯示模塊4 位 BCD 譯碼器可將 BCD 碼轉換成數(shù)字顯示碼,有 4 個輸入引腳和 7 個輸出引腳,4 位 BCD 譯碼器可分為共陰極與共陽極兩種。本設計譯碼器是共陰極譯碼器。譯碼器各個引腳的意義是:BCD:數(shù)據(jù)輸入; DOUT:數(shù)據(jù)輸出。VHDL 設計:步驟同上。但鍵入文件名是 LED7。顯示器程序見附錄 A。軟件仿真:步驟同上。仿真波形如圖:f=4kHZ 報警仿真長春理工大學本科畢業(yè)設計26第5章 調試一個完整的系統(tǒng),首先要完成硬件組裝工作,然后進入軟件設計、調試和硬件調試階段。硬件組裝就是在設計、制作完畢的印制板上焊好元件與插座,然后就可用仿真開發(fā)工具進行軟件設計、調試和硬件調試工作。 硬件調試 靜態(tài)調試靜態(tài)調試工作分為兩步:第一步是在通電之前,先用萬用表等工具,根據(jù)硬件邏輯設計圖,仔細檢查線路是否連接正確,并核對元器件的型號、規(guī)格和安裝是否符合要求,應特別注意電源系統(tǒng)的檢查,以防止電源的短路和極性錯誤,并重點檢查系統(tǒng)是否存在相互之間短路或與其他信號線的短路。第二步是加電后檢查各芯片插座上有關引腳的電位,仔細測量各點電平是否正常,尤其應注意CPLD 芯片插座的各點電位,若有高壓,與在線仿真器連機調試時,將會損壞在線仿真器。具體步驟如下:(1)電源檢查當電路板連接或焊接完成后,先不插主要元器件,通上電源。常用是220V的交流電源,用萬用表電壓檔測試各元器件插座上相應電源引腳電壓數(shù)值是否正確,極性是否符合。如有錯誤,要及時檢查、排除、以使每個電源引腳的數(shù)值都符合要求。(2)各元器件電源檢查斷開電源按正確的元器件方向插上元器件。最好是分別插入,分別通電,并逐一檢查每一個元器件上的電源是否正確,直至最后插上全部元器件,通上電源后,每個元器件上電源應正確無誤。(3)檢查響應芯片的邏輯關系檢查相應芯片的邏輯關系通常采用靜態(tài)電檢查法。即在一個芯片信號輸入端加入一個相應電平,檢查輸出電平是否正確。電平檢查法可首先檢查出邏輯設計是否正確,選用的元器件是否符合要求,邏輯關系是否匹配,元器件連接關系是否符合要求等。 連機仿真、在線動態(tài)調試在靜態(tài)調試中,對用戶樣機硬件進行了初步調試,只是排除了一些明顯的靜態(tài)故障。用戶樣機中的硬件故障(如各個部件內部存在的故障和部件之間連接的邏輯錯誤)主要是靠連機在線仿真來排除的。在斷電情況下,插上所有的元器件,并把在線仿真器的仿真插頭插入樣機上,將所有的語言程序下載到EPM7128SLC8415中,然后接通電源和地進行調試,結果基本上達到了設計的要求。長春理工大學本科畢業(yè)設計27 軟件調試頻率計頂層文件元件連接圖(見附錄B)所示。其中在直接測頻法的設計中,CLK為輸入被測信號,4Hz為輸入時鐘信號,DOUT為輸出顯示信號,EN輸入使能信號, A、B輸入可控制檔位的選擇;在等精度測頻法的設計中,CLK為輸入被測信號,4Hz 為輸入時鐘信號,CLR 為清零信號,DOUT為輸出顯示信號,AS是校正控制信號。 編譯過程:編譯時,出現(xiàn)如圖51所示的提示。選擇“是(Y)”后,出現(xiàn)如圖52所示的對話框,分析其原因,由錯誤提示“Project requires too many[147/128] logic cells”知,EPM7128SLC8415 沒有足夠的宏單元。在“AddExtra Devices as Needed”項前打上對勾后,選“OK”,編譯通過,如圖53所示。圖51圖52長春理工大學本科畢業(yè)設計28圖53長春理工大學本科畢業(yè)設計29參考文獻[1].張青林.基于單片機和 CPLD 的數(shù)字頻率計的設計[J] .今日電子,2022(9):9495.[2].潘松,王國棟.VHDL 實用教程[M] .北京:電子科技大學出版社,2022.[3].牛曉弟,馬洪濤,高志勇.數(shù)字頻率計的設計[J] .電腦開發(fā)與應用, 2022(09) .[4].楊明濤,楊海明,候文,等.基于C8051F041的高精度頻率計設計[J] .電子元器件應用,2022,12(2):2324.[5].王偉,楊濟民,韓曉麗,等.基于C8051F060的自適應高精度頻率計設計[J] .電子測量技術,2022,32(6):105108 .[6].丁保華,陳軍,張有忠.單片機原理獨立實驗教學體系的改革與探索[J] .實驗室科學,2022(1):2830 .[7].華永平.模擬電子技術與應用[M] .北京:電子工業(yè)出版社, 2022.[8].曾光,馮銳.基于FPGA的數(shù)字頻率計VHDL軟件實現(xiàn)方法[J] .軟件導刊,2022,8(2):2829.[9].耿興隆,李振川,馬曉濤.基于CPLD的數(shù)字頻率計的設計實現(xiàn)[J] .河北軟件職業(yè)技術學院學報,2022,12(3):5154.[10].千成輝,陳思宇,杜尚宇.基于CPLD的數(shù)字頻率計的設計與研究[J] .科技傳播,2022,10(8):3845 .[11].李麗娟,張壽明,付亮,陸軍仁.基于CPLD/FPGA的等精度頻率計設計[J] .工業(yè)控制計算機,2022,8(25) .[12].陳治國,李劍勇,馮海兵,鄧敦建.基于CPLD直接測頻法的數(shù)字頻率計設計[J] .徐州工程學院學報(自然科學版) ,2022,3(30) .[13].Zoonubiya Ali and “An open loop stepper motor controller based on cpld”International Journal of Electronic Engineering Research Issn 09756450 Volume 2 number 2(2022) .[14].Zoonubiya Ali and “Development of cpld based novel open loop stepper motor controller for high performance using VHDL ”,9781424476527/10/$ IEEE.[15].MingFa Tsai and Chienpang Chen“Design of a Quadrature Decorder Counter Interface IC for Motor Control using CPLD ”0780374746/02/$ 82022 IEEE.長春理工大學本科畢業(yè)設計30致 謝在論文完成之際,我要特別感謝我的指導老師王彩霞、宿敬輝老師的熱情關懷和悉心指導。在我對課題的研究過程和論文撰寫的過程中,王彩霞老師都傾注了大量的心血和汗水。無論是在論文的選題、構思和資料的收集方面,還是在論文的研究方法以及成文定稿方面,我都得到了王彩霞老師悉心細致的教誨和無私的幫助,特別是她廣博的學識、深厚的學術素養(yǎng)、嚴謹?shù)闹螌W態(tài)度、實事求是的精神和一絲不茍的工作作風使不僅在學術上有了長足的進步,而且在人生觀上也產生了極大的影響,為我今后的做人辦事樹立了榜樣,使我終生受益。在整個畢業(yè)設計過程中,王彩霞老師給我提供了很多寶貴的、建設性的方案意見,在此表示真誠地感謝和深深的謝意。在論文的寫作過程中,也得到了許多同學的支持和幫助,給予了我很多寶貴的意見,在此一并致以誠摯的謝意。感謝所有關心、支持、幫助過我的良師益友。最后,向在百忙中抽出時間對本文進行評審并提出寶貴意見的各位老師表示衷心地感謝!長春理工大學本科畢業(yè)設計31附錄1 設計源程序直接測頻法測頻控制信號發(fā)生器的程序:LIBRARY IEEE。USE 。USE 。ENTITY kongzhi ISPORT(CLK1:IN STD_LOGIC。 標準頻率定時信號輸入en,clr,LOAD:OUT STD_LOGIC)。 使能信號、清零信號、鎖存信號輸出END kongzhi。ARCHITECTURE one OF kongzhi ISSIGNAL DIV2CLK : STD_LOGIC。BEGINPROCESS (CLK1)BEGINIF CLK139。EVENT AND CLK1=39。139。 THEN DIV2CLK =NOT DIV2CLK。END IF。END PROCESS。PROCESS(CLK1,DIV2CLK)BEGINIF CLK1=39。039。 AND DIV2CLK=39。039。 THEN clr =39。139。ELSE clr=39。039。 END IF。END PROCESS。LOAD=NOT DIV2CLK。 en=DIV2CLK。END ONE。十進制計數(shù)器器件的程序:LIBRARY IEEE。USE 。USE 。ENTITY CNT10 IS PORT( CLK,RST,ENA:IN STD_LOGIC。 時鐘信號、清零信號、使能信號輸入 OUTY:BUFFER INTEGER RANGE 0 TO 9。 信號輸出長春理工大學本科畢業(yè)設計32 COUT:OUT STD_LOGIC)。 進位信號輸出END CNT10。ARCHITECTURE rtl OF CNT10 IS BEGIN PROCESS(CLK,RST) BEGIN IF RST=39。139。 THEN OUTY=0。 ELSE IF E