課程設計-正文_第1頁
課程設計-正文_第2頁
課程設計-正文_第3頁
課程設計-正文_第4頁
課程設計-正文_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、目 錄第1章 緒論1 1.1任意波形發(fā)生器的功能.11.2任意波形發(fā)生器研究的意義1第2章 任意波形發(fā)生器的理論分析3 2.1 DDS的基本結構和原理3 2.2 DDS的技術特點5第3章 EDA基礎與FPGA設計原理7 3.1 EDA技術與PLD7 3.2 FPGA技術設計方法與流程9 3.3 Quartus II開發(fā)環(huán)境 與VHDL語言10第4章 系統(tǒng)方案設計及FPGA芯片選型13 4.1系統(tǒng)硬件結構圖13 4.2 FPGA芯片選取13第5章 VHDL硬件電路設計與時序仿真16 5.1系統(tǒng)結構設計和模塊劃分165.2各模塊的設計及時序16 5.3 時序仿真與分析21結束語28參考文獻29致

2、謝30第1章 概述1.1任意波形發(fā)生器的功能任意波形發(fā)生器具有其他信號源的信號生成能力,還可以通過各種編輯手段生成任意的波形采樣數(shù)據(jù),能方便地合成其他信號源不能生成的任意波形,從而滿足測試和仿真實驗的要求。幾乎所有電參量的測量都需要用到信號發(fā)生器。 從本質上看,測量是一個將客觀物理量轉換成測試信息量的變換過程。任意波形發(fā)生器的主要功能包括:(1)函數(shù)發(fā)生功能基礎實驗中,為了驗證電路功能、穩(wěn)定性和可靠性,需要給它施加理想波形,任意波形發(fā)生器能替代函數(shù)發(fā)生器提供正弦波、方波、三角波、鋸齒波等波形,還具有各種調(diào)制和掃頻能力。利用任意波形發(fā)生器的這一基礎功能就能滿足一般實驗的信號需求。(2)任意波形生

3、成運行在實際電子環(huán)境中的設備,由于各種干擾的存在以及環(huán)境的變化,實際電路中往往存在各種信號缺陷和瞬變信號,例如過脈沖、尖峰、阻尼瞬變、頻率突變等。任意波形發(fā)生器可以模擬這些特殊信號,以測試系統(tǒng)的實際性能。(3)信號還原功能在一些軍事、航空等領域,有些電路運行環(huán)境很難估計,在設計完成之后,在現(xiàn)實環(huán)境中還需要更進一步的實驗驗證,而有些實驗的成本很高或者風險性很大(如飛機試飛時發(fā)動機的運行情況),人們不可能重復作實驗來判斷所設計產(chǎn)品的可行性和穩(wěn)定性。此時,可以利用任意波形發(fā)生器的信號還原功能。在做一些高耗費、高風險實驗時,可以通過數(shù)字示波器把實際中用到的實際波形記錄下來,再通過計算機接口下載到任意波

4、形發(fā)生器,通過任意波形發(fā)生器還原實驗中的實際波形并加到設計電路中,做進一步的實驗驗證工作。1.2任意波形發(fā)生器研究的意義任意波形發(fā)生器(Arbitrary Waveform Generator,AWG)實際上是一種多波形的信號發(fā)生器,它不僅能產(chǎn)生正弦波、方波、三角波、斜波和指數(shù)波的常規(guī)波形,也可以表現(xiàn)出載波調(diào)試的多樣化,如:產(chǎn)生調(diào)幅、調(diào)頻、調(diào)相和脈沖調(diào)制等。更可以通過計算機軟件實現(xiàn)波形的編輯,從而生成用戶所需要的各種波形,以滿足各種實驗研究的需要。任意波形發(fā)生器是現(xiàn)代電子測試領域應用最為廣泛的通用儀器之一,它的功能遠比函數(shù)發(fā)生器強,可以產(chǎn)生各種理想及非理想的波形信號,對存在的各種波形都可以模擬

5、,廣泛應用于測試、通信、雷達、導航、宇航等領域。我國的電子電子測量技術起步較晚,雖然在一些領域取得了許多突破性的進展,但與世界先進水平相比,仍然存在很大差距。因此提高國內(nèi)電子測量儀器的研制水平,加強核心技術的研發(fā),對我國電子測量技術的發(fā)展,有著非常重要的意義。第2章 任意波形發(fā)生器的理論分析2.1 DDS的基本結構和原理DDS(Direct Digital Synthesis)設計思想是基于數(shù)值計算波形的抽樣值來實現(xiàn)頻率合成的。它主要包括數(shù)字器件和模擬器件量部分,由相位累加器、波形存儲器、數(shù)模轉換器和低通濾波器(LPF)組成。下面是其基本框圖:圖2.1 DDS基本結構DDS系統(tǒng)中的參考時鐘通常

