




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、西華大學(xué)課程設(shè)計說明書 數(shù)控脈沖寬度調(diào)制信號發(fā)生器 摘 要:脈沖寬度調(diào)制(PWM),簡稱脈寬調(diào)制,是利用微處理器等的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測量、通信到功率控制于變換的許多領(lǐng)域中。在本設(shè)計中設(shè)計了一種輸出頻率高、結(jié)構(gòu)簡單、控制方便的數(shù)控脈沖寬度調(diào)制信號發(fā)生器,脈沖的占空比及周期由兩個8位的預(yù)置輸入A、B確定。核心器件采用Altera公司的CPLD芯片,大大縮減了電路的體積,提高了電路的穩(wěn)定性,產(chǎn)生的PWM能達到較高的頻率。信號發(fā)生器輸出脈沖的占空比及周期可通過拔碼開關(guān)方便地改變。關(guān)鍵詞:脈沖寬度調(diào)制,信號發(fā)生器,CPLD Abstract: the pul
2、se width modulation (PWM), hereinafter referred to as the pulse width modulation is the use of microprocessors etc to the digital output to the analog circuit to control a very effective technology, widely used in measuring, from communication to power control to transform in many areas. In this des
3、ign design A kind of high frequency output, simple structure, convenient control numerical control pulse width modulation signal generator, the pulse of empty ratio and cycle by two of the eight preset input of A and B sure. The core device using Altera company CPLD chip, greatly curtailed the volum
4、e of the circuit, improve the stability of the circuit, and the resulting PWM can achieve higher frequency. The output pulse signal generator of empty ratio and cycle can be pulled through code switch convenient to change.Keywords: pulse width modulation, signal generator, CPLD 目 錄1、簡介21.1 EDA簡介21.2
5、 Verilog HDL簡介21.3 QuartusII簡介22、總體方案設(shè)計52.1設(shè)計內(nèi)容52.2設(shè)計方案比較52.3方案論證62.4方案選擇73、單元模塊設(shè)計83.1有源晶振電路83.2 供電電路93.3 PS配置電路103.4 八位計數(shù)器輸入電路113.5 D觸發(fā)器電路114、特殊器件的介紹124.1 CPLD器件介紹124.2 FPGA器件介紹124.3 EP1K30TC144器件介紹135、最小系統(tǒng)原理圖146、軟件實現(xiàn)156.1軟件設(shè)計156.2思考題擴展177、系統(tǒng)仿真及調(diào)試197.1仿真197.2 調(diào)試208、總結(jié)228.1設(shè)計小結(jié)228.2設(shè)計收獲228.3設(shè)計改進228.
6、4 致謝229 、參考文獻231.1 EDA簡介 EDA是電子設(shè)計自動化(Electronic Design Automation)的縮寫,在20世紀(jì)90年代初從計算機輔助設(shè)計(CAD)、計算機輔助制造(CAM)、計算機輔助測試(CAT)和計算機輔助工程(CAE)的概念發(fā)展而來的。EDA技術(shù)就是以計算機為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。 1.2Verilog HDL簡介 Verilog HDL是一種硬件描述語言(HDL:Hardw
7、are Discription Language),是一種以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。 Verilog HDL和VHDL是目前世界上最流行的兩種硬件描述語言,都是在20世紀(jì)80年代中期開發(fā)出來的。前者由Gateway Design Automation公司(該公司于1989年被Cadence公司收購)開發(fā)。兩種HDL均為IEEE標(biāo)準(zhǔn)。1、3QartusII 軟件簡介QuartusII是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界上最大的可編程邏輯器件供應(yīng)商之一。Quartus
8、II在21世紀(jì)初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX+PLUSII的更新?lián)Q代產(chǎn)品,其界面友好,使用便捷。它提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計環(huán)境,使設(shè)計者能方便地進行設(shè)計輸入、快速處理和器件編程。Altera的QuartusII提供了完整的多平臺設(shè)計環(huán)境,能滿足各種特定設(shè)計的需要,也是單芯片可編程系統(tǒng)(SOPC)設(shè)計的綜合性環(huán)境和SOPC開發(fā)的基本設(shè)計工具,并為Altera DSP開發(fā)包進行系統(tǒng)模型設(shè)計提供了集成組合環(huán)境。QuartusII設(shè)計工具完全支持VHDL、Verilog設(shè)計流程,其內(nèi)部嵌有VHDL、Verilog邏輯綜合器。QuartusII也可利用第三方的綜合工具
9、。同樣,QuartusII具備仿真功能,同時也支持第三方的仿真工具,如ModelSim。此外,QuartusII與MATLAB和DSP Builder結(jié)合,可以進行基于FPGA的DSP系統(tǒng)開發(fā)和數(shù)字通信模塊的開發(fā)。QuartusII包括模塊化的編譯器。編譯器包括的功能模塊有分析/綜合器(Analsis & Synthesis)、適配器(Fitter)、裝配器(Assembler)、時序分析器(Timing Analyzer)、設(shè)計輔助模塊(Design Assistant)、EDA網(wǎng)表文件生成器(EDA Netlist Writer)、編輯數(shù)據(jù)接口(Compiler Database Inte
10、rface)等??梢酝ㄟ^選擇Start Compilation來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊。還可以通過選擇Compiler Tool(Tools菜單),在Compiler Tool窗口中運行該模塊來啟動編譯器模塊。在Compiler Tool窗口中,可以打開該模塊的設(shè)置文件或報告文件,或打開其他相關(guān)窗口。此外,QuartusII還包含許多十分有用的LPM(Library of Parameterized Modules)模塊,它們是復(fù)雜或高級系統(tǒng)構(gòu)建的重要組成部分,在SOPC設(shè)計中被大量使用,也可以與QuartusII普通設(shè)計文件一起使用。Altera提供的
11、LPM函數(shù)均基于Altera器件的結(jié)構(gòu)做了優(yōu)化設(shè)計。在許多實用情況中,必須使用宏功能模塊才可以使用一些Altera特定器件的硬件功能,如各類片上存儲器、DSP模塊、LVDS驅(qū)動器、PLL以及SERDES和DDIO電路模塊等。QuartusII編譯器支持的硬件描述語言有VHDL(支持VHDL87及VHDL97標(biāo)準(zhǔn))、Verilog HDL及AHDL(Altera HDL)。QuartusII支持層次化設(shè)計,可以在一個新的編輯輸入環(huán)境中對使用不同輸入設(shè)計方式完成的模塊(元件)進行調(diào)用,從而解決了原理圖與HDL混合輸入設(shè)計的問題。在設(shè)計輸入之后QuartusII的編譯器將給出設(shè)計輸入的錯誤報告。可以
12、使用QuartusII帶有的RTL Viewer觀察綜合后的RTL圖。QuartusII作為目前CPLD/FPGA開發(fā)工具理想的綜合、仿真軟件,具有許多優(yōu)良的特性。(1)繼承了MAX+PLUSII的優(yōu)點圖形輸入依然形象,圖形符號與MAX+PLUSII一樣符合數(shù)字電路的特點,大量74系列器件符號使能初學(xué)者在較短的時間里利用圖形編輯設(shè)計出需要的電路。文本輸入幾乎和MAX+PLUSII相同,而且在文本的每一行都有行號,使用語言編寫的電路清晰易讀。低層編輯仍然采用Chipview方式,引腳排列位置映射了實際器件引腳,只要簡單地鼠標(biāo)拖放即可完成低層編輯。(2)支持的器件更多除了支持MAX3000、MAX
13、7000、FLEX6000、FLEX10KE、ACEX1K等MAX+PLUSII已經(jīng)支持的器件外,還支持PEX20K、APEX20KE、AREXII、EXCALIBUR-ARM、Mercury、Stratix等MAX+PLUSII下無法支持的大容量高性能的器件。(3)增加了網(wǎng)絡(luò)編輯功能QuartusII支持一個工作組環(huán)境下的設(shè)計要求,包括支持基于Internet的協(xié)作設(shè)計,與Cadence、ExempiarLogi、mentorgraphics、Synopsys和Synpicity等EDA供應(yīng)商的開發(fā)工具相兼容。(4)提升了調(diào)試能力 QuartusII增加了一個新的快速適配編譯選項,可保留最佳
14、性能的設(shè)置,加快了編譯過程,可縮短50%的編譯時間,對設(shè)計性能的影響小。(5)不足之處軟件結(jié)構(gòu)龐大,使用復(fù)雜,不如MAX+PLUSII簡單、易學(xué)易用。2、總體方案設(shè)計2.1設(shè)計內(nèi)容設(shè)計一個能夠均勻輸出給定占空比的脈沖寬調(diào)制信號,通過兩個可加載8位計數(shù)器lcnt8.v實現(xiàn)本設(shè)計。若初始時D觸發(fā)器輸出為高電平時, U1不能加載A,若已復(fù)位只能完成0到255的加計數(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,
15、經(jīng)反相后異步清除d觸發(fā)器,如此循環(huán)。D觸發(fā)器輸出高電平使u2加載,但持續(xù)的高電平維持加載使u2計數(shù)狀態(tài)維持在B,只有當(dāng)d觸發(fā)器清除后,u2開始從B的加計數(shù),計到255后產(chǎn)生輸出cao2,使D觸發(fā)器輸出為高電平,如此循環(huán)。2.2設(shè)計方案比較方案一:由單片機AT89S52來實現(xiàn)數(shù)控脈沖寬度調(diào)制信號發(fā)生器的設(shè)計,外圍電源采用+5V電源供電,時鐘由12MHZ的晶振產(chǎn)生,中央處理器由AT89S52單片機來完成,設(shè)計中高低電平持續(xù)時間由輸入A、B與255的差值控制。這種方案,結(jié)構(gòu)簡單容易掌握,各部分電路實現(xiàn)起來都非常容易,在傳統(tǒng)的設(shè)計中也應(yīng)用得較為廣泛,技術(shù)成熟。其原理框圖如下圖2-1所示:AT89S52
16、單片機電源供電電路時鐘產(chǎn)生電路輸入A、B控制電路路PWM的輸出圖2-1單片原理實現(xiàn)框圖方案二:基于現(xiàn)場可編程邏輯門陣列FPGA,通過EDA技術(shù),采用Verilog HDL硬件描述語言實現(xiàn)數(shù)控脈沖寬度調(diào)制信號發(fā)生器設(shè)計。程序設(shè)計思想為:對輸入信號A、B采用不同的八位二進制代碼表示高低電平持續(xù)時間,由時鐘上沿觸發(fā)加計數(shù)器進行加計數(shù)功能,至于計數(shù)器u1、u2誰工作取決于其后接的D觸發(fā)器輸出的高低電平狀態(tài),低電平使u1工作,高電平使u2工作。再通過組合邏輯電路輸出結(jié)果狀態(tài)。其原理框圖如下圖2-2所示: 圖2-2數(shù)控脈沖寬度調(diào)制信號發(fā)生器電路控制框圖2.3方案論證通過方案一二的比較,可以看出方案一的設(shè)計
17、使用分立元件電路較為多,因此會增加電路調(diào)試難度,且電路的不穩(wěn)定性也會隨之增加,而采用FPGA芯片實現(xiàn)的電路,由于在整體性上較好,在信號的處理和整個系統(tǒng)的控制中,FPGA的方案能大大縮減電路的體積,提高電路的穩(wěn)定性。此外其先進的開發(fā)工具使整個系統(tǒng)的設(shè)計調(diào)試周期大大縮短,一般來講,同樣的邏輯,基于FPGA要比基于單片機要快很多,因為它們工作的原理是完全不同的。單片機是基于指令工作的,同樣的激勵到達單片機后,單片機首先要判斷,然后讀取相應(yīng)的指令,最后作出響應(yīng),這每一步都是需要在單片機的時鐘驅(qū)動下一步步的進行。而基于FPGA則是把相應(yīng)的邏輯“暫時”固化為硬件電路了,它對激勵作出的響應(yīng)速度就是電信號從F
18、PGA的一個管腳傳播另一個管腳的傳播速度,當(dāng)然這指的是異步邏輯,同時電信號也要在芯片內(nèi)進行一些柵電容的充放電動作,但這些動作都是非常非常快的。 2.4方案選擇結(jié)合現(xiàn)代測量技術(shù)的要求和精確,對其各個部件的性能提出了更高的要求,精確度是高于一切的,也是衡量一個器件的標(biāo)準(zhǔn)。在器件的合理使用和再度利用的考慮下,可編程的邏輯器件是占優(yōu)勢的,而且更方便,低功耗,體積小,結(jié)合本設(shè)計的要求及綜合以上比較的情況,我們選擇了基于FPGA的數(shù)控脈沖寬度調(diào)制信號發(fā)生器的方案,即,選擇方案二。3、單元模塊設(shè)計本設(shè)計由現(xiàn)場可編程門陣列(FPGA)作為控制芯片,通過Vreilog HDL硬件描述語言設(shè)計,運用自頂而下的設(shè)計
19、思想,按功能逐層分割實現(xiàn)層次化的設(shè)計。下面介紹主要模塊的功能及作用。3.1有源晶振電路有源晶振電路如下圖3-1所示:圖3-1有源晶振電路采用有源晶振作為時鐘信號源,有源晶振常用的為4個引腳,1-NC 、2-GND 、3-OUT、 4-VCC,它是一個完整的振蕩器,其內(nèi)部除了石英晶體外還有阻容軟件和晶體管,有源晶振信號質(zhì)量好,比較穩(wěn)定,而且連接方式比較簡單。主要是作為電源濾波,通常使用的為一個電容和電感組成的PI型濾波網(wǎng)絡(luò),輸出端使用一個小阻值電阻過濾信號。串電阻可減小反射波,避免反射波疊加引起過沖,減少諧波以及阻抗匹配,減小回波干擾及導(dǎo)致的信號過沖。由于本設(shè)計所用的為20MHZ的晶振,而20M
20、Hz以下的晶體晶振基本上都是基頻的器件,穩(wěn)定度好,20MHz以上的大多是諧波的(如3次諧波、5次諧波等等),穩(wěn)定度差,因此我們選用基頻的器件,畢竟倍頻用的PLL電路需要的周邊配置主要是電容、電阻、電感,其穩(wěn)定度和價格方面遠遠好于晶體晶振器件。3.2 供電電路供電電路原理圖如下圖3-2所示:圖3-2供電電路原理圖本設(shè)計中使用到了三個電源,第一是+5V的電源,用于為上拉電阻提供電壓,該設(shè)計中用集成三端穩(wěn)壓器CW7805來得到,輸入電壓經(jīng)降壓,整流,濾波,穩(wěn)壓后得到+5V的電壓供本設(shè)計使用;第二是+3.3V電源,用于為FPGA芯片提供工作電壓,本設(shè)計中電源芯MIC29302來得到3.3 V輸入輸出引
21、腳工作電壓;第三是+2.5V電源,用于為FPGA芯片內(nèi)核工作提供電壓,本設(shè)計中電源芯片SPX1117M來得到+2.5V芯片工作的內(nèi)核電壓。在FPGA芯片管腳上,+2.5V電源必須接在內(nèi)核電源輸入端(VCCINT)上,而VCCIO是芯片輸入輸出引腳工作電源,根據(jù)輸入輸出的設(shè)備不同,可以接2.5 V、3.3 V或5.0 V。特別注意的是EPC1PC8的工作電壓必須為3.3V,且該配置芯片屬于Flash Memory閃存)器件,具有可擦寫的功能。3.3 PS配置電路配置電路如下圖3-3所示:圖3-3 配置電路原理圖配置電路采用被動串行(PS)模式,為了利用ByteBlasterMV下載電纜配置EP1
22、K30TC144器件,3.3V的電源應(yīng)該接上拉電阻,電纜的VCC腳連到3.3V電源,而器件的VCCINT的引腳連接到相應(yīng)的2.5V,對于PS配置電路,器件的VCCIO引腳必須連接到2.5V。上拉電阻接到配置器件的電源端,這里接到了+5V電源端。nCE接到CONF_DONE端,OE接到nSTATUS端,Nint_CONF接到nCONFIG端,DCLK與DCLK相連接,DATA與DATA0相連接。nCEO引腳端懸空。3.4 八位計數(shù)器輸入電路8位計數(shù)器的原理圖如下圖5-4所示:圖3-4 8位計數(shù)器件原理圖此試驗選用的是8位的計數(shù)器進行加計數(shù)功能,從0加到255。計數(shù)器是數(shù)字系統(tǒng)中用的較多的基本邏輯
23、器件,它的基本功能是統(tǒng)計時鐘脈沖的個數(shù),即實現(xiàn)計數(shù)操作,它也可用與分頻、定時、產(chǎn)生節(jié)拍脈沖和脈沖序列等。例如,計算機中的時序發(fā)生器、分頻器、指令計數(shù)器等都要使用計數(shù)器。計數(shù)器的種類很多。按構(gòu)成計數(shù)器中的各觸發(fā)器是否使用一個時鐘脈沖源來分,可分為同步計數(shù)器和異步計數(shù)器;按進位體制的不同,可分為二進制計數(shù)器、十進制計數(shù)器和任意進制計數(shù)器;按計數(shù)過程中數(shù)字增減趨勢的不同,可分為加法計數(shù)器、減法計數(shù)器和可逆計數(shù)器;還有可預(yù)制數(shù)和可編計數(shù)器等等。3.5 D觸發(fā)器電路D觸發(fā)器的原理圖如下圖3-5所示:圖3-5 觸發(fā)器件原理圖D觸發(fā)器的輸入端由時鐘信號端clk、數(shù)據(jù)信號端、反相復(fù)位端CLRN和反相置位端PR
24、N組成,CLRN、PRN控制信號分別從方框小圓圈處輸入,表示低電平控制信號有效。D觸發(fā)器輸出端由兩個互為反相的Q端和Q端組成。D觸發(fā)器的D代表延遲或數(shù)據(jù),它的輸出是發(fā)生在早于一個時鐘脈沖之前的D輸入的函數(shù)。在時鐘脈沖期間,在D輸入提供“1”會導(dǎo)致輸出變?yōu)?,否則輸出變?yōu)?。4、特殊器件的介紹4.1 CPLD器件介紹CPLD是Complex Programmable Logic Device的縮寫,它是有最早的PLD器件發(fā)展形成的高密度可編程邏輯器件,它具有編程靈活、集成度高、設(shè)計開發(fā)周期短、適用范圍寬、開發(fā)工具先進、設(shè)計制造成本低、對設(shè)計者的硬件經(jīng)驗要求低、標(biāo)準(zhǔn)產(chǎn)品無需測試、保密性強、價格大眾
25、化等特點。 CPLD是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。其基本設(shè)計方法是借助集成開發(fā)軟件平臺,用原理圖、硬件描述語言等方法,生成相應(yīng)的目標(biāo)文件,通過下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標(biāo)芯片中,實現(xiàn)設(shè)計的數(shù)字系統(tǒng)。許多公司都開發(fā)出了CPLD可編程邏輯器件。比較典型的就是Altera、Lattice、Xilinx世界三大權(quán)威公司的產(chǎn)品。如 Altera公司的MAXII器件,就是其極具代表性的一類CPLD器件,是有史以來功耗最低、成本最低的CPLD。MAX II CPLD基于突破性的體系結(jié)構(gòu),在所有CPLD系列中,其單位I/O引腳的功耗和成本都是最低的。 Altera公司的
26、MAX7000A系列器件是高密度、高性能的EPLD,它是基于第二代MAX結(jié)構(gòu),采用CMOS EPROM工藝制造的。該系列的器件具有一定得典型性,其他結(jié)構(gòu)都與此結(jié)構(gòu)非常的類似。它包括邏輯陣列塊、宏單元、擴展乘積項、可編程連線陣列和IO控制部分。由于大多數(shù)CPLD是基于乘積項的“與或”結(jié)構(gòu),故適合設(shè)計組合邏輯電路。4.2 FPGA器件介紹FPGA(FieldProgrammable Gate Array)可以達到比PLD更高的集成度,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進一步發(fā)展起來的,具有更復(fù)雜的布線結(jié)構(gòu)和邏輯實現(xiàn)。PLD器件和FPGA的主要區(qū)別在于PLD是通過修改具有固定內(nèi)連電路
27、得邏輯功能來進行編程,而FPGA是通過修改一根或多根分割宏單元的基本功能塊的內(nèi)連線的布線來進行編程。它一般由可嵌入式陣列塊(EAB)、邏輯陣列塊(LAB)、快速互聯(lián)通道(Fast Track)、IO單元(IOE)組成。Altera Cyclone II 采用全銅層、低K值、1.2伏SRAM工藝設(shè)計,裸片尺寸被盡可能最小的優(yōu)化。采用300毫米晶圓,以TSMC成功的90nm工藝技術(shù)為基礎(chǔ),Cyclone II 器件提供了4,608到68,416個邏輯單元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、專用外部存儲器接口電路、4kbit嵌入式存儲器塊、鎖相環(huán)(PLL)和高速差分
28、I/O能力。Cyclone II 器件擴展了FPGA在成本敏感性、大批量應(yīng)用領(lǐng)域的影響力,延續(xù)了第一代Cyclone器件系列的成功。由于FPGA是基于查找表(LUT)結(jié)構(gòu)的器件,且每個LAB由10個LE組成,一個LE由LUT和寄存器組成,適合于時序邏輯電路的設(shè)計。4.3 EP1K30TC144器件介紹ACEX1K器件是Altera公司在2000推出的2.5V低價格SRAM工藝FPGA結(jié)構(gòu)與10KE類似,帶嵌入式存儲塊(EAB),部分型號帶PLL,主要有1K10、1K30、1K50、1K100等型號。EP1K30TC144器件中,EP1K表示器件類型,30表示器件內(nèi)有30K個邏輯門,T代表封裝類
29、型,C表示用途為商用,144表示管腳數(shù)為144。其引腳圖如圖4-3所示圖4-3 EP1K30TC原理圖5、最小系統(tǒng)原理圖整個設(shè)計用到的模塊組成的最小系統(tǒng)原理圖如下圖5-1所示:圖5-1最小系統(tǒng)原理圖本設(shè)計的電路實現(xiàn)是基于FPGA最小系統(tǒng)原理圖,再配以所需的外設(shè)。最小系統(tǒng)設(shè)計包含了時鐘產(chǎn)生電路模塊、PS程序下載配置電路模塊、電源電路模塊,右邊的是FPGA芯片EP1K30TC143器件。通過連線將各個模塊進行連接成最小系統(tǒng)。由于本設(shè)計電路比較簡單,外設(shè)比較少。將外設(shè)與最小系統(tǒng)進行合理正確連接,即可實現(xiàn)本設(shè)計的電路原理要求。圖中將各外設(shè)模塊和芯片電路各對應(yīng)管腳進行合理正確連接,即可實現(xiàn)本設(shè)計的電路原
30、理要求,A,B的輸入由程序來實現(xiàn),在輸出端口,可以外接一個示波器,用來檢查電路是否輸出了脈沖寬度調(diào)制信號,以及占空比是否符合要求,用以驗證電路的功能。6、軟件實現(xiàn)通過至頂向下(TOP-DOWN)的設(shè)計方法,我們對電路的設(shè)計要求作了分析,從電路要實現(xiàn)的功能著手,逐層分析電路設(shè)計的步驟,再具體到各個模塊的設(shè)計實現(xiàn)以及各模塊實現(xiàn)方案的選擇。從本設(shè)計的電路要求,通過兩個可加載8位計數(shù)器lcnt8.v實現(xiàn)本設(shè)計。6.1軟件設(shè)計設(shè)計程序如下: A、代碼頂層:模塊pwm_gn.v/PWM generatormodule pwm_gn(clk,rst_n,a,b,pwmout,ld1,ld2,cao1,cao
31、2); input clk;/system clock input rst_n;/reset input 7:0 a;/pulse width control input input 7:0 b;/pulse width control input output pwmout; output ld1,ld2,cao1,cao2;/only for observation, can be removed wire cao1; wire cao2; wire ld1; wire ld2; wire pwmout; reg pwmint;/intantiate two loadable 0255 c
32、ounter lcnt8 u1_lcnt8( .clk(clk), .rst_n(rst_n), .ld(ld1), .d(a), .cao(cao1); lcnt8 u2_lcnt8( .clk(clk), .rst_n(rst_n), .ld(ld2), .d(b), .cao(cao2);/two loadable counter control and reloading controlalways(posedge cao2 or posedge cao1) begin if (cao1=1b1) begin pwmint=1b0; end else if (cao2=1) begin
33、 pwmint=1b1; end end assign ld1=!pwmint; assign ld2=pwmint; assign pwmout=pwmint;endmoduleB、8位可加載計數(shù)器:lcnt8/8bit loadble increment countermodule lcnt8(clk,rst_n,ld,d,cao); input clk; input ld; input 7:0 d; input rst_n; output cao; reg 7:0 count; reg cao; always(posedge clk ) begin if (!rst_n) begin c
34、ount=8b00000000; end else if (ld) begin count=d; end else begin count=count+1b1; end end always(posedge clk) begin if (count=254) begin cao=1b1; end else begin cao=1b0; end endendmodule6.2思考題擴展本設(shè)計電路中,脈沖調(diào)制信號的占空比由A,B與255的差值決定,擴展電路的實現(xiàn)占空比由A,B的值決定,即高低電平持續(xù)時間由A,B來決定,具體電路由兩個八位可加載減計數(shù)器,D觸發(fā)器和非門等組成,八位可加載減計數(shù)器的程序
35、和仿真圖如下:程序:module subb(clk,rst_n,ld,d,cao); input clk; input ld; input 7:0 d; input rst_n; output cao; reg 7:0 count; reg cao; always(posedge clk ) begin if (!rst_n) begin count=8b11111111; end else if (ld) begin count=d; end else begin count=count-1b1; end end always(posedge clk) begin if (count=0)
36、begin cao=1b1; end else begin cao=1b0; end endEndmodule7、系統(tǒng)仿真及調(diào)試7.1仿真通過QuartusII軟件,我們進行了仿真,其仿真波形如下圖所示:圖7-1 A=12,B=12的輸出波形圖7-2 A=136,B=128的輸出波形在圖7-1中,我們設(shè)置A=12,B=12。當(dāng)lcnt8:u1完成從12到255計數(shù)時cao1發(fā)生一個脈沖,D觸發(fā)器清零,變?yōu)榈碗娖?,lcnt8:u1又從12開始計數(shù);當(dāng)lcnt8:u2完成從12到255計數(shù)時cao2發(fā)生一個脈沖,D觸發(fā)器置數(shù)為高電平,lcnt8:u2又開始從12到255計數(shù);如此循環(huán)。圖7-2將A
37、設(shè)置為136,B為128,因此計數(shù)器將從136和128開始計數(shù),從而調(diào)節(jié)了脈沖的寬度。在Quartus I I 6.0軟件中利用硬件描述語言描述電路后,用Tools/Netlist Viewers/RTL Viewer生成的對應(yīng)的電路圖如下:圖7-3 數(shù)控脈沖寬度調(diào)制信號發(fā)生器電路圖7.2 調(diào)試在QuartusII軟件中,通過對所設(shè)計的硬件描述語言代碼進行波形仿真后,達到了預(yù)期效果,于是,我們在該軟件上進行下載配置設(shè)置。在Assignments菜單下選中Devices,在Family欄選擇ACEX1K,選中EP1K30TC144-2器件。再在Assignments菜單下選中Pins按照相應(yīng)要求對管腳進行鎖定。最后在Tools菜單下,選中Programmer,對配置方式進行設(shè)置,這里選擇Passive Seril(PS)被動串行模式。選擇好要下載的硬件設(shè)備后點擊Start即可開始編程下載了。調(diào)試過程為在線調(diào)試。在通過調(diào)試中,我們需要注意很多問題,現(xiàn)歸納如下:(1)在軟件上能實現(xiàn)仿真的程序不一定在硬件電路上就
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球及中國智能灌溉系統(tǒng)行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 2025-2030全球及中國數(shù)字定時器開關(guān)行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 2025-2030全球及中國妊娠試紙行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 2025-2030全球及中國全景IP攝像頭行業(yè)市場現(xiàn)狀供需分析及市場深度研究發(fā)展前景及規(guī)劃可行性分析研究報告
- 接口安全標(biāo)準(zhǔn)制定-全面剖析
- 2025-2030保險柜市場發(fā)展分析及行業(yè)投資戰(zhàn)略研究報告
- 2025-2030乙酰螺旋霉素片市場前景分析及投資策略與風(fēng)險管理研究報告
- 2025-2030中國黃蠟行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國鯨蠟硬脂基辛酸酯行業(yè)市場發(fā)展趨勢與前景展望戰(zhàn)略研究報告
- 2025-2030中國高端白酒行業(yè)發(fā)展分析及發(fā)展前景與投資研究報告
- 體育康養(yǎng)與心理健康促進的結(jié)合研究論文
- 天津市河?xùn)|區(qū)2024-2025學(xué)年九年級下學(xué)期結(jié)課考試化學(xué)試題(含答案)
- 2025技術(shù)服務(wù)合同模板
- 2025年保安證學(xué)習(xí)資源題及答案
- 公司事故隱患內(nèi)部報告獎勵制度
- 如何通過合理膳食安排促進嬰幼兒成長發(fā)育
- 人教版(2024)七年級下冊生物期中復(fù)習(xí)必背知識點提綱
- 浙江省紹興市2025屆高三語文一模試卷(含答案)
- 2025屆高三化學(xué)一輪復(fù)習(xí) 化學(xué)工藝流程題說題 課件
- 網(wǎng)線采購合同
- 2024年初級中式烹調(diào)師技能鑒定理論考前通關(guān)必練題庫(含答案)
評論
0/150
提交評論