基于NoisⅡ的程控數(shù)字信號源設(shè)計
摘要:直接數(shù)字頻率合成(DDS)技術(shù)在現(xiàn)代通信領(lǐng)域占據(jù)重要地位。在此提出了將Altera公司的NoisⅡ軟核嵌入到FPGA器件內(nèi)部來控制高性能直接數(shù)字頻率合成器AD9854的方案,詳細說明了系統(tǒng)設(shè)計電路的結(jié)構(gòu)和軟件設(shè)計的方法。提出了一種新的信號源控制方法,該系統(tǒng)具有頻率分辨高、相位輸出連續(xù)、可視化界面、多波形輸出等優(yōu)點,具有較高的市場實用價值。
關(guān)鍵詞:NoisⅡ;DDS;FPGA;信號源
0 引言
直接數(shù)字頻率合成(DDS)方式即通過可編程技術(shù)從一個標準參考時鐘產(chǎn)生多種頻率,解決了傳統(tǒng)波形發(fā)生器高頻段波形失真的缺點。而Altera公司提供的SoPC Builder工具將NoisⅡCPU軟核嵌入到FPGA內(nèi)部以控制高性能DDS器件AD9854,利用NoisⅡ占用芯片子資源少,成本低,可移植性高的特點。結(jié)合專用DDS的高速型和完備性,很好地解決了控制時序的不連續(xù)性。同時又大大減少處理器外圍擴展元件數(shù)目,降低外圍電路布局走線的復(fù)雜度,提高系統(tǒng)的抗干擾能力,控制靈活方便,具有較高的性價比。便于今后升級擴展。
1 系統(tǒng)功能的整體描述
該系統(tǒng)主要包含3個單元:FPGA控制單元、AD9854信號產(chǎn)生單元和人機交互單元。系統(tǒng)整體框圖如圖1所示。系統(tǒng)了實現(xiàn)3種波形輸出,可產(chǎn)生0~32 MHz的正弦波、方波以及FSK信號,同時在液晶上顯示出相應(yīng)的波形以及工作參數(shù)。外部鍵盤可以設(shè)置信號參數(shù)。
1.1 FPGA控制單元
FPGA電路如圖2所示。其中NoisⅡ為32位的軟核CPU,外接64 Mb的SDRAM芯片和一片EPCS16的FLASH芯片。定義了一個基于Avalon總線接口的鍵盤控制器,用于對外接鍵盤進行掃描和譯碼。利用SoPC Builder中現(xiàn)有的LCD控制器IP來實現(xiàn)對LCD的控制。擴展了AS下載和JTAG調(diào)試口,方便程序控制。
1.2 AD9854信號產(chǎn)生單元
AD9854的DDS核具有48位的頻率分辨率。輸出的信號頻率最高達150 MHz、頻率分辨率可達1μHz。將AD9854的8位數(shù)據(jù)線、5位地址線以及一些控制信號線(復(fù)位、寄存器數(shù)據(jù)更新引腳、FSK引腳等)引出連接到FPGA的通用I/O口上,使得FPGA可以完成對AD9854的相關(guān)配置與控制。AD9854的時鐘輸入采用了差分時鐘輸入形式。
1.3 人機交互界面
本單元由液晶顯示單元和PS/2鍵盤輸入單元組成。液晶單元采用ILI9320片上系統(tǒng)(SoC)驅(qū)動器。有18位數(shù)據(jù)線,采用了16 b總線寬度的i80-systemMPU接口,PWM為液晶背光亮度調(diào)節(jié)引腳;RS為寄存器選擇信號,低電平選擇索引或狀態(tài)寄存器,高電平選擇控制寄存器;為芯片片選信號,低電平使能;為讀選通信號,低電平時讀出數(shù)據(jù);為寫選通信號,低電平時寫入寄存器數(shù)據(jù)。PS/2是一種雙向同步串行通信協(xié)議,通過Clock時鐘數(shù)據(jù)同步被讀入。
2 系統(tǒng)軟件設(shè)計
NoisⅡ軟核CPU是整個系統(tǒng)的控制部分,集成在FPGA內(nèi)部,由SoPC Builder定制。將需要的IP組合在一起,設(shè)定各組件的地址和中斷優(yōu)先級,各IP Core通過Avalon總線邏輯互連,自由配置處理器的CACHE大小、指令集ROM大小、片內(nèi)RAM和ROM大小、I/O引腳數(shù)目和類型、中斷引腳數(shù)目、定時器數(shù)目、通用串口數(shù)目、擴展地址和數(shù)據(jù)引腳等處理器的性能指標。NoisⅡ集成開發(fā)環(huán)境提供了創(chuàng)建C/C++應(yīng)用工程的向?qū)?、管理和編譯工程功能、運行和調(diào)試程序功能和最終程序的FLASH的燒寫。編程采用C語言。
系統(tǒng)首先進行初始值,然后顯示開機系統(tǒng)界面,軟核CPU接收到鍵盤中斷輸入的顯示信號和向AD9854輸出指令后,啟動顯示和輸出程序模塊,使AD9854產(chǎn)生響應(yīng)的信號輸出。對設(shè)置數(shù)據(jù)進行存儲防止設(shè)置信息掉電丟失。整體程序設(shè)計流程如圖3所示。
2.1 AD9854驅(qū)動程序
(1)AD9854主要負責各種波形信號的產(chǎn)生,采用并行模式,其程序框圖如圖4所示。
2.2 ILI9320觸摸液晶驅(qū)動程序
ILI9320采用的是18位總路線接口結(jié)構(gòu)的高性能微處理器。索引寄存器(IR)儲存著可以寫入指令與顯示數(shù)據(jù)寄存器的地址。寄存器選擇信號(RS),讀寫信號(nRD/nWR)和數(shù)據(jù)總路線(D0~D17)是用來讀寫指令和數(shù)據(jù)的。
3 實際效果
DDS實物如圖5所示。圖6~圖8分別是用示波器測試的結(jié)果其中橫坐標為時間,縱坐標為幅度。測試結(jié)果表明,信號的頻率失真度在0.1%內(nèi)。幅度失真度在0.5%。
4 結(jié)語
系統(tǒng)通過一片F(xiàn)PGA實現(xiàn)內(nèi)嵌CPU軟核控制外圍的DDS,同時形成各種系統(tǒng)所需的同步控制時序,其頻率幅度可精密控制,擴展輸出頻率達30 MHz。通過PS/2鍵盤控制頻率和幅度,液晶同步顯示信號的頻率和幅度;輸出端產(chǎn)生正弦波、方波、FSK等數(shù)字信號。測試結(jié)果表明,系統(tǒng)穩(wěn)定可靠,人機交互界面友好,操作簡單方便。此外還可以實現(xiàn)對NoisⅡCPU的RTOS操作系統(tǒng)的移植,從而簡化信號源的設(shè)計,提高系統(tǒng)的集成度。