6、由一個高穩(wěn)定度的晶體振蕩器來產(chǎn)生。頻率控制字,實際上是二進制編碼的相位增量值。相位累加器由加法器和寄存器級聯(lián)構成,它將寄存器的輸出反饋到加法器的輸入端實現(xiàn)累加的功能。在系統(tǒng)時鐘脈沖作用下,相位累加器不停的累加,即不停的查表。波形存儲器的輸出數(shù)據(jù)送到D/A轉換器,D/A轉換器將數(shù)字量形式的波形幅度值轉換成所要求合成頻率的模擬量形式信號,從而將波形重新合成出來。若波形存儲器中存放的是正弦波幅度量化數(shù)據(jù),那么D/A轉換器的輸出是近似正弦波的階梯波,需要后級的低通平滑濾波器進一步抑制不必要的雜波就可以得到頻譜比較純凈的正弦波信號。圖2.2所示為DDS各個部分的輸出信號。圖2.2 DDS各部分輸出波形以

7、正弦波為列,我們假設有一個頻率為的正弦信號: (2.1)現(xiàn)以采樣頻率對該信號進行抽樣,得到離散序列為: (2.2)其中為采樣周期。習慣上將式(2.2)寫成式(2.3)的形式: (2.3)式(2.3)對應的相位序列為: (2.4)該序列的顯著特性是線性,即相鄰樣值之間的相位增量是一常數(shù),且僅與信號頻率有關,當式(2.4)中的取1時得到量化相位增量為: (2.5)倘若我們將相位均勻量化等份,人為構造一個相位值: (2.6)并且使得,那么就可以得到如下關系: (2.7)根據(jù)以上原理,如果我們用變量構造一個量化序列: (2.8)然后完成到另一個序列的映射,即由構造序列: (2.9)將式(2.7)代入式

8、(2.9)可得: (2.10)對比式(2.3)跟式(2.10),我們不難發(fā)現(xiàn),其實就是信號經(jīng)過采樣頻率抽樣后的離散時間序列。在滿足奈圭斯特采樣定律的的條件下,即: (2.11)可以經(jīng)過D/A轉換和低通平滑濾波唯一地恢復出。可見,通過上述變換,變量將唯一地確定一個單頻模擬正弦信號: (2.12)該信號的頻率為: (2.13)式(2.13)就是DDS的基本方程,是利用DDS進行頻率合成的立足點。在實際的DDS應用中,一般取,為正整數(shù),于是DDS的基本方程可寫成: (2.14)由式(2.14)可以看出,當時,DDS系統(tǒng)輸出信號頻率最小,而這個最小頻率同時也是DDS系統(tǒng)的頻率分辨率: (2.15)對于

9、DDS系統(tǒng)從波形存儲器中讀數(shù)據(jù)的過程,我們可以將其看作是對波形存儲器中的波形數(shù)據(jù)再次采樣的過程,也就是說,DDS系統(tǒng)查表的過程就是從波形存儲器中二次采樣過程,一個周期內(nèi)查表的點數(shù)即為采樣的點數(shù)。DDS系統(tǒng)要恢復出原始波形,其在一個周期內(nèi)至少要取樣兩點,這是受我們一直都在強調(diào)的奈圭斯特采樣定理的限制。那么DDS系統(tǒng)在理論上能輸出的最大頻率是: (2.16)經(jīng)過以上的分析,我們得出以下幾點結論:(1)DDS系統(tǒng)的輸出頻率只與頻率控制字、系統(tǒng)時鐘頻率、相位累加器位數(shù)有關。在系統(tǒng)時鐘頻率和相位累加器位數(shù)固定時,通過改變頻率控制字的值,就可以方便地改變輸出信號的頻率。(2)DDS系統(tǒng)的頻率分辨率只與系統(tǒng)

