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