AD7008构成的可程控信号源设计

发布者:科技探险者最新更新时间:2006-05-07 来源: 国外电子元器件 手机看文章 扫描二维码
随时随地手机看文章

    摘要:AD7008是ADI公司生产的高集成度的DDS频率合成器,利用AD7008和AD7520可构成极易控制的程控信号源。文中详细介绍了AD7008的原理结构以及由其构成的程控信号源的硬件电路及软件编程。

    关键词:程控信号源  直接数字合成(DDS)  AD7008  AD7520

    在一些电子装备的电路板故障检测仪中,往往需要频率、幅度都能由计算机自动调节的信号源。采用诸如MAX038信号发生器芯片外加电阻及切换开关等器件虽然也能调节频率和幅度,但这种调节是离散的,且电路复杂,使用不方便。而采用直接数字合成芯片AD7008及外加D/A转换芯片AD7520构成的可控信号源,可生产正弦波、调频波、调幅波及方波等,并且其信号的频率和幅度可由微机来精确控制,调节非常方便。

1 硬件电路构成

    本信号源设计为插入PC机中的插卡式结构。由PC机直接控制信号的频率和幅度,不需要人工调节,也不需外加电源。其电路框图如图1所示。

    该电路采用直接数字合成芯片AD7008产生所需频率的正弦或调频调幅信号,其输出信号分两路:一路经过74LS14整形输出一个方波信号;另一路送到AD7520芯片,由AD7520构成的数控衰减电路控制输出信号的幅度,最后输出一个频率和幅度都可控的信号。下面介绍频率控制和幅度控制的实现方法。

1.1 频率控制

    AD7008是ADI公司采用先进的直接数字合成(DDS)技术,推出的高集成度DDS频率合成器。图2所示为其功能框图,它内部包括可编程DDS系统、高性能10位DAC、与微机的串行和并行接口以及控制电路等,能实现全数字编程控制的频率合成和时钟发生器。如果接上精密时钟源,AD7008即可产生一个频率和相位都可编程控制模拟正弦波输出。根据需要还可以对此信号进行调频、调相或调幅控制。此输出的信号可直接用作频率信号源或转换方波以作时钟输出。AD7008接口控制简单,可以用8位或16位并行口或单行口直接输入频率、相位、以及调幅幅度等控制数据。32位频率控制字在20MHz时钟时的输出频率分辨率可达0.047Hz,最大输出频率可达5MHz,器件采用CMOS低功耗工艺,不需信号输出时还可通过硬件或软件设置为低功耗方式。其最大输出电压、电流值分别为1V、20mA,采用单一正5V电源电及44脚PLCC封装形式。

    AD7008包括三个主要部分:第一部分是由一个32位相位累加器、一个余弦/正弦表、一个1位的D/A转换器和两个频率、一个相位和两个幅度调节寄存器组成的可编程DDS数字合成系统;第二部分是用于设置AD7008的工作模式的一个命令寄存器和幅度调制单元;第三部分是并、串行接口及控制电路,用来和微机接口,以实现对频率、相位和幅度调节寄存器的写入修改。

    图3是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的值即为频率指数。本设计采用的时钟为20MHz,字长为32位。因此:最小频率为:

    fL=20×10 6 / 2 32

    最大频率为:

    fM=1/4T=FCLK/4=20M/4=5MHz

    fi=KF2=K×20 6 /2 32

    因而:K=f0×2 32/20

    将算出的K值取整后通过并行8位口送入AD7008的FREQ0或FREQ1中,即可控制信号的频率。相位调节和幅度调节控制也与此类似,只要将相位调节值和幅度调节值送入相应的寄存器即可。

1.2 幅度控制

    AD7520是一种廉价、单片10位16引脚双列直插式封装的乘法型/数转换器。该器件采用先进的CMOS和薄膜工艺,可提供高达10位的精度,并与TTL/DTL/CMOS电平兼容。AD7520在5V~15V电源下工作,包括梯形网络在内的功耗为20mW。 采用AD7520构成的数字控制衰减器电路参见图3,其输入电压从AD7520的参考源输入端加入。

    根据图3中AD7520部分的电路设计,LF356的3脚电压的表达式如下:

    Io1=IREF(D12 -1+D22 -2+…+D102 -10)

    将IREF=VREF/R,VREF=VIN代入,则:

    Io1=VIN/R(D12 -1+D22 -2+…+D102 -10)

    通过运算放大器将输入电流转换成电压输出,则有:

    VOUT=Io1R

    将Io1表达式代入,得:

    VOUT=-VIN(D12 -1+D2 2-2+…+D102 -10)

    由于(D12 -1+D22 -2+…D102 -10<1)

    所以输入电压通过该电路后,其输出受到由数字控制的衰减。

    改变D1~D10的值时,输出电压也随之变化。最大输出电压接近于输入电压,最小输出电压等于输入电压的1024分之一(衰减可达60dB)。本电路采用74LS273锁存器的输出来控制AD7520的衰减量、因此由计算机写入74LS273内的不同值就可控制衰减量。

2 软件设计

    本信号源属于测试仪的一部分,其中也包括软件,称为信号源模块。本模块采用C语言设计,在BC3.1环境下调试通过。图4是程序框图。具体的程序清单如下:

    /*—systen(“send1.exePORTBYTEBY”):—*/

    #include

    #include

    #include

    #include

    #include

    void signal(int frlb4,int fr1b3,int fr1b2,int fr1b1,int am1-2,int am1-8);

    void sglres();

    void main()

    {

    signal(30000,0x3ff);

    sglres();

    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,unsigned int am-value)/*设置AD7008输出信号频率及AD7520对信号的衰减量*/

    {

    unsigned int fr1b4,rf1b3,fr1b2,fr1b1,am1-2,am1-8;

    unsigned long k1,k2,k3;

    k1=(f-value*0x800000)/10000000;

    fr1b=int(k1/0x1000000));

    k2=k1-fr1b4*(0x1000000);

    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(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);

    }

3 电路板设计及调试注意事项

    本信号源设计为插入PC机ISO槽结构,信号板所需的+5V模拟电源和-5V模拟电源由PC机中的+12V和-12V电源通过7805芯片稳压后得到。电源滤波电容选用钽电容和0.1μF高频小独石电容并联。因而频率和幅度尤其是幅度变化范围较大,其最小值可达2mV。为减小数字部分模拟部分的干扰,PCB板最好采用四层板,中间两层为模拟地和数字地,并且模拟和数字地插槽附近的一点相联。芯片上的数字电源和模拟电源、数字地和模拟地应严格分析,芯片所有的电源端必需加0.1μF的高频云耦电容。另外,用示波器测试时要特别注意示波器的接地脚必需和PCB板上的地脚后可靠连接才能进行测试。如果在测试中示波器的接地脚脱落,则极易造成芯片损坏。本信号源已应用在某声纳电路检测与维修仪器中,使用效果很好,频率和幅度控制都非常方便。

引用地址:AD7008构成的可程控信号源设计

上一篇:边缘保留的图像噪声滤除方法
下一篇:16分钟单片语音录放电路ISD4004

小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved