新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > AD9833型高精度可编程波形发生器及其应用

AD9833型高精度可编程波形发生器及其应用

——
作者:刘国良,廖力清,施进平时间:2007-01-26来源:《国外电子元器件》收藏

1 引言

本文引用地址:http://www.eepw.com.cn/article/21226.htm

ad9833是adi公司生产的一款低功耗,可编程波形发生器,能够产生正弦波、三角波、方波输出。波形发生器广泛应用于各种测量、激励和时域响应领域,ad9833无需外接元件,输出频率和相位都可通过软件编程,易于调节,频率寄存器是28位的,主频时钟为25mhz时,精度为0.1hz,主频时钟为1mhz时,精度可以达到0.004hz。

可以通过3个串行接口将数据写入ad9833,这3个串口的最高工作频率可以达到40mhz,易于与dsp和各种主流微控制器兼容。ad9833的工作电压范围为2.3v-5.5v。

ad9833还具有休眠功能,可使没被使用的部分休眠,减少该部分的电流损耗,例如,若利用ad9833输出作为时钟源,就可以让dac休眠,以减小功耗,该电路采用10引脚msop型表面贴片封装,体积很小。

ad9833的主要特点如下:

频率和相位可数字编程;

工作电压为3v时,功耗仅为20mw;

输出频率范围为0mhz-12.5mhz;

频率寄存器为28位(在25mhz的参考时钟下,精度为0.1hz);

可选择正弦波、三角波、方波输出;

无需外界元件;

3线spi接口;

温度范围为-40℃-+105℃。

2 ad9833的结构及功能

2.1 电路结构

ad9833是一块完全集成的dds(direct digital frequency synthesis)电路,仅需要1个外部参考时钟、1个低精度电阻器和一个解耦电容器就能产生高达12.5mhz的正弦波。除了产生射频信号外,该电路还广泛应外于各种调制解调方案。这些方案全都用在数字领域,采用dsp技术能够把复杂的调制解调算法简化,而且很精确。

ad9833的内部电路主要有数控振荡器(nco)、频率和相位调节器、sine rom、数模转换器(dac)、电压调整器,其功能框图如图1所示。

ad933的核心是28位的相位累加器,它由加法器和相位寄存器组成,每来1个时钟,相位寄存器以步长增加,相位寄存器的输出与相位控制字相加后输入到正弦查询表地址中。正弦查询表包含1个周期正弦波的数字幅度信息,每个地址对应正弦波中0°-360°范围内的1个相位点。查询表把输入的地址相位信息映射成正弦波幅度的数字量信号,去dac输出模拟量,相位寄存器每经过228/m个mclk时钟后回到初始状态,相应地正弦查询表经过一个循环回到初始位置,这样就输出了一个正弦波。输出正弦波频率为:

fout=m(fmclk/228) (1)

其中,m为频率控制字,由外部编程给定,其范围为0≤m≤228-1。

vdd引脚为ad9833的模拟部分和数字部分供电,供电电压为2.3v-5.5v。ad9833内部数字电路工作电压为2.5v,其板上的电压调节器可以从vdd产生2.5v稳定电压,注意:若vdd小于等于2.7v,引脚cap/2.5v应直接连接至vdd。

2.2 功能描述

ad9833有3根串行接口线,与spi、qspi、mi-crowire和dsp接口标准兼容,在串口时钟sclk的作用下,数据是以16位的方式加载到设备上,时序图如图3所示,fsync引脚是使能引脚,电平触发方式,低电平有效。进行串行数据传输时,fsync引脚必须置低,要注意fsync有效到sclk下降沿的建立时间t7的最小值。fsync置低后,在16个sclk的下降沿数据被送到ad9833的输入移位寄存器,在第16个sclk的下降沿fsync可以被置高,但要注意在sclk下降沿到fsync上升沿的数据保持时间ts的最小和最大值。当然,也可以在fsync为低电平的时候,连续加载多个16位数据,仅在最后一个数据的第16个sclk的下降沿的时将fsync置高,最后要注意的是,写数据时sclk时钟为高低电平脉冲,但是,在fsync刚开始变为低时,(即将开始写数据时),sclk必须为高电平(注意t11这个参数)。

当ad9833初始化时,为了避免dac产生虚假输出,reset必须置为1(reset不会复位频率、相位和控制寄存器),直到配置完毕,需要输出时才将reset置为0;reset为0后的8-9个mclk时钟周期可在dac的输出端观察到波形。

ad9833写入数据到输出端得到响应,中间有一定的响应时间,每次给频率或相位寄存器加载新的数据,都会有7-8个mclk时钟周期的延时之后,输出端的波形才会产生改变,有1个mclk时钟周期的不确定性,因为数据加载到目的寄存器时,mclk的上升沿位置不确定。

3 ad9833的引脚功能及时序

ad9833的引脚排列如图2所示,各个引脚的功能描述见表1。



ad9833的时序特性如图3、图4和表2所示。





4 ad9833的内部寄存器功能

ad9833内部有5个可编程寄存器,其中包括3个16位控制寄存器,2个28位频率寄存器和2个12位相位寄存器。

4.1 控制寄存器

ad9833中的16位控制寄存器供用户设置所需的功能。除模式选择位外,其他所有控制位均在内部时钟mclk的下沿被ad9833读取并动作,表3给出控制寄存器各位的功能,要更改ad9833控制寄存器的内容,d15和d14位必须均为0。

4.2 频率寄存器和相位寄存器

ad9833包含2个频率寄存器和2个相位寄存器,其模拟输出为

fmclk/228×freqeg (2)

其中:freqeg为所选频率寄存器中的频率字,该信号会被移相:

2π/4096×phaserec (3)

其中,phaserec为所选相位寄存器中的相位字。

频率和相位寄存器的操作如表4所示。



5 应用设计

ad9833可应用在l15型飞机控制盒配套的检测盒中,利用ad9833产生频率可调的正弦波,以模拟机轮速度传感器的速度信号,从而对控制盒的刹车防滑通道能否正常的刹车防滑进行检测。

5.1 ad9833的硬件电路连接

检测盒设计以ti公司的tms320lf2407a型dsp作为核心控制器,应用中需要2路速度信号,因此需要检测盒给出2路可独立调节的频率,图5示出tms320lf2407a与ad9833的硬件连接。

外接有源晶体振荡器的输出送给2个ad9833作为主频时钟,dsp的spi口采用主动工作方式,即用spisimo口发送数据,为了与ad9833的时序相配合,dsp的接口时钟(spiclk信号)方式选择有延时的下降沿,iopc3和iopc5作为电路选通信号,iopc3为低电平时u2被选通,此时对u1写数据无效;同理,iopc53为低电平时u1被选通,此时对u2写数据无效。

5.2 软件程序

图6示出了ad9833的软件流程。

无论是写控制寄存器、频率寄存器还是相位寄存器、在写数据之前都需要把选通信号置为有效状态,这样写入的数据才会有效,否则无效。在dsp发送完1个数据字后将产生spi中断请求,本设计中未使用中断方式,而且通过查询中断标志来跳出,并虚读dsp的接收缓冲器清除中断标志。



关键词:

评论


相关推荐

技术专区

关闭