




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢業設計(論文)基于cpld的頻率測量計摘 要本文主要論述了利用cpld進行測頻計數,單片機實施控制實現等精度頻率計的設計過程。該頻率計利用等精度的設計方法,克服了基于傳統測頻原理的頻率計的測量精度隨被測信號頻率的下降而降低的缺點。等精度的測量方法不但具有較高的測量精度,而且在整個頻率區域保持恒定的測試精度。該頻率計利用cpld來實現頻率的測量計數。利用單片機完成整個測量電路的測試控制、數據處理和顯示輸出。本文詳細論述了硬件電路的組成和單片機的軟件控制流程。其中硬件電路包括鍵控制模塊、顯示模塊、輸入信號整形模塊以及單片機和cpld主控模塊。設計器件采用atmel公司的單片機at89c51和al
2、tera公司的max7000系列epm7128slc84-15芯片。鍵控制模塊設置1個開始鍵和3個時間選擇鍵,鍵值的讀入采用一片74ls165來完成;顯示模塊用8只74ls164完成led的串行顯示;被測信號經限幅后由兩級直接耦合放大器進行放大,再經施密特觸發器整形后輸入cpld;標準頻率采用40mhz有源晶振動實現;單片機軟件用匯編語言編寫,軟件模塊對應于硬件電路的每一個部分,還包括部分數據計算和轉換模塊。關鍵詞:單片機,cpld,頻率計,測頻,等精度the design of frequency measurement based on cpldabstractthe reach pape
3、 rmainly discusses the design process of equal-accuracy frequency meter that uses cpld to count the frequency measurement and frequency meter is also controled by single chip computer. the frequency meter makes use of equal-accuracy design that can overcome the disadvantage of traditional measuring
4、principle, which precision declines as measured signal frequency does. the equal-accuracy measurement not only has higher measuring precision, but also can keep invariable measuring precision in whole area of frequency.this frequency meter uses cpld to realize the measuring count of frequency. singl
5、e chip computer completes the test control、data processing and display output of the system.this essay discusses the compose of hardware circuit and software control flow of single chip computer in detail. hardware circuit includes key control module、display module, plastic module of input signal、si
6、ngle chip computer control module and cpld main control module.the frequency meter adopts single chip computer at89c51 of atmel company and epm7128slc84-15 of altera company. key control module has 1 function key and 3 time selection key. a chip 74ls165 completes the key value input. display module
7、uses eight 74ls165s to realize the serial display of led. first, the measuring signal amplitude is limited. second, the single is amplified by two class direct coupling amplifier. finally, the signal inputs cpld after it is trimed by smitter trigger. standard frequency is 40mhz. software program of
8、single chip computer is writed by assembly language. some of software program is corresponded to every hardware part, the others includ data count and transform.key words:scm;cpld,frequency meter, frequency measurement,equal-precision目錄第一章 引言1第二章 測量原理及其設計內容22.1 測量原理22.2 頻率計的設計內容和意義3第三章 硬件電路設計63.1 系統
9、組成63.2 測頻模塊的工作原理及設計73.2.1 cpld的結構與功能介紹73.2.2 cpld測頻模塊的邏輯設計83.3 鍵控制模塊103.4 顯示模塊113.5 電源模塊123.6 輸入信號整形模塊133.7 單片機主控模塊143.7.1 at89c51單片機性能143.7.2 單片機控制電路173.8 其它電路18第四章 軟件設計194.1 quartus ii概述194.2 quartus ii使用vhdl實現系統功能的全過程204.2.1 電子系統的設計方法204.2.2 “自頂向下”與“自底向上”的設計方法214.2.3 vhdl語言簡介224.2.4 頻率計的vhdl設計224
10、.3 cpld模塊仿真254.4 單片機的匯編語言編程264.4.1 單片機主程序264.4.2 測頻子程序274.4.3 顯示子程序284.4.4 鍵盤掃描子程序294.4.5 時間值輸入子程序304.4.6 延時子程序30第五章 實驗測試及誤差分析315.1 實驗測試315.2 誤差分析31結 論33參考文獻34致 謝36附錄1 單片機控制程序清單37附錄2 電路原理圖5052畢業設計(論文)第一章 引言測頻一直以來都是電子和通訊系統工作的重要手段之一。高精度的測頻儀和頻率發生器有著廣泛的市場前景。以往的測頻儀都是在低頻段利用測周的方法、高頻段用測頻的方法,其精度往往會隨著被測頻率的下降而
11、下降。該測頻儀利用等精度的測頻原理,保證了整個測試范圍內恒定的測試精度。在器件選擇上,該測頻儀采用atmel公司生產的at89c51單片機和altera公司所生產的max7000系列中的epm7128slc84-15。at89c51是一種低功耗、高性能的8位cmos單片機。片內有4kb的閃爍可編程/擦除只讀存儲器 (fperom),并且與mcs-51引腳和指令系統完全兼容。芯片上的fperom允許在線或采用通用的編程器對其重復編程,可循環寫入/擦除1000次。并且有寬工作電壓范圍、存儲數據保存時間長(10年)等優點。是一款性價比較高的單片機。epm7128slc84-15是在altera公司的
12、第二代max結構基礎上,采用先進的氧化物半導體ezprom技術制造的。可容納各種各樣、獨立的組合邏輯和時序邏輯函數。可以快速而有效的重新編程,并保證可編程擦除100次。epm7128slc84-15包含128個宏單元。每16個宏單元組成一個邏輯陣列塊,同時,每個宏單元有一個可編程的“與”陣和固定的“或”陣,以及一個具有獨立可編程時鐘、時鐘使能、清除和置位功能的可配置觸發器。單片機的軟件采用匯編語言編寫,cpld的各種功能塊用vhdl語言描述實現。測頻儀器性能也各不相同。該測頻儀將cpld的高速高可靠性、單片機的靈活控制功能和等精度測頻原理較高的測量精度相結合,具有速度快、功能全、精度高等特點。
13、第二章 測量原理及其設計內容2.1測量原理頻率測量原理框圖如圖2.1所示分頻器閘門電路計數譯碼器 門控電路時基信號發生器晶體振蕩 圖2.1 傳統測頻原理框圖按照頻率的定即單位時間內周期信號的發生次數,圖中晶振提供了測量的時間基準,分頻后通過控制電路去開啟與關閉時間閘門。閘門開啟時,計數器開始計數,閘門關閉,停止計數。若閘門開放時間為t,計數值為n,則被測頻率:f=n/t用這種頻率測量原理,對于頻率較低的被測信號來說,存在著實時性和測量精度之間的矛盾。例如若被測信號為10hz,精度要求為0.01%,則最短閘門時間為: t=n/f=1000s這樣的測量周期根本是不可能接受的,可見頻率測量法不適宜用
14、于低頻信號的測量。本文所采用的測頻原理電路圖如圖2.2所示:d qclkenclk cnt1 out1clrclkenclk cnt2 out2clr標準頻率信號預置門控信號被測信號清零信號圖2.2 等精度測頻原理圖圖2.2中的門控信號是可預置的寬度為tpr的脈沖。count1和count2是兩個可控計數器。標準頻率信號從count1的時鐘輸入端clk輸入,其頻率為fs;經整形后的被測信號從count2的時鐘輸入端clk輸入,設其實際頻率為fxe,測量頻率為fx。當方波預置門控信號由低變為高電平時,經整形后的被測信號上升沿啟動d觸發器,由d觸發器的q端同時啟動可控計數器cnt1和cnt2同時計
15、數,當預置門為低電平時,隨后而至的被測信號使可控計數器同時關閉。設fx為整形后的被測信號,fs為基準頻率信號,若在一次預置門高電平脈寬時間內被測信號計數值為nx,基準頻率計數值為ns,則有公式(2.1): (2.1)2.2 頻率計的設計內容和意義設計內容:cpld是一類新興的高密度大規模可編程邏輯器件,它具有門陣列的高密度和pld器件的靈活性和易用性,目前已成為一類主要的可編程器件。設計使用等精度頻率測量方法,完整的設計出基于cpld的頻率測量計,并完成調試。主要參數:(1)測頻范圍為0100mhz;(2)標準頻率為40mhz.頻率測量在科技研究和實際應用中的作用日益重要。傳統的頻率計通采用組
16、合電路和時序電路等大量的硬件電路構成,產品不但體積較大,運行速度慢,而且測量低頻信號時不宜直接使用。頻率信號抗干擾性強、易于傳輸 ,可以獲得較高的測量精度。同時 ,頻率測量方法的優化也越來越受到重視.并采用 at89c51 單片機和相關硬軟件實現。mcs51系列單片機具有體積小,功能強,性能價格比較高等特點,因此被廣泛應用于工業控制和智能化儀器,儀表等領域。我們研制的頻率計以89c51單片機為核心,具有性能優良,精度高,可靠性好等特點。隨著電子技術與計算機技術的發展,以單片機為核心的測量控制系統層出不窮,在被測信號中,較多的是模擬和數字開關信號,而且還經常遇到以頻率為參數的被測信號,例如流量、
17、轉速、晶體壓力傳感器以及經過參量頻率轉換后的信號等。對于以頻率為參數的被測信號,通常多采用的測頻法和測周法。實現一個寬頻域,高精度的頻率計,一種有效的方法是:在高頻段直接采用頻率法,低頻段采用測周法。一般的數字頻率計本身無計算能力因而難以使用測周期,而用89c51單片機構成的頻率計卻很容易做到這一點。對高頻段和低頻段的劃分,會直接影響測量精度及速度。經分析我們將f=1mhz做為高頻,采用直接測頻法;將f=1hz做為低頻,采用測周期法。為了提高測量精度,我們又對高低頻再進行分段。以89c51單片機為控制器件的頻率測量方法,并用匯編語言進行設計,采用單片機智能控制,結合外圍電子電路,得以高低頻率的
18、精度測量。最終實現多功能數字頻率計的設計方案,根據頻率計的特點,可廣泛應用于各種測試場所。本測頻系統的設計揚棄了傳統的自下而上的數字電路設計方法,采用先進的eda技術及自上而下的設計,把資源豐富、控制靈活及良好人機對話功能的單片機和具有內部結構重組、現場可編程的cpld芯片完美的結合起來,實現了對0100mhz信號頻率的等精度測量。由于cpld具有連續連接結構,易于預測延時,使電路仿真會更加準確,且編程方便,速度快,集成度高,價格低,從而系統研制周期大大縮短,產品性能價格比提高。cpld芯片采用流行的vhdl語言編程,并在quartus ii設計平臺上實現了全部編程設計,單片機采用底層匯編語言
19、編程,可以精確地控制測頻計數閘門的開啟和關閉,從而從而進一步提高了測量精度。在基礎理論和專業技術基礎上,通過對數字頻率計的設計,用十進制數字來顯示被測信號頻率的測量裝置。以精確迅速的特點測量信號頻率,在本設計在實踐理論上鍛煉提高了自己的綜合運用知識水平,為以后的開發及工作打下基礎。第三章 硬件電路設計3.1 系統組成 系統組成框圖如圖3.1所示,由一片cpld完成各種測試功能,對標準頻率和被測信號進行計數。單片機對整個測試系統進行控制,包括對鍵盤信號的讀入與處理;對cpld測量過程的控制、測量結果數據的處理;最后將測量結果送led顯示輸出。被測信號整形電路主要對被測信號進行限幅、放大、再經施密
20、特觸發器整形后送入cpld。用40mhz的有源晶振作為cpld的測試標準頻率。電源部分采用220v交流電經變壓、濾波、穩壓后得到5v電壓供整個系統使用。單片機由外接12mhz標準晶振提供時鐘電路。電源部分顯示電路鍵盤輸入時鐘電路單片機cpld芯片40mhz標準頻率被測信號整形電路 圖3.1 系統頂層框圖其核心部分為單片機和可編程芯片cpld。所有信號包括基準頻率信號、被測信號以及自校輸入信號均可在at89c51單片機的控制下送入cpld芯片中,單片機將每次測試結果讀入內存ram中,經運算處理后,以十進制的形式送到8位數碼管顯示電路顯示。鍵盤控制命令通過一片74ls165并入串出移位寄存器讀入單
21、片機,實現開始功能、預置門時間控制功能等。3.2 測頻模塊的工作原理及設計 3.2.1 cpld的結構與功能介紹可編程邏輯器件是20世紀70年代發展起來的一種新型邏輯器件,它是大規模集成電路技術的飛速發展與計算機輔助設計、計算機輔助生產和計算機輔助測試相結合的一種產物,是現代數字電子系統向超高集成度、超低功耗、超小封裝和專用化方向發展的重要基礎。它的應用和發展不僅簡化了電路設計,降低了成本,提高了系統的可靠性和保密性,而且給數字系統的設計方法帶來了革命性的變化。該測頻系統選用的cpld器件是altera公司所生產的max7000系列中的epm7128slc84-15。圖3.2是epm7128s
22、lc84-15的結構框圖,其中邏輯陣列塊(lab)由16個宏單元(macrocells)陣列組成,多個邏輯陣列塊通過可編程互連陣列(pia)互相連按;宏單元(macrocells)由邏輯陣列、乘積項選擇陣列和可編程寄存器等3個功能模塊組成:可編程互連陣列(pia)是一種可編程全局總線,連接著器件中的任何的信號起源和信號目的地,使信號可以通過整個器件,且pia消除了信號之間的時間偏移,有固定的延時,使時間性能容易預測;i/0控制塊(i/0 control block)允許每一個i/0管腳可以被單獨的配置為輸入、輸出、雙向管腳,且所有i/0引腳都有一個三態緩沖器。圖3.2 epm7128slc84
23、-15結構框圖3.2.2 cpld測頻模塊的邏輯設計本設計頻率測量方法的主要測量控制框圖如圖3.3所示。圖中預置門控信號gate是由單片機發出,gate的時間寬度對測頻精度影響較少,可以在較大的范圍內選擇,只要cpld中32 b計數器在計40 m信號不溢出都行,但是由于單片機的數據處理能力限制,實際的時間寬度較少,一般可在100.1s間選擇,即在高頻段時,閘門時間較短;低頻時閘門時間較長。這樣閘門時間寬度tc依據被測頻率的大小自動調整測頻,從而實現量程的自動轉換,擴大了測頻的量程范圍;實現了全范圍等精度測量,減少了低頻測量的誤差。圖3.3中bzcounter和dccounter是2個可控的32
24、 b高速計數器,bzena和dcena分別是他們的計數允許信號端,高電平有效。基準頻率信號從bzcounter的時鐘輸入端bzclk輸入,設其頻率為fs;待測信號經前端放大、限幅和整形后,從與bzcounter相似的32 b計數器dccounter的時鐘輸入端dcclk輸入,測量頻率為fx,sta為計數結束標志位,當sta由高電平變為低電平時,計數結束。mux64_16是一個可控數據選擇器,當輸入(ss1、ss0)=0、1、2、3時分別輸出標準頻率計數器的低8位、高8位以及被測頻率計數器的低8位、高8位。da_bus(150)清零信號被測信號門控信號gate40mhz標準頻率 bz_count
25、erbz_clkbz_ena bz_count(310)clrdc_counterdc_clkdc_ena dc_count(310)clrd qd觸發器mux64_16stass1、ss0圖3.3 等精度頻率計數框圖測量開始后,首先單片機發出一個清零信號clr,使2個32 b的計數器和d觸發器置0,然后單片機再發出允許測頻命令,即使預置門控信號gate為高電平,這時d觸發器要一直等到被測信號的上升沿通過時,q端才被置1,即使bzena和dcena同時為1,將啟動計算器bzcounter和dccounter,系統進入計算允許周期。這時,計數器bzcounter和dccounter分別對被測信號
26、和標準頻率信號同時計數。當tpr秒過后,預置門控信號被單片機置為低電平,但此時2個32 b的計數器仍然沒有停止計數,一直等到隨后而至的被測信號的上升沿到來時,才通過d觸發器將這2個計算器同時關閉。設在某一次預置門控時間tpr中對被測信號計數值為nx,對標準頻率信號的計數值為nb,則根據閘門時間相等,可得出公式(3.1): fx/nx=fs/ns (3.1)則:fx=(fs/ns)*nx 3.3 鍵控制模塊圖3.4為按鍵接口電路,因為按鍵數量較少,所以采用獨立式按鍵結構:圖3.4 鍵盤控制電路每個按鍵各接一根輸入線,從而使一根線上按鍵的工作狀態不會影響其它線上的工作狀態。4個按鍵通過一片并入串出
27、的74ls165接入單片機,單片機的p3. 0口為串行數據輸入線,p3. 1口提供741ls165移位所需的時鐘信號,p3. 2口控制 74ls165的并行置入和串行移位信號線。p3. 5為信號封所線,防止按鍵按下時的強電流對顯示造成影響。按鍵的消抖用軟件延時的方法實現。4鍵分別為開始功能鍵和0.1秒、1秒、10秒三個時間鍵。74ls165的4個 i/o口通過3k的電阻接高電平,當掃描到某一位為低電平時表示有按鍵按下。3.4 顯示模塊測試結果輸出顯示模塊如圖3.5所示。8位8段led采用共陽極接法,顯示方式為靜態顯示,靜態顯示方式顯示亮度較高,而且顯示狀態穩定。根據實際亮度需求每段led接5k
28、的限流電阻。at89c51的p3. 0口為數據輸出線,數據經8片串入并出74ls164以串行方式送入led(數據從最左端串行移入),每片 74ls164驅動一只led。p3. 1為串行移位時鐘線。p3. 4為數據封鎖線。圖3.5 顯示電路在單片機應用系統中,顯示器顯示常用兩種方法:靜態顯示和動態掃描顯示。所謂靜態顯示,就是每一個顯示器都要占用單獨的具有鎖存功能的i/o接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發送到接口電路,就不用管它了,直到要顯示新的數據時,再發送新的字形碼,因此,使用這種方法單片機中cpu的開銷小。at89c51單片機串行口方式0為移位寄存器方式,外接8片74
29、ls164作為8位led顯示器的靜態顯示接口,把at89c51的rxd作為數據輸出線,txd作為移位時鐘脈沖。74ls164為ttl單向8位移位寄存器,可實現串行輸入,并行輸出。其中a、b(第1、2腳)為串行數據輸入端,2個引腳按邏輯與運算規律輸入信號,共一個輸入信號時可并接。clk(第8腳)為時鐘輸入端,可連接到串行口的txd端。每一個時鐘信號的上升沿加到clk端時,移位寄存器移一位,8個時鐘脈沖過后,8位二進制數全部移入74ls164中。(第9腳)為復位端,當=0時,移位寄存器各位復0,只有當=1時,時鐘脈沖才起作用。qaqh并行輸出端分別接led顯示器的dga各段對應的引腳上。在給出了8
30、個脈沖后,最先進入74ls164的第一個數據到達了最高位,然后再來一個脈沖會有什么發生呢?再來一個脈沖,第一個脈沖就會從最高位移出,搞清了這一點,下面讓我們來看電路,8片7ls164首尾相串,而時鐘端則接在一起,這樣,當輸入8個脈沖時,從單片機rxd端輸出的數據就進入到了第一片74ls164中了,而當第二個8個脈沖到來后,這個數據就進入了第二片74ls164,而新的數據則進入了第一片74ls164,這樣,當第八個8個脈沖完成后,首次送出的數據被送到了最右面的74ls164中,其他數據依次出現在第一、二、三、四、五、六、七、八片74ls164中。3.5 電源模塊 整個電路的供電電源如圖3.6所示
31、,220v交流電經變壓、整流、濾波后,由一片7805三端穩壓器向系統提供+5v電壓信號。本設計采用5v電源電壓供電,直流穩壓電源一般由電源變壓器、整流濾波電路以及穩壓電路所組成。電源變壓器時將交流電網220v的電壓變為所需要得值,然后經過整流電路將交流電壓變成脈動的直流電壓。由于此脈動的直流電壓還含有較大的紋波,必須經過濾波電路加以濾除,從而得到平滑的直流電壓。但這樣的電壓還隨時電網波動(一般由10%左右的波動)負載和溫度的變化變化。因而再整流、濾波電路之后,還需接穩壓電路。穩壓電路的作用是當電網電壓波動、負載和溫度變化時,維持輸出直流電壓穩定。選用輸出電壓固定為+5v的三端集成穩壓器7805
32、。變壓器將電網220v電壓變為+9v電壓,經二極管橋式整流后,為78v的電壓送入7805的輸入端,電容c5和c6用來實現頻率補償,防止穩壓器7805產生高頻自激和抑制電路引入的高頻干擾,c4和c7是電解電容,以減少穩壓電源輸出端由輸入電源引入得低頻干擾。d1為大電流保護二極管,防止在輸入端偶然短路到地時,輸出端大電容上存儲的電壓反極性加到輸出、輸入端之間而損壞芯片。圖中用一個發光二極管來檢測電源電路是否通電,同時還可作為電源電路是否出現故障的標志,當led亮則完好,否則電源電路可能未上電或出現錯誤,起到一個很好的自動電源檢測功能。圖3.6 電源電路3.6 輸入信號整形模塊圖3.7為輸入信號整形
33、電路。放大整形電路由9018和74f14等組成,其中9018組成放大電路將輸入為fx得周期信號如正弦波、三角波等進行放大。74f14施密特觸發器對放大器得輸出信號進行整形,使之稱為矩形脈沖。其連線如圖所示。待測信號經過時,由d3、d4兩個二極管進行限幅,以免電壓過大而燒毀,信號經過9018進行放大,由74f14對其進行整形,產生出得波形為標準方波,方便cpld進行計數。圖3.7 被測信號整形電路3.7 單片機主控模塊3.7.1 at89c51單片機性能1.at89c51單片機簡介圖3.8at89c51的引腳排列圖at89c51是一種帶4k字節閃爍可編程可擦除只讀存儲器(fperomfalsh
34、programmable and erasable read only memory)的低電壓,高性能cmos8位微處理器,俗稱單片機。at89c2051是一種帶2k字節閃爍可編程可擦除只讀存儲器的單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用atmel高密度非易失存儲器制造技術制造,與工業標準的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲器組合在單個芯片中,atmel的at89c51是一種高效微控制器,at89c2051是它的一種精簡版本。at89c51單片機為很多嵌入式控制系統提供了一種靈活性高且價廉的方案。外形及引腳排列如圖3.8所示。2主要特性
35、:與mcs-51 兼容 4k字節可編程閃爍存儲器 壽命:1000寫/擦循環數據保留時間:10年全靜態工作:0hz-24hz三級程序存儲器鎖定1288位內部ram32可編程i/o線兩個16位定時器/計數器5個中斷源 可編程串行通道低功耗的閑置和掉電模式片內振蕩器和時鐘電路 3管腳說明:vcc:供電電壓。gnd:接地。p0口:p0口為一個8位漏級開路雙向i/o口,每腳可吸收8ttl門電流。當p1口的管腳第一次寫1時,被定義為高阻輸入。p0能夠用于外部程序數據存儲器,它可以被定義為數據/地址的第八位。在fiash編程時,p0 口作為原碼輸入口,當fiash進行校驗時,p0輸出原碼,此時p0外部必須被
36、拉高。p1口:p1口是一個內部提供上拉電阻的8位雙向i/o口,p1口緩沖器能接收輸出4ttl門電流。p1口管腳寫入1后,被內部上拉為高,可用作輸入,p1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在flash編程和校驗時,p1口作為第八位地址接收。 p2口:p2口為一個內部上拉電阻的8位雙向i/o口,p2口緩沖器可接收,輸出4個ttl門電流,當p2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,p2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。p2口當用于外部程序存儲器或16位地址外部數據存儲器進行存取時,p2口輸出地址的高八位。在給出地址“1
37、”時,它利用內部上拉優勢,當對外部八位地址數據存儲器進行讀寫時,p2口輸出其特殊功能寄存器的內容。p2口在flash編程和校驗時接收高八位地址信號和控制信號。p3口:p3口管腳是8個帶內部上拉電阻的雙向i/o口,可接收輸出4個ttl門電流。當p3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,p3口將輸出電流(ill)這是由于上拉的緣故。p3口也可作為at89c51的一些特殊功能口,如下表所示:口管腳 備選功能p3.0 rxd(串行輸入口)p3.1 txd(串行輸出口)p3.2 (外部中斷0)p3.3 (外部中斷1)p3.4 t0(記時器0外部輸入)p3.5
38、 t1(記時器1外部輸入)p3.6 (外部數據存儲器寫選通)p3.7 (外部數據存儲器讀選通)p3口同時為閃爍編程和編程校驗接收一些控制信號。3.7.2 單片機控制電路單片機測頻控制電路如圖3.9所示,由單片機完成整個測量電路的測試控制、數據處理和顯示輸出,cpld完成各種測試功能。 由于cpld在對頻率進行計數時,采用32位二進制計數器,8位數據總線的單片機分四次將32位數據全部讀出。利用at89c51的p0口讀計數器count輸出b 7.0標準頻率信號的值,p2口讀計數器count輸出b15.8被測信號的值。被讀出的四組8位數據通過at89c51的ss0, ss1地址編碼選擇。由p1口輸出
39、控制。圖3.9 單片機測頻控制電路clr:系統全清零功能。 gate:為預置門閘,門寬可通過鍵盤由單片機控制,strobe=1時預置門打開;gate =0時,預置門關閉。 sta:測頻計數結束狀態信號,sta由“1”變為“0”時計數結束。ss1,ss0:計數位讀出選通控制。若令ss=ss1, ss0,則當ss=0,1,2,3時可從p0口和p2口由低8位至高8位分一別讀出兩組4個8位計數值。fs:為標準頻率信號輸入,此頻率來源于40mhz的有源晶振。fx:為被測信號輸入,此信號是經過限幅整形電路后的信號。3.8 其它電路 單片機的時鐘電路由12mhz的晶振提供。標準頻率信號由40mhz的有源晶振
40、提供。此部分電路在此不再敘述,見電路原理圖。第四章 軟件設計4.1 quartus ii概述 quartus ii是altera提供的fpga/cpld開發集成環境,altera是世界最大可編程邏輯器件供應商之一。quartus ii在21世紀初推出,是altera前一代fpga/cpld集成開發環境max十plus ii的更新換代產品,其界面友好,使用便捷。在quartus ii上可以完成fpga開發的整個流程,它提供了一種與結構無關的設計環境,使設計者能方便地進行設計輸入、快速處理和器件編程。 altera的quartus ii提供了完整的多平臺設計環境,能滿足各種特定設計的需要,也是單芯
41、片可編程系統(sopc)設計的綜合性環境和sopc開發的基本設計工具,并為altera dsp開發包進行系統模型設計提供了集成綜合環境。quartus ii設計工具完全支持vhdl, verilog的設計流程,其內部嵌有vhdl, verilog邏輯綜合器。quartus ii也可以利用第三方的綜合工具,如leonardo spectrum, synplify pro,fpga compiler ii,并能直接調用這些工具。同樣,quartus ii具備仿真功能,同時也支持第三方的仿真工具,如modelsim。此外,quartus ii與matlab和dsp builder結合,可以進行基于f
42、pga的dsp系統開發,是dsp硬件系統實現的關鍵eda工具。 quartus ii包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器 (analysis&synthesis)、適配器(fitter)、裝配器(assembler)、時序分析器(timing analyzer)、設計輔助模塊(design assistant)、eda網表文件生成器(eda netlist writer)和編輯數據接口(compiler database interface)等。可以通過選擇start compilation來運行所有的編譯器模塊,也可以通過選擇start單獨運行各個模塊。還可以通過選擇com
43、piler tool (tools菜單),在compilertool窗口中運行該模塊來啟動編譯器模塊。在compiler tool窗口中,可以打開該模塊的設置文件或報告文件,或打開其他相關窗口。此外,quartus ii還包含許多十分有用的lpm (library of parameterizedmodules)模塊,它們是復雜或高級系統構建的重要組成部分,在sopc設計中被大量使用,也可在quartus 1l普通設計文件一起使用。altera提供的lpm函數均基于altera器件的結構做了優化設計。在許多實用情況中,必須使用宏功能模塊才可以使用一些altera特定器件的硬件功能。例如各類片上
44、存儲器、dsp模塊、lvds驅動器、pll以及serdes和ddio電路模塊等。4.2 quartus ii使用vhdl實現系統功能的全過程4.2.1 電子系統的設計方法 現代電子系統一般由模擬子系統、數字子系統和微處理器子系統三大部分組成。從概念上講,凡是利用數字技術處理和傳輸信息的電子系統都可以稱為數字系統。傳統的數字系統設計只能對電路板進行設計,通過設計電路板來實現系統功能。利用 eda工具,采用可編程器件,通過設計芯片來實現系統功能,這種方法稱為基于芯片的設計方法。新的設計方法能夠由設計者定義器件的內部邏輯,將原來由電路板設計完成的大部分工作放在芯片的設計中進行。這樣不僅可以通過芯片設
45、計實現多種數字邏輯系統,而且由于管腳定義的靈活性,大大減輕了電路圖設計和電路板設計的工作量和難度,從而有效的增強了沒計的靈活性,提高了工作效率。同時,基于芯片的設計可以減少芯片的數量,縮小系統體積,降低能源消耗。可編程邏輯器件和eda技術給今天的硬件提統設計者提供了強有力的工具,使得電子系統的設計方法發生了質的變化。現在,只要擁有一臺計算機、一套相應的eda軟件和空白的可編程邏輯器件芯片,在實驗室里就可以完成數字系統的設計和生產。圖4.1所示為電子系統的傳統設計方法和基于芯片的設計方法:圖4.1 傳統的設計方法與基于芯片的設計方法4.2.2 “自頂向下”與“自底向上”的設計方法 過去,電子產品
46、設計的基本思路一直是先選用標準通用集成電路芯片,再由這些芯片和其他元件自下而上的構成電路、子系統和系統。這樣設計出的電子系統所用元件的種類和數量均較多,體積與功耗大,可靠性差。隨著集成電路技術的不斷進步,現在人們可以把數以億計的晶體管,幾萬門、幾十萬門、甚至幾百萬門的電路集成在一塊芯片上。半導體集成電路己由早期的單元集成、部件電路集成發展到整機電路集成和系統電路集成。電子系統的設計方法也由過去的那種集成電路廠家提供通用芯片,整機系統用戶采用這些芯片組成電子系統的“bottom-up”(自底向上)方法改變為一種新的“top-down” (自頂向下)設計方法。在這種新的設計方法中,由整機系統用戶對
47、整個系統進行方案設計和功能劃分,系統的關鍵電路用一片或幾片專用集成電路asic來實現,且這些專用集成電路是由系統和電路設計師親自參與設計的,直至完成電路到芯片版圖的設計,再交由ic工廠加工,或者是用可編程asic(例如cpld和fpga)現場編程實現。 圖4.2所示為電子系統的兩種不同設計方法的步驟:圖4.2 “自頂向下”與“自底向上”設計方法的步驟在“自頂向下”的設計中,首先需要進行行為設計,確定該電子系統或vlsi芯片的功能、性能及允許的芯片面積和成本等。接著進行結構設計,根據該電子系統或芯片的特點,將其分解為接口清晰、相互關系明確、盡可能簡單的子系統,得到一個總體結構。這個結構可能包括算
48、術運算單元、控制單元、數據通道、各種算法狀態機等。下一步是把結構轉換成邏輯圖,即進行邏輯設計。接著進行電路設計,邏輯圖將進一步轉化成電路圖。在很多情況下,這時需進行硬件仿真,以最終確定邏輯設計的正確性。最后是進行版圖設計,即將電路圖轉化成版圖。 “自底向上”的設計,一般是在系統劃分和分解的基礎上先進行單元設計,在單元的精心設計后逐步向上進行功能塊設計,然后再進行子系統的設計,最后完成系統的總體設計。 4.2.3 vhdl語言簡介 20處紀80年代后期,美國國防部開發的vhdl語言(vhsic硬件描寫語言,vhsic是非常高度迅速綜合的電路的縮寫)是ieee標準化的硬件描述語言,并且已經成為系統
49、描述的國際公認標準,得到眾多eda公司的支持。 vhdl語言覆蓋面廣,描述能力強,能支持硬件的設計子驗證、綜合和測試,是一種多層次的硬件描述語言。其設計描述可以是描述電路具體組成的結構描述,也可以是描述電路功能的行為描述。這些推述可以從最抽象的系統級直到最精確的邏輯級,甚至門級。 運用vhdl語言設計系統一般采用自頂向下分層設計的方法,首先從系統級功能設計開始,對系統高層模塊進行行為描述和功能仿真。系統的功能驗證完成后,將抽象的高層設計自頂向下逐級細化,直到與所用可編程邏輯器件相對應的邏輯描述。 4.2.4 頻率計的vhdl設計本設計采用altera公司的cpld芯片epm7128slc84-
50、15,該芯片管腳間的延遲為3.5ns,應用標準化的硬件描述語言vhdl有非常豐富的數據類型,他的結構模型是層次化的,利用這些豐富的數據類型和層次化的結構模型,對復雜的數字系統進行邏輯設計并用計算機仿真,逐步完善后進行自動綜合生成符合要求的、在電路結構上可實現的數字邏輯,再下載到可編程邏輯器件中,即可完成計數器的設計任務。下面給出該頻率計基于epm7128slc84-15的vhdl描述源程序:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity clk_ent isport(bclk:in
51、std_logic; -標準頻率(40mhz)時鐘信號 xclk:in std_logic; -待測頻率信號 gate:in std_logic; -預置門控制信號 sel:in std_logic_vector(1 downto 0);-數據讀出控制 clr:in std_logic; -清零和初始化信號 sta:out std_logic; -計數結束標志信號 databus:out std_logic_vector(15 downto 0);-計數器輸出end clk_ent;architecture counter of clk_ent issignal bz_count,dc_cou
52、nt:std_logic_vector(31 downto 0);-基準計數和待測計數器signal bz_ena,dc_ena:std_logic;-允許計數使能信號beginprocess(sel) -讀計數值進程begin case sel(1 downto 0)is when00=databusdatabusdatabusdatabusnull; end case;end process;bzcounter:process(bclk,clr,gate) -標準頻率計數器進程 begin if clr = 1 then bz_count0);elsif bclkevent and bcl
53、k=1 then if bz_ena=1 then bz_count=bz_count+1; end if; end if; end process;dccounter:process(xclk,clr,gate) -被測頻率計數器進程 begin if clr = 1 then dc_count0); elsif xclkevent and xclk=1 then if dc_ena=1 then dc_count=dc_count+1; end if; end if; end process;dq:process(xclk,clr) -預置門控制進程 begin if clr = 1 then dc_ena=0; elsif xclkevent and xclk=1 then dc_ena=gate; end if; end process; bz_ena=dc_ena; sta=dc_ena;end architecture;4.3 cpld模塊仿真 圖4.3為計數模塊圖:圖4.3 計數模塊圖此頂層模塊通過編評后,其最后的波形結果如下圖所示,以下所有的仿真波形圖的標準頻率為fs=40mhz。從圖中可知,當單片機發出一個清零信號(clr=1)時,計數器被清零。單片機發出開始信號(gate=1,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 安全注射單選試題及答案
- 基于區塊鏈技術的2025年互聯網+政務服務安全與可信度提升與實踐報告001
- 2025年直播電商主播影響力測評與定制化營銷策略研究報告
- 南京網絡課件師培訓
- 顧問式營銷培訓課件
- 制圖基本技術課件
- 腫瘤重點專科建設成果匯報
- 脂肪瘤護理診斷
- 中國入境旅游課件下載
- 中國兒童文學史課件
- MicroLED顯示技術產業化項目可行性研究報告(范文模板)
- 2025浙江中考:生物必背知識點
- 2025年國家開放大學《會計案例分析》形成性考核123答案+終結性考核答案
- 股權質押融資與境外投資合作協議
- 汽油清凈性評價 汽油機進氣閥沉積物模擬試驗法 編制說明
- 沂蒙精神考試試題及答案
- 2024-2025學年人教版一年級下冊美術期末考試卷及參考答案
- 2024北京豐臺區五年級(下)期末語文試題及答案
- 2025年貴州燃氣集團貴安新區燃氣有限公司招聘筆試參考題庫附帶答案詳解
- 旅行社計調國家職業技能標準
- 2025克拉瑪依市輔警考試試卷真題
評論
0/150
提交評論