10、的系統(tǒng)時鐘頻率和相位累加器位數(shù)有關。想要提高系統(tǒng)的分辨率,可以增加相位累加器位數(shù)或者是降低系統(tǒng)時鐘頻率。(3)DDS理論上最大輸出頻率不會超過系統(tǒng)時鐘頻率的二分之一,但在實際應用中,由于DDS系統(tǒng)中的低通濾波器非理想特性,由通帶到阻帶之間存在著一個過渡帶,工程中DDS最高輸出頻率只取到左右。2.2 DDS的技術特點DDS頻率合成器具有以下優(yōu)點:(1)頻率分辨率高,輸出頻點多,可達2N個頻點(假設DDS相位累加器的字長是N);(2)頻率切換速度快,可達us量級;(3)頻率切換時相位連續(xù);(4)可以輸出寬帶正交信號;(5)輸出相位噪聲低,對參考頻率源的相位噪聲有改善作用;(6)可以產(chǎn)生任意波形;(

11、7)全數(shù)字化實現(xiàn),便于集成,體積小,重量輕。但DDS也有比較明顯的缺點;(8)輸出信號的雜散比較大;(9)輸出信號的帶寬受到限制;DDS輸出雜散比較大這是由于信號合成過程中的相位截斷誤差、D/A轉換器的截斷誤差和D/A轉換器的非線性造成的。當然隨著技術的發(fā)展這些問題正在逐步的到解決。如通過增長波形ROM的長度以減小相位截斷誤差;通過增加波形ROM的字長和D/A轉換器的精度以減小D/A量化誤差等。也可在D/A轉換器的低位上加擾打破DDS輸出的周期性,從而把周期性的雜散分量打散使之均勻。30第3章 EDA基礎與FPGA設計原理3.1 EDA技術與PLD3.1.1 EDA技術EDA技術研究的對象是電

12、子設計的全過程,有系統(tǒng)級、電路級和物理級各個層次的設計;涉及的電子系統(tǒng)從低頻、高頻到微波,從線性到非線性,從模擬到數(shù)字,從通用集成電路到專用集成電路構造的電子系統(tǒng),因此EDA技術研究的范疇相當廣泛。EDA的實現(xiàn)是與可編程邏輯器件(PLD)的迅速發(fā)展息息相關的。PLD器件是80年代中后期興起的新型器件,其特點是具有用戶可編程的特性。利用PLD,電子系統(tǒng)設計工程師可以在實驗室中設計出專用IC,實現(xiàn)系統(tǒng)的集成,從而大大縮短了產(chǎn)品開發(fā)、上市的時間,降低了開發(fā)成本。此外,新型的PLD還具有靜態(tài)可重復編程或在線動態(tài)重構的特性,使硬件的功能可以像軟件一樣通過編程來修改,不僅使設計修改和產(chǎn)品升一級變得十分方便

13、,而且極大地提高了電子系統(tǒng)的靈活性和通用能力。隨著微電子技術的發(fā)展,可編程邏輯期間的品種越來越多,型號越來越復雜。每種器件都有各自的特征,不同器件之間又有許多共同點。了解PLD的分類情況,對于正確選用PLD非常重要。目前可編程器件尚無嚴格的分類標準,下面只介紹幾種常用的分類方法。(1)按集成度分類可編程邏輯器件按照集成度來分類可以劃分為低密度可編程邏輯器件(LDPLD)和高密度可編程邏輯器件(HDPLD)兩類,每一類都包含多種類型的PLD。一般以1000等效邏輯門和44個引腳為界,密度在1000等效邏輯們以上、引腳多于44個的PLD為高密度器件,否則為低密度器件。低密度PLD主要包括早期出現(xiàn)的

14、一些PLD,包括PROM、PLA、PAL和GAL等4種。高密度PLD包括EPLD、CPLD和FPGA等三種,其集成度高于LDPLD。隨著集成工藝的發(fā)展,HDPLD的集成密度不斷增加。至今為止,集成度最高的FPGA可達百萬門以上。(2)按編程特性分類可編程邏輯器件的功能信息是通過對器件編程存儲到可編程邏輯器件內(nèi)部的。根據(jù)各種PLD的結構和編程方式,可將PLD分為以下四類:熔絲(Fuse)或反熔絲(Antifuse)編程器件。UVEPROM編程器件,即紫外線擦寫、電氣編程的器件。EEPROM編程器件,即電擦寫編程的器件。SRAM器件,即基于靜態(tài)存儲器的器件。以上第類、第類和第類器件又被稱為非易失性

15、器件,它們在編程后,配置數(shù)據(jù)保存在器件上。第類器件又稱為易失性器件,甸次掉電后配置數(shù)據(jù)會丟失,在每次上電時需要進行重新配置。由于熔絲或反熔絲器件只能寫一次,編程后不能修改,所以又稱一次性編程器件(簡稱OTP器件)。相對而言其它種類的器件可以多次編程以對設計進行修改,所以又稱可多次編程器件。(3)按結構分類根據(jù)結構特點可將PLD劃分為簡單PLD、CPLD和FPGA三類。簡單PLD主要指早期的可編程邏輯器件,包括可編程只讀存儲器(PROM)、可編程邏輯陣列(PLA)、可編程陣列邏輯(PAL)和通用陣列邏輯(GAL)。它是由與門陣列、或門陣列組成,能夠以積之和的形式實現(xiàn)布爾邏輯函數(shù),因為任意一個組合

