基于CPLD多波形信號(hào)發(fā)生器設(shè)計(jì).doc_第1頁(yè)
基于CPLD多波形信號(hào)發(fā)生器設(shè)計(jì).doc_第2頁(yè)
基于CPLD多波形信號(hào)發(fā)生器設(shè)計(jì).doc_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余28頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

南昌航空大學(xué)學(xué)士論文第一章 緒論1.1 研究?jī)?nèi)容及意義 高精度的信號(hào)源對(duì)通信系統(tǒng)、電子對(duì)抗以及各種電子測(cè)量技術(shù)十分重要。隨著電子技術(shù)的發(fā)展,對(duì)信號(hào)源頻率的準(zhǔn)確度、穩(wěn)定度,以及頻譜純度等方面要求越來(lái)越高。傳統(tǒng)的信號(hào)發(fā)生器由于波形精度低,頻率穩(wěn)定性差等缺點(diǎn),已經(jīng)不能滿足許多實(shí)際應(yīng)用的需要。本系統(tǒng)設(shè)計(jì)的函數(shù)發(fā)生器是以可編程邏輯器件CPLD為核心,采用直接頻率合成技術(shù),通過數(shù)模轉(zhuǎn)換電路,構(gòu)成一個(gè)精度較高,波形穩(wěn)定的函數(shù)信號(hào)發(fā)生器。較傳統(tǒng)的頻率合成技術(shù)相比,直接頻率合成技術(shù)(Direct Digital Synthesis,簡(jiǎn)稱DDS),具有頻率分辨率高、頻率轉(zhuǎn)變速度快、輸出相位連續(xù)、相位噪聲低、可編程和全數(shù)字化、便于集成等突出優(yōu)點(diǎn),使其得到越來(lái)越廣泛的應(yīng)用,成為眾多電子系統(tǒng)中不可缺少的組成部分。在現(xiàn)代電子技術(shù)中,信號(hào)源在各種實(shí)驗(yàn)應(yīng)用和實(shí)驗(yàn)測(cè)試處理中應(yīng)用非常廣泛作,為激勵(lì)源,仿真各種測(cè)試信號(hào)。本文根據(jù)信號(hào)波形的產(chǎn)生特點(diǎn),采用基于 CPLD/FPGA 的 VHDL 硬件描述語(yǔ)言,仿真實(shí)現(xiàn)了多波形發(fā)生器的設(shè)計(jì)。仿真結(jié)果輸出較高精度、穩(wěn)定的波形信號(hào),可以滿足測(cè)量或各種實(shí)際需要,方便、簡(jiǎn)易實(shí)用。1.2 國(guó)內(nèi)外研究概況傳統(tǒng)的波形發(fā)生器多采用模擬電路或單片機(jī)或?qū)S眯酒?,由于成本高或控制方式不靈活或波形種類少不能滿足實(shí)際需求。目前市場(chǎng)上的數(shù)字信號(hào)發(fā)生器主要采用直接數(shù)字合成技術(shù),這種波形發(fā)生器不僅可以產(chǎn)生可變頻的載頻信號(hào)、各種調(diào)制信號(hào),同時(shí)還能和計(jì)算機(jī)配合產(chǎn)生用戶自定義的有限帶寬的任意信號(hào),可以為多領(lǐng)域的測(cè)試提供寬帶寬、高分辨率的測(cè)試信號(hào)。從目前發(fā)展?fàn)顩r來(lái)看,國(guó)外數(shù)字信號(hào)發(fā)生器的研制和生產(chǎn)技術(shù)已經(jīng)較為成熟。國(guó)內(nèi)市場(chǎng)上的波形發(fā)生器,其電路形式有采用運(yùn)放及分立元件構(gòu)成;也有采用單片集成的函數(shù)發(fā)生器,而在現(xiàn)代電子系統(tǒng)設(shè)計(jì)中, DDS技術(shù)發(fā)展迅速,由于其易于單片集成,積小,價(jià)格低,功耗小,因此其應(yīng)用也越來(lái)越廣泛。并且在相對(duì)帶寬、頻率轉(zhuǎn)換時(shí)間、高分辨力、相位連續(xù)性、正交輸出以及集成化等一系列性能指標(biāo)方面遠(yuǎn)遠(yuǎn)超過了傳統(tǒng)頻率合成技術(shù)所能達(dá)到的水平,為系統(tǒng)提供了優(yōu)于模擬信號(hào)源的性能。1.3 本文主要內(nèi)容本文的設(shè)計(jì)主要基于可編程邏輯器件CPLD設(shè)計(jì)多波形信號(hào)發(fā)生器,由VHDL編程實(shí)現(xiàn),并通過外圍數(shù)模轉(zhuǎn)換電路,完成函數(shù)信號(hào)發(fā)生器的設(shè)計(jì),最后對(duì)整個(gè)波形發(fā)生器進(jìn)行調(diào)試仿真。第一章為對(duì)多波形信號(hào)發(fā)生器的研究?jī)?nèi)容及發(fā)展的綜合概述。第二章為系統(tǒng)設(shè)計(jì)平臺(tái)介紹、系統(tǒng)設(shè)計(jì)方式及原理框圖概述。第三章為硬件設(shè)計(jì)及外圍電路方案介紹。第四章為系統(tǒng)的軟件設(shè)計(jì)及各模塊的具體功能介紹。第五章介紹了系統(tǒng)調(diào)試過程、解決問題及調(diào)試仿真結(jié)果。第六章是為本次設(shè)計(jì)作綜合總結(jié)。第二章 系統(tǒng)概述2.1 系統(tǒng)設(shè)計(jì)平臺(tái)介紹EDA(Electronic Design Automation)技術(shù)作為現(xiàn)代電子設(shè)計(jì)技術(shù)的核心,它依賴功能強(qiáng)大的計(jì)算機(jī),在EDA工具軟件平臺(tái)上,對(duì)以硬件描述語(yǔ)言HDL(Hardware Description Language)為系統(tǒng)邏輯描述手段完成的設(shè)計(jì)文件,自動(dòng)完成邏輯化簡(jiǎn)、邏輯分割、邏輯綜合、結(jié)構(gòu)綜合(布局布線),以及邏輯優(yōu)化和仿真測(cè)試等項(xiàng)功能,直至實(shí)現(xiàn)既定性能的電子線路系統(tǒng)功能。本系統(tǒng)通過可編程邏輯器件CPLD設(shè)計(jì),其特點(diǎn)是直接面向用戶,具有極大的靈活性和通用性,使用方便,硬件測(cè)試和實(shí)現(xiàn)快捷,開發(fā)效率高,成本低,工作可靠性好等,CPLD器件的設(shè)計(jì)可分為設(shè)計(jì)輸入,設(shè)計(jì)實(shí)現(xiàn)和器件編程三個(gè)步驟及相應(yīng)的功能仿真,時(shí)序仿真和器件功能測(cè)試三個(gè)驗(yàn)證過程??删幊踢壿嬈骷﨏PLD設(shè)計(jì)流程如圖2.1所示:圖2.1 可編程邏輯器件設(shè)計(jì)流程圖如圖2.1所示,設(shè)計(jì)輸入可分為兩種類型,圖形輸入和HDL文本輸入,常用的有原理圖輸入和應(yīng)用硬件描述語(yǔ)言設(shè)計(jì)輸入,在下載之前,通過軟件進(jìn)行綜合和仿真,這種設(shè)計(jì)方法可以節(jié)約設(shè)計(jì)周期,設(shè)計(jì)靈活性,成本低。由于其可編程特性,可以通過軟件對(duì)系統(tǒng)功能進(jìn)行修改,易于更改和開發(fā)。在硬件描述語(yǔ)言方面,本系統(tǒng)采用了VHDL硬件描述語(yǔ)言, VHDL全名是VHSIC(Very High Speed Integrated Circuit) Hardware Description Language是EDA技術(shù)的重要組成部分,由美國(guó)國(guó)防部發(fā)起創(chuàng)建,由IEEE (The Institute of Electrical and Electronics Engineers)進(jìn)一步發(fā)展并發(fā)布,是硬件描述語(yǔ)言的業(yè)界標(biāo)準(zhǔn)之一。VHDL具有與具體硬件電路無(wú)關(guān)和與設(shè)計(jì)平臺(tái)無(wú)關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述的能力。相比其他硬件描述語(yǔ)言,VHDL 的優(yōu)勢(shì)表現(xiàn)在以下幾點(diǎn):(1) VHDL對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),也不必管理最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么,而進(jìn)行獨(dú)立的設(shè)計(jì)。(2) VHDL采用類似高級(jí)語(yǔ)言的語(yǔ)句格式完成對(duì)硬件行為的描述,具備更強(qiáng)的模塊化能力,并擁有良好的可讀性以及程序的移植性。(3) VHDL具有多層次的設(shè)計(jì)描述功能,既可以描述系統(tǒng)級(jí)電路,又可以描述門級(jí)電路。而描述既可以采用行為描述、寄存器傳輸描述或結(jié)構(gòu)描述,也可以采用三者混合的混合級(jí)描述。本次設(shè)計(jì)是基于Quartus II軟件設(shè)計(jì)的,Quartus II 是Altera公司的綜合性PLD/FPGA開發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。圖2.2 Quartus II設(shè)計(jì)流程圖圖2.2上排所示的是Quartus II編譯設(shè)計(jì)的主控界面,它顯示了Quartus II自動(dòng)設(shè)計(jì)的各主要處理環(huán)節(jié)和設(shè)計(jì)流程,包括設(shè)計(jì)輸入編輯、設(shè)計(jì)分析與綜合、適配、編程文件匯編、時(shí)序參數(shù)提取以及編程下載幾個(gè)步驟。圖2.2下排的流程框圖,是與上面的Quartus II設(shè)計(jì)流程相對(duì)照的標(biāo)準(zhǔn)的EDA開發(fā)流程。2.2 信號(hào)發(fā)生器設(shè)計(jì)方式介紹Direct Digital Synthesis(DDS)是20世紀(jì)60年代末出現(xiàn)的第三代頻率合成技術(shù)。用DDS技術(shù)來(lái)設(shè)計(jì)制作一個(gè)基于CPLD的三相多波形函數(shù)發(fā)生器,并使它能輸出正弦波、三角波、方波等波形信號(hào)源,三種波形的相位差為120。信號(hào)發(fā)生器中的CPLD芯片是DDS的控制及數(shù)據(jù)處理的核心,電路系統(tǒng)主要由數(shù)控分頻、尋址計(jì)數(shù)器、模360加法器、波形數(shù)據(jù)儲(chǔ)存ROM和外圍DAC轉(zhuǎn)換電路組成。波形數(shù)據(jù)產(chǎn)生器由數(shù)控分頻、尋址計(jì)數(shù)器、正弦ROM、方波三角波ROM構(gòu)成。在時(shí)鐘信號(hào)發(fā)生器作用下,根據(jù)輸入數(shù)據(jù)不同產(chǎn)生不同的分頻比,數(shù)控分頻生成相應(yīng)頻率的時(shí)鐘信號(hào)作為尋址計(jì)數(shù)器的輸入時(shí)鐘,產(chǎn)生對(duì)ROM進(jìn)行尋址的地址,輸出波形數(shù)據(jù)后,再由DAC電路數(shù)模轉(zhuǎn)換處理后輸出最終所需要的波形信號(hào)。本系統(tǒng)采用Quartus II開發(fā)平臺(tái),VHDL語(yǔ)言編程實(shí)現(xiàn)。方波和三角波波形ROM模塊利用邏輯單元實(shí)現(xiàn)ROM設(shè)計(jì),由于正弦查找表較為復(fù)雜,用邏輯單元實(shí)現(xiàn)數(shù)據(jù)較多,所以正弦ROM采用LPM_ROM定制,完成外圍電路的焊接之后,通過Quartus II把編寫完的程序燒錄入CPLD芯片,再通過示波器對(duì)整個(gè)波形發(fā)生器進(jìn)行調(diào)試,使其達(dá)到預(yù)期的效果。2.3 系統(tǒng)原理框圖介紹根據(jù)設(shè)計(jì)要求,多波形信號(hào)發(fā)生器由3部分組成,即時(shí)鐘信號(hào)發(fā)生器、波形數(shù)據(jù)產(chǎn)生器和D/A轉(zhuǎn)換電路。晶體振蕩器產(chǎn)生穩(wěn)定度很高的時(shí)鐘信號(hào),在時(shí)鐘信號(hào)的作用下,波形數(shù)據(jù)產(chǎn)生器生成頻率可變的波形數(shù)據(jù)數(shù)字信號(hào),經(jīng)數(shù)模轉(zhuǎn)換電路最終輸出所需波形信號(hào)。幅度的調(diào)節(jié)可通過改變D/A轉(zhuǎn)換芯片電阻網(wǎng)絡(luò)的基準(zhǔn)電壓實(shí)現(xiàn)。基于CPLD的波形數(shù)據(jù)產(chǎn)生器系統(tǒng)模塊如圖2.3所示。圖2.3 波形數(shù)據(jù)系統(tǒng)框圖圖中DFR為數(shù)控分頻器,根據(jù)儀器面板4位數(shù)字量開關(guān)產(chǎn)生的預(yù)置數(shù)據(jù)D輸出不同頻率的時(shí)鐘,以改變輸出信號(hào)的頻率。XunZhi根據(jù)輸入的始終產(chǎn)生計(jì)數(shù)地址,在時(shí)鐘的作用下,ROM,SIN_ROM模塊分別產(chǎn)生方波和三角波、正弦波的波形數(shù)據(jù),再通過m360模塊將地址進(jìn)行移相處理,可輸出不同相位的波形,m21(數(shù)據(jù)選擇器)在面板上的波形選擇開關(guān)sel的控制下,選擇輸出不同的波形數(shù)據(jù),送至D/A轉(zhuǎn)換電路。D/A轉(zhuǎn)換采用8位的DAC0832芯片。第三章 硬件及外圍電路設(shè)計(jì)3.1 CPLD及芯片介紹CPLD復(fù)雜可編程邏輯器件,是從PAL和GAL器件發(fā)展出來(lái)的器件,相對(duì)而言規(guī)模大,結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍。是一種用戶根據(jù)各自需要而自行構(gòu)造邏輯功能的數(shù)字集成電路。通過借助集成開發(fā)軟件平臺(tái)進(jìn)行基本的設(shè)計(jì),用原理圖、硬件描述語(yǔ)言等方法,生成相應(yīng)的目標(biāo)文件,通過下載電纜(“在系統(tǒng)”編程)將代碼傳送到目標(biāo)芯片中,實(shí)現(xiàn)設(shè)計(jì)的數(shù)字系統(tǒng)。CPLD編程技術(shù)采用電可擦除儲(chǔ)存單元的E2PROM或Flash Memory技術(shù),CPLD被編程后改變了電可擦除儲(chǔ)存單元中的信息,掉電后可保存。由于內(nèi)部采用固定長(zhǎng)度的金屬線進(jìn)行各邏輯塊的互連,所以設(shè)計(jì)的邏輯電路具有時(shí)間可預(yù)測(cè)性,避免了分段式互連結(jié)構(gòu)時(shí)序不完全預(yù)測(cè)的缺點(diǎn)。本次設(shè)計(jì)采用Altera公司的ACEX1K系列EP1K10TC100-3,其典型邏輯門數(shù)(包括邏輯門和RAM)為10000門,最大可用系統(tǒng)門數(shù)為56000門,邏輯單元(Logic elements)為576個(gè),邏輯陣列模塊(Logic array blocks)為36個(gè),嵌入式陣列模塊(Embedded array blocks)為3個(gè),RAM總?cè)萘繛?2288字節(jié),EP1K10TC100-3具有100個(gè)管腳,除電源引腳、地線引腳、全局控制引腳和JTAG引腳外,共提供了66個(gè)可用I/O腳,這些引腳可以任意配置為輸入、輸出和雙向方式,芯片的工作電壓為+5V。通常情況下在硬件調(diào)試的過程中一般使用下載電纜進(jìn)行下載,而當(dāng)調(diào)試完成以后要用配置芯片對(duì)FPGA進(jìn)行配置。配置芯片在每次系統(tǒng)上電以后自動(dòng)將配置文件加載到FPGA中形成電路。3.2 硬件總體方案介紹由于模擬電路復(fù)雜程度較高,而且在檢查電路的時(shí)候會(huì)有很大的工作量,且可調(diào)性差。并且電路帶來(lái)的高頻干擾也會(huì)更大,影響波形效果。而單片機(jī)電路確定方案后不易更改硬件電路,可變性不高,功能修改完善不方便,所以本次設(shè)計(jì)除了采用CPLD設(shè)計(jì)電路,由于其可編程特性,在設(shè)計(jì)調(diào)試時(shí)可以不斷改變電路硬件的邏輯關(guān)系,而不必改變系統(tǒng)的硬件結(jié)構(gòu),縮短了設(shè)計(jì)周期,提高了設(shè)計(jì)效率。在完成模塊程序編譯仿真后,通過USB-Blaster編程器將系統(tǒng)配置文件下載入CPLD芯片,分別將數(shù)控分頻輸入、波形選擇控制輸入以及波形數(shù)據(jù)輸出連接CPLD主控芯片。圖3.1是本次設(shè)計(jì)的基本硬件框圖: 圖3.1 系統(tǒng)基本硬件電路外部輸入通過四位撥碼開關(guān)控制分頻倍數(shù),可對(duì)頻率進(jìn)行調(diào)節(jié),在通過兩位撥碼開關(guān)控制波形選擇,系統(tǒng)時(shí)鐘信號(hào)由開發(fā)箱上提供,八位波形數(shù)據(jù)輸出接試驗(yàn)箱的DAC轉(zhuǎn)換模塊,由于示波器只有兩路輸入,所以需要再設(shè)計(jì)一個(gè)D/A轉(zhuǎn)換電路將兩種相位的波形進(jìn)行比較。3.3 CPLD及外圍電路設(shè)計(jì)3.3.1 CPLD主控電路設(shè)計(jì)本次設(shè)計(jì)主控電路設(shè)計(jì)基于北京百科融創(chuàng)EDA教學(xué)開發(fā)平臺(tái),CPLD芯片為Altera公司的EP1K10TC100-3,共100個(gè)管腳,提供66個(gè) 可用I/O腳,系統(tǒng)包括控制輸入及波形數(shù)據(jù)輸出,共使用23個(gè)I/O腳,圖3.2為CPLD主控芯片管腳分配圖。圖3.2 CPLD主控芯片I/O6、I/O7腳為波形控制開關(guān),I/O9引腳為外部時(shí)鐘輸入口,I/O71、I/O70、I/O69、I/O68為數(shù)控分頻外部控制端口,I/O20I/O23、I/O26I/O28、I/O30腳為初始相位八位波形數(shù)據(jù)輸出端;I/O31I/O34、I/O45I/O48為移向后的波形數(shù)據(jù)輸出端,波形數(shù)據(jù)輸出接DAC模塊的八位數(shù)據(jù)輸入,通過示波器觀察輸出波形信號(hào)。3.3.2 DAC數(shù)模轉(zhuǎn)換模塊設(shè)計(jì) 由于從波形ROM中讀出的波形數(shù)據(jù)還只是一個(gè)數(shù)字信號(hào),要得到最后的輸出信號(hào)必須經(jīng)過數(shù)模轉(zhuǎn)換器。因此在波形ROM輸出之后要設(shè)計(jì)一個(gè)D/A轉(zhuǎn)換電路。本次設(shè)計(jì)采用DAC0832來(lái)實(shí)現(xiàn)D/A轉(zhuǎn)換,DAC0832是雙列直插式8位D/A轉(zhuǎn)換器,能完成數(shù)字量輸入到模擬量(電流)輸出的轉(zhuǎn)換。由于其價(jià)格低廉、接口簡(jiǎn)單、轉(zhuǎn)換控制容易等優(yōu)點(diǎn),在單片機(jī)應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。數(shù)模(D/A)轉(zhuǎn)換電路的作用是把已經(jīng)合成的波形幅值的數(shù)字量轉(zhuǎn)換成模擬量,其速度和特性直接影響整個(gè)系統(tǒng)的性能。D/A轉(zhuǎn)換器件的首要特性要求是高速,其次是轉(zhuǎn)換位數(shù),本設(shè)計(jì)中選用8位的D/A芯片DAC0832。波形幅度量化序列經(jīng)D/A轉(zhuǎn)換后成為階梯波。D/A的輸出用電壓形式表示一般應(yīng)為: (式3.1) 式中D為D/A的輸入數(shù)據(jù)值,N為D/AC的位數(shù),即通常所指的D/AC的分辨率,為輸入D/A的參考電壓。DAC0832對(duì)信號(hào)進(jìn)行數(shù)模轉(zhuǎn)換后,將數(shù)字信號(hào)恢復(fù)為模擬信號(hào),再由UA741構(gòu)成的放大電路進(jìn)行放大處理,完善波形信號(hào),使波形能夠達(dá)到標(biāo)準(zhǔn)效果。外圍DAC電路原理圖如圖3.3所示:圖3.3 DAC0832外圍電路設(shè)計(jì)在DAC外圍電路中,UA741接+12V、-12V電源,DAC0832接5V電源,在電源接口處接一電容,起濾除雜波作用,在信號(hào)輸出加入了濾波電路,接入示波器,得到穩(wěn)定的波形信號(hào)。第四章 軟件程序設(shè)計(jì)程序部分基于Quartus II 通過VHDL語(yǔ)言實(shí)現(xiàn)。系統(tǒng)采用自頂向下設(shè)計(jì)原則,先完成各個(gè)子模塊仿真設(shè)計(jì),綜合編譯后,通過軟件生成圖元文件,再設(shè)計(jì)系統(tǒng)頂層原圖,將各個(gè)模塊連接,最后進(jìn)行系統(tǒng)總體仿真。4.1 系統(tǒng)流程設(shè)計(jì)本次設(shè)計(jì)主要包括數(shù)控分頻模塊、尋址計(jì)數(shù)模塊、360移相模塊、波形ROM儲(chǔ)存模塊、波形選擇模塊等,系統(tǒng)總體設(shè)計(jì)流程圖如下圖4.1所示:圖4.1 系統(tǒng)設(shè)計(jì)流程圖波形ROM 模塊針對(duì)不同的波形信號(hào),通過不同的方式設(shè)計(jì)ROM模塊,像三角波方波這樣波形簡(jiǎn)單變化緩慢的波形,通過邏輯單元實(shí)現(xiàn)ROM設(shè)計(jì),而對(duì)于正弦波這樣的波形,查找表比較復(fù)雜,波形數(shù)據(jù)較大,所以利用了LPM_ROM定制法設(shè)計(jì)正弦波的存儲(chǔ)ROM,最后再通過波形選擇輸出波形數(shù)據(jù)。4.2 子模塊的設(shè)計(jì)4.2.1 數(shù)控分頻器數(shù)控分頻器的功能是在輸入端輸入不同數(shù)據(jù)時(shí),對(duì)輸入時(shí)鐘產(chǎn)生不同的分頻比,輸出不同頻率的時(shí)鐘,以改變輸出信號(hào)的頻率。本設(shè)計(jì)中利用并行預(yù)置數(shù)的減法計(jì)數(shù)器實(shí)現(xiàn),他的工作原理是:減法計(jì)數(shù)器在并行預(yù)置數(shù)的基礎(chǔ)上,在時(shí)鐘的作用下進(jìn)行減計(jì)數(shù),當(dāng)計(jì)數(shù)值為零時(shí)產(chǎn)生溢出信號(hào),加載預(yù)置數(shù)據(jù),并且將溢出信號(hào)作為分頻器的輸出信號(hào),實(shí)現(xiàn)N分頻信號(hào)輸出。其分頻系數(shù)N為 (式4.1)D為預(yù)置數(shù)的值。為了得到占空比為50%的矩形時(shí)鐘信號(hào),將輸出再進(jìn)行二分頻。由此,該分頻器的總分頻系數(shù)為2N。本設(shè)計(jì)中一個(gè)波形周期由64個(gè)時(shí)鐘信號(hào)組成,則輸出信號(hào)頻率為: (式4.2)時(shí)鐘頻率為24 MHz。數(shù)控分頻器模塊如圖4.2所示:圖 4.2 數(shù)控分頻器模塊略去聲明部分,數(shù)控分頻器的核心程序如下所示:architecture one of kongzhi is signal full:std_logic; -定義內(nèi)部溢出標(biāo)識(shí) signal temp:std_logic_vector(1 downto 0);beginp1:process(clk) -N+1分頻進(jìn)程 variable cnt9:integer range 0 to 31;begin if (clkevent and clk=1)then -上升沿檢測(cè) if(cnt9=0)thencnt9:=d; -重新加載預(yù)置數(shù)Dfull=1; -計(jì)數(shù)值為零時(shí),產(chǎn)生溢出信號(hào)else cnt9:=cnt9-1; -否則,進(jìn)行減一計(jì)數(shù)操作full=0;end if;end if;end process;p2:process(full) -二分頻進(jìn)程beginif(fullevent and full=1)then -上升沿檢測(cè)if(temp=11)then -二位二進(jìn)制計(jì)數(shù),最低位每個(gè)時(shí)鐘temp=00; -翻轉(zhuǎn)一次,由此實(shí)現(xiàn)二分頻else temp=temp+1; -計(jì)數(shù)值加一end if;end if;end process;fout=not temp(0); -選擇二分頻輸出end one;通過Quartus II仿真結(jié)果如下圖4.3所示:圖4.3 數(shù)控分頻器仿真結(jié)果通過以上仿真結(jié)果,在分頻數(shù)據(jù)輸入端輸入“0011”,實(shí)現(xiàn)2(D+1)分頻,在時(shí)鐘信號(hào)輸出端fout,可以看到,該模塊完成了輸入時(shí)鐘8分頻,此模塊設(shè)計(jì)符合理論值。4.2.2 尋址計(jì)數(shù)器模塊尋址計(jì)數(shù)器主要用于產(chǎn)生對(duì)ROM尋址輸出波形數(shù)據(jù)的尋址信號(hào),尋址空間為512字節(jié),尋址計(jì)數(shù)器模塊圖元文件如圖4.4所示:圖4.4 尋址計(jì)數(shù)器模塊其核心程序如下:process(clk) variable count:std_logic_vector(8 downto 0);begin if (clkevent and clk=1)then -時(shí)鐘上升沿檢測(cè) if(count0); -計(jì)數(shù)清零 end if; end if; address=count; -輸出尋址信號(hào)end process;在Quartus II中仿真結(jié)果如圖4.5所示:圖4.5 計(jì)數(shù)地址仿真結(jié)果由于系統(tǒng)ROM尋址地址采用9位地址數(shù),所以尋址計(jì)數(shù)器通過時(shí)鐘CLK產(chǎn)生尋址空間為512字節(jié)的地址。由以上仿真結(jié)果看出,尋址計(jì)數(shù)模塊可以產(chǎn)生穩(wěn)定有效的尋址地址。4.2.3 模360加法器設(shè)計(jì)模360加法器用來(lái)產(chǎn)生120的相移, 以形成三相相差為120的輸出波形。由于尋址空間為512 字節(jié),所以在此模塊中地址每次加170,輸出尋址地址產(chǎn)生1/3的相位差,當(dāng)輸出尋址數(shù)大于512 時(shí),須對(duì)尋址地址進(jìn)行取模處理,即超出設(shè)定值作減512處理。系統(tǒng)模360 加法器圖元模塊如圖4.6所示:圖4.6 尋址地址移相模塊地址移相模塊核心代碼如下所示:process(d) variable temp:std_logic_vector(7 downto 0); begin temp:=d+170; -相移120if(temp512)thendout=temp; -將移相后的地址輸出else dout=temp-512; -加法計(jì)滿后,對(duì)地址進(jìn)行取模end if;end process;該模塊在Quartus II中的仿真結(jié)果下圖4.7所示:圖4.7 模360加法器仿真結(jié)果由仿真結(jié)果可知,尋址地址在通過模360加法器模塊后,地址向后移1/3個(gè)尋址空間,仿真結(jié)果在理論值范圍中。4.2.4 波形儲(chǔ)存ROM設(shè)計(jì)波形ROM模塊主要用于存儲(chǔ)各種波形數(shù)據(jù), 以便通過尋址計(jì)數(shù)器尋址輸出并經(jīng)D/ A轉(zhuǎn)換來(lái)輸出各種波形, 其中包括方波、三角波。在系統(tǒng)中,該模塊的圖元模塊如圖4.8所示:圖4.8 波形存儲(chǔ)模塊在模塊程序中,由于方波波形簡(jiǎn)單,變化緩慢,波形產(chǎn)生通過每計(jì)數(shù)半個(gè)尋址空間一次翻轉(zhuǎn),形成方波,周期為一個(gè)尋址空間計(jì)數(shù)時(shí)間。process(address,sel)begin if(sel=00)then -波形控制選擇,輸出方波 if(address256)then -當(dāng)?shù)刂酚?jì)數(shù)至半個(gè)尋址空間,波形數(shù)據(jù)值為data1);else data0); -剩余計(jì)數(shù)空間,波形數(shù)據(jù)值為0end if;而三角波的產(chǎn)生程序,當(dāng)檢測(cè)到地址處于前半個(gè)周期時(shí),地址每作一次計(jì)數(shù),輸出數(shù)據(jù)進(jìn)行加同一個(gè)數(shù)操作,當(dāng)?shù)刂诽幱诤蟀雮€(gè)周期時(shí),進(jìn)行減同一個(gè)數(shù)操作。將一個(gè)尋址空間計(jì)數(shù)時(shí)間作為三角波的周期,程序采用前半個(gè)周期作加1操作,后半個(gè)周期作減1操作。三角波的邏輯發(fā)生程序如下:elsif(sel=01)then -波形選擇控制,輸出三角波 if(address256)then -前半個(gè)周期進(jìn)行加1 data=address(7 downto 0);else addresstemp=512-address; -后半個(gè)周期作減1操作 data=addresstemp(7 downto 0); -三角波波形數(shù)據(jù)輸出end if;對(duì)ROM模塊進(jìn)行仿真,其仿真結(jié)果如下圖4.9、圖4.10所示:圖4.9 方波存儲(chǔ)ROM模塊仿真結(jié)果圖4.10 三角波存儲(chǔ)ROM模塊仿真結(jié)果由Quartus II中仿真結(jié)果可知,當(dāng)方波尋址地址計(jì)數(shù)至一半時(shí),輸出數(shù)據(jù)從0跳變值255,而再經(jīng)過半個(gè)尋址周期再?gòu)?55跳至0,如此重復(fù)跳變;而選擇三角波輸出時(shí),當(dāng)每次地址加1的時(shí)候,輸出八位波形數(shù)據(jù)開始計(jì)數(shù),從0加到1,然后每來(lái)一個(gè)地址就加一次,直到增到255,等下一個(gè)地址到輸出波形數(shù)據(jù)將從255減到254,然后每來(lái)一個(gè)地址就減一次,直到減到0,依次重復(fù),輸出的波形數(shù)據(jù)經(jīng)過DAC0832數(shù)模轉(zhuǎn)換分別形成方波、三角波。4.2.5 LPM定制正弦波ROM模塊由于采用邏輯單元實(shí)現(xiàn)正弦波的波形ROM比較復(fù)雜,需要輸入正弦波形數(shù)據(jù)查找表,正弦波查找表取值樣點(diǎn)較多,所以系統(tǒng)中采用LPM_ROM來(lái)定制正弦ROM模塊。正弦ROM模塊圖元在系統(tǒng)中如圖4.11所示:圖4.11 LPM定制的正弦ROM模塊在通過LPM定制正弦ROM模塊之前,需要生產(chǎn)儲(chǔ)存器中波形數(shù)據(jù)的初始化文件,所謂儲(chǔ)存器的初始化文件就是可調(diào)出存于RAM或ROM中的數(shù)據(jù)或程序文件代碼。在EDA設(shè)計(jì)中,通過EDA設(shè)計(jì)的存儲(chǔ)器中的代碼文件必須有EDA軟件在同一編譯時(shí)自動(dòng)調(diào)入,所以此類代碼文件的類型,即初始化文件格式須滿足一定的要求,在Quartus II中接受兩種格式的初始化文件,(.mif)格式和(.hex)格式。生成MIF文件的方式有很多種,在此次設(shè)計(jì)中,正弦ROM初始化文件采用的是專用MIF文件生成器,MIF生成軟件Mif Maker 2010。打開軟件后,先對(duì)所需的MIF文件對(duì)應(yīng)的波形參數(shù)進(jìn)行設(shè)置,選擇“查看”后,在下拉菜單中選擇“全局參數(shù)設(shè)置”,設(shè)置正弦波參數(shù)數(shù)據(jù)長(zhǎng)度為512,地址位寬為8位,初始相位為0度,其參數(shù)設(shè)置如圖4.12所示。在設(shè)置完參數(shù)后,選擇“設(shè)定波形”,再選擇“正弦波”,如圖4.13所示,選擇文件名“sin_rom.mif”存盤。圖4.12 正弦波形參數(shù)設(shè)置圖4.13 正弦波采樣波形在完成存儲(chǔ)器初始化文件sin_rom.mif生成后,需要開始通過LPM對(duì)MIF文件調(diào)用,生成正弦波波形數(shù)據(jù)存儲(chǔ)ROM模塊。在原理圖編輯窗,存盤名為SIM_ROM1,創(chuàng)建工程后,單擊左下的MegaWizard Plug-InManager管理器按鈕,進(jìn)入圖4.14的LPM模塊調(diào)用編輯:圖4.14 LPM模塊調(diào)用在完成LPM_ROM模塊命名后,設(shè)置ROM模塊的參數(shù)設(shè)置(圖4.15)和初始化文件的配置(圖4.16):圖4.15 LPM_ROM參數(shù)設(shè)置圖4.16 加載初始化配置文件在LPM_ROM模塊定制是,加入通過軟件生成的初始化配置文件sin_rom.mif文件,通過對(duì)正弦LPM_ROM模塊的仿真,得到如圖4.17所示結(jié)果:圖4.17 LPM_ROM仿真測(cè)試在LPM_ROM的仿真波形圖中,隨著CLK上升沿的出現(xiàn),對(duì)應(yīng)的波形數(shù)據(jù)輸出與MIF文件中的取樣數(shù)據(jù)完全吻合。即完成了正弦波波形數(shù)據(jù)輸出,LPM_ROM輸出通過數(shù)模轉(zhuǎn)換在示波器上顯示正弦波波形。4.2.6 二選一選擇輸出模塊本次設(shè)計(jì)中,由于正弦波形ROM模塊與方波、三角波波形ROM模塊分開設(shè)計(jì),所以在波形數(shù)據(jù)輸出時(shí)需要通過一個(gè)數(shù)據(jù)選擇模塊來(lái)選擇輸出波形數(shù)據(jù),通過DAC0832數(shù)模轉(zhuǎn)換,最后在示波器上顯示波形,其圖元如圖4.18所示:圖4.18 二選一波形選擇輸出模塊二選一數(shù)據(jù)選擇輸出主要程序如下:process(sel) -波形數(shù)據(jù)選擇信號(hào)檢測(cè)beginif(sel=10)then -當(dāng)波形選擇“10”,選擇正弦波Q=data2; -輸出正弦ROM中的波形數(shù)據(jù) elseQ=data1; -否則輸出方波或者三角波波形數(shù)據(jù)end if;end process;最后通過軟件仿真,模塊仿真結(jié)果如圖4.19所示:圖4.19 波形數(shù)據(jù)選擇模塊仿真結(jié)果由仿真結(jié)果可以看出,當(dāng)波形選擇信號(hào)輸入“10”選擇正弦波輸出時(shí),二選一數(shù)據(jù)選擇模塊輸出DATA2,即正弦波形ROM的數(shù)據(jù),該模塊測(cè)試正確。4.3各模塊總體仿真在完成各子模塊仿真后,創(chuàng)建頂層原理圖文件,根據(jù)系統(tǒng)方案將各模塊連接起來(lái),尋址計(jì)數(shù)模塊在根據(jù)分頻后的時(shí)鐘信號(hào)產(chǎn)生尋址地址后,經(jīng)過波形存儲(chǔ)ROM模塊,最后通過DAC數(shù)模轉(zhuǎn)化外圍電路,在示波器中顯示波形。通過Quartus II對(duì)總體模塊進(jìn)行仿真,其仿真原理圖如圖4.20所示:圖4.20波形發(fā)生器總模塊仿真圖對(duì)總模塊編譯仿真后,其仿真結(jié)果如圖4.21、4.22、4.23所示:圖4.21 方波波形數(shù)據(jù)輸出仿真結(jié)果圖4.22 正弦波波形數(shù)據(jù)輸出仿真結(jié)果圖4.23 三角波波形數(shù)據(jù)輸出仿真結(jié)果通過仿真結(jié)果可以看出,波形數(shù)據(jù)特點(diǎn)以及相位變化 的仿真結(jié)果都符合要求,說(shuō)明系統(tǒng)設(shè)計(jì)方案正確可行。第五章 系統(tǒng)調(diào)試在完成軟件部分的仿真設(shè)計(jì)后,并將外圍數(shù)模轉(zhuǎn)換電路的設(shè)計(jì)焊接工作完成,開始系統(tǒng)軟硬件聯(lián)合調(diào)試。將ROM中存儲(chǔ)的數(shù)據(jù)接入D/A模塊后,將DAC輸出端接上示波器,一開始示波器可以看到近似方波和鋸齒波的波形,正弦波的波形少了1/4,由于第一次調(diào)試是利用EDA試驗(yàn)開發(fā)平臺(tái)的DAC轉(zhuǎn)換模塊,所以問題出現(xiàn)在DAC外圍電路的概率不大,然后就是軟件部分,在核對(duì)完各模塊的程序部分后,初步認(rèn)為應(yīng)該是存儲(chǔ)器ROM的初始化文件參數(shù)沒有設(shè)置好。在重新更改正弦波的波形采樣參數(shù)后,接入系統(tǒng)中進(jìn)行調(diào)試,但是效果并不很明顯,出現(xiàn)的是方波和鋸齒波,正弦波形依舊是缺少1/4左右,在試過幾次更改正弦ROM調(diào)用的sin_rom.mif文件后,問題還是沒有得到解決。然后,再把注意轉(zhuǎn)到程序部分,檢查后發(fā)現(xiàn),由于系統(tǒng)采用的是9位地址,但是尋址計(jì)數(shù)器模塊中的尋址空間卻只有360字節(jié),沒有將9位地址寫滿,影響到后面的ROM尋址輸出,后來(lái)將尋址計(jì)數(shù)中的尋址空間加大至512,這樣就正好在9位地址計(jì)數(shù)計(jì)滿時(shí)尋址空間達(dá)到最大值,再將ROM模塊中的地址對(duì)應(yīng)尋址計(jì)數(shù)器稍作修改,最后在示波器上觀察到方波,三角波及正弦波的穩(wěn)定波形。在示波器能夠觀察到穩(wěn)定正確的波形后,便開始將另一組輸出接入本次設(shè)計(jì)的DAC數(shù)模轉(zhuǎn)換模塊,再通過示波器的兩路輸入,對(duì)同一波形的不同相位進(jìn)行觀察比較, 但本次設(shè)計(jì)的數(shù)模轉(zhuǎn)換模塊并沒有起到數(shù)模轉(zhuǎn)換作用,因?yàn)槭静ㄆ鞯牡诙份斎霙]有波形出現(xiàn),調(diào)試出錯(cuò)。在檢查完電路后,并沒有漏焊或短接的焊接錯(cuò)誤,DAC0832芯片的接法也沒有錯(cuò)誤,一開始以為可能是方案不對(duì),便將DAC0832外接的單運(yùn)放UA741換成了雙運(yùn)放LM324,但仍舊沒有波形輸出,幾次調(diào)試都無(wú)果,利用示波器檢查DAC0832的輸出,并沒有錯(cuò)誤,通過網(wǎng)絡(luò)檢查芯片的用法,又將UA741從原來(lái)的單電源工作改成了雙電源工作,但是出來(lái)的波形也很不分辨率不高,波形不穩(wěn)定。最后在檢查連接時(shí),原因在于使用的直流穩(wěn)壓電源沒有將地共接在一起,導(dǎo)致波形波動(dòng)太大,無(wú)法識(shí)別。在將線路重新連接檢查后,外圍數(shù)模轉(zhuǎn)換成功實(shí)現(xiàn)了波形輸出。通過示波器觀察,兩組相位波形如圖5.1、5.2、5.3所示:圖5.1 方波波形輸出結(jié)果圖5.2 三角波波形數(shù)據(jù)結(jié)果圖5.3 正弦波波形數(shù)據(jù)結(jié)果由于示波器限制,從波形圖可以看出,兩路波形相位相處240左右,尋址地址經(jīng)過了兩次移相處理,基本實(shí)現(xiàn)了移相功能。系統(tǒng)調(diào)試結(jié)束,本次設(shè)計(jì)基本實(shí)現(xiàn)三相多波形信號(hào)發(fā)生器的基本功能。圖5.4是DAC數(shù)模轉(zhuǎn)化模塊的焊接成品圖:圖5.4 DAC0832數(shù)模轉(zhuǎn)換電路第六章 結(jié)論通過本次設(shè)計(jì),基本實(shí)現(xiàn)了三相多波形信號(hào)發(fā)生器的產(chǎn)生,此次設(shè)計(jì)通過DDS技術(shù)與可編程邏輯器件CPLD相結(jié)合,運(yùn)用Quartus II開發(fā)平臺(tái)實(shí)現(xiàn)多種波形輸出,包括方波、三角波、正弦波,并通過地址移相使得輸出波形實(shí)現(xiàn)相位相差120。而且,由于CPLD 具有可編程重置特性, 因而可以方便地改變控制方式或更換波形數(shù)據(jù),而且簡(jiǎn)單易行,易于系統(tǒng)升級(jí),同時(shí)具有很高的性價(jià)比。從開始準(zhǔn)備,查找資料、確定方案、設(shè)計(jì)模塊、硬件焊接、仿真調(diào)試到實(shí)現(xiàn)課題要求,經(jīng)過幾個(gè)月的時(shí)間,設(shè)計(jì)結(jié)合任波形發(fā)生器的產(chǎn)生原理及直接頻率合成技術(shù)的理論,完成了三相多波形發(fā)生器的功能實(shí)現(xiàn),歸納起來(lái)主要做了如下幾方面的工作:1、基于VHDL硬件描述語(yǔ)言實(shí)現(xiàn)了系統(tǒng)中各個(gè)模塊的所需功能,并逐個(gè)通過仿真;2、設(shè)計(jì)了LPM_ROM正弦定制ROM模塊,實(shí)現(xiàn)了正弦波形數(shù)據(jù)存儲(chǔ);3、利用DAC0832實(shí)現(xiàn)了外圍電路的數(shù)模轉(zhuǎn)換功能;并能通過夠穩(wěn)定輸出多種波形。本次設(shè)計(jì)雖然整體上基本實(shí)現(xiàn)了三相多波形的功能要求,但是仍有許多不足之處,由于EDA開發(fā)平臺(tái)中芯片時(shí)鐘檢測(cè)出現(xiàn)問題,在示波器中的分頻倍數(shù)和仿真的分頻倍數(shù)不一樣,使得波形之間的相位變化不是很準(zhǔn)確,并且,在功能上,系統(tǒng)沒有加入調(diào)幅功能,波形幅度只能通過數(shù)模轉(zhuǎn)換的外圍電路調(diào)節(jié),在移相模塊中,由于調(diào)試的時(shí)間有限,邏輯關(guān)系不是很嚴(yán)密,尚存有改進(jìn)之處。通過本次畢業(yè)設(shè)計(jì),加深了解了波形發(fā)生器的市場(chǎng)需求,以及可編程邏輯器件的電路設(shè)計(jì),但在實(shí)際的情況中,應(yīng)該考慮實(shí)際需要,多加改善設(shè)計(jì)方案,在實(shí)現(xiàn)信號(hào)發(fā)生器功能的同時(shí)考慮完善方案細(xì)節(jié)。參考文獻(xiàn)1. Timothy M. Rowan, and Russel J. Kerkman, A new synchronous current regulatorandan analysis of current regulated PWM invertersJ, IEEE

溫馨提示

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

評(píng)論

0/150

提交評(píng)論