CN102468826B - 一种多功能信号发生器 - Google Patents
一种多功能信号发生器 Download PDFInfo
- Publication number
- CN102468826B CN102468826B CN201010531082.4A CN201010531082A CN102468826B CN 102468826 B CN102468826 B CN 102468826B CN 201010531082 A CN201010531082 A CN 201010531082A CN 102468826 B CN102468826 B CN 102468826B
- Authority
- CN
- China
- Prior art keywords
- clock
- data
- signal generator
- wave
- fifo
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Synchronisation In Digital Transmission Systems (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供了一种多功能信号发生器,该信号发生器包括:波形存储器,用于存储波形数据;中央处理器,用于根据用户的设置进行系统控制;固定时钟源,用于提供稳定的时钟数据;现场可编程门阵列FPGA,用于将固定时钟源提供的时钟数据作频率合成处理,产生FPGA的工作时钟,并根据中央处理器的速率设置波形数据的读出速率,将读出的波形数据输出;数模变换器,用于将FPGA输出的波形数据进行数模变换;模拟输出电路,用于将数模变换后的波形数据输出。以解决AWG信号源频率切换时间慢、采样率调整范围窄的问题。
Description
技术领域
本发明关于信号源技术领域,具体地讲是一种多功能信号发生器。
背景技术
在现有技术中,任意发生器可以分成任意函数发生器(AFG)和任意波形发生器(AWG)。
如图1所示,AWG基于真正可变时钟结构,适用于在所有频率上生成比较复杂的波形。AWG也读取内存的内容,但其读取方式不同于AFG。AWG的波形存放在内存中。波形占用指定数量的内存位置。在可变时钟源101的每个时钟周期中,内存地址控制单元102从波形内存单元103中读出一个波形样点,送给数模转换单元(DAC)104完成数模转换,经由模拟输出电路105处理后输出。由于波形的样点数量是固定的,因此时钟速率越快,读取波形内存单元103中波形数据点的速度越快,输出频率越高。换句话说,输出信号频率完全取决于时钟频率和波形内存单元103中的波形样点数量。AWG的灵活性源自其波形内存单元103中存储的波形。波形可以采取任何形状;它可以有任意数量的畸变,或根本没有畸变。在基于PC的工具的帮助下,用户可以开发人们想得到的几乎任何物理限制内的波形。可以在仪器能够生成的任何时钟频率上,从内存中读取样点。不管时钟是以1MHz运行还是以1GHz运行,波形的形状相同。
AWG虽然适用于产生复杂的信号,如低抖动的伪随机码流(PRBS)、调制的射频信号等等。但无论通过编辑波形样点数,还是改变可变时钟源的频率,从而改变输出波形的频率都是不方便的,而且需要较长的频率切换时间。同时,时钟源的频率范围也是有限的,也就限制了最终输出波形的频率范围。例如泰克的任意波形发生器AWG5014B的采样率可调范围是10M~1.2GSa/S。
如图2所示,AFG通过读取内存的内容,来同时创建函数波形和任意波形。大多数现代AFG采用直接信号合成(DDS)技术,在广泛的频率范围上提供信号。在固定频率(fc)时钟源201的控制下,N位的相位累加器206累加频率控制字K205得到相码,相码经过相位寄存器207寻址波形存储器202进行相码-幅码变换输出不同的幅度编码,再经过DAC203得到相应的阶梯波,最后经过包括低通波器在内的模拟输出电路204处理后,即得到由频率控制字K205决定的连续变化的输出波形。输出信号的频率为K*fc/2N,输出信号的频率分辨率为fc/2N。
AFG虽然适用于输出干净规则的波形,或要求从一个频率到另一个频率快速切换,或在多条通道中必须同时提供不同频率等场合。但AFG采用固定频率的主控时钟源,采样率是固定的,当采样率不是输出波形频率的整数倍时,AFG具有较大的输出抖动。另外,AFG通过频率控制字来控制输出频率,当频率控制字较大时,相当于以跳点方式读取波形存储器,这样很多样点不能准确复现。所以AFG不太适合要求低抖动和非常窄的瞬变的应用。
发明内容
本发明实施例提供了一种多功能信号发生器,以解决AWG信号源频率切换时间慢、采样率调整范围窄的问题。
本发明的目的是,提供一种多功能信号发生器,该信号发生器包括:波形存储器,用于存储波形数据;中央处理器,用于根据用户的设置进行系统控制;固定时钟源,用于提供稳定的时钟数据;现场可编程门阵列FPGA,用于将固定时钟源提供的时钟数据作频率合成处理,产生FPGA的工作时钟,并根据中央处理器的速率设置波形数据的读出速率,将读出的波形数据输出;数模变换器,用于将FPGA输出的波形数据进行数模变换;模拟输出电路,用于将数模变换后的波形数据输出。
本发明实施例通过对FIFO读速率进行控制实现采样率的改变。并且与专用时钟电路相比,本发明只需占用少量的FPGA资源就实现了采样率的改变,实现简单、成本低,采样率的调整范围宽。本发明实施例不需要修改波表长度和时钟源频率,只需修改采样率对应的分频系数,就可修改AWG输出波形的频率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的任意波形发生器(AWG)的结构框图;
图2为现有技术的任意函数发生器(AFG)的结构框图;
图3为本发明实施例的多功能信号发生器的结构框图;
图4为本发明实施例的多功能信号发生器的硬件结构框图;
图5为本发明实施例的多功能信号发生器的工作流程图;
图6为本发明实施例的多功能信号发生器的AWG、AFG的输出波形图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图3所示,本实施例的多功能信号发生器包括:波形存储器305,用于存储波形数据;中央处理器301,用于根据用户的设置进行系统控制;固定时钟源304,用于提供稳定的时钟数据;现场可编程门阵列FPGA302,用于将固定时钟源提供的时钟数据作频率合成处理,产生FPGA的工作时钟,并根据中央处理器的速率设置波形数据的读出速率,将读出的波形数据输出;数模变换器303,用于将FPGA输出的波形数据进行数模变换;模拟输出电路315,用于将数模变换后的波形数据输出。
本实施例的多功能信号发生器是集任意函数发生器、任意波形发生器、脉冲发生器、IQ基带源、跳频源、码型发生器于一身的多功能信号发生器,本实施例的多功能信号发生器兼具AFG和AWG的功能特点。图4是本实施例的多功能信号发生器简化的硬件结构框图,各部分功能如下:
中央处理单元(CPU)301及外围设备,包括用于系统控制的数字信号处理器(DSP),用于辅助DSP工作的存储器,用于连接上位机或者网络的LAN、GPIB、USB等总线接口模块,用于显示的LCD屏以及显卡控制模块和键盘等等;这些系统控制设备具有通用性。
FPGA芯片302,波形处理的核心装置,将CPU301下发的波表数据经过处理后送给DAC303。
DAC303,数模转换芯片,将FPGA送出的数字格式的波形数据转换为模拟量,再经过模拟电路输出。
固定频率时钟源304,为整个装置提供高精度的稳定时钟,本实施例的多功能信号发生器可用10MHz的频率;FPGA芯片内部的时钟模块对此10MHz时钟进行频率合成,产生各个模块需要的时钟,包括提供采样时钟给DAC303。
波形存储器305(也可称作:外部波形存储器),容量较大,用于存储较大长度的大波表;本实施例的多功能信号发生器可用2Gbits的DDR2SDRAM。
如图4所示FPGA芯片302内部被分成如下功能模块:
CPU接口模块306,实现FPGA芯片302与CPU301之间的通信,以便CPU301控制FPGA302内部的其它模块;
时钟模块307,利用FPGA302内嵌的频率合成软核对10M时钟[304a]作频率合成,产生DAC303的工作时钟307a,FIFO的读时钟307b,FIFO的写入时钟307c,时钟307c同时还作为FPGA内部其它模块的工作时钟。
外部存储控制器308,实现FPGA与外部波形存储器的接口,按照CPU配置的参数308a(包括波表起始地址、波表长度等)将波表数据308a写入外部波形存储器;在要求输出波形时,将外部波形存储器的波表数据308b读出送给数据选择模块。
内部波形存储器309,包括了用FPGA内嵌RAM块实现的存储器以及相应的控制模块;内部波形存储器的容量是固定的,且容量远小于外部存储器,在本实施例里的容量是16K个样点;在输出波形前,内部波形存储器309内的控制模块将CPU提供的波表数据309a写入内部存储器;在输出波形时,循环的从内部存储器读出波表309b送给数据选择模块311。
DDS累加器310,根据CPU设置的频率控制字310a,累加地址,将累加结果310b和310c分别送给外部存储控制器308和内部波形存储器309。
数据选择模块311,根据CPU的参数设置311a,从外部存储控制器308和内部波形存储器309的两路数据308b和309b中选出一路作为写数据311b写入FIFO模块。
FIFO模块312,FIFO是指具有先入先出特点(FirstInputFirstOutput)的存储器;FIFO模块312将位于时钟域307c的波形数据311b转换到时钟域307b,并在读速率控制模块313的速率控制下,读出数据312a;FIFO模块312还根据FIFO的存储情况送出一个反馈信号312b给DDS累加器310,控制累加器进行正常累加还是暂停累加,正常累加所产生的相位地址对应的波表数据会写入FIFO,暂停累加时也就暂停写入FIFO。反馈信号312b的作用是:如果把FIFO比作成一个水库,FIFO的读、写操作可分别看作水库的放水、灌水;为了让流出的水流不枯竭,要求灌水快于放水;但达到一定时间后会水满溢出;如果在蓄水达到警戒水位后暂停灌水,然后等到水位下降至警戒水位以下后再重新灌水,这样水库就会一直放水,且不会溢出。同样的,当FIFO内未被读出的数据长度超过一定限度后,反馈信号312b就要求累加器暂停,也就是暂停FIFO的写入。
数据处理模块313,对从FIFO模块312中读出的数据作二次处理,如并串转换、输出关闭时输出空闲电平等;处理后的数据送给外部DAC303;
FIFO读速率控制模块314,根据CPU的速率设置314a,控制FIFO模块312的读出速率,也就间接实现了DAC303采样率可调。FIFO读速率控制模块314可以是一分频器,在本实施例的多功能信号发生器中可采用31bits位宽的分频器实现采样率的改变。
如图5所示,本实施例的多功能信号发生器的工作流程包括:
(1)根据用户的设置,CPU首先将各个参数配置给FPGA;不同的工作模式有不同的工作流程。AFG时,CPU从非易失性存储器中读出波表并写到FPGA内部的波形存储器;AWG时,CPU从非易失性存储器中读出波表、或者将上位机下发的波表写入到外部的DDR2SDRAM波形存储器。
(2)波表写入完毕后启动DDS,开始DDS累加器的累加;在累加过程中,判断FIFO的“水位”状态,一旦FIFO不能继续写入,就暂停累加;等FIFO可以继续写入时,再继续累加。
(3)根据DDS累加后的地址,AFG模式从内部波形存储器读取波形、AWG从外部波形存储器读取波形,并写入FIFO;
(4)AFG时,一直读取FIFO,将读出的波形数据处理后输出;AWG时,在读速率控制模块的控制下,可能不是一直读FIFO,而是以某个速率匀速的读取FIFO。从FIFO读取波形数据的带宽是小于或者等于DAC带宽的,实际上,前者是后者的约数。
本实施例的多功能信号发生器的读速率控制模块的作用:
AFG时,通常输出的是规则的通用波形,例如正弦波、方波、锯齿波等,这些波表数据存放在CPU附属的非易失性存储器中,大小是固定的,且长度较小。按照用户设置,将相应波表写入到FPGA内部的存储器中即可。在CARP里,AFG的波表长度是固定的16K个样点。FPGA内部存储器可以配置成双端口模式,读写带宽的利用率可达到100%,非常适合AFG时的跳点读取。
如果用户要求输出任意波,任意波波形通常是不规则的,长度也很长。因此CARP配置了可存储128M个样点的DDR2bDRAM,用于存储超过16K个样点长度的任意波。DDR2DRAM具有成本低、容量大的特点,但带宽利用率受到限制,当逐点访问时,带宽利用率可达到80%;但如果像AFG一样,跳点的访问,带宽利用率会急剧下降到最低10%。也就是说,上文强调的FIFO写入带宽要高于读出带宽的要求是无法满足的。
通过读速率控制模块,可以解决AWG时频率可调与DDR2DRAM带宽之间的矛盾。AWG时,设置DDS累加器的频率控制字为1,也就是要逐点读取DRAM。但在FIFO的读出侧,不是一直读取FIFO,而是按照用户设置的采样率读取FIFO,这样通过FIFO的“水位”反馈,可以控制DDS累加器的累加还是暂停累加。当FIFO暂停读出时,数据处理模块依然不间断的将前一时刻读出的数据送给DAC输出。FPGA具体实现方法是根据采样率对DAC时钟作分频,利用分频后的时钟作为读使能来读取FIFO。
如图6所示,说明了本实施例的多功能信号发生器的AFG、AWG时的不同输出波形如下:
AFG时,每个DAC时钟(采样时钟)输出一个波形样点,样点对应的地址间隔就是频率字,通过改变频率字可调节输出波形的频率。AWG时,以1/2的采样率为例,地址间隔是1,本来每个DAC时钟输出一个波形样点;但在读速率控制模块的控制下,每2个DAC时钟输出一个波形样点,这样就达到了在不改变采样时钟的情况下,通过修改采样率从而调节输出波形频率的目的。AFG时,输出波形的频率等于K*fc/2N,出波形其中K是频率字,fc是DAC时钟频率,N是DDS累加器的位宽(CARP里是64)。
AWG时,输出波形的频率等于1*fc/(LENGTH*DIVIDE),其中fc是DAC时钟频率,LENGTH是任意波的样点长度,DIVIDE是读速率控制模块使用的分频系数。对于一定的任意波长度,通过修改分频系数DIVIDE即可减小输出波形的频率,实际上,相当于将采样率从fc修改为fc/DIVIDE。本发明用一个31bits位宽的分频器实现采样率的改变,对于1GHz采样时钟,AWG时的实际采样率调整范围为1GHz~0.46Hz。
与专用时钟电路相比,本发明只需占用少量的FPGA资源就实现了采样率的改变,实现简单、成本低,且采样率的调整范围要宽得多。
不需要修改波表长度和时钟源频率,只需修改采样率对应的分频系数,就可修改AWG输出波形的频率,频率改变时间仅仅是CPU配置该系数的时间,因此具有不逊于AFG的频率捷变性。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种多功能信号发生器,其特征是,所述的信号发生器包括:
波形存储器,用于存储波形数据;
中央处理器,用于根据用户的设置进行系统控制;
固定时钟源,用于提供稳定的时钟数据;
现场可编程门阵列FPGA,用于将所述固定时钟源提供的时钟数据作频率合成处理,产生FPGA的工作时钟,并根据所述中央处理器产生的速率设置,控制所述波形数据的读出速率,将读出的波形数据输出;
数模变换器,用于将所述FPGA输出的波形数据进行数模变换;
模拟输出电路,用于将数模变换后的波形数据输出。
2.根据权利要求1所述的信号发生器,其特征是,所述的FPGA包括:时钟模块和先入先出FIFO模块;其中:
所述的时钟模块,用于对所述的时钟数据作频率合成,产生数模变换器的工作时钟、FIFO的读出时钟以及FIFO的写入时钟;
所述的FIFO模块,用于以所述读出速率读出波形数据,并根据FIFO模块的数据存储情况输出用于控制写入速率的反馈信号。
3.根据权利要求1所述的信号发生器,其特征是,所述的FPGA包括:
内部波形存储器,用于存储所述中央处理器提供的波形数据,并循环的输出所述的波形数据。
4.根据权利要求2所述的信号发生器,其特征是,所述的FPGA包括:
累加器,用于根据所述中央处理器设置的频率控制字累加地址,并将累加结果分别传送给所述的波形存储器和内部波形存储器;
所述的FIFO模块输出的反馈信号传送给所述的累加器,控制累加器将累加所产生的相位地址对应的波形数据写入所述的FIFO模块或暂停累加和暂停写入所述的FIFO模块。
5.根据权利要求3所述的信号发生器,其特征是,所述的FPGA包括:
数据选择模块,用于根据所述中央处理器的参数设置从所述的波形存储器和内部波形存储器存储的两路波形数据中选出一路作为写入FIFO模块的波形数据。
6.根据权利要求2所述的信号发生器,其特征是,所述的FPGA包括:
FIFO读速率控制模块,用于根据所述中央处理器产生的速率设置,控制所述FIFO模块的读出速率。
7.根据权利要求1所述的信号发生器,其特征是,所述的FPGA包括:
CPU接口模块,用于实现所述FPGA与所述中央处理器之间的通信。
8.根据权利要求1所述的信号发生器,其特征是,所述的信号发生器还包括:
网络接口,用于连接上位机或者网络;
LCD屏,用于显示波形数据;以及
键盘,用于对所述的中央处理器进行设置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010531082.4A CN102468826B (zh) | 2010-11-03 | 2010-11-03 | 一种多功能信号发生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010531082.4A CN102468826B (zh) | 2010-11-03 | 2010-11-03 | 一种多功能信号发生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102468826A CN102468826A (zh) | 2012-05-23 |
CN102468826B true CN102468826B (zh) | 2016-04-06 |
Family
ID=46072077
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010531082.4A Active CN102468826B (zh) | 2010-11-03 | 2010-11-03 | 一种多功能信号发生器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102468826B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103595373B (zh) * | 2013-12-02 | 2016-07-06 | 哈尔滨理工大学 | 一种九分量混合信号发生器及九分量混合信号发生方法 |
CN104753500B (zh) * | 2013-12-25 | 2019-09-17 | 苏州普源精电科技有限公司 | 一种任意波形发生器 |
CN103647529B (zh) * | 2013-12-26 | 2017-03-22 | 中国电子科技集团公司第四十一研究所 | 一种多模信号发生装置及其信号发生方法 |
CN103983964B (zh) * | 2014-05-09 | 2016-12-07 | 哈尔滨工程大学 | 一种多功能探鱼仪的组合信号发生系统 |
CN105871337B (zh) * | 2015-01-20 | 2020-07-31 | 普源精电科技股份有限公司 | 一种改进的可分段调制的信号发生器 |
CN105162437B (zh) * | 2015-08-11 | 2018-01-30 | 中国科学技术大学 | 一种波形发生装置及方法 |
CN105718404B (zh) * | 2016-01-18 | 2018-12-14 | 中国科学技术大学 | 一种基于fpga的方波发生器及方法 |
CN107479622A (zh) * | 2017-03-23 | 2017-12-15 | 深圳市鼎阳科技有限公司 | 一种基于soc的双通道任意波形发生器和产生方法 |
CN108519791A (zh) * | 2018-04-23 | 2018-09-11 | 哈尔滨工业大学 | 高速任意波形产生电路 |
CN109696572A (zh) * | 2019-01-23 | 2019-04-30 | 济南浪潮高新科技投资发展有限公司 | 一种pcie接口的波形发生器及波形输出方法 |
CN114489233B (zh) * | 2022-01-24 | 2024-06-11 | 上海华力集成电路制造有限公司 | 一种相位可调任意波形发生器 |
CN118091767B (zh) * | 2024-04-19 | 2024-07-26 | 吉林大学 | 一种地空时频电磁同步脉冲激发序列编码方法及探测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162398A (zh) * | 2006-10-12 | 2008-04-16 | 东莞理工学院 | 一种任意信号发生器 |
CN101576619A (zh) * | 2009-05-07 | 2009-11-11 | 北京航空航天大学 | 基于fpga的uwb雷达信号模拟器及uwb雷达信号产生方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003186565A (ja) * | 2001-12-14 | 2003-07-04 | Alps Electric Co Ltd | クロック信号供給回路 |
-
2010
- 2010-11-03 CN CN201010531082.4A patent/CN102468826B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101162398A (zh) * | 2006-10-12 | 2008-04-16 | 东莞理工学院 | 一种任意信号发生器 |
CN101576619A (zh) * | 2009-05-07 | 2009-11-11 | 北京航空航天大学 | 基于fpga的uwb雷达信号模拟器及uwb雷达信号产生方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102468826A (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102468826B (zh) | 一种多功能信号发生器 | |
CN201708773U (zh) | 一种任意波形发生器 | |
CN102468805B (zh) | 一种扫频信号发生器及扫频信号的产生方法 | |
CN101162398A (zh) | 一种任意信号发生器 | |
CN102904553B (zh) | 利用粗糙时钟门控的动态频率控制 | |
CN102109874B (zh) | 多路信号发生器 | |
KR20180079376A (ko) | 타임베이스 동기화 | |
CN105162437B (zh) | 一种波形发生装置及方法 | |
CN101576619A (zh) | 基于fpga的uwb雷达信号模拟器及uwb雷达信号产生方法 | |
US8593185B2 (en) | Clock divider circuit and system LSI having same | |
CN103176503A (zh) | 一种dds信号发生器及其幅度控制方法 | |
CN102468829B (zh) | 一种信号发生器及其波表重组方法 | |
CN202929519U (zh) | 一种多通道相位可调的信号发生器 | |
US20180059713A1 (en) | Semiconductor device | |
CN103944537A (zh) | 变时钟dds任意波形信号源控制输出频率的方法及实现装置 | |
CN108710404B (zh) | 一种混合信号发生器 | |
CN105680800A (zh) | 一种具有扫频功能的信号发生器 | |
CN116400775A (zh) | 一种信号发生器 | |
CN114489233B (zh) | 一种相位可调任意波形发生器 | |
CN104660218A (zh) | 一种任意波形合成器 | |
CN104753500B (zh) | 一种任意波形发生器 | |
CN105319408B (zh) | 信号发生器和用于生成信号变化曲线的方法 | |
CN103178810A (zh) | 一种具有波形消抖功能的信号发生器及消抖方法 | |
CN107800429A (zh) | 一种具有外触发同步功能的信号发生器及信号产生方法 | |
CN110750889A (zh) | 一种基于fpga的实时仿真器以太网通讯装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |