网站公告列表

  没有公告

加入收藏
设为首页
联系本站
您现在的位置: AnalogCN安诺电子 >> 文章 >> 技术交流 >> 文章正文
  AD9835的应用         ★★★ 【字体:
AD9835的应用
作者:佚名    文章来源:Internet    点击数:    更新时间:2006-11-21    

直接数字频率合成(DDS)是继直接频率合成和间接频率合成之后发展起来的第三代频率合成技术,主要通过数字控制方法从一个参考频率源产生多种频率。DDS具有高速频率转换、高分辨率、高稳定度、低相位噪声,输出信号易数字式调制等特点,并且是新型数字化高密度集成电路产品,因此可以用DDS构成高性能频率合成信号源而取代传统频率信号源产品。本文基于Analog公司的AD9835 DDS专用芯片设计了一种由单片机控制的合成信号源,可提供正弦波(连续、重复)、方波(单个、连续、重复)、白噪声等多种信号。

    本人在一个项目中使用了此芯片,现将项目中关于AD9835的部分贴出来供闲杂人等参考之,有问题的可直接留言,看到后偶即回复!!

 

void send9835()
{
    /****************"初始化 AD9835*****************************/  
    //Control register write   D15 D14 11
    // D13      D12      D11
    // sleep=1  reset=1  clr=1
    // 1111 1xxx xxxx xxxx
    SendData(0xf800);

    //Setting SYNC and SELSRC  D15 D14 10
    //D13 SYNC==1
    //D12 SELsrc="/0 ";    0/1  using the pins/bits FSELECT,PSEL0 and PSEL1
    // 1010 xxxx xxxx xxxx
    SendData(0xa000);

    //write initial data
    //输出14.8   f1=14.8-0.2=14.6 f0=14.8+0.2=15 fmclk=50
    //14.6 freg1 = fout0/fmclk*2^32 = 1254130450.432 = 1254130450                   freg = 0.8/40*2^32=05 1E B8 51
    //                              = 0x 4A C0 83 12  实际14.599999995              freg = 0.008/40*2^32=00 0D 1B 71
    //15   freg0 = fout1/fmclk*2^32 = 1288490188.8 = 1288490188
    //                              = 0x 4c cc cc cc  实际14.999999991

    //f1=14.8-0.05=14.75  f0=14.85  fmclk=50MHz
    //freg1=14.75/50*2^32=0x4b851eb8
    //freg0=14.85/50*2^32=0x4c083126

    //"高8位是固定的,具体看手册
    //0011 0000 freg0 L LSBS 
    //0010 0001 freg0 H LSBS 
    //0011 0010 freg0 L MSBS
    //0010 0011 freg0 H MSBS
    //50M  14.6M   1254130450=0x 4A C0 83 12


/**8k程序
 //   SendData(0x3071);
//    SendData(0x211B);
//    SendData(0x320D);
 //   SendData(0x2300);

//    SendData(0x3471);
//    SendData(0x251B);
 //   SendData(0x360D);
//    SendData(0x2700);
*/

/*18k程序*/
    //        freg = 0.018/40*2^32=00 1D 7D BF

    SendData(0x30BF);
    SendData(0x217D);
    SendData(0x321D);
    SendData(0x2300);

    SendData(0x34BF);
    SendData(0x257D);
    SendData(0x361D);
    SendData(0x2700);

/////////////////////////////////////////////////////

 

    //"高8位是固定的,具体看手册
    //0011 0100 freg1 L LSBS  cc
    //0010 0101 freg1 H LSBS  cc
    //0011 0110 freg1 L MSBS  cc
    //0010 0111 freg1 H MSBS  4c

    //50M 15M 1288490188=0x4c cc cc cc
    //SendData(0x34cc);
    //SendData(0x25cc);
    //SendData(0x36cc);
    //SendData(0x274c); 

    //phase
    //0001 1000 phase0 LSBS
    //0000 1001 phase0 MSBS
    //0001 1010 phase1 LSBS
    //0000 1011 phase1 MSBS
    //0001 1100 phase2 LSBS
    //0000 1101 phase2 MSBS
    //0001 1110 phase3 LSBS
    //0000 1111 phase3 MSBS
    SendData(0x1800);
    SendData(0x0900);
    SendData(0x1a00);
    SendData(0x0b00);
    SendData(0x1c00);
    SendData(0x0d00);
    SendData(0x1e00);
    SendData(0x0f00);

    //Control register write   D15 D14 11
    // D13      D12      D11
    // sleep=0  reset=0  clr=0
    // 1100 0xxx xxxx xxxx
    SendData(0xc000);

}  

void SendData(unsigned int d)
{
   unsigned char i;
   D_CS = 0;
   for(i=0;i<16;i++){
      d<<=1;
      D_SDA=CY;
      D_SCLK=1;
      D_SCLK=0;
      }   
   D_CS = 1;  
}

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    电源管理--原理、问题和器件
    ADI HSC-ADC-EVALC高速转换器
    主机接口(HPI)在嵌人式系统中
    通道数模转换器AD5532及其应
    从animate示例看wxWidgets的
    wxWidgets程序链接错误解决
    uclinux-2008R1-RC8(bf561)到
    基于DDS芯片AD9851的精密跳频
    基于Blackfin DSP的函数_任意
    DSP芯片外围电路典型设计
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    版权所有:AnalogCN安诺电子 湘ICP备06016315号