采用AD9833 DDS芯片实现水声遥控信号的合成
引言
本文引用地址://m.amcfsurvey.com/article/81661.htm水声信号发射器是水声通信技术中的重要部分,它的性能直接影响到水声通信质量。而作为水声信号发射器的信号产生单元,更是整个通信系统信源的核心部件。早期的信号产生单元都是使用数字电路和模拟电路等分立元件搭建而成,在体积、效率和信号质量都难以满足便携式设备的要求。由于水声信号频率不高,后来开始使用单片机控制DAC技术的水声信号发生器,可以达到较好的效果。但是CPU在逐点控制DAC输出时要占用大量机时,影响了设备的显示和操作功能的进一步扩展。而伴随着水声通信领域的发展,对水声信号的调制、发送的要求也越来越高,因此,单独由单片机DAC作为信号源的方案越来越不能满足现代水声通信的需求,尤其是对比较复杂的相位调制,精度、分辨率和稳定度不高。
直接数字频率合成(DDS) 是目前广为应用的一项频率合成技术,它具有频率转换时间短、频率分辨率高、输出相位连续和使用灵活等特点。AD9833是ADI 公司生产的一款低功耗DDS可编程波形发生器,该芯片无需外接元件,输出信号的频率和相位都可通过软件编程控制。该芯片内部有28 位的频率寄存器,主频时钟为25 MHz 时,精度为0.1 Hz,除了产生正弦波、三角波、方波之外还可产生各种调制信号,其最大功耗仅为20mW。这些性能非常适合用来作为水声信号发射器的信号产生单元,可以满足现代水声通信对信号建立时间、输出频率的精确度、分辨率及稳定度的要求。
本文给出的是用于海缆水声遥控浮标定位系统的信号产生电路,由于采用DDS技术,整个电路软硬件结构十分简单。
DDS芯片AD9833工作原理
AD9833中使用的DDS 技术是从连续信号的相位出发,将一个正弦信号取样、量化、编码,形成一个正弦函数表储存在ROM 中。合成时改变相位增量,由于相位增量不同,一个周期内的取样点数也不同,这样产生的正弦信号频率也就不同,从而达到频率合成的效果。
DDS工作原理框图如图1所示。DDS 基本工作原理是:每产生一个时钟脉冲,相位累加器就将累加器输出的累积相位与预置的相位增量相加;然后以相加后的结果作为地址,对波形ROM 进行寻址,取出波形ROM 中与该相位对应单元中的幅度量化编码值,经D/ A 转换器将其转换为模拟取样值,再经低通滤波器平滑得到符合要求的模拟信号。
设参考时钟频率为fc,相位累加器的字长为N,则DDS 输出频率为:
式中:K 是由外部控制电路来预置的。 当时钟频率fc与相位累加器位数N一定时,输出频率f0仅仅取决于K 。K为频率控制字:
当K=1时,DDS 所能产生的正弦信号的最低频率即频率分辨率为:
DDS 的最大输出频率由Nyquist 采样定理决定,即为fc/2。AD9833的频率控制字是28位,所以当采用25MHz作为参考时钟时,理论上最大输出频率为12.5MHz (实际输出大概是参考时钟的40%),输出频率的频率分辨率约为0.05Hz;当采用1MHz作为参考时钟时,最大输出频率为0.5MHz,输出的频率分辨率约为0.004Hz。根据不同输出范围和精度要求,可选用不同的参考时钟来实现。AD9833采用10个管脚的MSOP封装结构,其管脚结构示意图如图2 所示。
MCLK(5脚)为外部参考频率信号的输入端,SDATA(6脚)、SCLK(7脚)、FSYNC(8脚)组成AD9833的标准三线串行接口,可以与SPI、QSPI、MICROWIRE或DSP芯片直接连接。16位串行数据字由6脚输入,在7脚的下降沿被读入AD9833,8脚为频率更新控制信号,可以用作片选信号,当8脚保持低电平时新的控制字写入AD9833中,在8脚的上升沿可以从Vout(10脚)输出模拟或数字信号,且输出端内部自带200Ω的片上集成电阻。其中三线串行接口操作时序图如图3所示。
水声遥控信号的结构
本研究中的水声信号的结构比较简单,很容易采用DDS芯片来实现。对于复杂的调制信号,通过ARM7处理器LPC2148编程控制AD9833,硬件上也无须变动。
水声信号在水中的传播速度为1200米/秒左右,在遥控的距离内信号的传输时间长达数秒钟。为保证工作的可靠性,在满足使用要求的前提下信号的传输码率设计的很低。水声发射器发射的遥控信号采用非相干调制中的MFSK方式,其时序波形如图4所示。遥控信号的“0”和“1”代码分别用频率为f 1和f 2的有限长度正弦信号表示。本系统中f 1和f 2频率分别为8.35KHz和8.45KHz,为防止多个用户之间相互串扰,除了遥控地址的编码不同外,工作频率可在7KHz至11KHz范围内选择。信号的每个码元发送时间为T1=1秒,码元间隔为T2=2秒,每组编码9位,前八位是数据位,第九位是校验位,码组间隔为4秒。
信号产生单元硬件电路
本文介绍的遥控信号发射器用于一种便携式的海上施工遥控系统,功率和体积较小,结构框图如图5所示。它是由微控制器、信号产生单元、水声功率放大器、电池充电电路和水声换能器等组成。操作者可以通过手持机上的按键和液晶显示器设置相应的发射编码信号。
系统采用的微控制器是NXP(恩智浦)公司的ARM7处理器LPC2148,LPC2148是基于一个支持实时仿真和嵌入式跟踪的32/16位ARM7TDMI-S内核的微控制器,带有40kB的片内静态RAM和512kB的片内Flash存储器,128位宽的存储器接口和独特的加速结构可实现高达60MHz工作频率,包括多个串行接口:1个USB、2个UART、2个高速I2C总线、SPI和SSP,小型的LQFP64封装上包含多达45个可承受5V的通用I/O口。
本设计中利用LPC2148的SPI接口来控制AD9833,由于SPI操作由LPC2148的硬件接口来完成,大大减轻了主控制器的负担,以便有更多时间处理其他的任务。由于CPU另有足够的时间去完成其他操作和人机交互,使整个遥控发射器的功能十分完善。
LPC2148与AD9833的硬件连接如图6所示。图中外接有源晶体振荡器给AD9833提供主时钟,LPC2148的SPI0工作在主方式,其中引脚P0.6/MOSI0口与SDATA相连,用来给AD9833发送数据;P0.4/SCK0口与SCLK相连,提供数据传送时钟;P0.7/SSEL0与FSYNC相连,作为AD9833选通信号。
由于AD9833输出的Vout信号的最大幅值只有0.6V左右,并且为了实现输出功率可控,需要经过一级前置放大才能送入水声功率放大器中,因此在实际应用中,信号产生单元电路还需要包括信号调节和放大部分,如图7所示。
信号调节使用的是数字电位器X9511,AD9833的输出Vout接到X9511的一端VH,通过LPC2148的P0.2和P0.3输出脉冲可以软件控制中间抽头的位置,进而实现面板按键调节输出的目的。信号经过X9511调节后送入低功耗放大器TLE2062中,经过一级放大和电压跟随后,可以明显增强AD9833输出信号驱动能力。
软件程序
本项目的水声发射器发射的遥控信号采用MFSK方式,利用AD9833产生频率可调的正弦波作为水声遥控信号,不同的频率代表不同的编码信息,AD9833的主要任务就是完成正弦波形的迅速建立和频率的快速切换,可以通过软件设置不同的频率控制字来达到切换频率的目的。对于频率控制字,ADI公司提供了一个在线的交互式设计工具,即AD9833配置助手,在PC机浏览器上的显示如图8所示。
通过AD9833配置助手可以设置参考时钟,期望得到的频率或者相位,以及产生的波形种类,最后点击Update,就可以得到对应于期望频率的控制字,非常简单方便。在软件程序中,只要定时通过SPI向AD9833写入不同的频率控制字,就可以控制编码遥控信号的输出。在编程中需要注意的是,由于AD9833的频率控制字是16位的,因此对于SPI的写操作来说,需要分两次完成,还要注意AD9833的数据位的写入顺序,因为其数据格式是高位在前,低位在后。
结语
在本设计中,AD9833的参考时钟是3.579545MHz,能够精确和稳定的输出0Hz、8.35KHz、8.45KHz等信号,而且还可以实现快速的切换或调制,该信号发生器已经成功应用到了海缆水声遥控浮标定位系统中。由于AD9833实现的信号产生电路除了产生的波形精确稳定、波形建立时间短外,还有功耗低、所用元件少、体积小、控制简单等优点,非常适合应用于各种通信、测量和其他时域响应系统等领域。
参考文献:
1. 王铁流等, HL-100海缆水声遥控浮标定位系统的研制, 首届全国海底光缆通信技术研讨会论文集, 2006.11
2. 周立功等,深入浅出ARM7——LPC213X/214X(上下册) ,北京:北京航空航天大学出版社,2005年
3. AD9833_a datasheet,ADI,2003
评论