16、邏輯都可以用與或表達式來描述,所以簡單PLD能夠完成大量的組合邏輯功能,并且具有較高的速度和較好的性能。CPLD由GAL發(fā)展而來,可以看作是對原始可編程器件的擴充。它通常由大量可編程邏輯宏單元圍繞一個位于中心的、延時固定的可編程互聯(lián)矩陣組成。其中可編程邏輯宏單元結構較為復雜,具有復雜的I/O單元互聯(lián)結構,可根據(jù)用戶需要生成特定的電路結構,完成一定功能。眾多的可編程邏輯宏單元被分成若干邏輯塊,每個邏輯塊類似于一個簡單PLD??删幊袒ヂ?lián)矩陣根據(jù)用戶需要實現(xiàn)1/0單元與邏輯塊以及邏輯塊與邏輯塊之間的連線,構成信號傳輸?shù)耐ǖ?。FPGA通常包含3類可編程資源:可編程模塊、可編程I/O塊、可編程內(nèi)連線。可

17、編程邏輯塊排列成陣列,可編程邏輯塊排列成陣列,可編程內(nèi)連線圍繞著邏輯塊。FPGA通過對內(nèi)連線的編程,將邏輯塊有效的組合起來,從而實現(xiàn)用戶要求的特定功能。3.1.2常用EDA工具 (1)PROTEL是PROTEL公司在20世紀80年代末推出的EDA軟件,在電子行業(yè)的設計軟件中,它當之無愧地排在眾多軟件的前面,在國內(nèi)使用較早、普及率也最高,幾乎所有的電子公司都要用到它,是電子設計的首選軟件。其最新版本PROTEl2000,是個整板級全方位電子設計系統(tǒng),它包含了電路原理圖繪制、模擬一數(shù)字電路混合信號仿真、多層印刷電路板自動布線設計、可編程邏輯器件設計、電子圖表生成、支持宏操作等功能,并具有客戶服務器

18、(C比則Ser代r)體系結構,同時,還兼容其他EDA軟件的文件格式,其高密度多層印刷電路板自動布線設計,可實現(xiàn)100的布通率。(2)ORCAD是ORCAD公司在20世紀80年代末推出的EDA軟件,它是世界上使用最廣的、也是功能最強大的EDA軟件,由于ORCAD使用了軟件狗防止盜版,因此在國內(nèi)的使用并不普及,知名度也不及PROTEL。在ORCAD公司兼并CADENCE公司后,更成為世界上最強大的EDA軟件開發(fā)公司,它的ORCAD世紀集成版,包括了電路原理固繪制、印刷電路板設計、模擬一數(shù)字電路混合信號仿真、可編程邏輯器件設計等功能,它的電路仿真的元器件庫收入了幾乎所有的通用型電子元器件模塊,強大的

19、功能致使其售價高昂,在北美即接近8000美元。(3)SPICE是最早出現(xiàn)的EDA軟件之一,于1985年由MICROSIM公司推出,在電路仿真方面,它的功能可以說員為強大,在國內(nèi)被普遍使用?,F(xiàn)在該公司雖已被并于oRCAD,但PSPICE仍然單獨銷售和使用,新推出的版本為PSPICE91,是功能強大的模擬一數(shù)字電路混合仿真軟件,它可以進行各種各樣的電路仿真、激勵建立、溫度與噪聲分析、模擬控制、波形輸出、數(shù)據(jù)輸出,可在同一個窗口內(nèi)同時顯示模擬與數(shù)字的仿真結果,無論對哪種器件的哪些電路進行仿真,包括脈寬調(diào)制電路、模數(shù)轉換電路、數(shù)模轉換電路、IGBT等都可以得到精確的仿真結果,對于庫中沒有的元器件模塊,

20、還可以自己竭輯添加。3.2 FPGA技術設計方法與流程一個完整的FPGA設計流程包括電路設計與輸入、功能仿真、綜合后仿真、實現(xiàn)、布線后仿真和下板調(diào)試等主要步驟。其中電路設計與輸入是根據(jù)工程師的設計方法將所設計的功能描述給EDA軟件。常用的輸入方法有硬件描述語言(HDL) 和原理圖設計輸入方法。原理圖設計輸入法在早期應用比較廣泛,它根據(jù)設計要求,選用器件、繪制原理圖、完成輸入過程。這種方法的優(yōu)點是直觀、便于理解、元件庫資源豐富。但是在大型設計中,這種方法的可維護性較差,不利于模塊建設與重用。更主要的缺點是:當所選用芯片升級換代后,所有的原理圖都要作相應的改動。目前進行大型工程設計時,更常用的設計

