基于AD9910的高频多模式信号发生器的设计

2012-06-25 07:03谭秋林崔永俊李锦明
电视技术 2012年9期
关键词:管脚寄存器时钟

李 俊,谭秋林,崔永俊,李锦明

(1.中北大学电子测试技术国家重点实验室,山西 太原 030051;2.中北大学仪器科学与动态测试教育部重点实验室,山西 太原 030051)

传统的信号发生器由于通常采用模拟元件或FPGA来实现,往往出现波形不稳定、调制频率低等缺点。在信号发生器中采用 DDS(Direct Digital Synthesizer)[1-3]芯片可以克服这些缺点,同时可以满足系统实时可编程的要求,提高技术指标,在最大程度上实现系统的开放性、数字化、标准化和可编程化。因此本文提出一种高频多模式信号发生器方案,利用低功耗单片机MSP430F149作为控制器[4],应用高性能 DDS 芯片 AD9910[5]作为信号发生器。AD9910可以产生频率高达400 MHz的信号,还可以进行最高8级的FSK(Frequency Shift Keying)和PSK(Phase Shift Keying)调制。由于其具有波形稳定、能进行高频多模式信号输出、硬件电路简单等优点,可以广泛应用于军事、航天、通信等领域。

1 DDS工作原理

DDS实际上是一种分频器:通过编程频率控制字来分频系统时钟以产生所需要的频率。DDS的突出优点是跳频速率高和频率分辨力高,跳频速率高是因为DDS工作在数字域,只要更新频率控制字,输出的频率就相应改变;频率分辨力高是由于频率控制字的宽度宽,AD9910的频率控制字为32位,能提供0.23 Hz的调频分辨力。

DDS主要由相位累加器、相位幅度转换、数模转换器(DAC)构成,图1是DDS的内部结构图。

图1 DDS内部结构图

DDS利用了正弦波相位线性增加这一特点来产生信号。如图2,根据DDS的频率控制字的位数N,把360°平均分成了2N等份。

在图2所示相位累加器中,选择恰当的频率控制字M,相位就以每次M×(360°/2N)进行累加,2N/M次后完成一次周期,需要时间为(2N/M)×Fc,因此就能得到所需要的输出频率Fout

图2 相位累加器原理

式中:Fc为系统时钟;N为频率控制字的位数。

在相位累加器中得到的相位信息通过相位幅度转换器转换为相应的幅度值,相位到幅度的转换通过查表完成。

数模转换器将代表幅度的二进制数字信号转换成为模拟信号输出。

2 系统整体设计

整个系统主要由MSP430F149单片机系统、AD9910芯片电路、时钟电路、电源电路等构成,如图3所示。

系统采用MSP430f149作为控制单片机,单片机通过SPI接口对AD9910芯片进行控制,还可以控制外部供电电源进行供电,时钟电路向AD9910提供准确的时钟,系统经过放大滤波后输出频谱纯净的信号。

图3 系统整体结构图

3 系统硬件电路设计

AD9910是一款完整的直接数字频率合成器,能够产生频率分辨力高、快速跳频、快速稳定自动扫频的信号。芯片采用1 GHz基准时钟,根据抽样定理其输出频率的理论值可达到500 MHz,但在实际应用中,其输出频率不应大于系统时钟的40%,即400 MHz。用户可以访问频率、相位、振幅3个用于控制DDS的信号控制参数,极大提高了进行各种信号调制的功能。AD9910是通过串行I/O端口进行内部寄存器配置的,支持单频调制模式、RAM调制模式、数字斜坡调制模式和并行数据端口调制模式。AD9910的硬件连接图如图4所示。

图4 AD9910硬件连接图(软件截图)

3.1 系统电源设计

整个系统利用5 V供电,单片机需要3.3 V电源,AD9910 需要4 组电源:3.3 V 数字、3.3 V 模拟、1.8 V 数字和1.8 V模拟。在设计电路时要注意电源的要求,以提高系统的稳定性。用XC6209B332芯片进行5 V变3.3 V的电压变换,利用TPS73718芯片进行5 V转1.8 V。

