一种具有波形消抖功能的信号发生器及消抖方法

文档序号:7523222阅读:1047来源:国知局
专利名称:一种具有波形消抖功能的信号发生器及消抖方法
技术领域
本发明涉及信号消抖技术,尤其涉及一种具有消除波形抖动功能的信号发生器及消抖方法。
背景技术
信号发生器作为一种信号源,因其能够产生不同频率、不同幅度的规则或者不规贝IJ的波形,在电子系统的测量、校验及维护中得到了广泛的应用。直接数字合成(Direct Digital Synthesis,以下简称DDS)是目前频率合成中的一种主要技术,具有低成本、高分辨率、快速转换时间、可以产生任意波形以及切换时输出波形相位连续等特点,在信号发生器设计中被广泛采用。实现DDS常用两种技术方案:DDS专用芯片、可编程逻辑阵列(FPGA)。前者可以输出高质量的信号;FPGA的优势在于可编程性,可以根据需要方便的实现各种功能。图1是一个典型的基于DDS技术的信号发生器的简化结构示意图。在时钟脉冲Fe的控制下,N位的相位累加器101累加频率控制字K得到相码,相码作为读地址来寻址波形存储器102进行相码-幅码变换,从而输出不同的幅度编码,再经过数模变换器DAC 103得到相应的阶梯波,最后经过包括低通滤波器在内的模拟电路104处理后,即得到由频率控制字K决定的连续变化的输出波形。图1中的波形存储器可以使用FPGA内嵌的存储器,也可以采用外置的存储器。内嵌存储器的优点是访问速度快,适合高带宽的应用;外置存储器的优势在于容量大,适合长波表的应用。所谓长波表,是指输出波形的样点的数目比较大。目前高端的信号发生器的任意波样点达到了 128M个样点。目前市场上的存储器种类非常多,主要有易失性的RAM和DRAM、非易失性的EEPR0M、R0M、EPR0M、N0R、NAND闪存、铁电存储器(FeRAM)和新兴的磁性存储器(MRAM)。动态随机存储器(DRAM) —个存储单元大约需要一个晶体管和一个电容,由于实现工艺的不同,结构较SRAM要简单许多,无论集成度、生成成本以及体积、容量,DRAM都比SRAM具有优势。因此,DRAM+FPGA在要求长波表的信号发生器中得到广泛的应用。对于采用DRAM作为波形存储器的信号发生器,在作脉冲猝发(Burst)输出时存在波形延时抖动的问题。原因是DRAM器件需要不断的刷新。DRAM只能将数据保持很短的时间。为了保持数据,DRAM使用电容存储,所以必须隔一段时间刷新(Refresh) —次,如果存储单元没有被刷新,存储的信息就会丢失。刷新方式通常有2种,集中式刷新和分散式刷新。集中式刷新是每隔一定时间,集中的逐行刷新整个存储器;分散式刷新则是每次只刷新一行。无论何种刷新方式,在刷新期间,都要暂停读、写操作。所谓信号发生器的Burst模式,是指DDS收到触发信号后,输出一个或者多个周期的波形。DDS需要一个处理过程才能输出波形,因此,触发信号和输出波形之间存在一段时间的延时。信号发生器要求这段延时时间是固定的;即使是支持延时时间可设,则一经设置后,还是固定不变的。如图2A所示,触发信号到来后,经过一段固定的“处理时间”后,波形输出。但对于DRAM担任波形存储器的信号发生器,延时时间包括两部分,“处理时间”和“刷新时间”。“处理时间”仍然是固定长度的;但“刷新时间”的长度则不固定。当触发信号到来时,DRAM可能正在进行刷新,此时不能立即输出波形;也可能处于随时可读写的空闲状态,这就立刻输出波形。因此“刷新时间”的长度不固定,结果造成触发信号与输出波形之间的延时长度也不固定,如图2B所示。以触发信号作为参考来看,输出波形是存在“抖动”的。目前市场上的信号发生器大多采用SRAM器件作为波形存储器,SRAM器件可随时访问,无需刷新,Burst时没有抖动问题,但SRAM价格高、且容量相对较小;采用DRAM作为波形存储器的信号发生器,又不支持Burst工作模式。如何提高一种造价低廉又能够在支持Burst工作模式时候不会产生波形抖动的信号发生器成为一个迫切需要解决的问题。