21、方法是HDL設計輸入法。其中影響最為廣泛的HDL語言是VHDL和Verilog-HDL。它們的共同特點是利于自上而下的設計。利于模塊的劃分與復用,可移植性好,通用性好,設計不因芯片的工藝與結構的變化而變化,更利于向定制的ASIC移植。波形輸入和狀態(tài)圖輸入方法是兩種常用的輔助設計輸入方法。使用波形輸入法時,只要繪制出激勵波形和輸出波形,EDA軟件就能自動地根據(jù)相應關系進行設計。而使用狀態(tài)圖輸入法時,設計者只需畫出狀態(tài)轉意圖,EDA軟件就能生成相應的HDL代碼或者原理圖,使用十分方便。電路設計完成后,要用專用的仿真工具對設計進行功能仿真,驗證電路是否符合設計要求。功能仿真有時也被稱為前仿真。通過仿

22、真能及時發(fā)現(xiàn)設計中的錯誤,加快設計進度,提高設計的可靠性。綜合優(yōu)化(synthesize)是指將HDL語言、原理圖等設計輸入翻譯成由與、或、非門,RAM,寄存器等基本邏輯單元組成的邏輯連接(網(wǎng)表),并根據(jù)目標與要求(約束條件)優(yōu)化成所生成的邏輯連接,輸出edf和edn等文件,供FPGA/CPLD廠家的布局布線器進行實現(xiàn)。綜合完成后需要檢查綜合結果是否與原設計一致,需要做綜合后仿真。在仿真時,把綜合生成的延時文件反標到綜合仿真模型中,可估計門延時帶來的影響。綜合后仿真與布線后的實際情況還有一定的差距,并不十分準確。這種仿真的主要目的是在于檢查綜合器的綜合結果是否與設計輸入一致。綜合結果的本質是一

23、些由與、或、非門,觸發(fā)器,RAM等基本邏輯單元組成的邏輯網(wǎng)表,它與芯片實際的配置情況還有較大差距。此時應該使用FPGA/CPLD廠商提供的工具軟件,根據(jù)所選芯片的型號,將綜合輸出的邏輯網(wǎng)表適配到具體FPGA/CPLD器件上,這個過程就叫做實現(xiàn)。一般實現(xiàn)分為翻譯(Translate)、映射(Map)、布局布線(plaee&Route)等三個步驟。因為只有器件開發(fā)商最了解器件的內(nèi)部結構,所以實現(xiàn)步驟必須選用器件開發(fā)商提供的工具軟件。3.3 Quartus II開發(fā)環(huán)境 與VHDL語言Altera公司上一代的PLD開發(fā)軟件使用者眾多。目前Altera已經(jīng)停止開發(fā)Maxplus II,而轉向Q

24、uartus II軟件平臺。利用Quartus II 9.0開發(fā)系統(tǒng)對ALTERA FPGA的設計輸入方法有很多種,可以靈活選擇使用,以下介紹三種輸入方法:(1)原理圖輸入:這是一種最直觀的輸入方法,用ALTERA應用軟件Quartus II 9.0提供的各種原理圖庫進行設計輸入。這種方法看起來非常直觀,易于電路的調(diào)整及觀察。(2)硬件描述語言輸入:ALTERA應用軟件支持VHDL、Verilog_HDL及AHDL等各種語言描述。語言描述的優(yōu)點是效率高,信號觀察也很方便。(3)網(wǎng)表輸入:對于在其它軟件系統(tǒng)上設計的電路,可以采用這種方法,而不必重新輸入,ALTERA應用軟件支持的網(wǎng)表有EDIF格

25、式、VHDL格式及Verilog格式等。這種方法的優(yōu)點是可以充分利用現(xiàn)有的設計資源,但不易仿真及信號觀測。本設計主要采用VHDL語言描述方發(fā),VHDL的英文全名是Very-High-Speed Integrated Circuit Hardware,Description Language,誕生于1982年。1987年底,VHDL被IEEE和美國國防部確認為標準硬件描述語言。是電子系統(tǒng)硬件行為描述、結構描述、數(shù)據(jù)流描述的語言,目前利用硬件描述語言可以進行數(shù)字電子系統(tǒng)的設計。VHDL主要用于描述數(shù)字系統(tǒng)的結構、行為、功能和接口。VHDL的程序結構特點是將一項工程設計,或稱設計實體(可以是一個元件

26、,一個電路模塊或一個系統(tǒng))分成外部(或稱可是部分,及端口)和內(nèi)部(或稱不可視部分),既涉及實體的內(nèi)部功能和算法完成部分。在對一個設計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設計就可以直接調(diào)用這個實體。這種將設計實體分成內(nèi)外部分的概念是VHDL系統(tǒng)設計的基本特點。以硬件描述語言表達設計意圖、FPGA作為硬件載體、計算機為設計開發(fā)工具、EDA軟件作為開發(fā)環(huán)境的現(xiàn)代電子設計方法日趨成熟。VHDL語言的程序結構。一個VHDL程序包含實體(Entity)、結構體(Architecture)、配置(Configuration)、包集合(Package)、庫(Library)5個部分。實體是一個V

