數(shù)控脈沖寬度調(diào)制信號發(fā)生器課程設計報告1_第1頁
已閱讀1頁,還剩25頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  摘要: 本設計采用EDA技術,通過FPGA芯片實現(xiàn)了數(shù)控脈沖寬度調(diào)制信號發(fā)生器的設計,本文采用Verilog 硬件描述語言來說明電路,完成對電路的功能仿真。通過D觸發(fā)器及兩個可加載8位計數(shù)器lcnt8.v實現(xiàn)本設計。與傳統(tǒng)的設計方式相比,本設計由于采用了FPGA芯片來實現(xiàn),它將大量的電路功能集成到一個芯片中,并且可以由用戶自行設計邏輯功能,提高了系統(tǒng)的集成度和可靠性。</p><p>  關

2、鍵詞:EDA技術、FPGA芯片、硬件描述語言、信號發(fā)生器</p><p>  Abstract: This design uses the EDA technology, through the FPGA chip to realize numerical control pulse width modulation signal generator design, the use of Verilog hard

3、ware description language to describe the circuit circuit, complete function simulation. Through the D trigger and two can be loaded in 8bit counter lcnt8.v to achieve the design. Compared with traditional design methods

4、, the design adopts FPGA chip to achieve, it will be a large number of circuit functions are integrated into on</p><p>  Keywords: EDA technology, FPGA chips, hardware description language, Signal generator

5、</p><p><b>  前言</b></p><p><b>  目錄</b></p><p><b>  前 言1</b></p><p>  1 EDA技術發(fā)展及VHDL 簡介2</p><p>  1.1 EDA技術的介紹2&l

6、t;/p><p>  1.2 EDA技術的發(fā)展2</p><p>  1.3 EDA技術的發(fā)展趨勢3</p><p>  1.4 VHDL簡介3</p><p>  2 總體方案設計4</p><p><b>  2.1設計內(nèi)容4</b></p><p>  

7、2.2設計方案比較4</p><p><b>  2.3方案論證5</b></p><p><b>  2.4方案選擇6</b></p><p>  3 特殊器件的介紹7</p><p>  3.1 CPLD器件介紹7</p><p>  3.2 FPGA器件介紹

8、7</p><p>  3.3 EP1K30TC144器件介紹8</p><p>  4 單元模塊設計9</p><p>  4.1 供電電路9</p><p>  4.2 PS配置電路10</p><p>  4.3有源晶振電路11</p><p>  4.4 八位計數(shù)器輸入電路

9、11</p><p>  4.5 D觸發(fā)器電路12</p><p>  5 最小系統(tǒng)原理圖13</p><p>  6 軟件實現(xiàn)14</p><p>  6.1軟件設計14</p><p>  6.2思考題擴展16</p><p>  7 系統(tǒng)仿真及調(diào)試20</p>

10、;<p><b>  7.1仿真20</b></p><p><b>  7.2 調(diào)試21</b></p><p><b>  8 總結23</b></p><p>  9 參考文獻24</p><p><b>  前 言</b&g

11、t;</p><p>  隨著電子技術的發(fā)展,人們的生活水平和質(zhì)量不斷提高,生活設備的智能化程度也越來越高,這些都離不開電子產(chǎn)品的進步?,F(xiàn)代電子產(chǎn)品在性能提高、復雜度增大的同時,價格卻一直呈下降趨勢,而且產(chǎn)品更新?lián)Q代的步伐也越來越快,實現(xiàn)這種進步的主要因素是生產(chǎn)制造技術和電子設計技術的發(fā)展。前者以微細加工技術為代表,目前已進展到深亞微米階段,可以在幾平方厘米的芯片上集成數(shù)千萬個晶體管。后者的核心就是EDA技術,E

12、DA是指以計算機為工作平臺,融合應用電子技術、計算機技術、智能化技術最新成果而研制成的電子CAD通用軟件包,主要能輔助進行三方面的設計工作:IC設計,電子電路設計,PCB設計。</p><p>  本次課程設計是基于FPGA/CPLD數(shù)控脈沖寬度調(diào)制信號發(fā)生器實現(xiàn),該系統(tǒng)主要模塊有:時鐘產(chǎn)生電路模塊、JTAG編程連接模塊、電源電路模塊,通過連線將各個模塊進行連接成最小系統(tǒng),系統(tǒng)精簡,實現(xiàn)方便且功能強大,比起傳統(tǒng)的

