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