AD9854概述
AD9854数字合成器是高集成度的器件,它采用先进的DDS技术,片内整合了两路高速、高性能正交D/A转换器通过数字化编程可以输出I、Q两路合成信号。在高稳定度时钟的驱动下,AD9854将产生一高稳定的频率、相位、幅度可编程的正弦和余弦信号,作为本振用于通信,雷达等方面。AD9854的DDS核具有48位的频率分辨率(在300M系统时钟下,频率分辨率可达1uHZ)。输出17位相位截断保证了良好的无杂散动态范围指标。AD9854允许输出的信号频率高达150MHZ,而数字调制输出频率可达100MHZ。通过内部高速比较器正弦波转换为方波输出,可用作方便的时钟发生器。
ad9854优势和特点
00MHz内部时钟速率
FSK、BPSK、PSK、线性调频、AM操作
超高速比较器,均方根抖动: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程序分享
#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
+关注
关注
2274文章
10929浏览量
358004 -
AD9854
+关注
关注
12文章
50浏览量
28162
发布评论请先 登录
相关推荐
【DIY信号发生器】AD9854方案
AD9854驱动程序设计
![<b class='flag-5'>AD9854</b><b class='flag-5'>驱动程序</b>设计](https://file.elecfans.com/web2/M00/49/43/poYBAGKhwJaAe86SAABM7hXb-LY350.png)
DDS工作原理及基于AD9854的信号发生器的设计
![DDS工作原理及基于<b class='flag-5'>AD9854</b>的<b class='flag-5'>信号</b><b class='flag-5'>发生器</b>的设计](https://file.elecfans.com/web2/M00/49/5A/poYBAGKhwKWAVDhjAAAYEj87gGU495.png)
基于AD9854的信号发生器设计
ad9854中文资料汇总(ad9854引脚图及功能_内部结构及应用电路)
![<b class='flag-5'>ad9854</b>中文资料汇总(<b class='flag-5'>ad9854</b>引脚图及功能_内部结构及应用<b class='flag-5'>电路</b>)](https://file.elecfans.com/web1/M00/50/F0/pIYBAFr73ySAP1CQAAFFUoKJtf0635.jpg)
基于AD9854产生MSK调制信号详细说明
![基于<b class='flag-5'>AD9854</b>产生MSK调制<b class='flag-5'>信号</b>详细说明](https://file.elecfans.com/web1/M00/50/DC/o4YBAFr75eKAeIH3AABZPGbmfX0814.jpg)
STM32的AD9854 DDS模块调试总结
![<b class='flag-5'>STM32</b>的<b class='flag-5'>AD9854</b> DDS模块调试总结](https://file.elecfans.com/web1/M00/50/DE/o4YBAFr78luAIW2CAAAqJdh4fio687.jpg)
ad9854应用电路图大全(五款ad9854信号发生/频率发生器/正交信号源电路)
![<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>)](https://file.elecfans.com/web1/M00/50/DF/o4YBAFr7-26AYSqDAABLEZz9ER8228.jpg)
评论