APP下载

基于DDS的可程控信号源的设计和实现*

2016-06-30刘尚富

舰船电子工程 2016年6期

刘尚富

(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