13、信號發(fā)生器有著比較明顯的優(yōu)勢。</p><p>  本設計立足系統(tǒng)可靠性及穩(wěn)定性等高技術要求,采用FPGA芯片實現(xiàn)數(shù)控脈沖寬度調(diào)制信號發(fā)生器的FPGA/CPLD設計,其電路設計比較簡單,外圍電路少,易于控制和檢查,較傳統(tǒng)的分離元件實現(xiàn)方式有著明顯的優(yōu)勢,尤其是其設計電路實現(xiàn)周期,其抗干擾及調(diào)試過程都很簡單。</p><p>  1 EDA技術發(fā)展及VHDL 簡介</p>&

14、lt;p>  1.1 EDA技術的介紹</p><p>  EDA是電子設計自動化(Electronic Design Automation)縮寫,是90年代初從CAD(計算機輔助設計)、CAM(計算機輔助制造)、CAT(計算機輔助測試)和CAE(計算機輔助工程)的概念發(fā)展而來的。EDA技術是以計算機為工具,根據(jù)硬件描述語言HDL( Hardware Description language)完成的設計

15、文件,自動地完成邏輯編譯、化簡、分割、綜合及優(yōu)化、布局布線、仿真以及對于特定目標芯片的適配編譯和編程下載等工作。</p><p>  硬件描述語言HDL是相對于一般的計算機軟件語言,如:C、PASCAL而言的。HDL語言使用與設計硬件電子系統(tǒng)的計算機語言,它能描述電子系統(tǒng)的邏輯功能、電路結構和連接方式。設計者可利用HDL程序來描述所希望的電路系統(tǒng),規(guī)定器件結構特征和電路的行為方式;然后利用綜合器和適配器將此程序編

16、程能控制FPGA和CPLD內(nèi)部結構,并實現(xiàn)相應邏輯功能的的門級或更底層的結構網(wǎng)表文件或下載文件。目前,就FPGA/CPLD開發(fā)來說,比較常用和流行的HDL主要有ABEL-HDL、AHDL和VHDL。 </p><p>  1.2 EDA技術的發(fā)展</p><p>  可將EDA技術分為三個階段。</p&g

17、t;<p> ?。?)七十年代為CAD階段,人們開始用計算機輔助進行IC版圖編輯、PCB布局布線,取代了手工操作,產(chǎn)生了計算機輔助設計的概念。</p><p> ?。?)八十年代為CAE階段,與CAD相比,除了純粹的圖形繪制功能外,又增加了電路功能設計和結構設計,并且通過電氣連接網(wǎng)絡表將兩者結合在一起,實現(xiàn)了工程設計,這就是計算機輔助工程的概念。CAE的主要功能是:原理圖輸入,邏輯仿真,電路分析,自

18、動布局布線,PCB后分析。</p><p> ?。?)九十年代為ESDA階段,盡管CAD/CAE技術取得了巨大的成功,但并沒有把人從繁重的設計工作中徹底解放出來。在整個設計過程中,自動化和智能化程度還不高,各種EDA軟件界面千差萬別,學習使用困難,并且互不兼容,直接影響到設計環(huán)節(jié)間的銜接。基于以上不足,人們開始追求:貫徹整個設計過程的自動化,這就是ESDA即電子系統(tǒng)設計自動化。</p><p

19、>  1.3 EDA技術的發(fā)展趨勢</p><p>  目前的EDA產(chǎn)業(yè)正處在一場大變革的前夕,對更低成本、更低功耗的無止境追求和越來越短的產(chǎn)品上市壓力正迫使IC供應商提供采用0.13μm或以下的千萬門級的系統(tǒng)芯片,而這些系統(tǒng)芯片的高復雜性設計更加依賴于EDA供應商提供全新的設計工具和方法以實現(xiàn)模擬前后端、混合信號和數(shù)字電路的完全整合。然而,這些新的需求為當代EDA工具和設計方法帶來了不少新的挑戰(zhàn)與機會。

20、</p><p>  例如,如何在工藝上防止模擬電路與數(shù)字電路之間的干擾;現(xiàn)有的大部份EDA工具最多只能處理百萬門級設計規(guī)模,隨著IC設計向千萬門級以上規(guī)模發(fā)展,現(xiàn)有EDA工具和方法必須進行升級。如何融合各EDA供應商的工具,以便向IC設計界提供更高效能和更方便的RTL-to-GDSII或Conc-ept-to-GDSII整合設計環(huán)境;為保證深亞微米(0.13μm或以下)和更低內(nèi)核工作電壓(1.8V或以下)時代的

21、信號完整性和設計時序收斂,必須采用新的設計方法。</p><p>  半導體工藝的每一次躍升都促使EDA工具改變自己,以適應工藝的發(fā)展;反過來EDA工具的進步又推動設計技術的發(fā)展??梢哉fEDA工具是IC設計產(chǎn)業(yè)的背后推手。</p><p>  系統(tǒng)芯片(SOC)正在迅速地進入主流產(chǎn)品的行列。由此引發(fā)的“芯片就等于整機”的現(xiàn)象,將對整個電子產(chǎn)業(yè)形成重大的沖擊。種種跡象表明,整個電子產(chǎn)業(yè)正在醞

