sopceda綜合課程設計--等精度數字頻率計的設計_第1頁
已閱讀1頁,還剩29頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  SOPC/EDA綜合課程設計報告</p><p>  設計題目: 等精度數字頻率計設計</p><p>  設 計 者: </p><p>  學 號: </p><p>  班 級: </p><p>  指導老師: </p>

2、<p><b>  完成時間: </b></p><p>  等精度數字頻率計的設計</p><p><b>  摘 要</b></p><p>  基于傳統(tǒng)測頻原理的頻率計的測量精度將隨著被測信號頻率的下降而降低,在實用中有很大的局限性,而等精度頻率計不但有較高的測量精度,而且在整個測頻區(qū)域內保持恒定的測試

3、精度。運用等精度測量原理,結合單片機技術設計了一種數字頻率計,由于采用了屏蔽驅動電路及數字均值濾波等技術措施,因而能在較寬定的頻率范圍和幅度范圍內對頻率,周期,脈寬,占空比等參數進行測量,并可通過調整閘門時間預置測量精度。選取的這種綜合測量法作為數字頻率計的測量算法,提出了基于FPGA 的數字頻率計的設計方案。給出了該設計方案的實際測量效果,證明該設計方案切實可行,能達到較高的頻率測量精度。</p><p>  

4、關鍵詞 等精度測量,單片機,頻率計,閘門時間,FPGA</p><p><b>  目 錄</b></p><p><b>  1摘 要 </b></p><p><b>  2系統(tǒng)設計方案4</b></p><p>  2.1系統(tǒng)設計方案的選擇 5</p&

5、gt;<p>  2.1.1 頻率測量模塊5</p><p>  2.1.2 周期測量模塊6</p><p>  2.1.3 脈寬測量模塊6</p><p>  2.1.4 占空比測量模塊 7 </p><p>  3 系統(tǒng)總體設計方案8</p><p>  4 CPLD/FPGA測頻專用

6、模塊的VHDL程序設計9 </p><p>  4.1 測頻模塊邏輯結構 10</p><p>  4.2 各模塊功能和工作步驟如下:11 </p><p>  4.2.1 測頻/測周期的實現12</p><p>  4.2.2 控制部件設計13 </p><p>  4.2.3 脈沖寬度測量和占空比測量模塊

7、設計14</p><p>  4.2.4 電路顯示模塊15</p><p>  4.2.5 數碼管的編碼表16</p><p>  5 單片機控制與運算程序的設計17 </p><p>  5.1 AT89C51RC單片機簡介18 </p><p>  5.2 軟件調試系統(tǒng)19 </p>&

8、lt;p>  5.3具體試驗過程20 </p><p>  5.3.1 第一次測試21</p><p>  5.3.2 第二次計算22</p><p>  5.4 系統(tǒng)調試的方法23 </p><p>  5.4.1 調試的軟/硬件24</p><p>  5.4.2 系統(tǒng)的仿真結果25</p&

9、gt;<p>  5.5 設計技巧分析26 </p><p>  5.6 系統(tǒng)擴展思路27 </p><p><b>  參考文獻28</b></p><p><b>  致 謝29 </b></p><p><b>  2 系統(tǒng)設計方案</b><

10、/p><p>  2.1系統(tǒng)設計方案的選擇</p><p>  根據頻率計的設計要求,我們可將整個電路系統(tǒng)劃分為幾個模塊,頻率測量模塊,周期測量模塊,脈寬測量模塊,和占空比測量模塊。標準頻率發(fā)生電路采用高頻率穩(wěn)定度和高精度的晶鎮(zhèn)作為標準頻率發(fā)生器。如圖所示。各模塊的實現均有幾種不同的設計方案。</p><p>  圖2.1 頻率計組成模塊框圖</p>&

11、lt;p>  2.1.1 頻率測量模塊</p><p> ?、僦苯訙y頻法:把被測頻率信號經脈沖整形電路處理后加到閘門的一個出入端,只有在閘門開通時間T(以秒計)內,被計數的脈沖送到十進制計數器進行計數;設計數器的值為N,則可得到被測信號頻率為f=N/T,經分析,本測量在低頻率的相對測量誤差較大,即在低頻段不能滿足本設計的要求。</p><p>  ②組合測頻法:這種方法可以在一定程度

12、上彌補方法(1)中的不足,但是難以確定最佳分測點,且電路實現較復雜。</p><p> ?、郾额l法:是指把頻率測量范圍分成多個頻段,使用倍頻技術,根據頻段設置倍頻系數,將經整形的低頻信號進行倍頻后在進行測量,對高頻段則直接進行測量。倍頻法較難實現。</p><p> ?、艿染葴y頻法:其實現方式可用圖2.2來說明。圖中,預置門控信號是寬度為TPR的一個脈沖,CNT1和CNT2是兩個可控計數

