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





