閆 璞
(蘭州理工大學(xué)技術(shù)工程學(xué)院,甘肅 蘭州 730050)
在現(xiàn)代電子測(cè)量中,人們對(duì)于信號(hào)源的要求不斷提高,除了頻率準(zhǔn)確度和穩(wěn)定的要求外,還要求輸出有較寬的頻率范圍和更高的穩(wěn)定度和準(zhǔn)確度。本論文基于DSP Builder設(shè)計(jì)了一款新型高精度、高性能、寬頻率范圍的正弦信號(hào)發(fā)生器。
該文運(yùn)用DSP Builder設(shè)計(jì)正弦波發(fā)生器和幅度調(diào)制器并將正弦波發(fā)生器產(chǎn)生的正弦波通過(guò)幅度調(diào)制器進(jìn)行調(diào)制,預(yù)期達(dá)到的要求見(jiàn)表1。
表1 預(yù)期要求
本設(shè)計(jì)中,為了一步步羅列DSP Builder 基于手動(dòng)流程的的使用方法,我們列舉了一個(gè)正弦波發(fā)生模塊的設(shè)計(jì),并且這個(gè)正弦波是可控的。如圖1所示是一個(gè)正弦波發(fā)生器。
圖1 正弦波發(fā)生器模塊原理圖
設(shè)計(jì)流程如下:1)打開(kāi) Matlab工作環(huán)境。2)完成工作庫(kù)的建立。3)了解 simulink 庫(kù)管理器。4)simulink 的模型文件。5) 放置 SignalCompiler。6)添加 Increment Decrement模塊。7)設(shè)置 IncCount。8)添加 SinLUT 模塊:( LUT)。9)添加 delay 模塊 :(delay)。10)添加 SinCtrl模塊 :(input)。11)放置 Product 模塊。12)放置輸出端口 SinOut。13)設(shè)計(jì)文件存盤(pán)。
具體步驟如下:1)加入仿真步進(jìn)模塊。2)Step 模塊參數(shù)設(shè)置。3)添加SCOPE模塊:(scope)。4)設(shè)置仿真參數(shù)。5)啟動(dòng)仿真。6)將輸出數(shù)據(jù)設(shè)計(jì)為無(wú)符號(hào)類型。
仿真結(jié)果如圖2所示,可以看出整個(gè)波形在 0 以上。
圖2 無(wú)符號(hào)輸出波形
把設(shè)計(jì)轉(zhuǎn)到硬件上加以實(shí)現(xiàn),需要在Simulink 中完成仿真驗(yàn)證之后,據(jù)此可以獲得針對(duì) FPGA 的 VHDL RTL 代碼。具體步驟如下:1)分析當(dāng)前的模型。2)對(duì)當(dāng)前模型進(jìn)行綜合。3)生成測(cè)試文件。
實(shí)際上針對(duì)具體的硬件結(jié)構(gòu)生成的 VHDL 描述是 RTL級(jí)的,而算法級(jí)(系統(tǒng)級(jí))的模型仿真是在 Matlab 的 Simulink中進(jìn)行的。仿真結(jié)果如圖3所示。
圖3 Sinout 工程的 ModelSim 仿真波形(RTL 級(jí)仿真)
使用 ModelSim 進(jìn)行 RTL 級(jí)仿真的結(jié)果對(duì)于電路全部的硬件特性不能更精確的反映,其原因在于該仿真知識(shí)功能的仿真,所以使用QuartusII 實(shí)現(xiàn)時(shí)序仿真是非常必要。
在完成了整個(gè)系統(tǒng)的仿真后接下來(lái)便要進(jìn)行硬件測(cè)試,方法如下:
首先打開(kāi)QuartusII進(jìn)行管腳鎖定(Pin);其次是將實(shí)測(cè)結(jié)果與使用 QuartusII 實(shí)現(xiàn)時(shí)序仿真的結(jié)果進(jìn)行比較。最后為了更深入地完成系統(tǒng)的測(cè)試,可以測(cè)定芯片內(nèi)的實(shí)時(shí)波形,但這需要借助嵌入式邏輯分析儀 SignalTapII。
我們可以通過(guò)DSP Builder設(shè)計(jì)一個(gè)幅度調(diào)制模型用正弦波發(fā)生器產(chǎn)生的波形進(jìn)行幅度調(diào)制。其具體設(shè)計(jì)過(guò)程與正弦波發(fā)生器的設(shè)計(jì)相似,對(duì)于各個(gè)模塊的放置過(guò)程這里不再贅述。
1.8.1 幅度調(diào)制模型的Simulink仿真
具體步驟如下:1)在Simulation菜單中選中Configuation Parameters。2)在對(duì)話框Stop time中輸入0.000004,使采樣顯示200。3)點(diǎn)擊確定。4)啟動(dòng)模擬。5)觀看結(jié)果。
1.8.2 幅度調(diào)制模型的RTL仿真
生成幅度調(diào)模型的模擬測(cè)試文件。
在ModelSim中進(jìn)行RTL仿真。
1.8.3 使用 QuartusII 實(shí)現(xiàn)綜合和編譯設(shè)計(jì)
執(zhí)行下列步驟來(lái)自動(dòng)綜合和編譯:1)雙擊模型中的SignalCompiler模塊。2)在顯示的對(duì)話框中,點(diǎn)擊Compile。短暫延時(shí)后,開(kāi)始自動(dòng)綜合和編譯。3)完成后點(diǎn)擊OK關(guān)閉SignalCompiler對(duì)話框。
完成在Quartus II中進(jìn)行的編譯設(shè)計(jì)。
在生成幅度調(diào)制模塊并成功進(jìn)行完功能仿真之后,接下來(lái)就可以將設(shè)計(jì)的正弦波發(fā)生器與幅度模塊相連進(jìn)行幅度調(diào)制了,在連接好電路之后就可以進(jìn)行Simulink仿真了,設(shè)置好仿真參數(shù)之后點(diǎn)擊Simulation下的Start進(jìn)行仿真,其仿真波形如圖4所示。
圖4 仿真波形
通過(guò)觀察圖4的波形可見(jiàn),正弦波發(fā)生器產(chǎn)生的正弦波通過(guò)幅度調(diào)制模塊進(jìn)行了脈幅調(diào)制,達(dá)到了預(yù)期的設(shè)計(jì)目的。
筆者就是基于DSP Builder設(shè)計(jì)了一款新型高精度、高性能、寬頻率范圍的正弦信號(hào)發(fā)生器。歸納起來(lái)主要做了如下幾方面工作:1)根據(jù)設(shè)計(jì)要求,采用DSP builder 模型化設(shè)計(jì),由階梯信號(hào)發(fā)生模塊、正弦函數(shù)值的查找表模塊、延時(shí)模塊、乘法模塊、輸出模塊以及D/A獲得正弦波的輸出模擬信號(hào)。2)通過(guò)DSP builder設(shè)計(jì)一個(gè)幅度調(diào)制模型使正弦波發(fā)生器產(chǎn)生的波形能夠進(jìn)行幅度調(diào)制。
系統(tǒng)通過(guò)調(diào)試后,能成功產(chǎn)生正弦波形信號(hào),其精度高、波形穩(wěn)定、失真小,基本滿足了設(shè)計(jì)要求。