【正文】
摘要 摘 要 系統(tǒng) 基于 FPGA 設(shè)計, VHDL 編程 實 現(xiàn)。 系統(tǒng) 集成于一片 Xilinx 公司的 SpartanⅡ系列 XC2S100PQ208 芯片上, 核心 技術(shù)是 直接數(shù)字頻率合成 技術(shù) ,其中包括 固定 分頻器,正弦波合成器,三角波 、 矩形波 、鋸齒波 發(fā)生器 , 波形選擇模塊, 鍵盤控制模塊 ,它們輸出的 8 位 數(shù)據(jù)通過 D/A 轉(zhuǎn)換并 經(jīng) 功率放大后即得所需波形 ,通過改變 相位步進 可調(diào) 頻 率 , 通過改變 D/A 電阻網(wǎng)絡(luò)的 基準(zhǔn) 電壓可調(diào) 幅度 。 系統(tǒng)的頻率范圍寬, 可 從 10Hz 到 10kHz 之間 等步進調(diào)節(jié), 最小 步進 10Hz,幅度和頻率精度高。 隨著計算機和微電子技術(shù) 在測量中的應(yīng)用以及眾多領(lǐng)域?qū)Σㄐ涡盘柕囊?,任意波形發(fā)生器越來越成為測量領(lǐng)域內(nèi)研究的焦點。目前國內(nèi)外均采用了直接數(shù)字合成技術(shù) DDS(Direct Digital Synthesis)來實現(xiàn)任意波形發(fā)生器,直接數(shù)字合成技術(shù)采用全數(shù)字的合成方法,所產(chǎn)生的信號具有頻率分辨率高、頻率切換速度快、頻率切換時相位連續(xù)、輸出相位噪聲低和可以產(chǎn)生任意波形等諸多優(yōu)點。USB 是應(yīng)用在 PC領(lǐng)域內(nèi)的新型接口技術(shù),作為外設(shè)的通用接口,具有傳輸速度快、支持熱插拔、具有較強的糾錯能力、具有自動探測設(shè)備的功能等特點。 本文的研究工作為基于 USB 接口的任意波形發(fā)生器的研究。全面的分析任意波形發(fā)生器設(shè)計技術(shù)和 USB 接口設(shè)計技術(shù),給出了基于 USB 接口、應(yīng)用 DDS 技術(shù)的任意波形發(fā)生器的設(shè)計原理和實現(xiàn)方法。 本論文首先介紹了任意波形發(fā)生器的發(fā)展概況,然后闡述了 USB 通信協(xié)議和 DDS 技術(shù),最后給出了任意波形發(fā)生器的硬件和軟件設(shè)計方法,采用 FPGA 實現(xiàn)了 DDS 功能,分析了模擬通道的設(shè)計,重點介紹了濾波器、幅值控制的設(shè)計。對 USB 驅(qū)動設(shè)計,固件編程做了相應(yīng)的分析。 關(guān)鍵字: 門陣列 頻率合成 數(shù)模轉(zhuǎn)換 ABSTRACT ABSTRACT The system is implemented by programmed with VHDL base on FPGA. the system whose basic technique is DDFS (Direct Digital Frequency Synthesis) is integrated into a Xilinx’s SpartanⅡ XC2S100PQ208 FPGA chip that consisted of a frequency divider, a sine wave synthesizer, a triangular wave, rectangular wave and sawtooth wave generator, a wave selecting module and a keyboard module. The 8bit output data of the FPGA are converted by a D/AC and then amplified. By altering the phase increment, the frequency of the output wave can be changed. By altering the reference voltage of the D/AC resistances, the amplitude of the output wave can be adjusted. The system has a wide frequency range and is able to step evenly with the minimum of 10Hz. The frequency and the amplitude are in high accuracy. With the application of puter and microelectronic technique in measuring and the demand of waveform signal in many fields, the measurement field focuses on the Arbitrary Waveform Generator(AWG). Currently Direct Digital Synthesis (DDS) is adopted in order to fulfill AWG in foreign and domestic panies. The DDS technique adopts fulldigital synthesis methods. The generated signals have advantage of high frequency resolutions, fast frequency switching, continuous phase while frequency switching, Keywords: FPGA DDFS D/AC 目錄 i 目 錄 第一章 方案比較與論證 ……………………………………… ………………… 5 總體方案設(shè)計 …………………………………… … ………………… 5 波形數(shù)據(jù)的產(chǎn)生 ………………… ………………… ………………… 5 頻率調(diào)節(jié) …………………………………………… ………………… 5 幅度調(diào)節(jié) …………………………………………… ………………… 6 總體設(shè)計 …………………………………………… ……… ………… 6 第二章 單元電路設(shè)計 …………………………………………………………… 6 波形合成器的設(shè)計 …………………………………………………… 7 正弦波合成 ……………………………………………………… 7 三角波、鋸齒波、矩形波 的合成 ……………………………… 9 頻率與幅度調(diào)節(jié)的原理及實現(xiàn) ……………………………………… 10 ………………………………………… 10 ………………………………………………………… 11 波形選擇模 塊與鍵盤控制模塊設(shè)計 ………………………………… 11 FPGA接口與數(shù)模轉(zhuǎn)換電路設(shè)計 ……… ……………………………… 14 第三章 軟件設(shè)計 ………………………………………………………………… 14 正弦波合成器設(shè)計 ..………………………………………………… 14 正弦波波形數(shù)據(jù)產(chǎn)生 …………………………………………… 14 波形存儲器的設(shè)計 ……………………………………………… 15 目錄 ii 三角波、矩形波、鋸齒波發(fā)生器 …………………………………… 18 波形選擇模塊 …………… …………………………………………… 22 鍵盤控制模塊 ………………………………………………………… 26 第四章 系統(tǒng)測試 ………………………………………………………………… 28 第五章 結(jié)論 ……………………………………………………………………… 29 致謝 ………………………………………………………………………………… 30 參考文獻 ………… ………………………………………………………………… 31 第一章 方案比較與論證 1 第一章 方案比較與論證 總體 方案 設(shè)計 方案一: 采用鎖相環(huán) 鎖定 頻率 ,穩(wěn)定度和精確度高,但是頻率調(diào)節(jié)不便且調(diào)節(jié)范圍小,只能得到方波和正弦波,對其它波形需外加整型電路,使得系統(tǒng)復(fù)雜。 方案二:采用直接數(shù)字頻率合成, 用 單片機 作為核心控制部件 ,能達到較高的要求,實現(xiàn)各種波形輸出,但受限于運算位數(shù)及運算速度,產(chǎn)生的波形 往往 需通過濾波器才能達到滿意效果,并且頻率可調(diào)范圍小 , 很難得到較高頻率 。 方案三:采用直接數(shù)字頻率合成,用 FPGA 器件 作為核心控制部件, 精度高 穩(wěn)定性好 , 得到波形 平滑, 特別是由于 FPGA 的高速度,能實現(xiàn)較高頻率的波形 ??刂粕细奖?,可得到較寬頻率范圍的波形輸出,步進小。 因此 采用方案三。 波形數(shù)據(jù)的產(chǎn)生 方案一:使用 Visual C++計算正弦波 及指定函數(shù)波 的 N 點采樣值, 然后寫入到 ROM中待用。 方案二:使用 Matlab 計算上述數(shù)據(jù)。 兩種方案都是利用軟件計算波形參數(shù)的較佳方案 。 VC++對計算值的舍入是直接取整,因此方案一得到的數(shù)據(jù)有較大誤差,而且該方案編程復(fù)雜。 Matlab 能對數(shù)據(jù)進行四舍五入,因此方案二得到的數(shù)據(jù)誤差較小,且編程簡單,修改容易 ,調(diào)用方便 。因此采用方案二。 頻率調(diào)節(jié) 方案一:通過預(yù)置 FPGA 的分頻系數(shù)調(diào)節(jié)頻率。 基于 FPGA的數(shù)字波形發(fā)生器 2 方案二:通過預(yù)置 FPGA 的分頻系數(shù)以及 改變相位步進 調(diào)節(jié)頻率。 方案一的調(diào)節(jié)步進只能以指數(shù)形式遞增,對于較高的頻率范圍有較多空白,無法等步進調(diào)頻;方案二采用粗調(diào)與細(xì)調(diào)相結(jié)合,可以實現(xiàn)等步進調(diào)頻,因此選用方案二。 幅度調(diào)節(jié) 方案一:采用雙 D/AC 實現(xiàn)幅度調(diào)節(jié)。 方案二:模擬方式調(diào)幅。 方案一實現(xiàn)數(shù)字調(diào)幅,精度較高, 但 其輸出幅度無法連續(xù),由于幅度本身是以模擬量輸出的,采用高精度的立式電位器調(diào)節(jié)已能滿足要求,故采用方案二。 總體設(shè)計 綜上方案論證,得到 系統(tǒng)框圖如圖 所示。 圖 波形發(fā)生器系統(tǒng)框圖 第二章 單元電路設(shè)計 3 第二章 單元電路設(shè)計 波形合成 器 的設(shè)計 正弦波合成 對一個幅度為 1 的正弦波的一個周期 進行 1024 點采樣 , 用 Matlab 計算 得到每一 點 對應(yīng)的幅度值, 然后 量化成 8 位 二進制 數(shù)據(jù)存放在 ROM 中,理論上, 采樣的 點 數(shù)及量化的位數(shù)越多,合成的波形精確 度越高 ,但是, D/AC0832 的位數(shù) 只有8位,量化等級最高為 256,其量化誤差 已 能達到要求, 對于查正弦表的舍 入 誤差也可忽略,故不再細(xì)分。 這里采用 1024 個采樣點,是為了調(diào)頻時能得到較好