13、器。標準頻率信號從CNT1的時鐘輸出端CLK輸入,其頻率為fs,經整形后的被測信號從CNT2的時鐘輸入端CLK輸入,設其實際頻率為fx;當預置門控信號為高時,經整形后的被測信號的上升沿通過D觸發(fā)器的Q端同時啟動計數器CNT1和CNT2。CNT1和CNT2分別對被測信號(頻率為fs)和標準頻率信號(頻率為fx)同時計數。當預置門信號為低時,隨后而至的被測信號的上升沿將兩個計數器同時關閉。設在一次預置門時間Tpr內對被測信號的計數值為Nx,

14、對標準信號的計數值為Ns。則下式成立:</p><p>  fx/Nx=fs/Ns</p><p>  由此推得:fx=fs*Nx/Ns</p><p>  圖2.2 等精度測頻法原理框圖</p><p>  若所測頻率值為fx,其真實值為fxe,標準頻率為fs,一次測量中,由于fx計數的起停時間都是該信號的上跳沿觸發(fā)的,因此在Tpr時間內

15、對fx的計數Nx無誤差,在此時間內的計數Ns最多相差一個脈沖,即fx/Nx=fs/Ns,則下式成立: fxe/Nx=fs/Ns+△et </p><p>  可分別推得 fx=fs*Nx/Ns fxe=fs*Nx/Ns+△et</p><p>  根據相對誤差的公式有:△fxe/fxe=fxe-fx/fxe </p><p>  經整理可得到:

16、△fxe/fxe=△et/Ns</p><p>  因△et≤1,故△fxe/fxe≤1/Ns Ns=Tpr*fs</p><p>  根據以上分析,我們可知等精度測頻法具有三個特點:1,相對測量誤差與被測頻率的高低無關;2,增大Tpr或fs可以增大Ns,減少測量誤差,提高測量精度;3,測量精度與預置門寬度和標準頻率有關,與被測信號的頻率無關,在預置門和常規(guī)測頻閘門時間相同

17、而被測信號頻率不同的情況下,等精度測量法的測量精度不變;</p><p>  經過綜合考慮,結合設計需求,選用第④種方案,即用等精度測頻法來實現本設計頻率測量。</p><p>  2.1.2 周期測量模塊</p><p>  ①直接周期測量法:用被測信號經放大整形后形成的方波信號直接控制計數門控電路,使主門開放時間等于信號周期Tx,時標為Ts的脈沖在主門開放時間進

18、入計數器。設在Tx期間計數值為N,可以根據以下公式來算得被測信號周期:</p><p>  Tx=N*Ts經誤差分析,可得結論:用該測量法測量時,被測信號的頻率越高,測量誤差越大。</p><p> ?、诘染戎芷跍y量法:該方法在測量電路和測量精度上與等精度測量完</p><p>  全相同,只是在進行計算時公式不同,在周期1/T代換頻率f即可,其計算公式為Tx=T

19、s*Ns/Nx從降低電路的復雜度及提高精度(特別是高頻)上考慮,本設計擬采用方法②測量被測信號的周期。</p><p>  2.1.3 脈寬測量模塊</p><p>  在進行脈沖寬度測量時,首先經信號處理電路進行處理,限制只有信號的50%幅度及其以上部分才能輸入數字測量部分。脈沖邊沿被處理得非常陡峭,然后送入測量計數器進行測量。</p><p>  測量電路在檢測

20、到脈沖信號的上升沿時打開計數器,在下降沿是關閉計數器,設脈沖寬度為Twx,計算公式為:Twx=Nx/fs。</p><p>  2.1.4 占空比測量模塊</p><p>  測一次脈沖信號的脈寬,記錄其值為Twx1,然后將信號反相,再測一次脈寬并記錄起值為Twx2,通過下式計算占空比:</p><p>  占空比=Twx1/(Twx1+Twx2)*100%<

21、/p><p>  3 系統(tǒng)總體設計方案</p><p>  等精度數字頻率計涉及到的計算包括加,減,乘,除,耗用的資源比較大,用一般中小規(guī)模CPLD/FPGA芯片難以實現。因此,我們選擇單片機和CPLD/FPGA的結合來實現。電路系統(tǒng)原理框圖如圖所示,其中單片機完成整個測量電路的測試控制,數據處理和顯示輸出;CPLD/FPGA完成各種測試功能;鍵盤信號由AT89C51單片機進行處理,它從CP

22、LD/FPGA讀回計數數據并進行運算,向顯示電路輸出測量結果;顯示器電路采用七段LED動態(tài)顯示,由8個芯片74LS164分別驅動數碼管。</p><p>  圖3.1 等精度數字頻率計電路系統(tǒng)原理框圖</p><p>  系統(tǒng)的基本工作方式如下:</p><p> ?、貾0是單片機與FPGA的數據傳送通信口,P1口用于鍵盤掃描,實現各測試功能的轉換;P2口為雙向控

