馬彥慶 梁虎 聶典 解放軍理工大學(xué)通信工程學(xué)院 210007
計(jì)算機(jī)仿真軟件Multisim 10在電子系統(tǒng)設(shè)計(jì)中的應(yīng)用
——基于FPGA的直接數(shù)字頻率合成系統(tǒng)的仿真設(shè)計(jì)
馬彥慶 梁虎 聶典 解放軍理工大學(xué)通信工程學(xué)院 210007
Multisim 10是一個(gè)完整的電子設(shè)計(jì)工具系統(tǒng),工程師利用該軟件可有效地完成電子工程項(xiàng)目的概念建模到最終成品的全過程。本文用Multisim 10設(shè)計(jì)基于FPGA的直接數(shù)字頻率合成實(shí)驗(yàn)系統(tǒng),介紹基于計(jì)算機(jī)仿真設(shè)計(jì)與虛擬實(shí)驗(yàn)來實(shí)現(xiàn)電子系統(tǒng)設(shè)計(jì)的全新理念和手段。
計(jì)算機(jī)仿真;Multisim;單片機(jī) DDS頻率合成器;VHDL
EDA(Electronic Design Automation)技術(shù)已經(jīng)在電子設(shè)計(jì)領(lǐng)域得到廣泛應(yīng)用,它借助計(jì)算機(jī)存儲(chǔ)量大、運(yùn)行速度快的特點(diǎn),可對(duì)設(shè)計(jì)方案進(jìn)行人工難以完成的模擬評(píng)估、設(shè)計(jì)檢驗(yàn)、設(shè)計(jì)優(yōu)化和數(shù)據(jù)處理等工作。一臺(tái)電子產(chǎn)品的設(shè)計(jì)過程,從概念的確立,到包括電路原理、PCB版圖、單片機(jī)程序、機(jī)內(nèi)結(jié)構(gòu)、FPGA的構(gòu)建及仿真、外觀界面、熱穩(wěn)定分析、電磁兼容分析在內(nèi)的物理級(jí)設(shè)計(jì),再到PCB鉆孔圖、自動(dòng)貼片、焊膏漏印、元器件清單、總裝配圖等生產(chǎn)所需資料等等全部在計(jì)算機(jī)上完成。本文將用計(jì)算機(jī)仿真軟件Multisim 10設(shè)計(jì)一基于FPGA的直接數(shù)字頻率合成系統(tǒng),介紹電子系統(tǒng)設(shè)計(jì)的主要過程。
1. Multisim 10簡(jiǎn)介
Multisim10是一個(gè)完整的系統(tǒng)設(shè)計(jì)工具系統(tǒng),提供了龐大的元件數(shù)據(jù)庫(kù),并提供原理圖輸入接口,全部的數(shù)模spice仿真功能,VHDL/Verilog設(shè)計(jì)接口與仿真功能,F(xiàn)PGA/CPLD綜合,RF射頻設(shè)計(jì)能力和后處理功能,還可以進(jìn)行從原理圖到PCB布線工具包的無縫隙數(shù)據(jù)傳輸。Multisim10提供全部先進(jìn)的設(shè)計(jì)功能,滿足從參數(shù)到產(chǎn)品的設(shè)計(jì)要求。
2. 直接數(shù)字頻率合成(DDS)簡(jiǎn)介
直接數(shù)字頻率合成(DDS)技術(shù)是60年代末出現(xiàn)的第三代頻率合成技術(shù),以Nyquist時(shí)域采樣定理為基礎(chǔ),在時(shí)域中進(jìn)行頻率合成。DDS具有相對(duì)帶寬很寬,頻率轉(zhuǎn)換時(shí)間極短(可小于20ns),頻率分辨率可以做到很高(典型值為0.001Hz)等優(yōu)點(diǎn);另外,全數(shù)字化結(jié)構(gòu)便于集成,輸出相位連續(xù),頻率、相位、幅度都可以實(shí)現(xiàn)程控,通過更換波形數(shù)據(jù)可以輕易實(shí)現(xiàn)任意波形功能。
(1) DDS基本原理及性能特點(diǎn):
相位累加器由N位加法器與N位累加寄存器級(jí)聯(lián)構(gòu)成。相位累加器在每一個(gè)時(shí)鐘脈沖fs輸入時(shí),把頻率控制字k累加一次,相位累加器輸出的數(shù)據(jù)就是合成信號(hào)的相位,相位累加器的溢出頻率就是DDS輸出的信號(hào)頻率。用相位累加器輸出的數(shù)據(jù)作為波形存儲(chǔ)器(ROM)的相位取樣地址,這樣就可把存儲(chǔ)在波形存儲(chǔ)器內(nèi)的波形抽樣值(二進(jìn)制編碼)經(jīng)查找表查出,完成相位到幅值轉(zhuǎn)換。波形存儲(chǔ)器的輸出送到D/A轉(zhuǎn)換器,D/A轉(zhuǎn)換器將數(shù)字量形式的波形幅值轉(zhuǎn)換成所要求合成頻率的模擬量形式信號(hào)。低通濾波器用于濾除不需要的取樣分量,以便輸出頻譜純凈的正弦波信號(hào)。
(2) DDS的輸出頻率計(jì)算
DDS的輸出頻率為:Fout=M*Fclk/(2^N),這里M為頻率控制字,N為相位累加器的位數(shù),fclk為基準(zhǔn)時(shí)鐘。由于基準(zhǔn)時(shí)鐘fclk一般是固定的,因此相位累加器的位數(shù)就決定了頻率分辨率。在這里我們?nèi)=16,即相位累加器為16位,那么頻率分辨率就可以認(rèn)為是16位。位數(shù)越多,分頻率越高。
設(shè)計(jì)任務(wù):用Multisim10設(shè)計(jì)一個(gè)基于FPGA的直接數(shù)字頻率合成實(shí)驗(yàn)系統(tǒng)。本系統(tǒng)基于直接數(shù)字頻率合成技術(shù),以8051單片機(jī)為控制核心,通過8051單片機(jī)控制頻率控制字實(shí)現(xiàn)頻率合成;經(jīng)低通濾波器濾除噪聲和雜散信號(hào)就可得到比較純正的正弦信號(hào)。設(shè)計(jì)目標(biāo)為:可以實(shí)現(xiàn)穩(wěn)定的正弦波輸出,輸出頻率范圍是100Hz~25.5KHz,且頻率可調(diào)(步進(jìn)100Hz),頻率控制字由單片機(jī)產(chǎn)生。
1.DDS芯片設(shè)計(jì)流程:
DDS芯片的構(gòu)建由Multivhdl來完成(Multivhdl是Multisim10的一個(gè)附屬工具,用于實(shí)現(xiàn)vhdl語言的編程,仿真,最后通過制作一元件的形式在Multisim10中完成系統(tǒng)的仿真,在實(shí)際中相當(dāng)于設(shè)計(jì)一具有相應(yīng)功能的可編程邏輯器件)。各模塊實(shí)現(xiàn)原理分析和說明如下:
(1)相位累加器由加法器和寄存器構(gòu)成
加法器的一個(gè)輸入與寄存器輸出相連,另一個(gè)輸入是外部輸入的頻率控制字。這樣,在每個(gè)時(shí)鐘到達(dá)時(shí),相位寄存器采樣上個(gè)時(shí)鐘周期內(nèi)相位寄存器的值與頻率控制字之和,并作為相位累加器在這一時(shí)鐘周期的輸出。頻率控制字決定了相應(yīng)的相位增量,相位累加器則不斷地對(duì)該相位增量進(jìn)行線性累加,當(dāng)相位累加器積滿兩時(shí)就會(huì)產(chǎn)生一次溢出,從而完成一個(gè)周期性的動(dòng)作,這個(gè)動(dòng)作周期即是DDS合成信號(hào)的一個(gè)頻率周期。
(2)波形存儲(chǔ)器設(shè)計(jì)
波形存儲(chǔ)器的作用是完成相位到幅度的轉(zhuǎn)換。將相位累加器輸出的相位數(shù)據(jù)作為取樣地址,來尋找正弦ROM表進(jìn)行相位到幅度的變換,輸出不同的幅度編碼。
(3)相位累加器和波形存儲(chǔ)器在Multivhdl中的編寫,調(diào)試和仿真過程如圖2。
(4)將編寫調(diào)試完成的相位累加器和波形存儲(chǔ)器模塊在Multisim10中生成元件以供調(diào)用。最終生成的DDS芯片如圖3中所示。
2.數(shù)模轉(zhuǎn)換及濾波輸出電路模塊設(shè)計(jì)
通過DAC可將數(shù)字量形式的波形幅值轉(zhuǎn)換成所要求的合成頻率模擬量形式信號(hào),低通濾波器用于衰減和濾除不需要的取樣分量,以便輸出頻譜純凈的正弦波信號(hào)。
在Multisim10中具有快捷的濾波器編輯器,利用它可以方便,快速,準(zhǔn)確的設(shè)計(jì)濾波器。下圖3中的低通濾波器即是筆者用該編輯器設(shè)計(jì)的低通濾波器,其截止頻率位30khz,當(dāng)然我們也可以設(shè)計(jì)得更精確一些,而這是以提高濾波器的復(fù)雜性為代價(jià)的。
3.用8051單片機(jī)連接DDS芯片構(gòu)建系統(tǒng)
MultiMCU是Multisim10中的一個(gè)單片機(jī)仿真工具,它支持8×51,8×52及部分PIC單片機(jī)。匯編與仿真同在一個(gè)窗口,可以實(shí)現(xiàn)程序的即時(shí)編寫即時(shí)仿真,修改調(diào)試方便,非常適合相關(guān)專業(yè)人員的程序調(diào)試和高校的輔助教學(xué)。本文中為了充分發(fā)揮芯片的高速性能,8051與DDS芯片的連接采用并行接口方式。8051單片機(jī)與DDS芯片的連接如圖3所示。
4.單片機(jī)軟件設(shè)計(jì)
DDS頻率控制字存放在30h開始的單元中。8051主要用于將從鍵盤輸入的數(shù)字輸出到P1口作為DDS芯片的頻率控制字,并將頻率值通過數(shù)碼管顯示出來。程序工作流程依次為:程序開始、初始化動(dòng)作、讀取鍵值、頻率字輸出、程序結(jié)束等。
至此整個(gè)系統(tǒng)硬件以及軟件已設(shè)計(jì)完成。
Multisim10用軟件的方法虛擬電子與電工元器件,虛擬電子與電工儀器儀表,實(shí)現(xiàn)了集元器件和儀器于一體。Multisim10的虛擬儀器儀表庫(kù)種類齊全,有一般的實(shí)驗(yàn)用通用儀器,如數(shù)字萬用表、函數(shù)信號(hào)發(fā)生器、功率計(jì)、示波器等,還有一般實(shí)驗(yàn)少用或者沒有的儀器,如波特圖示儀、邏輯分析儀、IV特性分析儀、頻譜分析儀、網(wǎng)絡(luò)分析儀、安捷倫示波器、實(shí)時(shí)測(cè)量探針等。這些虛擬儀器與實(shí)際顯示儀器的面板以及基本操作都非常相似,它們可用于模擬、數(shù)字、射頻等電路的測(cè)試。本次設(shè)計(jì)我們用邏輯分析儀測(cè)試DDS芯片的功能,用示波器觀察輸出波形,用濾波器測(cè)量頻率。測(cè)試過程方便快捷。當(dāng)按下仿真按鈕時(shí),一個(gè)標(biāo)準(zhǔn)的正弦波就呈現(xiàn)在眼前。通過頻率計(jì)測(cè)量,輸出的正弦波頻率與理論計(jì)算一致。仿真結(jié)果如下圖4所示。
圖2 相位累加器及波形存儲(chǔ)器的調(diào)試和仿真過程圖
圖3 8051單片機(jī)與DDS芯片的連接關(guān)系圖
圖4 DDS芯片仿真結(jié)果圖
本文介紹利用Multisim10設(shè)計(jì)出基于FPGA的直接數(shù)字頻率合成系統(tǒng)的全流程。與傳統(tǒng)電子電路設(shè)計(jì)方法相比具有如下特點(diǎn):可以邊設(shè)計(jì)邊調(diào)試;設(shè)計(jì)的元器件及測(cè)試儀器儀表齊全可以完成各種類型的電路設(shè)計(jì);可以方便地對(duì)電路參數(shù)進(jìn)行測(cè)試和分析;可以直接打印輸出實(shí)驗(yàn)數(shù)據(jù),測(cè)試參數(shù),曲線和電路原理圖;設(shè)計(jì)中不消耗實(shí)際的元器件,所需元器件的種類和數(shù)量不受限制,設(shè)計(jì)成本低,速度快,效率高;設(shè)計(jì)成功的電路可以直接在產(chǎn)品中使用。
[1]聶典.Multisim 9計(jì)算機(jī)仿真在電子電路設(shè)計(jì)中的應(yīng)用.電子工業(yè)出版社.2007
[2]潘松,黃繼業(yè)編著.EDA技術(shù)實(shí)用教程.科學(xué)出版社.2002
[3]李云,侯傳教,等編著.VHDL電路設(shè)計(jì)實(shí)用教程.機(jī)械工業(yè)出版社.2009
[4]張曉鄉(xiāng).89C51單片機(jī)實(shí)用教程.電子工業(yè)出版社.2009
10.3969/j.issn.1001-8972.2011.15.045