0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

stm32驱动ad9854程序分享_ad9854构成信号发生器电路

姚小熊27 来源:网络整理 2018-05-17 09:23 次阅读

AD9854概述

AD9854数字合成器是高集成度的器件,它采用先进的DDS技术,片内整合了两路高速、高性能正交D/A转换器通过数字化编程可以输出I、Q两路合成信号。在高稳定度时钟的驱动下,AD9854将产生一高稳定的频率、相位、幅度可编程的正弦和余弦信号,作为本振用于通信,雷达等方面。AD9854的DDS核具有48位的频率分辨率(在300M系统时钟下,频率分辨率可达1uHZ)。输出17位相位截断保证了良好的无杂散动态范围指标。AD9854允许输出的信号频率高达150MHZ,而数字调制输出频率可达100MHZ。通过内部高速比较器正弦波转换为方波输出,可用作方便的时钟发生器

ad9854优势和特点

00MHz内部时钟速率

FSK、BPSK、PSK、线性调频、AM操作

两个集成式12位数模转换器DAC

超高速比较器,均方根抖动:3ps

出色的动态性能:80dBSFDR(100MHz±1MHzAOUT)

4×至20×可编程基准时钟乘法器

两个48位可编程频率寄存器

两个14位可编程相位偏移寄存器

12位可编程振幅调制和开关输出形键控功能

单引脚FSK和BPSK数据接口

通过输入/输出接口提供PSK功能

线性或非线性FM线性调频功能,具有单引脚频率保持功能

ad9854构成的信号发生器电路

键盘共设有16个键,由P1.0~P1.3四条行线和P1.4~P1.7四条列线构成。其中包括数字键、单位键及功能键,用来对所需信号的频率、幅度及功能进行控制,最后输出的信号频率、幅度等信息通过液晶显示屏显示出来。显示部分采用国显公司的GXM1602NSL液晶模块,它的核心是HD44780。与W78E58的数据传输采用8位并行传输,可显示两行共32个点阵字符。HD44780支持用户自定义字符,故可以通过编程将频率、幅度、波形等汉字及数字信息显示出来。还采用了通信接口RS232)与PC机相联,PC机的控制命令可以通过TXD(Pin10)和RXD(Pin11)与W78E58进行交互,控制信号源的输出。

stm32驱动ad9854程序分享_ad9854构成信号发生器电路

stm32驱动ad9854程序分享

#include <stm32f10x_lib.h》

#include “sys.h”

#include “delay.h”

#define AD9854_DATA GPIOC-》ODR

#define AD9854_ADDR GPIOC-》ODR

#define ad9854_reset PBout(12)

#define ad9854_rd PBout(13)

#define ad9854_wr PBout(14)

#define ad9854_updata PBout(15)

unsigned char ControlRegister[]={0x14,0x4f,0x00,0x60}; //AD9852控制寄存器初始值, Mode 0

unsigned char FTW[]={0x00,0x00,0x37,0xec}; //Frequency Tuning Word 1 倍频 300MHz 后输出频率 对应的 FTW 值

unsigned char PAR[]={0x00,0x00}; //Phase Adjust Register 1

unsigned char OSK[]={0x0a,0xff}; //Output shaped keying multiplier, 650mv

voidsingle_wave(unsigned long intfre);

void Init_AD9854(void);

void AD9854_Set_Mode0(void);

void AD9852_Send(unsigned char addr,unsigned char data);

voidchange_frequency(unsigned long intfre_temp); voidInit_Port(void);

int main( void )

{

Stm32_Clock_Init(9); // 9倍频

delay_init(72); // 72M晶振时延时

delay_ms(200);

Init_Port();

Init_AD9854();

single_wave(1000000);

while(1);

}

voidInit_Port(void)

{

RCC-》APB2ENR |= 1<<3 ;

GPIOB-》CRH &= 0x0000ffff ;

GPIOB-》CRH |= 0x33330000 ;

GPIOB-》ODR |= 0xf000 ;

RCC-》APB2ENR |= 1<<4 ;

GPIOC-》CRL &= 0x00000000 ;

GPIOC-》CRL |= 0x33333333 ;

GPIOC-》CRH &= 0x00000000 ;

GPIOC-》CRH |= 0x33333333 ;

GPIOC-》ODR |= 0xffff ;

}

