基于单片机和AD9858的4频点快速跳频设计
摘要:在分析了DDS基本原理以及AD9858基本特点的基础上,介绍了AD9858的送数方式及单片机接口程序。给出了利用AD9858内部寄存器来实现跳频时间小于50ns的4频点快速跳频的具体方法。 关键词:DDS;AD9858;快速跳频 在电子系统中,常常需要应用频率合成技术来实现跳频源设计。频率合成指对一个高稳定的参考频率进行各种技术处理,以生成一系列稳定的频率输出。目前应用最广的是锁相环(PLL)频率合成技术,它是通过改变PLL中的分频比N来实现跳频的,但PLL无法避免环路锁定时间缩短与频率分辨率提高及杂散减小之间的矛盾,因此很难同时满足高速跳频和细步长、低杂散的要求。直接数字频率合成(DDS)是一种新的频率合成技术。它具有频率分辨率高、频率切换快、频率切换时相位连续等优点,因而被广泛应用于雷达跳频、通信、电子对抗等系统中。 1 DDS基本原理 DDS的原理框图如图1所示。相位累加器在A位频率控制字FCW的控制下,以参考时钟频率fc为采样率来产生待合成信号相位的数字线性序列,然后将其高P位作为地址码,通过查询正弦表ROM产生S位对应信号波形的数字序列S(n),再由数模转换器将其转化为阶梯模拟电压波形,最后由低通滤波器LPF平滑为正弦波输出。
频率控制字FCW和时钟频率fc共同决定了DDS的输出信号频率fo 。其关系是: 输出频率:f0=FCW fc/2A 频率的分辨率为:fo=fc/2A 2 AD9858的特点及送数方式 AD9858的主要特点: ● 具有1千兆次/秒的采样速率; ● 具有高达2GHz的输入时钟(通过2分频); ● 集成有10位D/A转换器; ● 内含32位可编程频率寄存器; ● 带有8位并行及SPI串行控制接口; ● 具有自动频率扫描功能; ● 内带4个频率寄存器; ● 采用3.3V低电源供电; ● 电荷泵独立供电电压可达5V; ● 集成有2GHz混频器。 由于DDS产生的频率是由频率控制字FCW控制的,改变相应频率的控制字即可获得所需频率。因此DDS的送数方法是实现DDS跳频源的关键之一。其内部结构框图如图2所示。 AD9858有并行和串行两种送数方式。数据从用户传输到DDS器件核心需要两个步骤。在写操作时,不管是用并行送数方式还是串行送数方式,用户都要首先将数据写入I/O缓冲器。只有当数据从I/O缓冲器锁入存储寄存器,DDS的核心才接收到数据。在AD9858中,触发FUD脚或者改变预编程的Profile都可以使I/O缓冲器中的数据进入DDS的核心存储寄存器。 (1)并行送数模式时,系统应激活八个双向数据口(D0~D7)、六个地址输入口(ADDR5~ADDR0)、一个读口(RD)和一个写口(WR),寄存器的选择由寄存器图提供的地址决定。读写功能由RD和WR脉冲触发控制,但这两个功能不能同时起作用。读写的数据可通过D0~D7脚传输。 图2 (2)串行送数模式包括两个阶段。第一阶段由一个8位的指令周期构成。最高位是标志位,用于确定是读操作还是写操作,低六位是串行送数目标寄存器的地址。第二阶段就是送数据给寄存器。 许多时候DDS都要求快速跳频,而频率的快速变化则要求寄存器的频率控制字快速更新,因此,通常都要求DDS选用并行送数。相对于ADI公司以往的DDS芯片而言AD9858的优势在于它具有四个频率寄存器及四个相位补偿寄存器这使得它可以方便快速的产生跳频信号以及四相码编码调制信号而且它转换时间极短。这是因为跳频的频率控制字已经送入DDS核心寄存器中的四组控制寄存器,频点之间的选择是依靠外部选择信号PS1和PS0来实现的。 3 基于AD9858的快速跳频设计 3.1 跳频电路 送数及四频点的切换通过单片机来完成。89C51单片机可在5V电压下工作,但实验证明,3.3V供电时,89C51单片机的工作也是完全正常的,采用单片机和DDS芯片AD9858设计的跳频原理图如图3。 3.2 软件程序设计 根据AD9858的时序特点,可将单片机的P1.0和P1.1分别与RD和WR相连。这样,编程时就可以对频率控制字和相位补偿字的地址列表作如下具体设置: FTW0_1 EQU 00101011B FTW0_2 EQU 00101111B FTW0_3 EQU 00110011B FTW0_4 EQU 00110111B POW0_1 EQU 00111011B POW0_2 EQU 00111111B 最低两位分别是RD和WR,初始化时将其均置为高位。三到六位才是送数的地址。一个频点的送数程序如下: MOV P3, 40H MOV P1, #FTW0_1 CLR WR_ SETB WR_ SETB FUD CLR FUD MOV P3, 40H MOV P1, #FTW0_2 CLR WR_ SETB WR_ SETB FUD CLR FUD MOV P3,40H MOV P1, #FTW0_3 CLR WR_ SETB WR_ SETB FUD CLR FUD MOV P3,
- 基于51单片机和AD9858的4频点快速跳频设计(12-29)
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)