27、HDL程序的基本單元,由實體說明和結構體兩部分組成。實體說明用于描述設計系統(tǒng)的外部接口信號,結構體用于描述系統(tǒng)的行為、系統(tǒng)數(shù)據(jù)的流程或者系統(tǒng)組織結構形式。配置用于從庫中選取所需單元來組成系統(tǒng)設計的不同規(guī)格的不同版本,使被設計系統(tǒng)的功能發(fā)生變化。包集合存放各設計模塊能共享的數(shù)據(jù)類型、常數(shù)、子程序等。庫用于存放已編譯的實體、結構體、包集合、配置。庫有兩種,一種是用戶自行生成的IP庫,有些集成電路設計中心開發(fā)了大量的工程軟件,有不少好的設計范例,可以重復引用,所以用戶自行建庫的專業(yè)EDA公司的重要任務之一。另一類是PLD,ASIC芯片制造商提供的庫。比如常用的74系列芯片,RAM,ROM控制器,Co

28、unter計數(shù)器等標準模塊。用戶可以直接引用,而不必從頭編寫。實體說明描述功能定義行為描述數(shù)據(jù)流程系統(tǒng)結構設計實體結構體描述設計實體結構體1結構體N 圖3.1 VHDL程序設計構成VHDL程序設計構成如圖3.1所示。設計實體是VHDL程序的基本單元,是最重要的電子系統(tǒng)抽象。它可以代表整個電子系統(tǒng)、一塊電路板或一枚芯片,簡單的可以是一個與門電路,復雜的可以是一個微處理器或一個數(shù)字電子系統(tǒng)。VHDL程序由兩部分組成:第一部分為實體說明,第二部分為結構體。VHDL程序結構更抽象、更基本、更簡練的表示。設計實體由關鍵字Entity來標識,結構由Architecture來標識。一個電路系統(tǒng)的程序設計只有

29、一個實體,可以有多個結構體。系統(tǒng)設計中的實體提供該設計系統(tǒng)的公共信息,結構體定義各個模塊內(nèi)的操作特性。一個設計實體至少包含一個結構體或多個結構體,構成一個電子系統(tǒng)的設計模型。第4章 系統(tǒng)方案設計及FPGA芯片選型4.1系統(tǒng)硬件結構圖硬件整體設計框圖如圖4.1所示:單片機89C51復位電路振蕩電路鍵盤輸入FPGADAC0832低通濾波時鐘電路LCD顯示輸出圖4.1 硬件整體設計框圖整個系統(tǒng)設計分為控制電路和數(shù)據(jù)處理電路兩大部分,控制電路以Intel公司的89S51單片機為核心,加上一些外圍電路組成,主要完成人機對話、數(shù)據(jù)接口、顯示信息以及控制數(shù)據(jù)處理電路工作等功能。數(shù)據(jù)處理電路以Altera公司

30、的FPGA芯片為核心,結合D/A轉換器以及低通濾波器,實現(xiàn)DDS數(shù)據(jù)處理和波形輸出。整個系統(tǒng)的工作過程是:首先單片機通過鍵盤輸入得到命令,然后將要生成波形的參數(shù)數(shù)據(jù)送入FPGA芯片,最后控制啟動FPGA芯片工作。FPGA芯片完成DDS數(shù)據(jù)處理功能。將波形幅值數(shù)據(jù)送入D/A轉換器,實現(xiàn)任意波形的輸出。4.2 FPGA芯片選取在本設計中,F(xiàn)PGA芯片主要起著DDS數(shù)據(jù)處理及波形生成的作用,另外因為單片機采用標準總線的方式進行擴展,配合該總線方式需要一個外部鎖存器。這個外部鎖存器做在FPGA中。在實現(xiàn)DDS功能時,F(xiàn)PGA由硬件編程的方法實現(xiàn)。通過利用單片機對FPGA的頻率控制寄存器、相位控制寄存器

31、、波形切換寄存器等進行控制,達到輸出不同頻率、幅值的任意波形的目的。Altera的Cyclone系列具有高性價比的優(yōu)勢,價格足以和ASIC以及ASSP相競爭。器件具備大批量應用特性,包含嵌入式存儲器、外部存儲器接口和時鐘管理電路等。 EP1C6芯片是Altera公司Cyclone系列FPGA中的一種,其內(nèi)部結構如圖4.2所示。Cyclone FPGA系列器件基于0.3nm1.5V、全銅SRAM工藝制造,器件密度達到了5980個邏輯單元,擁有288K比特容量的片內(nèi)RAM,并提供了多個用來管理板級時鐘網(wǎng)絡的全功能鎖相環(huán)以及同工業(yè)標準外部存儲器件相連的專用I/O接口。Altrera的Nios嵌入式處