23、制口。P3口為LED的串行顯示控制口;系統(tǒng)設置5個功能鍵:占空比,脈寬,周期,頻率,和復位。</p><p> ?、?個LED數碼管組成測量數據顯示器,另一個獨立的數碼管用于狀態(tài)顯示。</p><p>  ③BCLK 為測頻標準頻率為50MHz 信號輸入端,由晶體震蕩源電路提供。</p><p> ?、艽郎y信號經放大整形后輸入CPLD/FPGA 的TCLK。<

24、/p><p>  4 CPLD/FPGA測頻專用模塊的VHDL程序設計</p><p>  4.1測頻模塊邏輯結構</p><p>  利用VHDL程序設計的測頻模塊邏輯結構如圖所示,其中有關的接口信號規(guī)定如下:</p><p>  ①TP(P2.7):TF=0 時等精度測頻;TF=1 時測脈寬;</p><p> ?、?/p>

25、CLR/TRIG(P2.6):當TF=0 時系統(tǒng)全清零功能;當TF=1 時CLRTRIG 的上跳沿將啟動CNT2 ,進行脈寬測試計數;</p><p> ?、跡NDD (P2.4):脈寬計數結束狀態(tài)信號,ENDD=1計數結束;</p><p> ?、蹸HOICE(P3.2):自校/測頻選擇,CHOICE=1 測頻;CHOICE=0自校;</p><p>  ⑤STA

26、RT(P2.5):當TF=0 時,作為預置門閘,門寬可通過鍵盤由單片機控制,START=1時預置門開;當TF=1時,START有第二功能,此時,當START=0時測負脈寬,當START=1時測正脈寬。利用此功能可分別獲得脈寬和占空比數據。</p><p> ?、轊EDN(P2.3):等精度測頻計數結束狀態(tài)信號,EEND=0時計數結束。</p><p> ?、逽EL[P2.2](P2.2,P

27、2.1,P2.0):計數值讀出選通控制;當SEL[2.0]=“000”,“001”, “010”... “111”時,將CNT1,CNT2的計數值分8次,每次讀出8位,并傳達到單片機的P0口。</p><p>  圖4.1 測頻模塊邏輯圖</p><p>  4.2 各模塊功能和工作步驟如下:</p><p>  4.2.1 測頻/測周期的實現</p>

28、<p>  被測信號脈沖從CONTRL模塊的FIN端輸入,標準頻率信號從CONTRL 的FSD端輸入,CONTRL的CLR是此模塊電路的工作初始化信號輸入端。在進行頻率或周期測量時,其工作步驟如下:</p><p> ?、倭頣F=0,選擇等精度測頻,然后再CONTRL的CLR端加一正脈沖信號以完成測試電路狀態(tài)的初始化。</p><p> ?、谟深A置門控信號將CONTRL的ST

29、ART端置高電平,預置門開始定時,此時由被測信號的上沿打開計數器CNT1進行計數,同時使標準頻率信號進入計數器CNT2。</p><p> ?、垲A置門定時結束信號把CONTRL的START端置為低電平(由單片機來完成),在被測信號的下一次脈沖的上沿到來時,CNT1停止計數,同時關斷CNT2對FS的計數。</p><p> ?、苡嫈到Y束后,CONTRL的EEND端將輸出低電平來指示測量計數結

30、束,單片機得到此信號后,即可利用ADRC(P2.2),ADRB(P2.1),ADRA(P2.0)分別讀回CNT1 和CNT2的計數值,并根據精度測量公式進行運算,計算出被測信號的頻率或周期值。</p><p>  4.2.2 控制部件設計</p><p>  如圖所示,當D觸發(fā)器的輸入端START為高電平時,若FIN端來一個上升沿,則Q端變?yōu)楦唠娖?,導通FIN-CLK1和FSD-CLK2,

31、同時EEND被置為高電平作為標志;當D觸發(fā)器的輸入端START為低電平時,若FIN端輸入一個脈沖上沿,則FIN-CLK1與FSD-CLK2的信號通道被切斷。</p><p>  圖4.2 測頻與測周期控制部分電路</p><p><b>  計數部件設計</b></p><p>  圖中的計數器CNT1/CNT2是32位二進制計數器,通過DS

32、EL模塊的控制,單片機可分4次將其32位數據全部讀數。</p><p>  4.2.3 脈沖寬度測量和占空比測量模塊設計 </p><p>  根據上述脈寬測量原理,設計如圖(CONTRL)所示的電路原理示意圖。該信號的上沿和下沿信號對應于未經處理時的被測信號50%幅度時的上沿和下沿.被測信號從FIN端輸入,CLR為初始化信號<START為工作使能信號.CONTRL2模塊的PUL端與