发明内容
本发明实施例的目的在于提供一种具有波形消抖功能的信号发生器,以解决现有技术中造价低廉的存储器无法在Burst工作模式下消除波形抖动的缺陷。为实现上述目的,本发明提供一种具有波形消抖功能的信号发生器,该信号发生器包括:系统控制设备、用于存储波形数据的DRAM存储器、用于在脉冲触发工作模式时产生外触发输入信号的外触发源、用于提供稳定时钟的时钟源、数模转换芯片、模拟通道;FPGA芯片,分别与所述系统控制设备、DRAM存储器及外触发源相连接,用于将处理器配置的波形数据存入DRAM存储器;接收所述外触发源的触发信号后从DRAM存储器中读出波形数据并输出;该FPGA芯片还包括:消抖控制模块,所述消抖控制模块用于设置一延迟时间,当所述FPGA芯片收到触发信号后,停顿所述延迟时间后再从DRAM存储器中读出波形数据并输出。本发明还提供一种信号发生器的波形消抖方法,该方法包括:设置一延迟时间,当收到触发信号后,停顿所述延迟时间后再从存储器中读出波形数据并输出。本发明实施例提供的一种具有波形消抖功能的信号发生器,采用FPGA实现DDS、DRAM作为波形存储器;并解决这种DRAM作为波形存储器的信号发生器作Burst时的输出波形抖动的问题。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:图1是现有技术基于DDS的信号发生器的简化结构示意图;图2A、图2B是Burst工作模式下波形产生延迟和抖动情况的示意图;图3是本发明具有波形消抖功能的信号发生器的结构示意图;图4是本发明具有波形消抖功能的信号发生器的工作流程示意图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。实施例一图3是本发明具有波形消抖功能的信号发生器的结构示意图,采用DRAM作为波形存储器、FPGA作为波形处理的核心装置,各部分功能如下。系统控制设备301,包括用于系统控制的处理器,用于辅助处理器工作的存储器,用于连接上位机或者网络的总线接口模块以及输入输出设备;所述模块包括LAN、GPIB、USB等总线接口模块,输入输出设备包括用于人机交互的显示屏和键盘等等;这些系统控制设备具有通用性,图中没有一一示出;DRAM存储器302,用于存储波形数据;采用DRAM存储器,容量较大,可以用于存储较大长度的波形;外触发源303,用于在脉冲触发工作模式时产生外触发输入信号;测试测量设备中的时钟源频率通常是IOMHz ;FPGA芯片304,分别与所述系统控制设备301、DRAM存储器302及外触发源303相连接,用于将处理器配置的波形数据存入DRAM存储器302 ;接收所述外触发源303的触发信号,在收到触发信号后从DRAM存储器302中读出波形数据并输出;时钟源305,与所述FPGA芯片相连接,用于提供稳定时钟;数模转换芯片306,与所述FPGA芯片相连接,用于将FPGA芯片输出的数字格式的波形数据转换为模拟数据;模拟通道307,与所述数模转换芯片相连接,接收数模转换芯片输出的模拟数据并处理后输出,包括滤波、衰减、放大等。FPGA芯片304作为波形处理的核心装置,其内部可以划分如下功能模块,如图3所示,各模块功能如下:通信接口模块311,用于与所述系统控制设备相连接,实现FPGA芯片与处理器之间的通信,将处理器发来的指令转发给FPGA内部的各个模块;时钟模块312,接收所述时钟源提供的参考时钟进行频率合成,并为FPGA芯片304内的各个模块提供工作时钟;触发源选择模块313,接收外触发源产生的多种外触发输入信号,选择一个外触发信号作为脉冲触发工作模式的触发信号;在本实施例中,支持三种触发源:外部触发、内部触发、手动触发。外部触发信号来自外触发源;手动触发来自键盘,处理器检测键盘上的手动触发按键,并将其发给本模块;本模块内部有一个计数器,按照用户设置的周期进行计数,计满后就产生了内部触发信号。选择哪一个触发源,由处理器设置。处理器配置给触发源选择模块的信息323包括:选择哪一个触发源、内部触发信号的周期、手动触发信号。相位累加器314,与所述触发源选择模块313相连接,收到触发信号后,对处理器设置的频率控制字进行累加,将累加的结果输出;累加的结果作为读地址送给DRAM控制器;每累加一个周期,就从DRAM存储器302中读出一个周期的波形;需要累加多少个周期,由处理器设置的波形数目决定;累加过程受到FIFO模块316反馈信号332的控制,反馈信号为高电平时要暂停累加,为低电平时继续累加。处理器配置给相位累加器模块的信息322包括:频率控制字、输出波形的数目。DRAM控制器315,与所述相位累加器314相连接,同时连接所述DRAM存储器302,在开始输出波形前,将处理器送来的波形文件存入DRAM存储器302中;然后根据相位累加器314送来的读地址,从DRAM存储器302中取出波形数据333并输出,写入FIFO模块316。FIFO模块316,是指具有先入先出(First Input First Output, FIFO)特点的存储器;与所述DRAM控制器315相连接,用于将DRAM控制器315输出的波形数据经过缓冲后送给FPGA芯片304外的数模转换芯片306 ;同时所述FIFO模块316反馈一个表示存储空满状况的信号给所述相位累加器314 ;所述FIFO模块316反馈一个表示存储空满状况的信号是电平信号,高电平信号表示FIFO模块316剩余空间很少,此时暂停累加,从而暂停往FIFO模块316中写入波形数据;低电平信号表示FIFO模块316剩余空间还有空余,累加器能够正常累加。消抖控制模块317,该消抖控制模块317设置一延迟时间,当接收所述触发源选择模块选择的触发信号后331,停顿所述延迟时间,然后给FIFO模块316发出读允许信号,使FIFO模块316收到读允许信号后,再给数模转换芯片306发出波形数据。所述延迟时间为不小于400纳秒。关于本发明的具有波形消抖功能的信号发生器的详细工作流程详细说明如下:现有技术中,DDS从波形存储中取出数据后是直接输出的,但在本发明中,利用消抖控制模块和FIFO模块,收到触发信号后要等待一段时间,才从FIFO模块中取出数据并输出。正是这段等待时间,消除了 DRAM存储器刷新所造成的波形抖动。具体要等待多长时间,取决于DRAM存储器刷新所需要的最长时间。在本实施例中,DRAM控制器采用分散式刷新,与集中式刷新相比,每次刷新所需要的时间要少很多。实际测试结果表明,收到触发信号后,等待80个工作时钟的周期时间,FIFO模块中就一定存储有从DRAM存储器中读出的数据。此时从FIFO模块中取出数据,就不存在抖动问题了。因此,采用本发明的信号发生器,触发信号与输出波形之间的延时至少为80个工作时钟周期,带来的好处是输出波形相对于触发信号是没有抖动的。本发明的触发——等待——取数的工作流程示意图如图4所示。按照用户的设置,处理器配置波形和参数,包括图3中的321、322、323 ;收到触发信号后,相位累加器开始累加,消抖控制模块设置一延迟时间,所述延迟时间为不小于400纳秒。FPGA芯片的工作特点是并行处理,因此这两个模块是同时工作的。DRAM控制器根据相位累加器的读地址,从DRAM存储器中取出波形数据,并写入到FIFO模块;相位累加器在累加过程中受到FIFO模块的反馈信号的控制,如果FIFO模块几乎满则暂停累加;另一方面,消抖控制模块延迟时间结束后发出读允许信号,FIFO模块收到读允许信号后就读出数据并送给数模转换芯片DAC。本发明提出一种支持长波表的信号发生器,采用FPGA实现DDS、DRAM作为波形存储器,FPGA设计上较为灵活,DRAM容量大、价格便宜,因此本发明实现的信号发生器具有实现简单、成本低、设计灵活、扩展性好的优点。本发明解决了 DRAM作为波形存储器的信号发生器作Burst时的输出波形抖动的问题,为了实现消抖所耗用的FPGA资源非常少,实现容易。以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种具有波形消抖功能的信号发生器,该信号发生器包括: 系统控制设备、用于存储波形数据的DRAM存储器、用于在脉冲触发工作模式时产生外触发输入信号的外触发源、用于提供稳定时钟的时钟源、数模转换芯片、模拟通道;FPGA芯片,分别与所述系统控制设备、DRAM存储器及外触发源相连接,用于将处理器配置的波形数据存入DRAM存储器;接收所述外触发源的触发信号后从DRAM存储器中读出波形数据并输出;其特征在于,该FPGA芯片还包括: 消抖控制模块,所述消抖控制模块用于设置一延迟时间,当所述FPGA芯片收到触发信号后,停顿所述延迟时间后再从DRAM存储器中读出波形数据并输出。
2.根据权利要求1所述的信号发生器,其特征在于: 所述延迟时间为不小于400纳秒。
3.一种信号发生器的波形消抖方法,其特征在于,该方法包括: 设置一延迟时间,当收到触发信号后,停顿所述延迟时间后再从存储器中读出波形数据并输出。
4.根据权利要求3所述的方法,其特征在于: 所述延迟时间为不小于400纳秒。
全文摘要
本发明提供一种具有波形消抖功能的信号发生器,包括系统控制设备、用于存储波形数据的DRAM存储器、用于在脉冲触发工作模式时产生外触发输入信号的外触发源、用于提供稳定时钟的时钟源、数模转换芯片、模拟通道;FPGA芯片,分别与所述系统控制设备、DRAM存储器及外触发源相连接,用于将处理器配置的波形数据存入DRAM存储器;接收所述外触发源的触发信号后从DRAM存储器中读出波形数据并输出;该FPGA芯片还包括消抖控制模块,所述消抖控制模块用于设置一延迟时间,当所述FPGA芯片收到触发信号后,停顿所述延迟时间后再从DRAM存储器中读出波形数据并输出。本发明的信号发生器,采用FPGA实现DDS、DRAM作为波形存储器;并解决这种DRAM作为波形存储器的信号发生器作Burst时的输出波形抖动的问题。
文档编号H03K5/01GK103178810SQ20111043201
公开日2013年6月26日 申请日期2011年12月21日 优先权日2011年12月21日
发明者丁新宇, 王悦, 王铁军, 李维森 申请人:北京普源精电科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1