基于直接數(shù)字頻率合成的可編程遙測信號源
摘要:針對傳統(tǒng)的遙測信號源缺乏靈活可配置性、通用性差的問題,提出采用FPGA和DDS技術(shù)為核心設(shè)計靈活可配置的可編程遙測信號源。該信號源的硬件電路主要由低成本FPGA芯片和DDS芯片組成,采用Verilog語言進行編程,使FPGA控制核心輸出不同的相位、頻率、波形等控制字信息給DDS芯片,經(jīng)DDS芯片后輸出所需波形。仿真表明,該信號源能夠輸出頻率范圍在0~12.5 MHz的頻率、相位可調(diào)的正弦波、三角波、方波等波形信號,具有一定的通用性。
關(guān)鍵詞:遙測;信號源;DDS;FPGA
0 引言
遙測信號源的主要功能是模擬彈載遙測信息。從技術(shù)實現(xiàn)上,可將信號源分為模擬信號源、數(shù)字信號源和DDS信號源。其中DDS信號源是現(xiàn)代信號源的發(fā)展方向。DDS技術(shù)(直接數(shù)字頻率合成)是近年來迅速發(fā)展起來的一種新的頻率合成法,具有可編程、易于實現(xiàn)各種數(shù)字化調(diào)制(如PSK,F(xiàn)SK等高精度的數(shù)字調(diào)制),頻率分辨率高、轉(zhuǎn)換速度快、穩(wěn)定度高,相位噪聲低以及集成度高等優(yōu)點。近年來,隨著遙測技術(shù)的發(fā)展,遙測產(chǎn)品逐漸呈現(xiàn)出小型化、標(biāo)準(zhǔn)化、系列化等應(yīng)用需求。因此,為滿足應(yīng)用需求,遙測信號源必須能夠提供多樣的被測信號類型,根據(jù)被測模塊參數(shù)的變化進行實時調(diào)整,實現(xiàn)一一對應(yīng)。而傳統(tǒng)的遙測信號源在設(shè)計上缺乏靈活性、通用性,被測參數(shù)的多樣性和實時性差,無法滿足遙測產(chǎn)品的發(fā)展需求。針對這一點,本文提出了以FPGA(現(xiàn)場可編程門陣列)和DDS專用芯片為核心的可編程遙測信號源。
1 FPGA及DDS基本工作原理
一般傳統(tǒng)的信號源都采用諧振法,即用具有頻率選擇性的回路來產(chǎn)生正弦振蕩,獲得所需頻率。這種信號源輸出波形單一,且頻率穩(wěn)定度和準(zhǔn)確度較差,因此傳統(tǒng)的信號源已經(jīng)越來越不能滿足現(xiàn)代遙測產(chǎn)品的測量需要。而采用DDS技術(shù)設(shè)計的遙測信號源可以滿足波形多樣化,頻率、相位靈活可配置的要求,且頻率穩(wěn)定度高。
1.1 FPGA
FPGA是一種高密度的可編程邏輯器件。經(jīng)過20多年的發(fā)展,F(xiàn)PGA的邏輯規(guī)模已經(jīng)從最初的1000個可用門發(fā)展到現(xiàn)在的1000萬個可用門,采用Verilog HDL語言進行設(shè)計,在寫激勵和建模方面存在很大優(yōu)勢。FPGA的基本組成部分有可編程輸入/輸出單元、基本可編程邏輯單元、嵌入式塊RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用硬核等。FPGA器件在結(jié)構(gòu)上由邏輯功能塊排列為陣列,通過可編程的內(nèi)部連線連接這些功能塊來實現(xiàn)一定的邏輯功能。由于FPGA器件集成度高,開發(fā)和上市周期短,在數(shù)字設(shè)計和電子生產(chǎn)中得到迅速普及和應(yīng)用,曾在高密度的可編程邏輯器件領(lǐng)域中獨占鰲頭。
Altera公司是目前市場上生產(chǎn)FPGA芯片的主要供應(yīng)商之一,為用戶提供了完善的開發(fā)系統(tǒng)和良好的售后支持服務(wù),有著成熟的系列產(chǎn)品。該公司的可編程邏輯產(chǎn)品可以分為高密度FPGA、低成本FPGA和CPLD等三類。相對于低成本FPGA來說,高密度FPGA主要用于中高端的路由器和交換機中,價格相對偏高,CPLD雖然價格較低,但布線資源有限,無法適用于電路復(fù)雜的時序功能設(shè)計。Cyclone(颶風(fēng))系列是Altera公司推出的一款低成本FPGA,主要定位在大量且對成本敏感的設(shè)計中。Cyclone EP1C6是Altera推出的一款高性價比FPGA,工作電壓為3.3 V,內(nèi)核電壓為1.5 V,其密度為5980個邏輯單元,包含20個128×36 b的RAM塊(M4K模塊),總的RAM空間達到92 160 b,內(nèi)嵌2個鎖相環(huán)電路和一個用于連接SDRAM的特定雙數(shù)據(jù)率接口。
1.2 DDS及其芯片
DDS采用了不同于傳統(tǒng)頻率合成方法的全數(shù)字結(jié)構(gòu)。它最初是在20世紀(jì)70年代由美國學(xué)者J.Tierncy等人提出的,它是繼直接頻率合成和間接頻率合成之后,隨著數(shù)字集成電路和微電子技術(shù)迅速發(fā)展起來的第三代頻率合成技術(shù)。DDS是指從相位量化概念出發(fā)直接合成所需波形,有效地解決了許多模擬合成技術(shù)無法解決的問題。
DDS是建立在采樣定理基礎(chǔ)上,首先對需要產(chǎn)生的波形進行采樣,將采樣值數(shù)字化后存入存儲器作為查找表,然后通過查表讀取數(shù)據(jù),再經(jīng)D/A轉(zhuǎn)換器轉(zhuǎn)換為模擬量,將保存的波形重新合成出來。DDS基本原理框圖如圖1所示。
目前AD公司是主流DDS芯片市場的最大供應(yīng)商,它提供的眾多DDS集成芯片以其較高的性價比取得了極為廣泛的應(yīng)用。AD公司的DDS產(chǎn)品主要有AD983X,AD985X和AD995X三大系列。對于AD985X系列來說,其系列產(chǎn)品雖然性能較好但是功耗偏高,而AD995X系列雖然功耗較低,但其價格高于AD983X系列,AD983X系列是低價格低功耗型產(chǎn)品。在AD983X系列中。AD9833的最大功耗僅為20 mW。同時,AD9833還具有外圍電路簡單、頻率和相位可編程等特點。AD9833通過3線SPI串口進行寫操作,內(nèi)部有5個可編程寄存器,其中包括1個16位控制寄存器,2個28位頻率寄存器和2個12位相位寄存器。用戶可以通過16位控制寄存器設(shè)置所需的功能。AD9833的模擬輸出為fout:
fout=(fCLK/228)×FREQREG (1)
式中FREQREG為所選頻率寄存器中的頻率字。
信號相移為pout:
pout=(2π/4 096)×PHASEREC (2)
式中PHASEREC為所選相位寄存器中的相位字。
2 基于FPGA和DDS芯片的可編程遙測信號源
傳統(tǒng)的遙測信號源在設(shè)計上可編程性差,在很大程度上影響了其靈活型和通用性,同時也造成了資源的嚴(yán)重浪費。而本方案的設(shè)計具有較強的可編程性,可以靈活配置,通用性較強,大大節(jié)約了資源成本。
該遙測信號源的硬件電路主要由低成本FPGA和DDS專用芯片構(gòu)成,軟件采用Verilog語言編程。對于軟件部分來說,該信號源的控制接口和控制字編程是軟件編程的重要部分。FPGA控制接口通過編程實現(xiàn)串口通信協(xié)議,預(yù)設(shè)控制字必須按照控制接口的通信協(xié)議串行輸出給DDS專用芯片,DDS芯片才能接收控制字信息,并根據(jù)接收到的控制字信息輸出所需的波形。
2.1 遙測信號源的硬件構(gòu)成
遙測信號源主要包括以下三個組成部分。
(1)按鍵電路。它主要是向FPGA部分輸送控制信息。一部分按鍵提供波形選擇信息,另一部分提供需要輸出波形的頻率信息。
(2)系統(tǒng)FPGA控制核心。FPGA是系統(tǒng)的核心控制部分。當(dāng)FPGA接收到按鍵信息后,發(fā)送相應(yīng)的控制信息給DDS芯片。通過程序設(shè)計,F(xiàn)PGA芯片EP1C6T144可實現(xiàn)靈活配置。
(3)DDS電路。該部分主要采用AD9833芯片來搭建外圍電路。根據(jù)接收到的FPGA控制信息產(chǎn)生所需波形信號,并將其輸出。
系統(tǒng)總體框圖如圖2所示。
在該系統(tǒng)中,用戶可通過波形選擇按鍵輸出默認頻率的正弦波、三角波、方波等波形,如果在使用的過程中,需要輸出不同頻率的波形,則可以通過頻率選擇按鍵來實現(xiàn)。在FPGA控制模塊中,當(dāng)FPGA接收到數(shù)據(jù)或狀態(tài)改變的信息后,所設(shè)置的相應(yīng)的變量賦值會發(fā)生相應(yīng)的改變,然后將相應(yīng)的控制字輸出給AD9833芯片,AD9833接收到控制字后通過直接數(shù)字頻率合成,最終輸出所需的波形。
2.2 遙測信號源的控制接口
DDS芯片AD9833為3線SPI接口,對于一些微處理器來說可以直接與其連接,但對于FPGA來說,必須通過對SPI協(xié)議進行編程實現(xiàn)。因此在FPGA控制中,對SPI進行了模塊化設(shè)計,無論是相位控制字輸出還是頻率控制字的輸出都需經(jīng)過SPI模塊后,根據(jù)SPI協(xié)議進行輸出。FPGA控制原理框圖如圖3所示。
在FPGA中,首先接收到外部的按鍵信息,按鍵狀態(tài)或數(shù)據(jù)模塊被觸發(fā),根據(jù)該模塊提供的信息,在相位、頻率控制模塊內(nèi),對相應(yīng)的寄存器(preq0,fdreq0,fhreq0)進行賦值,完成相位及頻率控制字的配置,并輸入到SPI模塊,通過SPI模塊進行SPI協(xié)議輸出給AD9833,控制輸出必須滿足AD9833的時序控制,時序如圖4所示。
在串行時鐘輸入SCLK(spiclk)的控制下,SCLK為高,使能信號FSYNC(spics)為低時,SDATA(spido)輸出)開始輸入數(shù)據(jù),數(shù)據(jù)以16位字的形式寫入AD9833。FSYNC可以在多組16個SCLK脈沖期間保持低電平,傳輸連續(xù)的16位字流,等到數(shù)據(jù)傳輸完畢后在最后一個字的第16個SCLK下降沿變高。
2.3 遙測信號源的軟件控制字
對于靈活可配置,通用性強的遙測信號源來說,其頻率、波形等參數(shù)的實時變化是必不可少的。而系統(tǒng)要實現(xiàn)這些參數(shù)的實時變化,就必須將控制字進行相應(yīng)的改變。如正弦波的控制字為十六進制數(shù)0008,三角波的控制字為十六進制數(shù)000A,方波的控制字十六進制數(shù)0028。
由AD9833模擬輸出頻率的計算公式(參考式(1))可知,如果采用20 MHz的晶振作為AD9833的主頻時鐘來輸出10 kHz的正弦波信號,則可計算出頻率字FREQREG的十六進制數(shù)為20C49,如果軟件設(shè)計時選用AD9833的頻率寄存器0和相位寄存器0,則加上寄存器標(biāo)識后,F(xiàn)PGA寫入AD98 33的頻率字高位十六進制數(shù)為4008,低位十六進制數(shù)為4C49。在給頻率寄存器寫入數(shù)據(jù)前,若給控制寄存器寫入十六進制數(shù)2000,則可將頻率寄存器設(shè)置成完整的28位來使用,若給寫入十六進制數(shù)0000,則頻率寄存器可以作為兩個14位寄存器來使用。相位字可根據(jù)式(2)來計算。當(dāng)相位偏移為0°時,相位字PHASEREC為十六進制數(shù)D000(相位寄存器的標(biāo)示為1101);相位偏移為180°時,相位字PHASEREC為十六進制數(shù)D800。
3 仿真驗證
仿真是在QuartusⅡ環(huán)境下,使用其自帶的仿真軟件對整個工程進行功能仿真。
仿真采用20 MHz的晶振作為AD9833的主頻時鐘來輸出相位偏移為零、頻率為10 kHz的正弦波、方波、三角波,以及相位偏移為180°的5 kHz的正弦波,結(jié)果分別如圖5~圖8所示。
通過模擬輸出頻率公式可計算頻率為5 kHz時,頻率字FREQREG的十六進制數(shù)為10624,F(xiàn)PGA寫入AD9833的頻率字高位十六進制數(shù)為4004,低位十六進制數(shù)為4624。
4 結(jié)論
本文提出了基于FPGA和DDS芯片的遙測信號源。該信號源主要由Cyclone EP1C6和AD9833芯片來搭建硬件電路,采用Verilog語言實現(xiàn)編程,通過對FPGA進行控制使其輸出數(shù)據(jù)給DDS芯片,最終實現(xiàn)所需波形的輸出。仿真表明該遙測信號源能夠靈活、方便地輸出頻率范圍為0~12.5 MHz的頻率、相位可調(diào)的正弦波、三角波、方波信號。此方案的參數(shù)化沒計,極大方便了對所需波形數(shù)據(jù)的更改,增強了信號源的靈活性。雖然該信號源能夠輸出頻率、相位靈活可變的正弦波、方波、三角波,但沒有實現(xiàn)任意波形的輸出。因此以后研究方向是實現(xiàn)對任意波形的設(shè)計,以增加信號源的靈活可配置性,進一步增強其通用性。