33、GATE的輸入端PUL連接.</p><p>  圖4.3 脈沖寬度測量原理圖</p><p>  測量脈沖寬度的工作步驟如下:</p><p>  向CONTRL的CLR端送一個脈沖以便進行電路的工作狀態(tài)初始化.</p><p>  將GATE的CNL端置高電平,表示開始脈沖寬度測量,這時CNT2的輸入信號為FSD.</p>

34、<p>  在被測脈沖的上沿到來時,CONTRL2的PUL端輸出高電平,標準頻率信號進入計數器CNT2.</p><p>  在被測脈沖的下沿到來時,CONTRL2的PUL端輸出低電平,計數器CNT2被關斷.</p><p>  由單片機讀出計數器CNT2的結果,并通過上述測量原理公式計算出脈沖寬度.</p><p>  CONTRL2子模塊的主要特點是

35、:電路的設計保證了只有CONTRL2被初始化后才能工作,否則PUL輸出始終為零.只有在先檢測到上沿后PUL才為高電平,然后在檢測到下沿時,PUL輸出為低電平:ENDD輸出高電平以便通知單片機測量計數已經結束:如果先檢測到下沿,PUL并無變化;在檢測到上沿并緊接一個下沿后,CONTRL2不再發(fā)生變化直到下一個初始化信號到來.占空比的測量方法是通過測量脈沖寬度記錄CNT2的計數值N1,然后將輸入信號反相,再測量脈沖寬度,沒得CNT2計數值N

36、2則可以計算出:</p><p>  占空比=N1/(N1+N2)*100%</p><p>  4.2.4 電路顯示模塊</p><p>  系統(tǒng)硬件電路中,單片機MCU與FPGA進行數據交換占用了P0口、P1口和P3口,因此數據顯示電路的設計采用靜態(tài)顯示的方式,顯示電路由8個共陽極七段數碼管和8片1位串入8位并出的74LS164芯片組成。</p>

37、<p>  圖4.4 顯示電路圖</p><p>  這種顯示方式不僅占用單片機端口少,而且充分利用了單片機的資源,容易掌握其編碼規(guī)律,簡化了軟件編程,在實驗過程中,也體現出較高的可靠性。數據顯示電路如圖4.4所示。</p><p>  74LS164是一種8位高速串入/并出的移位寄存器,隨著時鐘信號的高低變化,串行數據通過一個2輸入與門同步的送入,使用獨立于時鐘的主控復位端讓

38、寄存器的輸出端變?yōu)榈碗娖?,并且采用肖特基鉗位電路以達到高速運行的目的。并且還具有以下的特點:①典型的35MHZ移位頻率;②異步主控復位;③門控串行輸入;④同步數據傳輸;⑤采用鉗位二極管限制高速的終端;⑥靜電放電值大于3500V。</p><p>  在本系統(tǒng)中,74LS164的連接方式為:74LS164的輸出Q0~Q7分別接LED數碼管的dp、g、f、e、d、c、b、a,并且Q7連接下一個74LS164的A,B端

39、,時鐘CLK連接單片機的TXD端,第一片芯片的AB端連接單片機的RXD端,74LS164芯片的主控復位端接高電平VCC。在這種狀態(tài)下,數碼管的編碼如下表所示。 </p><p>  4.2.5 數碼管的編碼表</p><p>  5 單片機控制與運算程序的設計</p><p>  5.1 AT89C51RC單片機簡介</p><p>  

40、AT89C5lRC是在AT89C52基礎上開發(fā)的新型高檔單片機。</p><p><b>  它的主要特性是:</b></p><p>  片內含有 32 KB的 Flash程序存儲器,擦寫周期為 1000次;</p><p>  片內數據存儲器內含512字節(jié)的RAM;</p><p>  具有可編程32線I/O口(P0

41、,P1,P2和P3口);</p><p>  具有3個可編程定時器T0,T1和T2;</p><p>  中斷系統(tǒng)是具有8個中斷源、6個中斷矢量、2級中斷優(yōu)先權的中斷結構;</p><p>  具有一個全雙工 UART串行口;</p><p>  低功耗工作方式為空閑模式和掉電模式;</p><p>  具有雙數據指針

42、DPTR0和DPTR1;</p><p>  具有3級程序鎖定位;</p><p>  具有硬件看門狗定時器WDT;</p><p>  AT89C51RC工作電源為4.0~5.5V(AT89LV51RC為2.7~5.5V);</p><p>  AT89C51RC最高工作頻率為33MHZ(AT89LV51RC為12MHZ);</p&g

