直接数字波形合成中存储结构改进方法

2014-09-29 10:32朱文戈叶凌云
计算机工程 2014年7期
关键词:点数波形重构

朱文戈,叶凌云

(浙江大学生物医学工程与仪器科学学院,杭州 310027)

1 概述

直接数字波形合成(Direct Digital Waveform Synthesizer,DDWS)采用逐点输出波形数据,不存在相位截断误差,可以最大程度保证信号的细节不遗漏[1]。因此,它广泛应用于任意波形发生器(Arbitrary Wave Generator,AWG),特别适合产生复杂且不规则的波形[2]。然而,DDWS的采样时钟频率受时序控制器的限制,高速采样的实现方式是基于波形查找表的并行存储技术[3]。

在高速采样系统的并行存储结构中,对n通道波形查找表进行预取样后,再经过并串转换器把并行的预取样数转换成串行数据流[4]。通过这种方式,波形查找表的采样频率可以降至原来的1/n[5]。但波形查找表必须与通道数对应,因而被n次复制,速度性能的提升以增加存储空间为代价[6]。传统的并行存储结构虽然能够克服速度性能与存储空间之间的矛盾[7],但对周期采样数必须是并行通道数的整数倍,限制了DDWS的信号输出精度。针对上述问题,本文着眼于数据输出序列规律,提出一种DDWS并行存储改进方法。

2 并行存储结构的改进

2.1 传统的并行存储结构

不失一般性,本文以四路并行存储为例对改进方法进行详细研究。设四路波形查找表中的数据总数均为m,即周期采样点数为m。根据预取样的性质,通道地址累加步进值由单通道时的1变为4[8]。针对采样点数的2种情况,系统在2个周期内的输出序列如图1所示。

图1 两周期波形序列输出示意图

每个通道在一个周期内的采样点数p为:

如果周期采样数m不是4的倍数(图1(a)),每个通道遍历到的采样点会随周期而变。例如,通道A在第1个周期内遍历的采样点序号为:1,5,…,m–2,而在第2个周期内遍历的序号为:2,6,…,m–1。如果周期采样数m是4的倍数(图1(b)),每个通道只遍历固定采样点。例如,通道A遍历的采样点序号为:1,5,…,m–3。根据这个性质,每个通道波形数据的空间可以缩减至原先的1/4,即n个采样点,每个通道的地址发生器相同,即在1~n之间循环计数,累加步进值为1。采用这种方法,在不增加存储空间的情况下实现高速输出,克服了速度性能与存储空间之间的矛盾[9]。四通道存储地址详细分配如表1所示。

表1 4通道存储地址分配

由上述方法可知,传统存储结构输出波形精度为4T,T为采样时钟周期。例如,当采样频率为1 GHz时,四通道的输出波形精度为4 ns。如果需要输出周期为62 ns的波形信号,由于精度的限制,波形发生器只能输出周期为60 ns的信号,如图2所示。其中,图2(b)的采样频率为1 GHz,采样点个数为60;图2(c)的采样频率为4 GHz,采样点个数为248。从图中可以看出,输出波形不但周期不准确,而且在周期间出现不连续特性。如果需要准确输出波形就必须把采样频率提高至原来的4倍,即4 GHz,采样点数也相应提高至原来的4倍,对硬件资源提出了很高的要求。

图2 传统方法的输出波形

2.2 改进的并行存储结构

针对上述问题,需要对传统并行存储结构进行改进,添加额外寄存器用于放置余数序号的数据。假设当余数是1时(m=4n+1),余数序号为4n+1,在第一个周期输出4n点后,下一组输出帧为(4n+1,1,2,3)。从通道A,B,C中分别取地址1,2,3,通道D不取,而从额外寄存器中取地址4n+1代替。依次类推,以4个周期为一个循环,输出序列如图3所示。

图3 4周期输出序列(m=4n+1)

在图3中,每个虚线框表示输出的4个并行数据。从图中可以看出,当输出每个周期的末帧时,额外地址4n+1中的数据会替代一个通道的数据。这时,没有输出数据的通道的访问地址保持不变,因此,必须分别控制每个通道的地址发生器,自适应地选择输出的并行数据。

其次,4个并行数据在输出时的顺序会随着周期而变化。例如第1周期输出的第一帧为(1,2,3,4),对应的通道顺序是(A,B,C,D),而第2周期输出的第一帧为(4,5,6,7),对应的通道顺序变为(D,A,B,C)。因此,需要有一个并行重构控制器调整并行输出的顺序,自适应地对输出的并行数据进行排序。具体结构如图4所示。从图4可以看出,并行重构器除了把4路并行数据的输出顺序调整外,当遇到特殊帧时,还需要插入余数数据(虚线表示)。这样会增加并行重构器的复杂度。

图4 改进的DDWS并行存储结构

为了降低重构器控制复杂度,将余数数据搬移至各通道波形查找表中,详细分配如表2所示。由于改进方法对周期采样数没有限制,输出信号的精度由原来的4T提高为T,克服了传统方法需要提高采样频率才能实现的缺点。

表2 四通道存储地址优化分配

3 改进并行存储结构的实现

3.1 地址发生器

地址发生器在功能上是循环累加器,但累加的步进值会根据不同帧而变化。设每个周期的采样点数为m,则存储器输出周期循环帧数K的表达式为:

其中,4为并行通道数。第1种情况时,4路地址发生器在1~K循环,累加步进值为1。其他3种情况时,4路地址发生器的累加步进值随着帧的不同而改变。图5为m=4n+1时K帧输出序列图。从图5可知,当帧数k为n,2n和3n时,通道A跳过地址4n+1(用虚线表示);当帧数k为n,2n和4n+1时,通道B跳过地址4n+1。其他通道也有类似规律。在设计相应的计数器时,在特定帧时,累加步进值为2;在其他帧时,累加步进值为1,这样就能方便实现上述时序。余数为其他值时,也有类似的性质。通过枚举法,可以得到在各种余数的情况下各个通道累加步进值,如表3所示。