22、釀著一場深刻的產(chǎn)業(yè)重組,這將為許多新興的企業(yè)提供進入這一行業(yè)的最佳。</p><p>  1.4 VHDL簡介</p><p>  QuartusⅡ是 Altera 提供的 FPGA/CPLD 開發(fā)集成環(huán)境, Altera 是世界上最 大的可編程邏輯器件供應商之一。QuartusⅡ是在 21 世紀初推出,是 Altera 前 一代 FPGA/CPLD 集成開發(fā)環(huán)境 MAX+plus Ⅱ的

23、更新?lián)Q代產(chǎn)品,其界面友好,使用 環(huán)境便捷。它提供了一種與結構無關的設計環(huán)境,使設計者能方便地進行設計輸 入、快速處理和器件編程。</p><p>  QuartusⅡ設計工具完全支持 VHDL、Verilog 的設計流程,其內(nèi)部嵌有 VHDL、 Verlog 邏輯綜合器。QuartusⅡ包括模塊化的編譯器。編譯器包括 的功能模塊 有分析/綜合器(Analysis & Synthesis)、適配器(Fitt

24、er)、裝配器(Assembler)、 時序分析器( Timing Analyzer)、設計輔助模塊( Design Assistant)、EDA 網(wǎng) 表文件生成器( EDA Netlist Writer)、編輯數(shù)據(jù)接口( Compiler Database Interface)等??梢酝ㄟ^選擇 Start Compilation 來運行所有的編譯器模塊, 也可以通過選擇 Start 來單獨運行各個模塊。還可以通過選擇 Compiler

25、 Tool。 </p><p><b>  2 總體方案設計</b></p><p><b>  2.1設計內(nèi)容</b></p><p>  設計一個能夠均勻輸出給定占空比的脈沖寬調(diào)制信號,通過兩個可加載8位計數(shù)器lcnt8.v實現(xiàn)本設計。若初始時D觸發(fā)器輸出為高電平時, U1不能加載A,若已復位只能完成0到255的加

26、計數(shù),在計到255時產(chǎn)生輸出cao1,經(jīng)反相后異步清除d觸發(fā)器,經(jīng)反相后,ld1變高,使u1完成加載A,但只能保持加載狀態(tài),直到u2計數(shù)完成,產(chǎn)生cao2使d觸發(fā)器輸出高電平,ld1變低,u1開始從A的加計數(shù),計到255后,產(chǎn)生輸出cao1,經(jīng)反相后異步清除d觸發(fā)器,如此循環(huán)。D觸發(fā)器輸出高電平使u2加載,但持續(xù)的高電平維持加載使u2計數(shù)狀態(tài)維持在B,只有當d觸發(fā)器清除后,u2開始從B的加計數(shù),計到255后產(chǎn)生輸出cao2,使D觸發(fā)器輸

27、出為高電平,如此循環(huán)。</p><p><b>  2.2設計方案比較</b></p><p>  方案一:由單片機AT89S52來實現(xiàn)數(shù)控脈沖寬度調(diào)制信號發(fā)生器的設計,外圍電源采用+5V電源供電,時鐘由12MHZ的晶振產(chǎn)生,中央處理器由AT89S52單片機來完成,設計中高低電平持續(xù)時間由輸入A、B與255的差值控制。這種方案,結構簡單容易掌握,各部分電路實現(xiàn)起來都非

28、常容易,在傳統(tǒng)的設計中也應用得較為廣泛,技術成熟。其原理框圖如下圖2-1所示:</p><p>  圖2-1單片原理實現(xiàn)框圖</p><p>  方案二:基于現(xiàn)場可編程邏輯門陣列FPGA,通過EDA技術,采用Verilog HDL硬件描述語言實現(xiàn)數(shù)控脈沖寬度調(diào)制信號發(fā)生器設計。程序設計思想為:對輸入信號A、B采用不同的八位二進制代碼表示高低電平持續(xù)時間,由時鐘上沿觸發(fā)加計數(shù)器進行加計數(shù)功能

29、,至于計數(shù)器u1、u2誰工作取決于其后接的D觸發(fā)器輸出的高低電平狀態(tài),低電平使u1工作,高電平使u2工作。再通過組合邏輯電路輸出結果狀態(tài)。其原理框圖如下圖2-2所示:</p><p>  圖2-2數(shù)控脈沖寬度調(diào)制信號發(fā)生器電路控制框圖</p><p><b>  2.3方案論證</b></p><p>  通過方案一二的比較,可以看出方案一的設