43、t;<p>  具有斷電標志POF.</p><p>  與AT89C52相比,AT89C5lRC具有如下特點:</p><p>  程序存儲器由 8 KB增加到32 KB;</p><p>  片內數據存儲器由256字節(jié)增加到512字節(jié);</p><p>  數據指針由1個增加到2個;</p><p>

44、  增加了看門狗定時器,CPU在執(zhí)行程序過程中,由于瞬時的干擾使程序陷入死循環(huán)環(huán)狀態(tài),WDT(Watchdog Timer)是使CPU擺脫這種困境而自動恢復的一種方法;</p><p>  退出掉電方式由單純硬件復位方式增加到硬件復位和中斷兩種方式;</p><p>  新增加了斷電標志POF.</p><p>  89C51RC的內部框圖</p>&

45、lt;p>  圖5.1 89C51RC的內部框圖</p><p><b>  引腳排列及功能</b></p><p>  AT89C51RC有3種封裝形式:PDIP.PLCC和TQFP.PDIP封裝的引腳排列如圖所示。</p><p>  圖5.2 AT89C51RC引腳圖</p><p><b> 

46、?。薄。桑峡诰€</b></p><p>  P0口——8位、漏極開路的雙向 1/O口。</p><p>  當使用片外存儲器及外擴 I/O口時,P0口作為低字節(jié)地址/數據復用線。在編程時,P0口可用于接收指令代碼宇節(jié);在程序校驗時,P0口可輸出指令字節(jié)(這時需要加外部上拉電阻)。</p><p>  P0口也可作通用I/O口使用.但需加上拉電阻.變?yōu)闇?/p>

47、雙向口。當作為普通輸入時,應將 輸出鎖存器置1. PO口可驅動8個 TTL負載.</p><p>  P1口——8位、準雙向I/O口,具有內部上拉電阻。</p><p>  P1口是為用戶準備的 1/O雙向口。在編程和校驗時,可用做輸入低8位地址。用做輸入時,應先將輸出鎖存器置1. P1口可驅動4個TTL負載。</p><p>  P1.0 P1.1替代功能<

48、/p><p>  P2口——8位、準雙向 1/O口.具有內部上位電阻.</p><p>  當使用片外存儲器或外擴1/O口時.P2口輸出高8位地址。在編程/校驗時.P2口可接收高字節(jié)地址和某些控制信號。</p><p>  P2口也可作普通I/O口使用。用做輸入時,應先將輸出鎖存器置1. P2口可驅動4個TTL負載。</p><p>  P3口—

49、—8位、準雙向 1/O口,具有內部上拉電阻。 </p><p>  P3口可作為普通1/O口。用做輸入時,應先將輸出鎖存器置 1.在編程/校驗時.P3口接收某些控制信號。它可驅動4個TTL負載。</p><p>  P3口還提供各種替代功能。</p><p><b>  P3口替代功能</b></p><p><

50、;b>  2.控制信號線</b></p><p>  RST——復位輸入信號,高電平有效。在振蕩器穩(wěn)定工作時,在RST腳施加兩個機器周期(即24個晶振周期)以上的高電平,將器件復位。</p><p>  EA/VPP——外部程序存惜器訪問允許信號EA(External Access Enable)。</p><p>  當EA信號接地時,對ROM的

51、讀操作限定在外部程序存儲器,地址為0000H~FFFFH;當EA接地時,對ROM的讀操作從內部程序存儲器開始,并可延續(xù)至外部程序存儲器。</p><p>  在編程時,該引腳可接編程電壓(AT89C51的VPP為5V或12V;AT89LV51的VPP為12 V)。在編程校驗時,該引腳可接VCC。</p><p>  PSEN——片外程序存儲器讀選通信號用PSEN(Program Store

52、 Enable),低電平有效。</p><p>  在片外程序存儲器取指期間,當PSEN有效時,程序存儲器的內容被送至 PO口(數據總線);在訪問外部RAM時,PSEN無效。</p><p>  AIE/PROG——低字節(jié)地址鎖存信號 AlE(Address latch Enable)。</p><p>  在系統(tǒng)擴展時,AlE的下降沿將PO口輸出的低8位地址鎖存在

53、外接的地址鎖存器中,以實現低字節(jié)地址和數據的分時傳送。此外,ALE端連續(xù)輸出正脈沖.頻率為晶振頻率的1/6,可用做外部定時脈沖使用。但要注意,每次訪問外RAM時要丟失一個ALE脈沖。在編程期間,該引腳輸入編程脈沖(PROG)。</p><p><b>  3.電原線</b></p><p>  VCC——電源電壓輸入。</p><p><

54、b>  GND——接地。</b></p><p><b>  4.外部晶振引線</b></p><p>  XTAL1——片內振蕩器反相放大器和時鐘發(fā)生線路的輸入端。使用片內振蕩器時,連接外部石英晶體和微調電容。</p><p>  XTAL2——片內振蕩器反相放大器的輸出端。當使用片內振蕩器時,外接石英晶體 和微調電容。&l

