劉尚富
(1.海軍工程大學 武漢 430000)(2.海軍蚌埠士官學校 蚌埠 233012)
基于DDS的可程控信號源的設計和實現*
劉尚富1,2
(1.海軍工程大學武漢430000)(2.海軍蚌埠士官學校蚌埠233012)
摘要根據靶場實際需要,設計了一個通過AD7008及AD7520芯片來實現的可程控信號源。文章詳細介紹了該方案的軟件和硬件的設計要點以及在調試中應注意的問題。
關鍵詞可程控信號源; AD7008; 頻率控制; AD7520; 幅度控制
Class NumberTP212
1引言
在靶場一些電子裝備的電路板故障檢測中,往往需要頻率、幅度都能由計算機自動調節的信號源。采用諸如MAX038信號發生器芯片外加電阻及切換開關等器件,雖然也能調節頻率和幅度,但這種調節是離散的,且電路復雜,使用不方便,而采用直接數字合成(DDS) 芯片AD7008及外加D/A轉換芯片AD7520構成的可控信號源,可產生正弦波、調頻波、調幅波及方波等。并且其信號的頻率和幅度可由計算機來精確控制,調節方便[1]。
2硬件電路總體設計
為了在靶場設備電路板故障檢測中使用方便,我們把信號源設計為插入PC機中的插卡式結構。PC機通過微機接口控制電路發送所需要信號的頻率和幅度信息,直接數字合成芯片AD7008產生所需頻率的正弦或調頻、調幅信號,送到AD7520構成的數控衰減電路控制輸出信號的幅度,最后輸出一個頻率和幅度都可控的信號。電路框圖如圖1所示。

圖1 信號源硬件框圖
3器件簡介
ADI公司推出的AD7008器件采用了先進的直接數字合成(DDS)技術,它內部包括可編程DDS系統、高性能10位DAC及與微機串行、并行接口及控制電路,能實現全數字編程控制的頻率合成器。接上精密時鐘源,AD7008可產生一個頻率和相位都可編程控制的模擬正弦波輸出。根據需要還可以對此信號進行調頻、調相或幅度控制。此輸出信號可直接作為頻率可變化的信號源或轉換成方波信號[2]。AD7008的主要性能指標如下:
·可以用并行口或串行口直接輸入頻率、相位、調幅幅度等控制參數;
·內含32位可編程頻率寄存器;
·集成有10位D/A轉換器;
·采用CMOS低功耗工藝;
·可通過硬件或人機設置為降功耗方式;
·最大輸出電壓、電流分別為1V、20mA;
·單一正+5V電源供電;
·采用44腳的PLCC封裝[3]。
AD7008芯片的主要引腳包括數據線、地址線、參考時鐘輸入引腳、DAC輸出、寄存器組選擇、頻率更新引腳、系統同步時鐘及復位信號引腳等。
AD7008芯片的系統結構圖如圖2所示。它共有三個主要部分:一是由一個32位的相加累加器、一個余弦/正弦表、一個10位的D/A轉換器和兩個頻率、一個相位及兩個幅度調節單元等組成的可編程DDS數字合成系統;二是用于設置AD7008工作模式的一個命令寄存器及包含在幅度調制單元中用于調節I及Q幅度的兩個幅度寄存器等;三是并、串行接口及控制電路等,用來和微機接口,實現對頻率、相位和幅度調節寄存器等的寫入和修改。硬件電路構成。[4]