利用单片机的一个管脚作为AD9910芯片电源的选通管脚,当单片机选通电源芯片时,才给AD9910上电,这样可以降低功耗,电源之间应利用磁珠隔离。

3.2 单片机控制接口电路

AD9910的串行端口可与多种微处理器和微控制器连接,单片机可以很容易控制它,实现对AD9910内部寄存器的读写功能。单片机与AD9910的接口见图5。

图5 单片机与AD9910接口图

MASTER_RESET用来给AD9910复位,所有存储元件清零,寄存器设置为默认值;I/O_RESET可为单片机与AD9910通信出现故障时实现对I/O复位;I/O_UPDATE用于将串行I/O缓冲器中的数据传输到器件的有效寄存器中,因为只存在缓冲器中的数据是无效的,所以在单片机利用串行口对AD9910内部寄存器编程时,要利用此管脚进行更新,这样才能完成配置寄存器过程,使寄存器配置正确,此管脚上升沿有效;CS,SCLK,SDIO为AD9910的串行I/O端口,其中CS为片选信号,SCLK为串行时钟,SDIO为串行数据输入/输出引脚,单片机通过串行端口配置AD9910的内部寄存器,控制AD9910信号输出;PROFILE0,PROFILE1,PROFILE2为 PROFILE 选择引脚,通过选择这3个引脚的高低电平选择8个PROFILE,但是PROFILE引脚的选择必须满足SYNC_CLK上升沿的建立和保持时间的要求。串行端口写入时序如图6所示。

图6 串口写入时序图

3.3 时钟电路

AD9910的时钟可以由差分或单端信号源提供,也可以直接由无源晶振提供。通过设置控制寄存器3的相关控制位可以利用内部锁相环产生远远大于参考时钟的系统时钟。因此在本电路中可以采用25 MHz的无源晶振给AD9910提供时钟。在利用外部时钟的时候要注意将XTAL_SEL 引脚接1.8 V。

4 软件设计

单片机是整个系统的控制核心,软件的设计主要是单片机对AD9910寄存器的配置、电源管理等功能。AD9910串行I/O端口寄存器共有24个,但是其中有2个寄存器未使用,所以只有22个可用寄存器,寄存器分配到的字节数不同,其字节容量取决于特定的功能要求。

以采用AD9910产生PSK信号为例。采用AD9910的RAM调制模式,信号控制参数存放在RAM寄存器中,用户可通过和其他控制寄存器配合使用来进行信号调制。在RAM调制方式中,通过控制CFR1的31位及CFR2的4与19位来控制选择工作模式。在配置RAM Profile寄存器时,可选择RAM的工作模式设置RAM波形的起始和结束地址与扫描速率。其中在直接转换模式中有可实现BPSK零交越调制[6]的功能位。通过外部3个PROFILE管脚可选择需要输出的RAM寄存器波形。

AD9910包含一个1024×32 bit的RAM。RAM有两种基本工作模式:数据加载/读取模式和播放模式。当RAM数据通过串行I/O端口加载或读取时,数据加载/读取模式有效;当RAM将内容发送至某一个内部数据目的参数时,播放模式有效。根据具体播放模式,可将RAM最多分成8个独立的时域波形,最高可进行8级PSK调制,本例进行BPSK调制。这些波形驱动DDS信号控制参数,支持频率、相位、振幅或极性调制信号。在控制寄存器1(CFR1)中设置RAM使能位可使能RAM操作。寄存器配置需I/O更新。图7为系统软件流程图。

图7 系统软件流程图

系统上电后,首先单片机对AD9910进行初始化,然后对AD9910供电,MSP430控制AD9910的复位引脚对AD9910进行复位,这样可以清除AD9910内部的存储单元。AD9910复位后,单片机配置AD9910的控制寄存器1、控制寄存器2、控制寄存器3,特别是向AD9910的控制寄存器1的RAM使能位写入高电平,使RAM模式使能,单片机对寄存器的配置是通过串行端口进行的。单片机有相应的引脚与AD9910的PROFILE选择引脚连接,通过相应引脚选择需要进行操作的PROFILE,如要选择PROFILE0,就要将对应AD9910的PROFILE0,1,2管脚选择为000,选择一个PROFILE以后,单片机配置PROFILE的地址步进率、波形结束地址、波形起始地址,并选择RAM直接转换模式。在进行PROFILE写入时要注意起始地址和结束地址的正确写入。本文中进行了BPSK信号的调制,只需要用到两个RAM PROFILE寄存器,在一个PROFILE写完后,利用管脚选择另一个PROFILE,继续配置RAM。在写寄存器的过程中,每写完一个寄存器就要进行I/O更新。