55、t;/p><p>  當使用外部振蕩器時,引腳XTAL1接收外振蕩器信號,XTAIL2懸空。</p><p>  AT89C5lRC有兩種低功耗節(jié)電模式:空閑模式和掉電模式。</p><p><b>  1.空閑模式</b></p><p>  應用軟件使PCON中的IDL=l,系統(tǒng)便可進入空閑模式.由于PCON不可位尋址,

56、進入空閑模式可采用如下指令:</p><p>  MOV A,PCON</p><p>  SETB ACC,0 ;IDL=l</p><p>  MOV PCON,A</p><p>  系統(tǒng)進入空閑模式后,CPU處于休眠狀態(tài).振蕩器和片內外圍單元(中斷系統(tǒng)、定時器、I/O口、串行口)仍然有效.片內RAM和SFR中的內容保留不變。&

57、lt;/p><p>  退出空閑模式有兩種方法:任何一個有效的中斷和便件復位.退出空閑模式后,IDL由片內硬件自動清0。</p><p><b>  2.掉電模式</b></p><p>  執(zhí)行一條指令,使PD=1,系統(tǒng)便進入掉電模式。進入掉電模式后,振蕩器停止工作.掉電模式下.片內RAM和SPR中的內容保持不變.</p><

58、p>  退出掉電模式有兩種方法:硬件復位和允許的外部低電平中斷(INT0和INT1)。硬件復位過程不改變片內RAM的內容,但要重新設量SFR的內容.僅當VCC恢復到正常操作值,且振蕩器達到穩(wěn)定后,復位有效.</p><p>  復位退出掉電模式時,系統(tǒng)首先從斷點處恢復執(zhí)行程序,直到復位控制邏輯有效。這個過程長達2個機器周期。在復位有效之前,片內有硬件控制電路防止寫入片內RAM,即在復位過渡期間片內RAM內容

59、受到保護,但并不保護SFR的內容。因此,在進入掉電模式指令(使PD=l的指令)的后面,不要緊隨寫入1/O端口或寫入片外RAM的指令。</p><p>  主要單片機控制與運算程序流程圖:</p><p>  圖5.3 測周期子程序流程圖</p><p>  圖5.4 主程序流程圖</p><p>  圖5.5 顯示子程序流程圖</

60、p><p>  圖5.6 頻率,周期計數子程序流程圖</p><p>  圖5.7 測頻率子程序流程圖</p><p>  圖5.8 脈寬,占空比計數子程序流程圖</p><p>  5.2 軟件調試系統(tǒng)</p><p>  支持CPLD和FPGA設計的軟件有很多種,這里我使用由ALTERA公司開發(fā)的MAX+PLUSI

61、I工具軟件,該軟件方便易用,功能全面,能滿足用戶各種各樣的設計需要,概括起來MAX+PLUSII開發(fā)系統(tǒng)具有如下幾個特點。</p><p><b>  1.結構無關 </b></p><p>  MAX+PLUSII支持ALTERA公司的CLASSIC,ACEX1K,MAX3000,MAX5000,MAX7000,MAX9000,FLEX6000,FLEX8000

62、和FLEX10K等系列可編程邏輯器件,門數為600~250 000門,提供了業(yè)界真正與結構無關的可編程邏輯設計環(huán)境。MAX+PLUSII的編譯器還提供了強大的邏輯綜合與優(yōu)化功能以減輕用戶的設計負擔。</p><p>  2.集成化的界面 </p><p>  MAX+PLUSII提供了設計輸入,設計處理和仿真校驗等全集成化的開發(fā)工具,可以加快動態(tài)調試,縮短開發(fā)周期。</p>

63、<p>  3.模塊組合式設計工具 </p><p>  設計者可從各種設計輸入,設計處理和設計校驗選項中進行選擇,從而使設計環(huán)境用戶化。需要時,還可以保留初始的工具,并增添新的性能。由于MAX+PLUSII支持各種器件系列,設計者用此工具即可支持新結構。</p><p>  4.支持多種HDL語言 </p><p>  MAX+PLUSII支

64、持多種流行的HDL描述語言,包括VHDL,VERILOG HDL和AHDL。</p><p>  5.良好的開放性和數據互換性 </p><p>  MAX+PLUSII可與其他工業(yè)標準的設計輸入,綜合與校驗工具連接。它與EDA工具的接口符合EDIF200和209標準,并提供了參數化的模塊庫(LPM)。設計者可以使用ALTERA或其他標準的EDA設計輸入工具去建立邏輯設計,使用MAX+

