基于直接数字频率合成的可编程遥测信号源
扫描二维码
随时随地手机看文章
摘要:针对传统的遥测信号源缺乏灵活可配置性、通用性差的问题,提出采用FPGA和DDS技术为核心设计灵活可配置的可编程遥测信号源。该信号源的硬件电路主要由低成本FPGA芯片和DDS芯片组成,采用Verilog语言进行编程,使FPGA控制核心输出不同的相位、频率、波形等控制字信息给DDS芯片,经DDS芯片后输出所需波形。仿真表明,该信号源能够输出频率范围在0~12.5 MHz的频率、相位可调的正弦波、三角波、方波等波形信号,具有一定的通用性。
关键词:遥测;信号源;DDS;FPGA
0 引言
遥测信号源的主要功能是模拟弹载遥测信息。从技术实现上,可将信号源分为模拟信号源、数字信号源和DDS信号源。其中DDS信号源是现代信号源的发展方向。DDS技术(直接数字频率合成)是近年来迅速发展起来的一种新的频率合成法,具有可编程、易于实现各种数字化调制(如PSK,FSK等高精度的数字调制),频率分辨率高、转换速度快、稳定度高,相位噪声低以及集成度高等优点。近年来,随着遥测技术的发展,遥测产品逐渐呈现出小型化、标准化、系列化等应用需求。因此,为满足应用需求,遥测信号源必须能够提供多样的被测信号类型,根据被测模块参数的变化进行实时调整,实现一一对应。而传统的遥测信号源在设计上缺乏灵活性、通用性,被测参数的多样性和实时性差,无法满足遥测产品的发展需求。针对这一点,本文提出了以FPGA(现场可编程门阵列)和DDS专用芯片为核心的可编程遥测信号源。
1 FPGA及DDS基本工作原理
一般传统的信号源都采用谐振法,即用具有频率选择性的回路来产生正弦振荡,获得所需频率。这种信号源输出波形单一,且频率稳定度和准确度较差,因此传统的信号源已经越来越不能满足现代遥测产品的测量需要。而采用DDS技术设计的遥测信号源可以满足波形多样化,频率、相位灵活可配置的要求,且频率稳定度高。
1.1 FPGA
FPGA是一种高密度的可编程逻辑器件。经过20多年的发展,FPGA的逻辑规模已经从最初的1000个可用门发展到现在的1000万个可用门,采用Verilog HDL语言进行设计,在写激励和建模方面存在很大优势。FPGA的基本组成部分有可编程输入/输出单元、基本可编程逻辑单元、嵌入式块RAM、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。FPGA器件在结构上由逻辑功能块排列为阵列,通过可编程的内部连线连接这些功能块来实现一定的逻辑功能。由于FPGA器件集成度高,开发和上市周期短,在数字设计和电子生产中得到迅速普及和应用,曾在高密度的可编程逻辑器件领域中独占鳌头。
Altera公司是目前市场上生产FPGA芯片的主要供应商之一,为用户提供了完善的开发系统和良好的售后支持服务,有着成熟的系列产品。该公司的可编程逻辑产品可以分为高密度FPGA、低成本FPGA和CPLD等三类。相对于低成本FPGA来说,高密度FPGA主要用于中高端的路由器和交换机中,价格相对偏高,CPLD虽然价格较低,但布线资源有限,无法适用于电路复杂的时序功能设计。Cyclone(飓风)系列是Altera公司推出的一款低成本FPGA,主要定位在大量且对成本敏感的设计中。Cyclone EP1C6是Altera推出的一款高性价比FPGA,工作电压为3.3 V,内核电压为1.5 V,其密度为5980个逻辑单元,包含20个128×36 b的RAM块(M4K模块),总的RAM空间达到92 160 b,内嵌2个锁相环电路和一个用于连接SDRAM的特定双数据率接口。
1.2 DDS及其芯片
DDS采用了不同于传统频率合成方法的全数字结构。它最初是在20世纪70年代由美国学者J.Tierncy等人提出的,它是继直接频率合成和间接频率合成之后,随着数字集成电路和微电子技术迅速发展起来的第三代频率合成技术。DDS是指从相位量化概念出发直接合成所需波形,有效地解决了许多模拟合成技术无法解决的问题。
DDS是建立在采样定理基础上,首先对需要产生的波形进行采样,将采样值数字化后存入存储器作为查找表,然后通过查表读取数据,再经D/A转换器转换为模拟量,将保存的波形重新合成出来。DDS基本原理框图如图1所示。
目前AD公司是主流DDS芯片市场的最大供应商,它提供的众多DDS集成芯片以其较高的性价比取得了极为广泛的应用。AD公司的DDS产品主要有AD983X,AD985X和AD995X三大系列。对于AD985X系列来说,其系列产品虽然性能较好但是功耗偏高,而AD995X系列虽然功耗较低,但其价格高于AD983X系列,AD983X系列是低价格低功耗型产品。在AD983X系列中。AD9833的最大功耗仅为20 mW。同时,AD9833还具有外围电路简单、频率和相位可编程等特点。AD9833通过3线SPI串口进行写操作,内部有5个可编程寄存器,其中包括1个16位控制寄存器,2个28位频率寄存器和2个12位相位寄存器。用户可以通过16位控制寄存器设置所需的功能。AD9833的模拟输出为fout:
fout=(fCLK/228)×FREQREG (1)
式中FREQREG为所选频率寄存器中的频率字。
信号相移为pout:
pout=(2π/4 096)×PHASEREC (2)
式中PHASEREC为所选相位寄存器中的相位字。
2 基于FPGA和DDS芯片的可编程遥测信号源
传统的遥测信号源在设计上可编程性差,在很大程度上影响了其灵活型和通用性,同时也造成了资源的严重浪费。而本方案的设计具有较强的可编程性,可以灵活配置,通用性较强,大大节约了资源成本。
该遥测信号源的硬件电路主要由低成本FPGA和DDS专用芯片构成,软件采用Verilog语言编程。对于软件部分来说,该信号源的控制接口和控制字编程是软件编程的重要部分。FPGA控制接口通过编程实现串口通信协议,预设控制字必须按照控制接口的通信协议串行输出给DDS专用芯片,DDS芯片才能接收控制字信息,并根据接收到的控制字信息输出所需的波形。
2.1 遥测信号源的硬件构成
遥测信号源主要包括以下三个组成部分。
(1)按键电路。它主要是向FPGA部分输送控制信息。一部分按键提供波形选择信息,另一部分提供需要输出波形的频率信息。
(2)系统FPGA控制核心。FPGA是系统的核心控制部分。当FPGA接收到按键信息后,发送相应的控制信息给DDS芯片。通过程序设计,FPGA芯片EP1C6T144可实现灵活配置。
(3)DDS电路。该部分主要采用AD9833芯片来搭建外围电路。根据接收到的FPGA控制信息产生所需波形信号,并将其输出。
系统总体框图如图2所示。
在该系统中,用户可通过波形选择按键输出默认频率的正弦波、三角波、方波等波形,如果在使用的过程中,需要输出不同频率的波形,则可以通过频率选择按键来实现。在FPGA控制模块中,当FPGA接收到数据或状态改变的信息后,所设置的相应的变量赋值会发生相应的改变,然后将相应的控制字输出给AD9833芯片,AD9833接收到控制字后通过直接数字频率合成,最终输出所需的波形。
2.2 遥测信号源的控制接口
DDS芯片AD9833为3线SPI接口,对于一些微处理器来说可以直接与其连接,但对于FPGA来说,必须通过对SPI协议进行编程实现。因此在FPGA控制中,对SPI进行了模块化设计,无论是相位控制字输出还是频率控制字的输出都需经过SPI模块后,根据SPI协议进行输出。FPGA控制原理框图如图3所示。
在FPGA中,首先接收到外部的按键信息,按键状态或数据模块被触发,根据该模块提供的信息,在相位、频率控制模块内,对相应的寄存器(preq0,fdreq0,fhreq0)进行赋值,完成相位及频率控制字的配置,并输入到SPI模块,通过SPI模块进行SPI协议输出给AD9833,控制输出必须满足AD9833的时序控制,时序如图4所示。
在串行时钟输入SCLK(spiclk)的控制下,SCLK为高,使能信号FSYNC(spics)为低时,SDATA(spido)输出)开始输入数据,数据以16位字的形式写入AD9833。FSYNC可以在多组16个SCLK脉冲期间保持低电平,传输连续的16位字流,等到数据传输完毕后在最后一个字的第16个SCLK下降沿变高。
2.3 遥测信号源的软件控制字
对于灵活可配置,通用性强的遥测信号源来说,其频率、波形等参数的实时变化是必不可少的。而系统要实现这些参数的实时变化,就必须将控制字进行相应的改变。如正弦波的控制字为十六进制数0008,三角波的控制字为十六进制数000A,方波的控制字十六进制数0028。
由AD9833模拟输出频率的计算公式(参考式(1))可知,如果采用20 MHz的晶振作为AD9833的主频时钟来输出10 kHz的正弦波信号,则可计算出频率字FREQREG的十六进制数为20C49,如果软件设计时选用AD9833的频率寄存器0和相位寄存器0,则加上寄存器标识后,FPGA写入AD98 33的频率字高位十六进制数为4008,低位十六进制数为4C49。在给频率寄存器写入数据前,若给控制寄存器写入十六进制数2000,则可将频率寄存器设置成完整的28位来使用,若给写入十六进制数0000,则频率寄存器可以作为两个14位寄存器来使用。相位字可根据式(2)来计算。当相位偏移为0°时,相位字PHASEREC为十六进制数D000(相位寄存器的标示为1101);相位偏移为180°时,相位字PHASEREC为十六进制数D800。
3 仿真验证
仿真是在QuartusⅡ环境下,使用其自带的仿真软件对整个工程进行功能仿真。
仿真采用20 MHz的晶振作为AD9833的主频时钟来输出相位偏移为零、频率为10 kHz的正弦波、方波、三角波,以及相位偏移为180°的5 kHz的正弦波,结果分别如图5~图8所示。
通过模拟输出频率公式可计算频率为5 kHz时,频率字FREQREG的十六进制数为10624,FPGA写入AD9833的频率字高位十六进制数为4004,低位十六进制数为4624。
4 结论
本文提出了基于FPGA和DDS芯片的遥测信号源。该信号源主要由Cyclone EP1C6和AD9833芯片来搭建硬件电路,采用Verilog语言实现编程,通过对FPGA进行控制使其输出数据给DDS芯片,最终实现所需波形的输出。仿真表明该遥测信号源能够灵活、方便地输出频率范围为0~12.5 MHz的频率、相位可调的正弦波、三角波、方波信号。此方案的参数化没计,极大方便了对所需波形数据的更改,增强了信号源的灵活性。虽然该信号源能够输出频率、相位灵活可变的正弦波、方波、三角波,但没有实现任意波形的输出。因此以后研究方向是实现对任意波形的设计,以增加信号源的灵活可配置性,进一步增强其通用性。