void AD9852_Send(unsigned char addr,unsigned char data) //按照并行输入时序

{

ad9854_wr = 1; // AD9854_WR_SET;

AD9854_ADDR &= 0x00ff|addr<<8;

AD9854_ADDR |= 0xff00&addr<<8;

ad9854_wr = 1; // AD9854_WR_SET;

AD9854_DATA &= 0xff00|data;

AD9854_DATA |= 0x00ff&data;

ad9854_wr = 0; // AD9854_WR_CLR; ad9854_wr = 1; // AD9854_WR_SET; ad9854_updata = 1; //

AD9854_UPDATA_SET;

ad9854_updata = 0; //

AD9854_UPDATA_CLR;

}

void Init_AD9854(void)

{

unsigned char addr;

unsigned char i;

ad9854_reset = 0 ; // AD9854_RESET_CLR;

ad9854_wr = 1 ; // AD9854_WR_SET; ad9854_rd = 0 ; // AD9854_RD_CLR; ad9854_updata = 0 ; // AD9854_UPDATA_CLR;

addr = 0x1d;

for(i=4;i》0;i--)

{

AD9852_Send(addr,ControlRegister[4-i]);

addr++;

}

}

void AD9854_Set_Mode0(void) //Mode 0 设置

{

unsigned char addr;

unsigned char counter;

for(addr=0x00,counter=2;counter》0;counter--) //设 置 Phase Adjust Register 1

{

AD9852_Send(addr,PAR[2-counter]);

addr++;

}

for(addr=0x04,counter=4;counter》0;counter--) //设 置 Frequency Tuning Word 1

{

AD9852_Send(addr,FTW[4-counter]);

addr++;

}

for(addr=0x21,counter=2;counter》0;counter--) //设 置 Output shaped keying multiplier

{

AD9852_Send(addr,OSK[2-counter]);

addr++;

}

}

voidsingle_wave(unsigned long intfre)

{

unsigned char addr,i;

unsigned long intff;

unsigned char *p;

ff=(unsigned long int)(4294967296*fre/300000000); p=(unsigned char*)&ff;

for(addr=0x04,i=0;i<4;i++) //设 置 Frequency Tuning Word 1

{AD9852_Send(addr,*(p+3-i));

addr++;

}

for(addr=0x00,i=0;i<2;i++) //设 置 Phase Adjust Register 1

{

AD9852_Send(addr,PAR[i]);

addr++;

}

for(addr=0x21,i=2;i》0;i--) //设

置 Output shaped keying multiplier

{

AD9852_Send(addr,OSK[2-i])

addr++;

}

}

