基于CPLD多波形信號發(fā)生器設計.doc_第1頁
基于CPLD多波形信號發(fā)生器設計.doc_第2頁
基于CPLD多波形信號發(fā)生器設計.doc_第3頁
免費預覽已結束,剩余28頁可下載查看

下載本文檔

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

文檔簡介

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

溫馨提示

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

評論

0/150

提交評論