基于SoPC/NIOS II的信號發(fā)生器設(shè)計與實現(xiàn)
摘 要: 運用基于NIOS II嵌入式處理器的SoPC技術(shù),設(shè)計了一個任意信號發(fā)生器,不僅可以輸出正弦波、方波、三角波和鋸齒波等常見波形,且各波形的頻率和幅度可調(diào),可根據(jù)用戶需要進(jìn)行現(xiàn)場編程,具有控制靈活、輸出頻率穩(wěn)定、準(zhǔn)確、波形質(zhì)量好和輸出頻率范圍寬等優(yōu)點。
關(guān)鍵詞: 可編程片上系統(tǒng); NIOSⅡ; 直接數(shù)字頻率合成; 信號發(fā)生器
信號發(fā)生器是各種測試和實驗過程中不可缺少的儀器,在通信、測量、雷達(dá)、控制、教學(xué)、科研等領(lǐng)域應(yīng)用十分廣泛。隨著我國經(jīng)濟(jì)和科技的發(fā)展,對相應(yīng)的測試儀器和測試手段也提出了更高的要求。傳統(tǒng)的信號發(fā)生器大多采用專用芯片或單片機(jī)或模擬電路,具有成本高、控制方式不靈活或波形種類較少等缺點。
本文采用直接數(shù)字合成(DDS)技術(shù)[1],通過基于 NIOSⅡ的SoPC系統(tǒng)實現(xiàn)一個任意波形發(fā)生器。DDS技術(shù)是一種新穎的頻率合成技術(shù),具有易于程控、相位連續(xù)、輸出頻率穩(wěn)定度高、頻率轉(zhuǎn)換速度快和分辨率高等優(yōu)點。SoPC(System on a Programmable Chip)[2-3]技術(shù)是美國Altrea公司于2000年最早提出的,并同時推出了相應(yīng)的開發(fā)軟件Quartus II及硬件平臺FPGA(Field-Programmable Gate Array)芯片。SoPC是基于FPGA解決方案的SoC,SoPC的設(shè)計是以IP為基礎(chǔ)、以硬件描述語言VHDL為主要設(shè)計手段、借助于以計算機(jī)為平臺的EDA工具進(jìn)行的,具有靈活的設(shè)計方式和軟硬件在系統(tǒng)可編程的功能。本設(shè)計通過Altera公司的FPGA芯片和NIOSⅡ嵌入式系統(tǒng)實現(xiàn)SoPC。
1 系統(tǒng)總體方案設(shè)計
本設(shè)計實現(xiàn)一個基于SoPC的任意波形發(fā)生器, 其輸出頻率范圍為10 Hz~1 MHz,頻率分辨率為1Hz,輸出電壓幅值范圍為 0~5 V,步進(jìn)間隔為0.1 V,輸出信號的頻率和電壓值可通過鍵盤進(jìn)行設(shè)置,可實時顯示輸出信號的類型、幅度、頻率和頻率步進(jìn)值。
片上系統(tǒng)在Altera CycloneⅡ系列的 EP2C8Q208C8 FPGA上實現(xiàn),構(gòu)建了一個基于NIOSⅡ的SoPC系統(tǒng),完成系統(tǒng)控制和DDS信號發(fā)生,通過PS/2鼠標(biāo)鍵盤設(shè)定波形的種類、任意頻率和任意幅度的信號輸出,最后通過外部電路將片上系統(tǒng)數(shù)字輸出轉(zhuǎn)換為模擬輸出、放大、濾波和幅度控制,系統(tǒng)框圖如圖1所示。
2 片上系統(tǒng)設(shè)計
片上系統(tǒng)為一個基于NIOSⅡ的SoPC系統(tǒng),由四部分組成:NIOS Ⅱ模塊、DDS模塊、PLL模塊和片上RAM 模塊。
2.1 NIOS Ⅱ模塊
本模塊提供主控CPU部分,NIOS II模塊通過在SoPC Builder[2]中調(diào)用IP庫組件實現(xiàn),由Quartus軟件定制,需加入SDRAM、LCD、RS232等控制器。利用SDRAM配合FPGA構(gòu)成片上系統(tǒng),建立NIOS控制系統(tǒng),完成任務(wù)調(diào)度及人機(jī)交互控制。對DDS部分的控制由PIO口完成,均為輸出口,包括頻率控制字輸出口、波形選擇輸出口、幅度控制輸出口。本設(shè)計中,由于NIOSⅡ CPU主要負(fù)責(zé)UART串口的數(shù)據(jù)傳輸和簡單的I/O接口控制,所以選用經(jīng)濟(jì)型NIOSⅡ/e 內(nèi)核,以達(dá)到節(jié)省資源的目的,NIOS II CPU頂層原理圖如圖2所示。