圖2 AD7008芯片的系統結構圖
4具體電路設計和頻率、幅度的控制
4.1基于AD7008的可程控信號源的SCH圖
圖3是由AD7008和微機接口組成的實際電路。AD7008和微機接口采用并行8位的接口方式。74LS273鎖存器的輸出和AD7008的TC0~TC3、RESET、LOAD、SLEEP和FSELECT等相聯結,用于實現對AD7008的有關控制。當SLESECT=0時,輸出頻率決定于FREQ0寄存器的值;當SLESECT=1時,輸出頻率決定于FREQ1寄存器的值;TC3~TC0稱為傳輸地址控制總線,它用來決定數據傳輸過程中使用的目的和源寄存器。LOAD是數據裝載允許引腳,只有當它為高電平是,由TC3~TC0地址總線選中的寄存器才允許寫入數據。SLEEP是低功耗休眠控制引腳,當它接高電平時,AD7008進入低功耗休眠方式。此時內部時鐘被禁止,同時關閉了DAC的電流源。RESET是寄存器復位引腳,當它為高電平時,將所有寄存器復位為零,同時禁止輸出信號。
DAC轉換輸出(IOUT)的電流信號經過一個電阻成為電壓信號后通過一級運放組成的射隨器和低通濾波器即可輸出正弦或調頻調幅信號。信號的頻率由FREQ0或FREQ1決定,FREQ0和FREQ1的字長是32位,通過8位并行口分4次輸入,先送最高字節,再依次輸入其它字節,最后送最低位字節。FREQ0或FREQ1的值為頻率指數[5]。
4.2頻率控制
本設計采用時鐘為20MHZ,字長為32位。
因此最小頻率為
FL=20×106/232
最大頻率為
FM=1/4T=FCLK/4=5MHZ
F=K×FL=K×20×106/232
因而
K=F×232/20×106Σ
將計算出的K值取整后通過并行8位口送入AD7008的FREQ0或FREQ1中,即可控制信號的頻率。相位調節和幅度調節控制也類似,只要將相位調節值和幅度調節值送入相應的寄存器即可[6]。