30、計使用分立元件電路較為多,因此會增加電路調(diào)試難度,且電路的不穩(wěn)定性也會隨之增加,而采用FPGA芯片實現(xiàn)的電路,由于在整體性上較好,在信號的處理和整個系統(tǒng)的控制中,FPGA的方案能大大縮減電路的體積,提高電路的穩(wěn)定性。此外其先進的開發(fā)工具使整個系統(tǒng)的設計調(diào)試周期大大縮短,一般來講,同樣的邏輯,基于FPGA要比基于單片機要快很多,因為它們工作的原理是完全不同的。單片機是基于指令工作的,同樣的激勵到達單片機后,單片機首先要判斷,然后讀取相應的

31、指令,最后作出相應,這每一步都是需要在單片機的時鐘驅(qū)動下一步步的進行。而基于FPGA則是把相應的邏輯“暫時”固化為硬件電路了,它對激勵作出的響應速度就是電信號從FPGA的一個管腳傳播另一個管腳的傳播速度,當然這指的是異步邏輯,同時電信號也要在芯片內(nèi)進行一些柵電容的充放電動作,但這些動作都是非常非??斓?。</p><p><b>  2.4方案選擇</b></p><p&g

32、t;  結合現(xiàn)代測量技術的要求和精確,對其各個部件的性能提出了更高的要求,精確度是高于一切的,也是衡量一個器件的標準。在器件的合理使用和再度利用的考慮下,可編程的邏輯器件是占優(yōu)勢的,而且更方便,低功耗,體積小,結合本設計的要求及綜合以上比較的情況,我們選擇了基于FPGA的數(shù)控脈沖寬度調(diào)制信號發(fā)生器的方案,即,選擇方案二。</p><p>  3 特殊器件的介紹</p><p>  3.1

33、 CPLD器件介紹</p><p>  CPLD是Complex Programmable Logic Device的縮寫,它是有最早的PLD器件發(fā)展形成的高密度可編程邏輯器件,它具有編程靈活、集成度高、設計開發(fā)周期短、適用范圍寬、開發(fā)工具先進、設計制造成本低、對設計者的硬件經(jīng)驗要求低、標準產(chǎn)品無需測試、保密性強、價格大眾化等特點。 CPLD是一種用戶根據(jù)各自需要而自行構造邏輯功能的數(shù)字集成電路。其基本設計方法

34、是借助集成開發(fā)軟件平臺,用原理圖、硬件描述語言等方法,生成相應的目標文件,通過下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標芯片中,實現(xiàn)設計的數(shù)字系統(tǒng)。</p><p>  許多公司都開發(fā)出了CPLD可編程邏輯器件。比較典型的就是Altera、Lattice、Xilinx世界三大權威公司的產(chǎn)品。如 Altera公司的MAXII器件,就是其極具代表性的一類CPLD器件,是有史以來功耗最低、成本最低的CPLD。MAX I

35、I CPLD基于突破性的體系結構,在所有CPLD系列中,其單位I/O引腳的功耗和成本都是最低的。 </p><p>  Altera公司的MAX7000A系列器件是高密度、高性能的EPLD,它是基于第二代MAX結構,采用CMOS EPROM工藝制造的。該系列的器件具有一定得典型性,其他結構都與此結構非常的類似。它包括邏輯陣列塊、宏單元、擴展乘積項、可編程連線陣列和IO控制部分。由于大多數(shù)CPLD是基于乘積項的“

36、與或”結構,故適合設計組合邏輯電路。</p><p>  3.2 FPGA器件介紹</p><p>  FPGA(Field-Programmable Gate Array)可以達到比PLD更高的集成度,它是在PAL、GAL、EPLD等可編程器件的基礎上進一步發(fā)展起來的,具有更復雜的布線結構和邏輯實現(xiàn)。PLD器件和FPGA的主要區(qū)別在于PLD是通過修改具有固定內(nèi)連電路得邏輯功能來進行編程,

37、而FPGA是通過修改一根或多根分割宏單元的基本功能塊的內(nèi)連線的布線來進行編程。它一般由可嵌入式陣列塊(EAB)、邏輯陣列塊(LAB)、快速互聯(lián)通道(Fast Track)、IO單元(IOE)組成。</p><p>  Altera Cyclone II 采用全銅層、低K值、1.2伏SRAM工藝設計,裸片尺寸被盡可能最小的優(yōu)化。采用300毫米晶圓,以TSMC成功的90nm工藝技術為基礎,Cyclone II 器件

38、提供了4,608到68,416個邏輯單元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、專用外部存儲器接口電路、4kbit嵌入式存儲器塊、鎖相環(huán)(PLL)和高速差分I/O能力。Cyclone II 器件擴展了FPGA在成本敏感性、大批量應用領域的影響力,延續(xù)了第一代Cyclone器件系列的成功。</p><p>  由于FPGA是基于查找表(LUT)結構的器件,且每個LAB由10個LE組成,

