ad9854asq是什么( 三 )


扩展资料
锁相环有如下优点:
⑴ 频率分辨率高,输出频点多,可达N个频点(N为相位累加器位数);
⑵频率切换速度快,可达us量级;
⑶ 频率切换时相位连续;
⑷ 可以输出宽带正交信号;
⑸ 输出相位噪声低,对参考频率源的相位噪声有改善作用;
⑹可以产生任意波形;
⑺ 全数字化实现,便于集成,体积小,重量轻,因此八十年代以来各国都在研制和发展各自的DDS产品,如美国QUALCOMM公司的Q2334,Q2220;STANFORD公司的STEL-1175,STEL-1180;AD公司的AD7008,AD9850,AD9854等 。这些DDS芯片的时钟频率从几十兆赫兹到几百兆赫兹不等,芯片从一般功能到集成有D/A转换器和正交调制器 。
锁相环的简介锁相环是指一种电路或者模块,它用于在通信的接收机中,其作用是对接收到的信号进行处理,并从其中提取某个时钟的相位信息 。或者说,对于接收到的信号,仿制一个时钟信号,使得这两个信号从某种角度来看是同步的(或者说,相干的) 。由于锁定情形下(即完成捕捉后),该仿制的时钟信号相对于接收到的信号中的时钟信号具有一定的相差,所以很形象地称其为锁相器 。
锁相环由鉴相器、环路滤波器和压控振荡器组成 。鉴相器用来鉴别输入信号Ui与输出信号Uo之间的相位差,并输出误差电压Ud 。Ud 中的噪声和干扰成分被低通性质的环路滤波器滤除,形成压控振荡器(VCO)的控制电压Uc 。Uc作用于压控振荡器的结果是把它的输出振荡频率fo拉向环路输入信号频率fi ,当二者相等时,环路被锁定 ,称为入锁 。维持锁定的直流控制电压由鉴相器提供,因此鉴相器的两个输入信号间留有一定的相位差 。
PLL:phase Locked Loop 相同步回路,锁相回路,用来统一整合时脉讯号,使内存能正确的存取资料 。
直接数字频率合成(DDS—Digital Direct Frequency Synthesis)技术是一种新的频率合成方法,是频率合成技术的一次革命,JOSEPH TIERNEY等3人于1971年提出了直接数字频率合成的思想,但由于受当时微电子技术和数字信号处理技术的限制,DDS技术没有受到足够重视,随着电子工程领域的实际需要以及数字集成电路和微电子技术的发展,DDS技术日益显露出它的优越性 。
DDS是一种全数字化的频率合成器,由相位累加器、波形ROM、D/A转换器和低通滤波器构成 。时钟频率给定后,输出信号的频率取决于频率控制器,频率分辨率取决于累加器位数,相位分辨率取决于ROM的地址线位数,幅度量化噪声取决于ROM的数据位字长和D/A转换器位数 。
DDS有如下优点:
⑴ 频率分辨率高,输出频点多,可达N个频点(N为相位累加器位数);
⑵频率切换速度快,可达us量级;
⑶ 频率切换时相位连续;
⑷ 可以输出宽带正交信号;
⑸ 输出相位噪声低,对参考频率源的相位噪声有改善作用;
⑹可以产生任意波形;
⑺ 全数字化实现,便于集成,体积小,重量轻,因此八十年代以来各国都在研制和发展各自的DDS产品,如美国QUALCOMM公司的Q2334,Q2220;STANFORD公司的STEL-1175,STEL-1180;AD公司的AD7008,AD9850,AD9854等 。这些DDS芯片的时钟频率从几十兆赫兹到几百兆赫兹不等,芯片从一般功能到集成有D/A转换器和正交调制器 。
PLL:Phase Locked Logic 相同步逻辑
锁相环的用途是在收、发通信双方建立载波同步或位同步 。因为它的工作过程是一个自动频率(相位)调整的闭合环路,所以叫环 。锁相环分模拟锁相环和数字锁相环两种 。
基于STM32和DDS芯片实现的正交信号发生器使用的ad9854 行么
#include "ad9854.h"
unsigned char table9854[8];
void delay(uint32_t t)
{
unsigned int i=0;
while(t--)
for(i=0;i<=1000;i++);
}
void Port_IO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStruct ;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP ;
GPIO_InitStruct.GPIO_Pin = MASTER_RESET_PORT | IO_UPDATE_PORT | FBH_PORT | RD_PORT | WR_PORT | SHAPED_LEYING_PORT ;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz ;
RCC_APB2PeriphClockCmd (RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOC, ENABLE );
GPIO_Init (CTRL_PORT, &GPIO_InitStruct);
GPIO_InitStruct.GPIO_Pin = ADDRESS_PORT | DATA_PORT ;
GPIO_Init (DAD_PORT, &GPIO_InitStruct);
}
void send_byte(unsigned char add,unsigned char data)
{
WR(1);
delay(2);
ADDRESS(add);
delay(2);
WR(0);
delay(2);
DATA(data);
delay(2);
WR(1);
delay(2);
delay(20);
IO_UPDATE(0);
delay(20);
IO_UPDATE(1);
delay(20);
IO_UPDATE(0);
delay(20);
}
void ad9854_ftw1 (uint64_t f)
{
send_byte(FTW1_6,(((uint64_t)(f*256)/100000000))&(0