图5 K帧输出序列图(m=4n+1)

表3 通道累加步进值归纳

3.2 并行重构器

从图5可知,尽管输出的并行数据和图3一致,但是输出的顺序却不同。排列顺序会随着k值而变化。因此,需要并行重构器对并行数据进行重新排列。为了符合时序收敛要求,并行重构器基于组合逻辑和触发器级联的流水线结构而实现,并行重构器映射如表4所示。

表4 并行重构器映射

4 仿真验证

针对上述存储结构改进方法,本文基于Xilinx的集成开发环境ISE12.3对其进行综合后仿真验证[10]。为了验证改进前后的效果,采样频率设置为1 GHz,输出波形的周期设置为66 ns。为了方便观察序列输出效果,波形周期数据为三角波,图6为详细综合后仿真。图中clk_in为数据输出采样时钟,即1 GHz,clk/4是clk四分频后并行取样时钟[11]。图6(a)为采用传统方法输出的波形,每个通道周期遍历固定的16个点,由传统方法特点可知输出的波形周期只能是64 ns,导致最后2 ns的数据遗漏,周期信号不连续。图6(b)为采用改进方法输出的波形,通过观察4个通道遍历的数据值,每个通道遍历了17个点,并且每个周期遍历的数不完全相同。通过观察4个通道重构前后的输出数据,并行数据的排列顺序得到复原。

图6 输出序列综合后仿真图

重构前和重构后的数据差一个时钟节拍,符合流水线的设计。重构后的并行数据经过并串转换后,输出对应的三角波[12]。由于改进方法的波形精度为1 ns,因此能输出66 ns的完整波形。通过综合后仿真测试,改进方法克服了传统存储结构的缺点,验证了改进方法的有效性。

本文改进方法中的改进地址发生器和并行重构器需要额外的逻辑资源开销。对不同周期采样点数和通道数进行综合后仿真测试,比较改进前后的占用资源大小,如图7所示。从图7(a)~图7(c)中可以看出,在通道数为定值时,改进后寄存器的资源开销增加87~201;查找表的资源开销增加189~481。对于当前FPGA上百万门的总逻辑资源,开销增量均不到1%。另一方面,资源开销增量会随着周期采样点数的增加而增加,但是增加幅度并不大;比较周期采样点为600~12000的两者资源可以看到,虽然周期采样点增加一个数量级,但是资源开销增量相差约为100。因此,此改进方法在硬件资源上具有显著优势。

另外,从图7(d)~图7(f)可知,逻辑资源开销会随着通道数的增加而增加,通道数的增加能够输出更高速的波形,符合速度和面积互换原则。上述资源的分析,验证了改进方法的可行性。

图7 改进前与改进后占用资源对比

5 结束语

目前,任意波形合成的信号发生器在国内的研究仍处于起步阶段,有待进一步发展。本文提出的改进方法借鉴传统并行存储结构的思路,在并串转换器和波形查找表之间插入一级并行重构器,使之能够根据周期采样点数自适应地调节输出的数据和顺序,从而克服了传统并行结构中周期采样点数的限制,提高了信号输出精度。经FPGA综合后的仿真测试验证,本文方法达到了预期的要求;对比几种通道数和周期采样点数,可以得出逻辑资源开销并不大,在硬件资源上优势明显。本文方法虽然只对几种通道数进行研究和对比,但是该方法具有普遍性,能够应用于各种通道数和周期采样点。

[1]田 野,邵高平,谢 巍.基于DDWS的复杂波形信号发生器实现[J].信息工程大学学报,2012,13(1):54-59.

[2]万永伦,姒 强,吕幼新,等.DDWS的波形误差校正算法及实现[J].系统工程与电子技术,2006,28(2):209-211,252.

[3]Caviglia D D,De Gloria A,Donzellini G,et al.Design and Construction of an Arbitrary Waveform Generator[J].IEEE Transactions on Instrumentation and Measurement,1983,32(3):398-403.

[4]谢 迪.500MSPS AWG序列模块设计与波形发生模块改进[D].成都:电子科技大学,2009.

[5]齐 恒.高性能DDWS雷达信号发生器的设计与实现[D].杭州:浙江大学,2005.

[6]顾赵宇.基于DDWS的雷达/干扰信号源设计与实现[D].长沙:国防科学技术大学,2010.

[7]张伶俐.基于并行存储的任意波形合成模块设计[D].成都:电子科技大学,2011.

[8]刘 科.高速任意波形合成关键技术研究[D].成都:电子科技大学,2010.

[9]Turner S E,Chan R T,Feng J T.ROM-based Direct Digital Synthesizer at 24 GHz Clock Frequency in InP DHBT Technology[J].Microwave and Wireless Components Letters,2008,18(8):566-568.

[10]Corp X.Virtex-5 FPGAUser Guide[Z].2010.

[11]Corp X.Virtex-5 Libraries Guide for HDL Designs[Z].2010.

[12]黄继业,潘 松.EDA技术与VHDL[M].2版.北京:清华大学出版社,2007.

猜你喜欢
点数波形重构
长城叙事的重构
对《压力容器波形膨胀节》2018版新标准的理解及分析
北方大陆 重构未来
基于LFM波形的灵巧干扰效能分析
看不到的总点数
北京的重构与再造
画点数
论中止行为及其对中止犯的重构
基于ARM的任意波形电源设计
双丝双正弦电流脉冲波形控制