39、一個LE由LUT和寄存器組成,適合于時序邏輯電路的設計。</p><p>  3.3 EP1K30TC144器件介紹</p><p>  ACEX1K器件是Altera公司在2000推出的2.5V低價格SRAM工藝FPGA結構與10KE類似,帶嵌入式存儲塊(EAB),部分型號帶PLL,主要有1K10、1K30、1K50、1K100等型號。EP1K30TC144器件中,EP1K表示器件類型,

40、30表示器件內(nèi)有30K個邏輯門,T代表封裝類型,C表示用途為商用,144表示管腳數(shù)為144。其引腳圖如圖4-3所示</p><p>  圖3-3 EP1K30TC原理圖</p><p>  4 單元模塊設計</p><p>  本設計由現(xiàn)場可編程門陣列(FPGA)作為控制芯片,通過Vreilog HDL硬件描述語言設計,運用自頂而下的設計思想,按功能逐層分割實現(xiàn)

41、層次化的設計。下面介紹主要模塊的功能及作用。</p><p><b>  4.1 供電電路</b></p><p>  供電電路原理圖如下圖3-2所示:</p><p>  圖3-2供電電路原理圖</p><p>  本設計中使用到了三個電源,第一是+5V的電源,用于為上拉電阻提供電壓,該設計中用集成三端穩(wěn)壓器CW780

42、5來得到,輸入電壓經(jīng)降壓,整流,濾波,穩(wěn)壓后得到+5V的電壓供本設計使用;第二是+3.3V電源,用于為FPGA芯片提供工作電壓,本設計中電源芯MIC29302來得到3.3 V輸入輸出引腳工作電壓;第三是+2.5V電源,用于為FPGA芯片內(nèi)核工作提供電壓,本設計中電源芯片SPX1117M來得到+2.5V芯片工作的內(nèi)核電壓。在FPGA芯片管腳上,+2.5V電源必須接在內(nèi)核電源輸入端(VCCINT)上,而VCCIO是芯片輸入輸出引腳工作電源,

43、根據(jù)輸入輸出的設備不同,可以接2.5 V、3.3 V或5.0 V。</p><p>  特別注意的是EPC1PC8的工作電壓必須為3.3V,且該配置芯片屬于Flash Memory閃存)器件,具有可擦寫的功能。</p><p>  4.2 PS配置電路</p><p>  配置電路如下圖3-3所示:</p><p>  圖3-3 配置電路原理

44、圖</p><p>  配置電路采用被動串行(PS)模式,為了利用ByteBlasterMV下載電纜配置EP1K30TC144器件,3.3V的電源應該接上拉電阻,電纜的VCC腳連到3.3V電源,而器件的VCCINT的引腳連接到相應的2.5V,對于PS配置電路,器件的VCCIO引腳必須連接到2.5V。</p><p>  上拉電阻接到配置器件的電源端,這里接到了+5V電源端。nCE接到CON

45、F_DONE端,OE接到nSTATUS端,Nint_CONF接到nCONFIG端,DCLK與DCLK相連接,DATA與DATA0相連接。nCEO引腳端懸空。</p><p><b>  4.3有源晶振電路</b></p><p>  有源晶振電路如下圖3-1所示:</p><p>  圖3-1有源晶振電路</p><p>

46、;  采用有源晶振作為時鐘信號源,有源晶振常用的為4個引腳,1-NC 、2-GND 、3-OUT、 4-VCC,它是一個完整的振蕩器,其內(nèi)部除了石英晶體外還有阻容軟件和晶體管,有源晶振信號質(zhì)量好,比較穩(wěn)定,而且連接方式比較簡單。主要是作為電源濾波,通常使用的為一個電容和電感組成的PI型濾波網(wǎng)絡,輸出端使用一個小阻值電阻過濾信號。串電阻可減小反射波,避免反射波疊加引起過沖,減少諧波以及阻抗匹配,減小回波干擾及導致的信號過沖。</p&

47、gt;<p>  由于本設計所用的為20MHZ的晶振,而20MHz以下的晶體晶振基本上都是基頻的器件,穩(wěn)定度好,20MHz以上的大多是諧波的(如3次諧波、5次諧波等等),穩(wěn)定度差,因此我們選用基頻的器件,畢竟倍頻用的PLL電路需要的周邊配置主要是電容、電阻、電感,其穩(wěn)定度和價格方面遠遠好于晶體晶振器件。</p><p>  4.4 八位計數(shù)器輸入電路</p><p>  8位

