资源描述:
《基于FPGA的任意波形发生器的设计[1]》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、PLDCPLDFPGA应用《微计算机信息》(嵌入式与SOC)2010年第26卷第1-2期文章编号:1008-0570(2010)01-2-0130-02基于FPGA的任意波形发生器的设计DesignofArbitraryWaveformGeneratorbasedonFPGA(桂林电子科技大学)刘畅李智LIUChangLIZhi摘要:该系统以Altera的CycloneII系列芯片EP2C70为控制芯片,以AD9744芯片作为数模转换器。采用DDS技术来实现任意波形的产生,使用该方法输出波形的形状和长度均可灵活的调整,同时可由用户通过特定软件
2、来编辑波形。输出的波形可以满足自动测试系统的要求。关键词:DDS;FPGA;AD9744中图分类号:TP274文献标识码:AAbstract:CycloneIISeriesAlterachipEP2C20F484arethecoreofthesystemandDACchipistheAD9744.RealizingarbitrarywaveformgenerationbyusingDDStechnology,themethodofoutputwaveformshapeandlengthcanbeflexibleandadjust,andbyt
3、heuserthroughspecificsoftwaretoeditthewaveform.Outputwaveformcansatisfytherequirementsofautomatictestsystem.技Keywords:DDS;FPGA;AD9744术引言2FPGA设计创在自动测试系统中,信号发生器为测试系统提供良好的测在传统DDS原理的基础上进行了一定程度的改进,设计了试源,其中在某些测试场合,需要使用任意波形作为测试源,使用相应的数字逻辑电路,实现框图如图1所示。新传统的模拟方法不方便产生任意波形,同时采用传统方法产生的任
4、意波形的形状和长度也不方便调整。而本文介绍的是基于DDS产生任意波形的方法,其主要优点是任意波形的形状和长度方便调整,同时具有输出频率、相位和幅度能够在FPGA的控制下精确而快速地转换等特点。1DDS原理及实现方法典型DDS的主要组成部分有:相位累加器;查表存储器(相位/幅度转换器);D/A转换器;滤波器等。DDS基本结构和工作原理这里不再敖述,可参考文献。下面分析一下其基本的几个参数:频率分辨率、最大输出频率等。图1FPGA内部功能框图假设一初相位为零的正弦信号f(t),幅度为A,角频率为W,参考2.1FPGA内部结构的设计频率f,输出频
5、率f,频率控制字P;可以得出下面的结论:FPGA要实现的几个功能部分有:状态译码器、波形数据寄(1)存器、波形地址寄存器、起始/截止地址寄存器、地址发生器、可数控的分频器和选通开关等。下面介绍几个主要部分的设计(2)方法:从以上得出几点结论:输出的波形是重复输出存储器中的1)地址发生器波形,输出波形的长度和形状不方便调整;输出频率由频率控制实现DDS的核心是地址发生器的设计,设计地址发生器主字决定;频率分辨率与相位累加器的位数有关;相位分辨率由查要是设计一个地址计数器。在设计计数器时要考虑的因素有:同表ROM的数据长度来决定;同时传统
6、DDS工作原理本身造成步还是异步,输出编码形式(自然二进制、BCD码、时序分配输了相位和杂散噪声。本系统设计的DDS针对上述所说的问题出),加法还是减法,计数规律(可逆还是不可逆),预置方式(同步进行了一定程度的改进。还是异步)和复位方式(同步还是异步),根据本系统实际需要,设计了一个13位同步加法不可逆计数器,输出编码是自然二进制刘畅:硕士研究生数,采用异步复位方式。相关的信号有:CLK,CLR,EN等。具体计基金项目:基金申请人:刘畅,李智;项目名称:DDS波形发生数器的设计:任意波形的存储深度是16到64K个点,那么相对技术的研究;基金
7、颁发部门:广西壮族自治区学位委员会,广西应的地址长度最少要16位,2的16次是65536,对应有65536壮族自治区教育厅(2008105950804M432)个地址空间,也就是说每个波形的点数最少有16个点,最多有-130-360元/年邮局订阅号:82-946《现场总线技术应用200例》您的论文得到两院院士关注PLDCPLDFPGA应用65536个点。两个时钟不是同步的,要进行延时处理,以满足时序要求。每一2)波形数据存储单元次送数据到DAC都等待时钟下降沿的到来,此处时钟延时2ns波形数据存储单元的主要功能是存储波形数据。波形存储以上,才
8、开始往DAC送数据;同时DAC时钟要延时2个ns以上器又可以称为波形查找表,其功能是将波形的幅度数据以二进再送给DAC,这样就满足了控制时序。加上同步时钟;数据等待