圖3 信號源SCH圖
4.3幅度控制
幅度控制這一部分采用ADI公司的AD7520,該器件是單片10位16引腳雙列直插式封裝的乘法型模/數轉換器。采用先進的CMOS和薄膜工藝,提供高達10位精度,同TTL/DTL/CMOS兼容。AD7520在+5V~+15V電源下工作,包括梯形網絡在內的功耗20mW。由AD7520構成的數字控制的衰減器電路如圖3所示。根據圖3中AD7520的部分所示電路,LF353的2腳輸入電流的表達式如下:
I01=IREF(D12-1+D22-2+…+D102-10)
將IREF=VREF/R,VREF=VIN代入得:
I01=IIN/R(D12-1+D22-2+…+D102-10)
通過運算放大器將輸入電流轉換成電壓輸出,得LF353的輸出電壓VOUT為:
VOUT=-I01R
將I01表達式代入,得:
VOUT=-VIN(D12-1+D22-2+…+D102-10)
可見輸入電壓通過該電路后受到由數字控制的衰減后輸出,當改變D1~D10的值輸出電壓也隨之變化。最大輸出電壓接近于輸入電壓,最小輸出電壓等于輸入電壓的1024分之一(衰減可達60db)。本電路采用74LS273鎖存器的輸出控制AD7520的衰減量。因此由計算機寫入74LS273內的不同值就可控制衰減量[7]。
5軟件設計
采用C語音設計,總體思路是:首先輸入頻率、幅度,計算頻率指數及幅度控制字;把頻率指數K值送入AD7008的32位并行口寄存器;然后設置頻率寄存器的地址;送幅度控制字到幅度控制字寄存器中;最后把K值裝載入頻率寄存器,產生信號。本程序已在BC5.0環境下調試通過[8]。下面是程序清單:
/*-------system("send1.exe PORT BYTE.BY");-------*/
#include
#include
#include
#include
#include
void signal(int fr1b4,int fr1b3,int fr1b2,int fr1b1,int am1-2,int am1-8)
void sglres()
void main()
{
sglres()
signal(30000,0x3ff);
adjust(0x10);
}
void sglres()/*AD7008芯片復位控制*/
{
outport(0x212,0xff);
outport(0x212,0xff);
outport(0x212,0xff);
outport(0x212,0x00);
outport(0x212,0x00);
outport(0x212,0x00);
}
void signal(unsigned long f-value,unsignal int am-value)
/*設置AD7008輸出信號頻率及AD7520對信號的衰減量*/
{
unsigned int fr1b4,fr1b3,fr1b2,fr1b1,am1-2,am1-8;
unsigned long k1,k2,k3;
k1=(f-value*0x800000)/10000000;
fr1b4=int(k1/(0x10000000));
k2=k1-fr1b4*(0x10000000);
fr1b3=int(k2/(0x10000));
k3=k2-fr1b3*(0x10000);
fr1b2=int(k3/(0x100));
fr1b1=k3-fr1b2*(0x100);
if am-value>0x3ff am-value=0x3ff;
if am-value<0x00 am-value=0x00;
am1-2=int(am-value/(0x100));
am1-8=am-value-am1-2*(0x100);
sglres();
outport(0x212,0xff);
outport(0x212,0x00);
outport(0x216,0x00);
outport(0x212,0x04);
outport(0x212,0x00);
outport(0x216,fr1b4);
outport(0x216,fr1b3);
outport(0x216,fr1b2);
outport(0x216,fr1b1);
outport(0x212,0x80);
outport(0x212,0x84);
outport(0x212,0x00);
outport(0x212,am1-2);
outport(0x218,am1-8);
}
6調試時注意事項
本信號源設計為插入PC機ISO槽結構,信號板所需的+5V模擬電源和-5V模擬電源由PC機中的+12V和-12V電源通過7805芯片和7905芯片穩壓后得到。電源濾波電容選用膽電容和0.1μF高頻小獨石電容并聯。因頻率和幅度變化范圍較大,特別是幅度其最小值可達2mV。為減小數字部分對模擬部分的干擾,PCB板最好采用四層板,中間兩層為模擬地和數字地,并且模擬地和數字地在插槽附近一點相連。芯片上的數字電源和模擬電源、模擬地和數字地嚴格分開,芯片上所用電源端必須加0.1μF的高頻去耦電容。另外用示波器測試時要特別注意,示波器接地端必須和PCB板上的接地端接牢后才能測試。否則若在測試中示波器接地端脫落,極易造成芯片損壞[10]。
調試結果和實際使用證明:用上述技術設計的基于AD7008的可程控信號源工作穩定,精度高,頻率和幅度控制都非常方便,在靶場電子裝備的電路板故障檢測中發揮了重要的作用。
參 考 文 獻
[1] ADI公司器件手冊.CMOS DDS Modulator AD7008.
[2] 李瀚蓀.電路分析基礎[M].北京:人民教育出版社,1981.
[3] 李華.MCS51單片機實用接口技術[M].北京:北京航空航天大學出版社,1993.
[4] 竇振中.單片機外圍器件實用手冊存儲器分冊[M].北京:北京航空航天大學出版社,1998.
[5] 趙國慶.雷達對抗原理[M].西安:西安電子大學出版社,1999.
[6] 中國航天.1988.8;中國航天,2000.10.
[7] High frequency atmospheric noise mitigation[C]//IEEE National Radar Conference,1994:101-104.
[8] NicholsonDB.Hexagonal ferrite for millimeterwave application[J].Hewlett-Packard Journal.Oct,1990,41(5).
Design and Implementation of Programmable Signal Source Based on DDS
LIU Shangfu1,2
(1.Naval University of Engineering, Wuhan430000)(2.Bengbu Naval Petty Officer Academy, Bengbu233012)
AbstractAccording to the actual needs of the range, a design is realized by AD7008 and AD7520 chip programmable signal source.The chapter introduces the design of the hardware of early points.
Key Wordschip programmable signal source, AD7008, frequency control, AD7520, amplitude control
*收稿日期:2015年12月26日,修回日期:2016年1月30日
作者簡介:劉尚富,男,碩士研究生,講師,研究方向:雷達裝備。
中圖分類號TP212
DOI:10.3969/j.issn.1672-9730.2016.06.039