48、計數(shù)器的原理圖如下圖3-4所示:</p><p>  圖3-4 8位計數(shù)器件原理圖</p><p>  此試驗選用的是8位的計數(shù)器進行加計數(shù)功能,從0加到255。計數(shù)器是數(shù)字系統(tǒng)中用的較多的基本邏輯器件,它的基本功能是統(tǒng)計時鐘脈沖的個數(shù),即實現(xiàn)計數(shù)操作,它也可用與分頻、定時、產(chǎn)生節(jié)拍脈沖和脈沖序列等。例如,計算機中的時序發(fā)生器、分頻器、指令計數(shù)器等都要使用計數(shù)器。</p>&

49、lt;p>  計數(shù)器的種類很多。按構成計數(shù)器中的各觸發(fā)器是否使用一個時鐘脈沖源來分,可分為同步計數(shù)器和異步計數(shù)器;按進位體制的不同,可分為二進制計數(shù)器、十進制計數(shù)器和任意進制計數(shù)器;按計數(shù)過程中數(shù)字增減趨勢的不同,可分為加法計數(shù)器、減法計數(shù)器和可逆計數(shù)器;還有可預制數(shù)和可編計數(shù)器等等。</p><p>  4.5 D觸發(fā)器電路</p><p>  D觸發(fā)器的原理圖如下圖3-5所示:&

50、lt;/p><p>  圖4-5 D觸發(fā)器件原理圖</p><p>  D觸發(fā)器的輸入端由時鐘信號端clk、數(shù)據(jù)信號端、反相復位端CLRN和反相置位端PRN組成,CLRN、PRN控制信號分別從方框小圓圈處輸入,表示低電平控制信號有效。D觸發(fā)器輸出端由兩個互為反相的Q端和~Q端組成。</p><p> ?。挠|發(fā)器的D代表延遲或數(shù)據(jù),它的輸出是發(fā)生在早于一個時鐘脈沖之前的D

51、輸入的函數(shù)。在時鐘脈沖期間,在D輸入提供“1”會導致輸出變?yōu)椋?,否則輸出變?yōu)椋啊?lt;/p><p>  5 最小系統(tǒng)原理圖</p><p>  整個設計用到的模塊組成的最小系統(tǒng)原理圖如下圖5-1所示:</p><p>  圖5-1最小系統(tǒng)原理圖</p><p>  本設計的電路實現(xiàn)是基于FPGA最小系統(tǒng)原理圖,再配以所需的外設。最小系統(tǒng)設計包

52、含了時鐘產(chǎn)生電路模塊、PS程序下載配置電路模塊、電源電路模塊,右邊的是FPGA芯片EP1K30TC143器件。通過連線將各個模塊進行連接成最小系統(tǒng)。由于本設計電路比較簡單,外設比較少。</p><p>  將外設與最小系統(tǒng)進行合理正確連接,即可實現(xiàn)本設計的電路原理要求。圖中將各外設模塊和芯片電路各對應管腳進行合理正確連接,即可實現(xiàn)本設計的電路原理要求,A,B的輸入由程序來實現(xiàn),在輸出端口,可以外接一個示波器,用來

53、檢查電路是否輸出了脈沖寬度調(diào)制信號,以及占空比是否符合要求,用以驗證電路的功能。</p><p><b>  6 軟件實現(xiàn)</b></p><p>  通過至頂向下(TOP--DOWN)的設計方法,我們對電路的設計要求作了分析,從電路要實現(xiàn)的功能著手,逐層分析電路設計的步驟,再具體到各個模塊的設計實現(xiàn)以及各模塊實現(xiàn)方案的選擇。從本設計的電路要求,通過兩個可加載8位計

54、數(shù)器lcnt8.v實現(xiàn)本設計。</p><p><b>  6.1軟件設計</b></p><p><b>  設計程序如下: </b></p><p>  A、代碼頂層:模塊pwm_gn.v</p><p>  //PWM generator</p><p>  modu

55、le d(clk,rst_n,a,b,pwmout,ld1,ld2,cao1,cao2,pwmint);//pwm_gn</p><p>  input clk; //system clock</p><p>  input rst_n; //reset</p><p>  input [7:0] a; //pulse width contr

56、ol input</p><p>  input [7:0] b; //pulse width control input</p><p>  inout reg ld1;</p><p>  inout reg ld2;</p><p>  output pwmout;</p><p>  output cao1

57、,cao2; //only for observation, can be removed </p><p>  wire cao1;</p><p>  wire cao2;</p><p>  reg pwmout;</p><p>  inout pwmint;</p><p>  reg pwmint;&l

58、t;/p><p>  //intantiate two loadable 0~255 counter</p><p>  lcnt_8 u1_lcnt8(</p><p>  .clk(clk),</p><p>  .rst_n(rst_n),</p><p><b>  .ld(ld1),</b>