32、理器和豐富的IP庫也可以用于Cyclone器件的開發(fā),該系列器件在設計之初就充分考慮了成本的節(jié)省,從而對價格敏感的應用提供了全新的可編程解決方案。Altrera公司還提供了新的低成本串行配置器件,用來對Cyclone器件進行配置。Cyclone系列器件的主要特點如下:擁有5980個邏輯單元; 高達92160比特的RAM空間;支持低成本的串行配置器件;支持LVTTL、VCMOS、STL-2和SSTL-3 I/O標準;支持66/33Mhz,64/32位PCI標準;支持高速(640Mb/s)LVDS I/O接口;每個器件最多擁有2個鎖相環(huán),用于實現(xiàn)時鐘倍頻和相移等功能;支持高速外部存儲,包括DDR、

33、SDRAM(133MHZ)、FCRAM以及單倍數(shù)據(jù)速率(SDR)SDRAM等;支持多種由Altrera公司及其第三方合作伙伴提供的IP功能模塊。圖4.2 EP1C6內(nèi)部結構圖表4.1Cyclone系列器件的性能特點特性EP1C3EP1C4EP1C6EP1C12EP1C20邏輯單元(LE) 2,9104,0005,98012,06020,060M4K RAM塊(4Kbit奇偶校驗)1317205264總RAM位59,90478,33692,160239,616294,912鎖相環(huán)(PLL)12222最大用戶I/O數(shù)104301185249301差分通道 3412972103129基于C

34、yclone器件的上述優(yōu)點,它能夠提供片上RAM和PLL,功耗較低,所以這次設計選擇了EP1C6Q240C8芯片作為DDS處理的FPGA芯片。該芯片具有5980個LE、2個PLL、能夠提供92160位RAM、185個I/O引腳和多個特殊功能輸入引腳,完全能夠滿足設計的需要,并可為未來的升級和程序擴展提供足夠的空間。第5章 VHDL硬件電路設計與時序仿真5.1系統(tǒng)結構設計和模塊劃分FPGA設計采用自上而下的設計方法。設計開始時先劃分確定整體機構,將設計劃分為若干個小模塊,然后一一實現(xiàn)這些模塊的功能,最后將這些模塊組合起來,實現(xiàn)整個FPGA預訂功能。圖5.1位FPGA整體設計框圖圖5.1為FPGA

35、整體結構設計框圖5.2各模塊的設計及時序5.2.1 DDS處理模塊在本系統(tǒng)中,按照具體功能的劃分,DDS數(shù)據(jù)處理模塊可分為地址發(fā)生器子模塊和波形數(shù)據(jù)存儲子模塊。(1)地址發(fā)生器子模塊地址發(fā)生器子模塊電路如圖5.2所示。圖5.2 地址發(fā)生器模塊電路地址發(fā)生器子模塊包含相位累加器和相位控制器,其中相位累加器是一個帶有累加功能的加法器adder8k,接受dff1反饋回來的數(shù)值與K不斷的累加,其數(shù)值送入寄存器寄存。K位頻率控制字,可以作為步長來進行加法運算,由DDS原理可知,通過控制頻率控制字K就可以方便地控制輸出頻率。相位控制器寄存器dff1,在系統(tǒng)時鐘的控制下,把相位送入quwei寄存器進行寄存。

36、 quwei寄存器后面接了T觸發(fā)器,低電頻有效。當T位地點頻時,就把寄存器地址值輸出。圖5.3波形選擇模塊電路 我們設定了正弦波sin_rom,方波triangle_ROM,鋸齒波square_ROM模塊,生成三種波形的數(shù)值T觸發(fā)器的輸出地址值分別送入三個波形產(chǎn)生ROM模塊,從而生成相應波形數(shù)據(jù)。mux3_1位三路選擇器,當en為1時,輸出正弦波的數(shù)值。當en為2時,輸出為方波的值。當en為3時,輸出的就是方波。(2)相位加法器電路相位加法器電路符號如圖5.4所示圖5.4 位加法器電路符號 adder8b接受dff1反饋回來的相位與K進行累加,從而輸出累加后的相位。VHDL程序如下:archi

37、tecture art of adder8b issignal si:std_logic_vector(12 downto 0);signal ai:std_logic_vector(3 downto 0);signal bi:std_logic_vector(12 downto 0);beginai<='0'&a;bi<='0'&b;si<=ai+bi;s<=si(11 downto 0);wr<='0'cs<='0'end architecture art;圖5.5加法器時序