65、PLUSII COMPLIER對設計進行編譯和綜合,然后進行仿真,也可使用其他EDA工具來仿真。</p><p>  6.基于MAX+PLUSII的設計</p><p>  使用MAX+PLUSII軟件進行設計和開發(fā),主要包括以下幾個步驟:</p><p>  設計輸入:可以采用原理圖輸入,HDL語言描述,EDIF網表輸入及波形輸入等幾種方式。</p>

66、<p>  編譯:先根據設計要求設定編譯參數和編譯策略,如器件的選擇,邏輯綜合方式的選擇等;然后根據設定的參數和策略對設計項目進行網表提取,邏輯綜合和器件適配,并產生報告文件,延時信息文件及編程文件,供分析,仿真和編程使用。</p><p>  仿真:仿真包括功能仿真,時序仿真和定時分析,可以利用軟件的仿真功能來驗證設計項目的邏輯功能是否正確。</p><p>  編程與驗證:

67、用經過仿真確認后的編程文件通過編程電纜配置PLD,加入實際激勵,檢查是否完成預定功能。</p><p>  在設計過程中,如果出現錯誤,則需要重新回到設計輸入階段,改正錯誤或調整電路后重復上述過程。</p><p><b>  5.3具體試驗過程</b></p><p>  5.3.1 第一次測試 </p><

68、p>  根據試驗箱的操作,分別用按鈕D12控制測頻/占空比的轉換,用D15控制清零,用D16 控制開始測量。最初的軟件調試工程,分別通過手動按鈕從0到7讀出顯示上的兩位十六進制數,從零到三所讀出的4個十六進制數組合在一起是Ns,四到七讀出的數組合在一起時Nx,分別把組合的數據轉化成十進制進行計算,得到所測頻率。 </p><p>  根據Fx=Fs*Nx/Ns,得到所測數據。</p>

69、;<p>  Fs=12mhz,f測=8hz。</p><p>  Fs=12mhz,f測=4hz</p><p>  Fs=12mhz,f測=64hz</p><p>  Fs=12mhz,f測=12mhz</p><p>  Fs=12mhz,f測=750khz</p><p>  Fs=12mhz,

70、f測=6mhz</p><p>  Fs=12mhz,f測=1.5mhz</p><p>  5.3.2 第二次計算</p><p>  根據此計算結果,我們可以知道在實驗箱里的程序是可行的。但是需要用單片機來實現我們的計算過程和控制。所以我們進行了單片機程序的編寫,希望通過按健控制直接從數碼管上讀出數據,但因為編寫匆忙,沒能設計小數點后面的</p>

71、<p>  顯示,對于小頻率的測試,誤差就相當大了。下面是再次測試的實現數據。</p><p>  有上面的測試結果可見,測試頻率可以高達50mhz,看來我們的程序是可行的,對于粗略的測試還是比較準確的。但是因為沒有小數顯示,對于頻率較低的測試,誤差就大了。所以有待改進。</p><p>  5.4 系統(tǒng)調試的方法</p><p>  本系統(tǒng)既含有FPGA

72、自編程硬件設計電路,又含有單片機控制電路,整個系統(tǒng)比較復雜,因此我們采用自底向上的調試方法,也就是先進行各個單元電路的軟件仿真和硬件調試,在各個單元電路調試好后再進行系統(tǒng)聯調,最后進行硬件的編程固化及系統(tǒng)的組裝。</p><p>  5.4.1 調試的軟/硬件</p><p>  (1) 系統(tǒng)設計開發(fā)軟件:MAX+plus Ⅱ 10.0,偉福6000(WAVE 6000 for windo

73、ws)。(2) 單片機及FPGA/CPLD調試設備:PIV計算機,偉福E6000L單片機仿真器及POD—8X5XP仿真頭,GW48-CK EDA實驗開發(fā)系統(tǒng)及EPF10K20TC144-4FPGA適配板,GWDVPB電子設計開發(fā)板單片機最小系統(tǒng),煒煌WH-500B程序編寫加密器,GDS-820S數字存儲示波器。</p><p>  5.4.2 系統(tǒng)的仿真結果</p><p>  FPGA測