59、</p><p><b>  .d(a),</b></p><p>  .cao(cao1));</p><p>  lcnt_8 u2_lcnt8(</p><p>  .clk(clk),</p><p>  .rst_n(rst_n),</p><p><b&g

60、t;  .ld(ld2),</b></p><p><b>  .d(b),</b></p><p>  .cao(cao2));</p><p>  //two loadable counter control and reloading control</p><p>  always@(posedge

61、cao2 or posedge cao1)</p><p><b>  begin</b></p><p>  if (cao1==1'b1) begin</p><p>  pwmint<=1'b0;</p><p><b>  end</b></p><

62、p>  else if (cao2==1) begin</p><p>  pwmint<=1'b1;</p><p><b>  end</b></p><p>  ld1<=!pwmint;</p><p>  ld2<=pwmint;</p><p>  pw

63、mout<=pwmint;</p><p><b>  end</b></p><p><b>  endmodule</b></p><p>  B、8位可加載計數(shù)器:lcnt8</p><p>  //8bit loadble increment counter</p>&l

64、t;p>  module lcnt8(clk,rst_n,ld,d,cao);</p><p>  input clk;</p><p><b>  input ld;</b></p><p>  input [7:0] d;</p><p>  input rst_n;</p><p> 

65、 output cao;</p><p>  reg [7:0] count;</p><p><b>  reg cao;</b></p><p>  always@(posedge clk )</p><p><b>  begin</b></p><p>  if (!

66、rst_n) begin</p><p>  count<=8'b00000000;</p><p><b>  end</b></p><p>  else if (ld) begin</p><p><b>  count<=d;</b></p><p&g

67、t;<b>  end</b></p><p>  else begin</p><p>  count<=count+1'b1;</p><p><b>  end</b></p><p><b>  end</b></p><p>  

68、always@(posedge clk)</p><p><b>  begin</b></p><p>  if (count==254) begin</p><p>  cao<=1'b1;</p><p><b>  end</b></p><p>  e

69、lse begin</p><p>  cao<=1'b0;</p><p><b>  end</b></p><p><b>  end</b></p><p><b>  endmodule</b></p><p><b>

70、  6.2思考題擴展</b></p><p>  本設計電路中,脈沖調(diào)制信號的占空比由A,B與255的差值決定,擴展電路的實現(xiàn)占空比由A,B的值決定,即高低電平持續(xù)時間由A,B來決定,具體電路由兩個八位可加載減計數(shù)器,D觸發(fā)器和非門等組成,八位可加載減計數(shù)器的程序和仿真圖如下:</p><p>  程序:module subb(clk,rst_n,ld,d,cao);</

71、p><p>  input clk;</p><p><b>  input ld;</b></p><p>  input [7:0] d;</p><p>  input rst_n;</p><p>  output cao;</p><p>  reg [7:0] co

72、unt;</p><p><b>  reg cao;</b></p><p>  always@(posedge clk )</p><p><b>  begin</b></p><p>  if (!rst_n) begin</p><p>  count<=8&

73、#39;b11111111;</p><p><b>  end</b></p><p>  else if (ld) begin</p><p><b>  count<=d;</b></p><p><b>  end</b></p><p>

74、  else begin</p><p>  count<=count-1'b1;</p><p><b>  end</b></p><p><b>  end</b></p><p>  always@(posedge clk)</p><p><b&

75、gt;  begin</b></p><p>  if (count==0) begin</p><p>  cao<=1'b1;</p><p><b>  end</b></p><p><b>  else </b></p><p><b

76、>  begin</b></p><p>  cao<=1'b0;</p><p><b>  end</b></p><p><b>  end</b></p><p><b>  endmodule</b></p><p&

77、gt;  上面程序在QuartusⅡ軟件中仿真的波形圖如下圖所示:</p><p>  圖7-6 頂層電路的仿真圖</p><p>  圖7-7八位可加載減計數(shù)器的仿真圖</p><p>  7 系統(tǒng)仿真及調(diào)試</p><p><b>  7.1仿真</b></p><p>  通過Quartu

78、sII軟件,我們進行了仿真,其仿真波形如下圖所示:</p><p>  圖7-1 頂層激勵波形</p><p>  圖7-2 頂層輸出波形</p><p>  圖7-3 8位可加載計數(shù)器輸入波形</p><p>  圖7-4 8位可加載計數(shù)器輸出波形</p><p>  在Quartus I I 6.0軟件中利用硬件

79、描述語言描述電路后,用Tools/Netlist Viewers/RTL Viewer生成的對應的電路圖如下:</p><p>  圖7-5 數(shù)控脈沖寬度調(diào)制信號發(fā)生器電路圖</p><p><b>  7.2 調(diào)試</b></p><p>  在QuartusII軟件中,通過對所設計的硬件描述語言代碼進行波形仿真后,達到了預期效果,于是,我們

80、在該軟件上進行下載配置設置。在Assignments菜單下選中Devices,在Family欄選擇ACEX1K,選中EP1K30TC144-2器件。再在Assignments菜單下選中Pins按照相應要求對管腳進行鎖定。最后在Tools菜單下,選中Programmer,對配置方式進行設置,這里選擇Passive Seril(PS)被動串行模式。選擇好要下載的硬件設備后點擊Start即可開始編程下載了。</p><p&

81、gt;  調(diào)試過程為在線調(diào)試。在通過調(diào)試中,我們需要注意很多問題,現(xiàn)歸納如下:</p><p>  (1)在軟件上能實現(xiàn)仿真的程序不一定在硬件電路上就能運行,原因有很多,這里是由于電路中的時鐘頻率不一定準確,使輸出的代碼無法在示波器上正確的顯示出來,或者不能夠清晰的讀數(shù)等等問題。</p><p>  (2)調(diào)試中的實際問題需要考慮,要在不加電檢查電路板有無短路,元件焊接錯誤。如果不認真檢查

82、在加電后就會導致器件因短路而被燒壞或者是輸出錯誤、沒有任何輸出等等一些問題的出現(xiàn)。在QuartusⅡ軟件中則不能進行正確的仿真,可以直接將程序下載到電路板上去調(diào)試。</p><p> ?。?)加電后測試時鐘,供電、輸入信號等是否正確。對FPGA處理后的輸出信號測試,對整個板測驗證所有功能。檢查計數(shù)器的計數(shù)時間和延遲時間是否和所要求的相同,輸出結果是否和在QuartusⅡ里軟件仿真結果相同,如果不同就要進行調(diào)試和