voidchange_frequency(unsigned long intfre_temp) {

unsigned char addr,counter;

unsigned char *p;

p=(unsigned char*)&fre_temp;

for(addr=0x04,counter=0;counter<4;counter++) //设置 Frequency Tuning Word 1

{

AD9852_Send(addr,*(p+3-counter));

addr++;

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • STM32
    +关注

    关注

    2239

    文章

    10673

    浏览量

    348772
  • AD9854
    +关注

    关注

    12

    文章

    50

    浏览量

    27814
收藏 人收藏

    评论

    相关推荐

    基于AD9854的正交扫频信号源设计

    本文首先阐述了AD9854原理,其次介绍了AD9854引脚功能及工作过程,最后介绍了信号的产生及显示控制以及系统软件设计方法。
    发表于 05-18 08:29 4152次阅读
    基于<b class='flag-5'>AD9854</b>的正交扫频<b class='flag-5'>信号</b>源设计

    基于AD9854数控信号发生器的设计

    跪求《基于AD9854数控信号发生器的设计》。毕业设计,实在不会啊
    发表于 04-15 23:42

    使用AD9854设计函数信号发生器

    请问有没有人对于使用AD9854设计函数信号发生器有研究?如果谁研究过这方面东西的话能不能分享点资料给我?不胜感激{:23:}
    发表于 04-30 11:55

    【DIY信号发生器AD9854方案

    位相位截断保证了良好的无杂散动态范围指标。AD9854允许输出的信号频率高达150MHZ,而数字调制输出频率可达波转换为方波输出,可用作方便的时钟发生器。器件有两个14位相位寄存和一
    发表于 06-17 17:13

    AD9854波形发生器模块配套各种资料

    AD9854信号发生器模块的配套资料。
    发表于 03-16 10:29

    基于AD9854的高精度高频信号发生器

    基于AD9854的高精度高频信号发生器:摘要:本文介绍利用ACEX1K50 控制AD9854 的高频信号
    发表于 10-27 18:28 166次下载

    DDS工作原理及基于AD9854信号发生器的设计

    等特点。文中详细分析了该信号发生器的系统结构、软硬件设计和具体实现电路。 DDS 工作原理 AD9854 中使用的 DDS 技术是根据奈奎斯特采样定律, 从连续
    发表于 11-16 14:49 45次下载
    DDS工作原理及基于<b class='flag-5'>AD9854</b>的<b class='flag-5'>信号</b><b class='flag-5'>发生器</b>的设计

    基于AD9854信号发生器设计

    AD9854数字合成器是高集成度的器件,它采用先进的DDS技术,片内整合了两路高速、高性能正交D/A转换器通过数字化编程可以输出I、Q两路合成信号。在高稳定度时钟的驱动下,AD9854
    发表于 12-09 11:38 7802次阅读

    ad9854中文资料汇总(ad9854引脚图及功能_内部结构及应用电路

    本文首先介绍了AD9854特征与内部结构框图,其次介绍了AD9854引脚功能和AD9854的编程,最后介绍了两款ad9854应用电路图。
    发表于 05-16 15:17 2.4w次阅读
    <b class='flag-5'>ad9854</b>中文资料汇总(<b class='flag-5'>ad9854</b>引脚图及功能_内部结构及应用<b class='flag-5'>电路</b>)

    基于AD9854产生MSK调制信号详细说明

    AD9854数字合成器是高集成度的器件。本文首先介绍了AD9854的特征,其次介绍了AD9854构成信号
    发表于 05-16 15:50 4444次阅读
    基于<b class='flag-5'>AD9854</b>产生MSK调制<b class='flag-5'>信号</b>详细说明

    16位单片机对AD9854控制的探讨

    本文首先介绍了AD9854的优势和特点,其次介绍了AD9854高精度频率信号发生器电路图,最后详细介绍了16位单片机对
    的头像 发表于 05-16 16:16 6161次阅读
    16位单片机对<b class='flag-5'>AD9854</b>控制的探讨

    STM32AD9854 DDS模块调试总结

    本文首先介绍了DDS的基本原理和特点,其次介绍了DDS芯片AD9854的概念,最后详细介绍了STM32AD9854 DDS模块调试经验总结。
    发表于 05-16 16:43 1.7w次阅读
    <b class='flag-5'>STM32</b>的<b class='flag-5'>AD9854</b> DDS模块调试总结

    ad9854应用电路图大全(五款ad9854信号发生/频率发生器/正交信号电路

    本文介绍了五款ad9854的应用电路图。其中包括了ad9854信号发生电路
    发表于 05-16 17:33 8530次阅读
    <b class='flag-5'>ad9854</b>应用<b class='flag-5'>电路</b>图大全(五款<b class='flag-5'>ad9854</b><b class='flag-5'>信号</b><b class='flag-5'>发生</b>/频率<b class='flag-5'>发生器</b>/正交<b class='flag-5'>信号</b>源<b class='flag-5'>电路</b>)

    ad9854单片机程序详细说明(ad9854结构框图及电路

    本文首先介绍了ad9854的结构框图及特点,其次介绍了ad9854的两个应用电路图,最后介绍了ad9854单片机程序详情。
    的头像 发表于 05-17 08:32 2.1w次阅读
    <b class='flag-5'>ad9854</b>单片机<b class='flag-5'>程序</b>详细说明(<b class='flag-5'>ad9854</b>结构框图及<b class='flag-5'>电路</b>)

    基于FPGA控制AD9854产生正弦波

    本文首先介绍了ad9854的工作原理,其次介绍了两款AD9854应用电路图,最后介绍了基于FPGA控制AD9854产生正弦波。
    发表于 05-17 09:53 6273次阅读
    基于FPGA控制<b class='flag-5'>AD9854</b>产生正弦波