74、試模塊中頻率/周期測量仿真圖如下圖所示。</p><p>  5.4.3 系統(tǒng)的硬件驗證 </p><p><b> ?、賳卧娐返恼{試 </b></p><p>  FPGA/CPLD測頻專用電路的調試:使用MAX+plus Ⅱ 10.0,計算機,GW48-CK EDA實驗開發(fā)系統(tǒng)等軟件和設備,對FPGA/CPLD測控電路進行VHDL程序的

75、調試,有關仿真以及編程下載,硬件測試等。</p><p><b> ?、诮y(tǒng)的聯合調試</b></p><p>  在各個單元電路調試好后即可進行系統(tǒng)聯調。</p><p><b> ?、劢y(tǒng)的硬件驗證</b></p><p>  系統(tǒng)聯合調試成功后,可將單片機程序通過編程器固化到單片機中并插入EDA實

76、驗開發(fā)系統(tǒng)中的單片機插座上,將VHDL設計經過綜合適配后的網表對CPLD/FPGA進行編程下載,輸入相關的信號,并進行有關性能指標的測試,直到滿足系統(tǒng)的設計要求為止。</p><p>  本設計的具體硬件驗證說明如下:</p><p>  本系統(tǒng)的顯示電路共設置了8個數碼管,前7個為數字顯示,另一個是測量狀態(tài)顯示。</p><p>  (1) 當顯示為P. 時,是復

77、位狀態(tài),此時數碼管全熄。</p><p>  (2) 當顯示為F時,是頻率測量狀態(tài),單位Hz,如果前面出現兩個小數點,則第二個小數點表示MHz。</p><p>  (3) 當顯示為P時,是周期測量狀態(tài),單位μs。</p><p>  (4) 當顯示為A時,是脈寬測量狀態(tài),單位μs。</p><p>  (5) 當顯示為B時,是占空比測量狀態(tài)

78、,單位%。 </p><p>  5.5 設計技巧分析</p><p>  (1) 在系統(tǒng)總體設計方面,充分利用單片機和FPGA/CPLD各自的優(yōu)勢,將測控的主體分配給FPGA/CPLD,既可滿足頻測對速度方面的要求和多I/O口的要求,同時利用單片機具有良好的人機接口和控制運算的功能,可以較簡單地實現鍵盤和顯示控制以及數據處理運算。</p><p>  (2) 在頻

79、率測量方面,由于采用了等精度測頻法,使該系統(tǒng)具有以下特點:① 相對測量誤差與被測頻率的高低無關;② 增大Tpr或fs可以增大Ns,減少測量誤差,提高測量精度;③ 測量精度與預置門寬度和標準頻率有關,與被測信號的頻率無關,預置門和常規(guī)測頻閘門時間相同而被測信號頻率不同的情況下,等精度測量法的測量精度不變。</p><p>  (3) 在顯示方面,首先采用串行動態(tài)顯示,節(jié)約了I/O口,簡化了驅動電路的設計。</

80、p><p>  5.6系統(tǒng)擴展思路 </p><p>  (1) 設計并制作系統(tǒng)工作的外圍電路:系統(tǒng)用方波信號源、直流工作電源。</p><p>  (2) 系統(tǒng)聯合調試成功后,可將單片機程序通過編程器固化到單片機中,將VHDL設計經過綜合適配后的網表對CPLD/FPGA進行編程下載,將整個系統(tǒng)的外圍電路設計制作印刷電路板</p><p><

81、;b>  參 考 文 獻</b></p><p>  譚會生,瞿遂春.EDA 技術綜合應用實例與分析[M].西安:西安電子科技大學出版社,2004.</p><p>  徐志軍,徐光輝.CPLD/FPGA的開發(fā)與應用[M].北京:電子工業(yè)出版社,2002.</p><p>  Altera Corporation Altera Digital Li

82、brary[M]. Altera,2002.</p><p>  王金明,楊吉斌.數字系統(tǒng)設計與Verilog HDL[M].北京:電子工業(yè)出版社,2002.</p><p>  Xilinx Inc.Data Book 2001.Xilinx[M],2001.</p><p>  譚會生.EDA 技術及應用[M].株洲工學院學報,2001,5.</p>

83、<p>  http://www.21IC.com\.....\ 21IC嵌入式系統(tǒng)的定義與發(fā)展[M].2003. </p><p>  [8] 譚會生,張昌凡.EDA技術及應用[M].西安:西安電子科技大學出版社,2001.</p><p>  [9] 張凱,林偉.VHDL實例剖析[M].北京:國防工業(yè)出版社,2004.</p><p>  [1

84、0] 曾繁態(tài),陳美金VHDL程序設計[M].北京:清華大學出版社,2003.</p><p><b>  致 謝</b></p><p>  在這次論文的過程中,才感覺到對知識掌握的欠缺,需要認真,細致,融會貫通才行,包括對word的使用。在這期間,非常感謝輔導老師范老師對我們耐心的指導,不厭其煩的給我們解答,利用休息時間給我們做論題。找資料給我們分析軟件以及硬件方面

85、的東西。在范老師的輔導下,我們順利地完成了此次論文。同時也要感謝王忠鋒老師為我們答難解疑。</p><p>  同時也要感謝同組同學對我的幫助,在他們的協(xié)作下完成了顯示電路版的制作。在電子產品的制作中,每一項工作的完成都是大家齊心協(xié)力的結果,再共同完成的過程中,我們也體會到了互助的快樂。在此過程中也鍛煉了我們收集資料,處理資料,篩選資料的能力。</p><p>  當然也要感謝閱讀論文的各

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論