83、檢查,找到真的問題并解決。</p><p><b>  8 總結</b></p><p>  在本次設計中,我們完成本系統(tǒng)設計的要求及功能。在設計開始前我們對各個模塊進行了詳細的分析和設計準備工作,設計過程中,我們相互協(xié)調(diào),積極參與完成各個技術實現(xiàn)的難點。</p><p>  通過本次設計,我們在對EDA這門技術上有了更深刻的認識,也從實

84、踐的例子中去感受到了EDA設計給我們設計帶來的改變與進步。我們不僅掌握QuartusII軟件的使用,與此同時,我們還對電子設計的思路有了更多的認識。通過對EDA設計中的TOP-DOWN設計方式的運用,體會到了對于一個大型系統(tǒng)的設計方案選取應從頂向下的設計思路,這與傳統(tǒng)的至底向上的設計方式有很大改進,且設計效率得到大大提高。</p><p>  由于時間倉促和我們自身水平有限,本設計在功能上也只是完成了一些基本功能

85、,對于電路的可靠性,穩(wěn)定性等參數(shù)還未做過詳細的測試。實驗采用FPGA來實現(xiàn)數(shù)控脈沖調(diào)制信號發(fā)生器的設計,對于FPGA器件和計數(shù)器的相關功能參數(shù)沒有準確的測試。對于輸入控制高低電平的持續(xù)時間由輸入A、B與255的差值控制的改進,在A、B信號后接入555定時器來實現(xiàn)差值。</p><p>  在xx老師的辛勤指導下,以及同學之間相互討論和幫助,才使課程設計能夠順利的完成。在此我要感謝電氣信息學院提供這次課程設計的機會

86、;感謝電氣信息學院各位師兄的幫組。在這里我要特別感謝xx老師,在我們的設計過程中,至始至終都得到了夏凌老師的悉心指導,我們的設計才得以順利完成。</p><p><b>  9 參考文獻</b></p><p>  [1] 謝自美 主編.電子線路設計.實驗.測試(第二版)[M].華中理工大學出版社,2003.10</p><p>  [2]

87、姜宇柏,黃志強等,通信收發(fā)信機的verilog實現(xiàn)與仿真,機械工業(yè)出版社,2007 </p><p>  [3] 盧毅編著.VHDL與數(shù)字電路設計[M].北京.科技大學出版,2001</p><p>  [4] 張延偉等編.verilogHDL程序設計師李祥解[M].人民郵電出版社,2008</p><p>  [5] 潘軍、王國棟編.VHDL使用教程.電子科技大

88、學出版社,2000</p><p>  [6] 王金明 主編.數(shù)字系統(tǒng)設計與Verilog HDL(第三版)[M].電子工業(yè)出版社,2009.7</p><p>  [7] 侯佰亨,顧新編著.VHDL硬件描述語言與實際應用[M].西安.西安電子社,2000</p><p>  [8] 陳賾 主編.《CPLD/FPGA與ASIC設計實踐教程》科學出版社,2005.8&

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論