在所需PROFILE写完后,接下来就可以将需要的相位控制字写入RAM,通过外部的PROFILE管脚选择相应的RAM寄存器,把相位控制字写入0x16地址,在内部状态机的控制下,就可以将控制字写入DDS。AD9910的相对相位是通过16位的相位偏移字(POW)来控制的,相对相位偏移(单位为弧度)可由下式计算得出

对于任意给定的Δθ,则可利用式(2)求出POW。在BPSK调制中,相位改变180°,所以向RAM中分别写入0x00和0x80。

在写RAM时对时序有严格的要求,至SCLK最短数据建立时间不能低于5 ns,同时要注意写RAM的时序和串口编程的时序区别,在写RAM的时候不能对I/O端口进行操作,否则就会破坏数据的写入。

最后将需要产生波形的频率写入FTW(0x07)寄存器中。AD9910的输出频率由DDS频率控制输入的控制字(FTW)决定,计算公式为

式中:fSYSCLK是AD9910的系统时钟,FTW是介于0~231-1之间的32 bit整数,通过这个关系式可以很容易地计算出给定频率的频率控制字。但需要注意的是如果FTW大于231,所输出的波形会产生混叠镜像。

在写完AD9910所有的寄存器后,单片机回读寄存器的内容,判断是否正确输入,如果寄存器没有正确配置,则需要单片机复位AD9910并进行重新的配置。如果正确输入,单片机根据需要调制的数字信号来选择外部PROFILE管脚进而选择相应RAM PROFILE的波形输出。

本例产生的BPSK信号如图8所示。

图8 BPSK输出波形图

本系统还可以进行不同频率的输出和进行FSK调制,输出波形如图9所示。

图9 各频率正弦输出和2级FSK输出波形图

5 结论

经过实际试验验证,利用高性能DDS芯片AD9910可以在高达400 MHz的频率下生成频率捷变正弦波形,电路具有操作方便、结构简单、功耗低等诸多优点。本文主要进行了RAM模式下相位键控调制软件的介绍,还可以进行高精度高频信号输出与多级PSK和FSK信号输出。经过实际验证,本文所设计的电路可以满足通信系统中对信号发生器的要求,具有较高的应用价值。

[1]熊慎伟.基于DDS的宽带雷达信号产生系统[J].电子工程信息,2005(1):35-37.

[2]陈雷,汪立森,潘明海.基于DDS的低截获概率雷达信号设计实现[C]//中国通信学会青年工作委员会.2008通信理论与技术新发展——第十三届全国青年通信学术会议论文集.北京:国防工业出版社,2008:112-1115.

[3]黄智伟.锁相环与频率合成器电路设计[M].西安电子科技大学出版社,2008.

[4]原玢,李燕杰,祖静,等.多功能便携式信号发生器设计[J].电视技术,2011,35(15):138-140.

[5]Analog Devices Inc.AD9910 datasheet[EB/OL].[2011-09-09].http://www.analog.com/static/imported-files/data_sheets/AD9910.pdf.

[6]温强,张汉润,赖志昌.无相位模糊的BPSK数字调制与解调[J].哈尔滨工程大学学报,1998,19(2):82-86.

猜你喜欢
管脚寄存器时钟
STM32和51单片机寄存器映射原理异同分析
别样的“时钟”
古代的时钟
Lite寄存器模型的设计与实现
有趣的时钟
基于图像处理的异型电子元器件管脚偏移误差检测方法研究
CMOS数字IC管脚电容的估算与测量
时钟会开“花”
HC08芯片JVT测试方法的探究
高速数模转换器AD9779/AD9788的应用