38、仿真(3)相位控制電路相位控制器電路如圖5.6所示:圖5.6相位控制器時序真VHDL程序如下:architecture func of dff1 issignal q1 : std_logic_vector (11 downto 0);begin process(clk1,q1,d) begin if clk1'event and clk1 ='1' then q1 <= d ; end if; end process; q_1<=q1;end func;圖5.7相位控制器時序仿真(4)寄存器寄存器電路符號如圖5.8所示:圖5.8 寄存器電路符號 VHDL程

39、序如下:earchitecture behav of quwei isbeginqout(8 downto 0)<=qin(11 downto 3);end behav;5.2.2 波形存儲模塊波形ROM采用LPM定制而成。LPM是參數(shù)可設置模塊庫(Library of Parameterized Modules)的英語縮寫,Altera提供的可參數(shù)化宏功能模塊和LPM函數(shù)均基于Altera器件的結構做了優(yōu)化設計。在許多實用情況中,必須使用宏功能模塊才可以使用一些Altera特定器件的硬件功能。圖5.9為在LPM_ROM定制過程中選擇波形ROM的數(shù)據(jù)線和地址線寬度 圖5.9 在LPM_R

40、OM定制過程中選擇波形ROM的數(shù)據(jù)線和地址線寬度 在LPM_ROM中,我們可以設計正玄波,方波,三角波以及鋸齒波的數(shù)據(jù)線和地址寬度。列如,當某ROM的數(shù)據(jù)寬位8位,地址寬位7位,即可放置128個8位數(shù)據(jù)。我們建立一個(.mif)格式的波形存儲數(shù)據(jù)庫,LPM_ROM對加載MIF文件,就可以在對應的波形存儲模塊中進行讀取。5.3 時序仿真與分析5.3.1 建立仿真在Quartus II的Block Editor中,一一調(diào)出已經(jīng)設計好的各個模塊(模塊“adder8b”、模塊“dff1”、模塊“quwei”、模塊“TJ” 模塊“dff1”、 等),根據(jù)Quartus II的Block Editor的設

41、計要求和本設計的要求進行連線、加輸入輸出腳。最終的仿真實體如圖5.10所示:圖5.10 FPGA仿真實體圖5.3.2時序仿真與結果分析(1)在ROM配置為正弦數(shù)據(jù)的情況下的時序仿真圖圖5.11 Guagle_wave正弦波波形圖5.11為我們在Guagle_wavez中設定正弦波的波形,其數(shù)據(jù)長度為256,數(shù)據(jù)寬度為8位,采用十六進制制格式,從圖中可以看出橫坐標的最大值為256對應我們的數(shù)據(jù)長度。我們把它設置文件名為(.mif)格式。在我們的Quartus II軟件中就會配置生成一個正弦函數(shù)數(shù)據(jù)表,如圖5.12所示5.12正弦波ROM數(shù)據(jù)表圖5.13正弦波時序輸出圖 圖5.13為正弦波的時序輸

42、出,在這里我們的時鐘設置為100ns,頻率為10MHz,k值為1,時能信號en為0,從圖中我們可以看出,p_out的值在不斷的增加,當加到峰值7F時,然后再遞減,逐漸減直到位零。這就一個正弦波的周期,7F時數(shù)據(jù)很寬,因為在波峰和波谷是曲線的斜率接近幾乎為零,然后兩邊慢慢遞增和遞減,從而數(shù)據(jù)寬度在慢慢減小,當減小到斜率為1時,然后再遞增。從零到峰值再到零就位一個完整的正弦波。其值在圖5.16中都能找到,而且與之對應,結果與我們所預期的基本相符,因此,該波形發(fā)生器達到要求并可以輸出正弦波。通過DA轉換器,濾波器濾波后就能在示波器上顯示出來。(2)在ROM配置為方波數(shù)據(jù)的情況下的時序仿真圖5.14 Guagle_wave方波波形圖5.14為我們在Guagle_wavez中設定方波的波形,其數(shù)據(jù)長度為256,數(shù)據(jù)寬度為8位,采用十六進制制格式,從圖中可以看出橫坐標的最大值為256對應我們的數(shù)據(jù)長度。整個周期內(nèi)只有兩個數(shù)值,一高一低,跟我們的時類似,把它設置文件名為(.mif)格式。在我們的Quartus II軟件中就會配置生成一個方波數(shù)據(jù)表,如圖5.15所示圖5.15方波ROM數(shù)據(jù)表圖5.16方波時序輸出圖圖5.16為方波的時序輸出,在這里我們的時鐘設置為100ns,頻率為10MHz,k值為1,時能信號en為2,從圖中可以看出,開始時輸出

溫馨提示

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

評論

0/150

提交評論