CN102788891B - 一种复杂的波形序列发生器 - Google Patents
一种复杂的波形序列发生器 Download PDFInfo
- Publication number
- CN102788891B CN102788891B CN201210265942.3A CN201210265942A CN102788891B CN 102788891 B CN102788891 B CN 102788891B CN 201210265942 A CN201210265942 A CN 201210265942A CN 102788891 B CN102788891 B CN 102788891B
- Authority
- CN
- China
- Prior art keywords
- waveform segment
- waveform
- systemic circulation
- address
- segment
- 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.)
- Expired - Fee Related
Links
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了一种复杂的波形序列发生器,在现有的波形序列发生器基础上,对波形序列模块进行了改进,在序列参数存储模块中增加了大循环起始段存储器、大循环波形段个数存储器、大循环重复次数存储器,在序列地址发生模块中增加了大循环地址累加器、大循环波形段个数计数器、大循环重复次数计数器用于对波形序列段的重复生成,实现多个波形段各自重复后组成的波形序列段的重复。同时,波形段地址发生器波形段输出的波形段地址在大循环外为累加1的方式更新,在大循环内则以基地址即大循环起始波形段的序号k0+偏移地址即大循环波形段计数器的计数值的方式更新,实现了与现有波形序列发生器的有机结合。
Description
技术领域
本发明属于波形产生技术领域,更为具体地讲,涉及一种复杂的波形序列发生器。
背景技术
信号发生器作为目前电子测量仪器中发展最为快速的产品之一,广泛应用于雷达系统、数字通信、电子对抗和电子测量等领域。
随着工作频率和输出信号复杂度的不断提升,对波形细节的描述能力提出了更高的要求。波形存储容量越大,可以存储的波形数据越多,描述的波形细节程度越高。然而,通过增大波形存储器容量来扩展波形存储容量的方法成本过高,且会增加硬件规模。
波形序列合成技术作为一种有效扩展波形存储容量的方法,在某些特殊信号的产生中具有非常重要的意义,如占空比非常小的窄脉冲信号、复杂的波形测试序列等,在波形产生领域得到越来越多的关注。
现有的波形序列合成技术,如本发明人提出、2011年08月17日授权公告、公告号为CN 101710136B、名称为“一种序列波形发生器”的中国发明专利,可设置序列中每个波形段的重复次数,但无法实现序列中多个波形段各自重复后组成的序列段的重复,且无法在序列生成过程中实现如等待触发、无限重复和事件跳转等控制功能,该波形序列合成技术有待提高。
发明内容
本发明的目的在于克服现有技术的不足,提供一种复杂的波形序列发生器,以实现多个波形段各自重复后组成的波形序列段的重复。
为实现上述发明目的,本发明复杂的波形序列发生器,包括波形查找表、数模转换器、低通滤波器以及波形序列模块,波形序列各波形段的波形数据依次存入波形查找表中,波形序列模块根据所定义的序列参数,在时钟信号的同步下产生波形地址信息,对波形查找表进行寻址操作,读出相应的波形数据,输出到数模转换器中进行数模转换,转换输出的模拟信号送入低通滤波器中进行低通滤波,得到需要的复杂的波形序列;
其特征在于,所述的波形序列模块包括:
一序列参数存储模块,由存储器组成,用于存储波形地址生成所需要的参数,包括序列波形段个数存储器、波形段长度存储器、波形段重复次数存储器、波形段基地址存储器、大循环起始段存储器、大循环波形段个数存储器、大循环重复次数存储器;
所述的复杂的波形序列包括t个波形段,分别为波形段0,…,波形段k0,…,波形段k0+i0,…,波形段ks-1,…,波形段ks-1+is-1,…,波形段t-1,其中有s个大循环波形序列段;
所述的序列参数包括:
序列波形段个数t,存入序列波形段个数存储器中;
各波形段所包含的数据点数n0,…,…,…,…,…,nt-1,分别存入波形段长度存储器的0、1、…、t-1地址;
各波形段的重复次数m0,…,…,…,…,…,mt-1,分别存入波形段重复次数存储器的0、1、…、t-1地址;
各波形段的起始地址l0,…,…,…,…,…,lt-1,分别存入波形段基地址存储器的0、1、…、t-1地址;
各大循环起始波形段的序号k0,…,ks-1分别存入大循环起始段存储器的0、1、…、s-1地址;
各大循环所包含的波形段个数i0,…,is-1分别存入大循环波形段个数存储器的0、1、…、s-1地址;
各大循环的重复次数为j0,…,js-1分别存入大循环重复次数存储器的0、1、…、s-1地址;
一序列地址发生模块,序列地址发生模块读取序列参数存储模块中的序列参数,在时钟信号的同步下,产生相应的波形地址,包括波形段地址发生器、大循环地址累加器、波形长度计数器、波形段重复次数计数器、大循环波形段个数计数器、大循环重复次数计数器、序列复位模块;
波形段k,0≤k≤t-1的生成过程是:波形段地址发生器输出的波形段地址k,将存储在波形段长度存储器、波形段重复次数存储器和波形段基地址存储器中地址k的数据读出,分别是nk、mk和lk;
采样时钟每到来一次,波形长度计数器计数值作为偏移地址与波形段k的基地址lk相加产生地址信息,寻址波形查找表,输出波形地址信息,同时,波形长度计数器计数值就累加1,当波形长度计数器的累加值等于nk的同时产生脉冲信号Fdata,并且在下一个采样时钟到来时,波形长度计数器清零,脉冲信号Fdata使波形段重复次数计数器累加1,当波形段重复次数等于mk时,在采样时钟到来且脉冲信号Fdata有效时,重复次数计数器产生脉冲信号Fseg,标志着波形段k的重复次数mk已完成,即波形段k生成完成,波形段实际长度为nk+1,共循环mk+1次;
(1)、波形序列模块上电,在外部复位信号控制下,将波形段地址发生器的波形段地址k复位为0,大循环地址累加器的大循环地址r复位为0;将波形长度计数器、波形段重复次数计数器、大循环波形段个数计数器、大循环重复次数计数器的值复位为0;
根据大循环地址累加器输出的大循环地址r,此时r=0,将存储大循环起始段存储器、大循环波形段个数存储器、大循环重复次数存储器中0大循环地址的数据读出,分别是k0、i0和j0;
读取序列波形段个数存储器中序列波形段个数t;
(2)、在采样时钟控制下,根据波形段地址发生器输出的波形段地址k,此时k=0,生成波形段k即波形段0;
在采样时钟到来且脉冲信号Fseg有效时,当前波形段k与大循环起始波形段序号k0相比较:
如果当前波形段k小于k0-1,说明大循环还未使能,则波形段地址发生器的波形段地址k累加至1,在采样时钟控制下,根据波形段地址发生器输出的波形段地址k,k=1,生成波形段k即波形段1;然后,波形段地址发生器的波形段地址k累加至2,在采样时钟控制下,根据波形段地址发生器输出的波形段地址k,k=2,生成波形段k即波形段2,依次类推,直到当前波形段k等于k0-1,说明下一波形段将进入大循环,则波形段地址发生器的波形段地址k以“基地址即大循环起始波形段的序号k0+偏移地址即大循环波形段计数器的计数值”的方式更新,更新后在采样时钟控制下,根据波形段地址发生器输出的波形段地址k,依次生成波形段k,即生成波形段k0、波形段k0+1,直到波形序列生成至波形段k0+i0时,大循环波形段计数器的计数值等于当前大循环0的波形段个数i0,在采样时钟到来且脉冲信号Fseg有效时,大循环波形段计数器清零,同时产生脉冲信号Fseq,使大循环重复次数计数器累加1,大循环起始波形段不变,仍为k0,此时完成一次大循环波形段的生成,开始新的一次大循环重复;当大循环重复次数等于j0时,则在采样时钟到来时若脉冲信号Fseg和Fseq均有效,即当前大循环0的最后一个波形段k0+i0生成完成时,大循环重复次数计数器产生脉冲信号Fend,表示当前大循环重复完成,实际当前大循环由i0+1个波形段构成,共循环j0+1次,大循环重复次数计数器清零,并使大循环地址累加器的大循环地址r累加至1,将存储在大循环波形段个数存储器、大循环重复次数存储器和大循环起始段存储器中1大循环地址的数据同时读出,分别是i1、j1和k1;波形段地址发生器输出的波形段地址k则重新开始以1累加,将存储在波形段长度存储器、波形段重复次数存储器和波形段基地址存储器中k0+i0+1地址的数据同时读出,开始波形段k0+i0+1的生成,直到波形序列生成至波形段k1时重新使能大循环,依次类推,当波形序列生成至波形段t-1时,即波形段地址发生器输出的波形段地址k=t-1,在采样时钟到来且脉冲信号Fseg有效时,产生波形序列合成结束信号Fwave_end,若波形段t-1=ks-1+is-1,则脉冲信号Fseg、脉冲信号Fend同时有效时,产生波形序列合成结束信号Fwave_end;
序列复位模块在波形序列合成结束信号Fwave_end有效时,产生复位信号,将波形段地址发生器的波形段地址k复位为0,大循环地址累加器的大循环地址r复位为0;将波形长度计数器、波形段重复次数计数器、大循环波形段个数计数器、大循环重复次数计数器的值复位为0复位,开始重新生成整个波形序列。
本发明的发明目的是这样实现的:
本发明复杂的波形序列发生器,在现有的波形序列发生器基础上,对波形序列模块进行了改进,在序列参数存储模块中增加了大循环起始段存储器、大循环波形段个数存储器、大循环重复次数存储器,在序列地址发生模块中增加了大循环地址累加器、大循环波形段个数计数器、大循环重复次数计数器用于对波形序列段的重复生成,实现多个波形段各自重复后组成的波形序列段的重复。同时,波形段地址发生器波形段输出的波形段地址在大循环外为累加1的方式更新,在大循环内则以基地址即大循环起始波形段的序号k0+偏移地址即大循环波形段计数器的计数值的方式更新,实现了与现有波形序列发生器的有机结合。
附图说明
图1是本发明波形序列合成的示意图;
图2是本发明复杂的波形序列发生器中波形序列模块原理框图;
图3是本发明中事件跳转示意图;
图4是本发明复杂的波形序列发生器中波形序列一具体实例下的效果图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
首先将波形序列各波形段的波形数据依次存入波形查找表中,然后波形序列模块根据所定义的参数,在时钟信号的同步下产生地址信息,该地址信息可对波形查找表进行寻址操作,读出相应的波形数据,进行数模转换、低通滤波,输出需要的波形序列。
图1是本发明波形序列合成的示意图。
在本实施例中,如图1所示,所述的复杂的波形序列包括t个波形段,分别为波形段0,…,波形段k0,…,波形段k0+i0,…,波形段ks-1,…,波形段ks-1+is-1,…,波形段t-1,其中有s个大循环波形序列段;
所述的序列参数包括:
序列波形段个数t;
大循环个数s,如图1所示,分别为大循环0,…,大循环s-1;
各波形段所包含的数据点数,如图1所示分别为n0,…,…,…,…,…,nt-1;
各波形段的重复次数,如图1所示分别为m0,…,…,…,…,…,mt-1;
各波形段的起始地址,如图1所示分别为l0,…,…,…,…,…,lt-1),该地址为波形查找表的寻址基地址;
各大循环所包含的波形段个数,如图1所示分别为i0,…,is-1;
各大循环的重复次数,如图1所示分别为j0,…,js-1;
各大循环起始波形段的序号,如图1所示分别为k0,…,ks-1。
其中波形段0的波形长度为(n0+1),共循环(m0+1)次,起始地址为l0;以此类推,波形段t-1的波形长度为(nt-1+1),共循环(mt-1+1)次,起始地址为lt-1。大循环0由(i0+1)个波形段构成,共循环(j0+1)次,起始波形段的序号为k0;以此类推,大循环s-1由(is-1+1)个波形段构成,共循环(js-1+1)次,起始波形段的序号为ks-1。
图2是本发明复杂的波形序列发生器中波形序列模块原理框图。
在本实施例中,如图2所示,波形序列模块包括序列参数存储模块1和序列地址发生模块2两部分。
序列参数存储模块1由存储器组成,用于存储波形地址生成所需要的参数,序列参数存储模块包括序列波形段个数存储器101以及RAM存储模块102。
RAM存储模块102中包括波形段长度存储器、波形段重复次数存储器、波形段基地址存储器,由波形段(读)地址k进行访问,得到的序列参数即波形段所包含的数据点数nk、波形段的重复次数mk和波形段的起始地址lk输出到序列地址发生模块2中。
RAM存储模块102中还包括大循环波形段个数存储器、大循环重复次数存储器、大循环起始段存储器,由大循环(读)地址r进行访问,得到的序列参数即大循环所包含的波形段个数ir、大循环的重复次数jr和大循环起始波形段的序号kr输出到序列地址发生模块2中。
此外,在本实施例中,序列参数存储模块1中还包括序列控制参数存储器、事件跳转索引段存储器、大循环事件跳转地址存储器、大循环事件跳转起始段存储器和大循环事件跳转波形段个数存储器。
序列地址发生模块2读取序列参数存储模块中的序列参数,在时钟信号的同步下,产生相应的波形地址。序列地址发生模块2包括波形长度计数器201、波形段重复次数计数器202、大循环波形段个数计数器203、大循环重复次数计数器204、波形段地址发生器205、大循环地址累加器206、等待触发功能模块207、事件跳转使能模块208和序列复位模块209。
波形段长度存储器存储序列中每一个波形段所包含的数据点数nk(0≤k≤t-1);波形长度计数器201初值为0,在每个采样时钟到来时,若长度计数使能,则计数值和波形段长度存储器读出的当前波形段所包含的数据点数nk相比较,如果等于nk,表示当前波形段的数据点数生成完成一次,实际当前波形段长度为(nk+1),波形长度计数器201清零;如果不等于nk,计数值加1。该波形长度计数器201计数到nk的同时将产生一个脉冲信号Fdata,作为波形段重复次数计数器202累加的标志。该波形长度计数器201的计数值还作为寻址波形查找表的偏移地址输出,与当前波形段起始地址lk相加寻址,可得到相应的波形地址。
波形段重复次数存储器存储序列中每一个波形段的重复次数mk(0≤k≤t-1);波形段重复次数计数器202初值为0,在采样时钟到来时,若脉冲信号Fdata有效,则计数值和波形段重复次数存储器读出的当前段波形的重复次数mk相比较,如果等于mk,表示当前波形段重复完成,实际当前波形段共循环(mk+1)次,波形段重复次数计数器清零;如果不等于mk,计数值加1。当前波形段重复完成同时产生一个脉冲信号Fseg,作为序列复位模块209、大循环波形段个数计数器203、大循环重复次数计数器204和波形段地址发生器205的判断标志。
大循环波形段个数存储器存储序列中每一个大循环所包含的波形段个数ir(0≤r≤s-1);大循环波形段个数计数器203初值为0,在采样时钟到来时,若脉冲信号Fseg有效且大循环使能,则计数值和大循环波形段个数存储器读出的当前大循环所包含的波形段个数ir相比较,如果等于ir,表示当前大循环所包含的波形段生成完成一次,实际当前大循环由(ir+1)个波形段构成,大循环波形段个数计数器203清零;如果不等于ir,计数值加1。该计数器计数到ir的同时将产生一个脉冲信号Fseq,作为大循环重复次数计数器204累加的标志。该计数器的计数值还作为当前波形段相对于当前大循环起始波形段的偏移地址输出,大循环有效时,波形段地址由该计数值与当前大循环的起始波形段相加得到,寻址波形段长度存储器、波形段重复次数存储器和波形段基地址存储器,可得到相应波形段的参数即波形段所包含的数据点数nk、波形段的重复次数mk和波形段的起始地址lk输出到序列地址发生模块2中。
大循环重复次数存储器存储序列中每一个大循环的重复次数jr(0≤r≤s-1);大循环重复次数计数器204初值为0,在采样时钟到来时,若脉冲信号Fseg和Fseq均有效,则计数值和大循环重复次数存储器读出的当前大循环的重复次数jr相比较,如果等于jr,表示当前大循环重复完成,实际当前大循环共循环(jr+1)次,大循环重复次数计数器清零;如果不等于jr,计数值加1。当前大循环重复完成同时产生一个脉冲信号Fend并使大循环地址累加器206累加1,输出的大循环地址寻址大循环波形段个数存储器、大循环重复次数存储器和大循环起始段存储器,得到相应大循环的相关参数即大循环所包含的波形段个数ir、大循环的重复次数jr和大循环起始波形段的序号kr输出到序列地址发生模块2中。
大循环起始段存储器存储序列中每一个大循环的起始波形段序号kr(0≤r≤s-1)。波形段地址发生器中的波形段地址初值为0,在采样时钟到来时,若脉冲信号Fseg有效,则判断当前波形段若在大循环内,波形段地址以“基地址+偏移地址”的方式更新,其中基地址为大循环起始段存储器读出的当前大循环的起始波形段序号kr,偏移地址为大循环波形段个数计数器203的计数值;若在大循环外,波形段地址以“1”累加更新。更新后的波形段地址寻址波形段长度存储器、波形段重复次数存储器和波形段基地址存储器,得到新波形段的相关参数,提供给序列地址发生模块2。
序列波形段个数存储器存储序列所包含的波形段个数t(不包括存在大循环时重复的波形段);序列复位模块209在采样时钟到来时判断,若脉冲信号Fseg有效,则当前波形段序号与t-1相比较,如果等于t-1,表示当前波形段为序列最后一个波形段,产生序列合成结束信号Fwave_end,若波形段t-1=ks-1+is-1,最后一个波形段恰好位于大循环内,则脉冲信号Fseg、脉冲信号Fend同时有效时,即同时满足大循环重复完成后,产生序列合成结束信号Fwave_end,整个序列在该波形段生成完成后结束复位。
波形段基地址存储器存储序列中每一个波形段的起始地址lk(0≤k≤t-1);波形序列模块采用“基地址+偏移地址”的方式寻址波形查找表,其中基地址为波形段基地址存储器读出的当前波形段的起始地址lk,偏移地址为波形长度计数器201的计数值。
在本实施例中,序列参数存储模块1中还包括序列控制参数存储器103存储序列中每一个波形段的序列控制参数pk(0≤k≤t-1),扩展实现序列波形段的等待触发、无限重复和事件跳转功能。pk的数据位宽为3位,分别为等待触发使能位、无限重复使能位和事件跳转使能位,序列各波形段均可独立设置任意位使能。
等待触发未使能时,波形长度计数使能信号保持有效,波形长度计数器201正常计数,当前波形段紧接上一波形段生成。等待触发使能时,波形长度计数使能信号在当前波形段起始时无效,在采样时钟到来时,等待触发功能模块207判断触发脉冲信号是否有效。若触发脉冲信号首次有效,说明首个触发信号到来,则置波形长度计数使能信号有效并保持至脉冲信号Fseg产生,即波形长度计数器可正常计数至当前波形段生成结束;若触发脉冲信号始终无效,说明无触发信号到来,则波形长度计数使能信号无效,即波形长度计数器未使能,当前波形段将保持起始状态等待生成。波形段输出过程中新的触发脉冲信号无效。
无限重复未使能时,波形段地址发生器中的波形段地址正常更新。无限重复使能时,在采样时钟到来且脉冲信号Fseg有效时,令波形段地址保持不变,始终寻址得到当前波形段所包含的数据点数、重复次数和起始地址,从而使当前波形段无限重复。当前波形段的有限重复次数可由大循环功能实现。
事件跳转索引段存储器104存储序列中每一个波形段在事件跳转时将跳转到的波形段的序号dk(0≤k≤t-1);大循环事件跳转地址存储器105存储序列中每一个波形段事件跳转后,对应的大循环地址ek(0≤k≤t-1);大循环事件跳转起始段存储器106存储序列中每一个波形段事件跳转后,对应大循环起始波形段的序号fk(0≤k≤t-1);大循环事件跳转波形段个数存储器107存储序列中每一个波形段事件跳转后,对应大循环所包含的波形段个数gk(0≤k≤t-1)。
事件跳转使能时,事件跳转使能模块208中的事件跳转就绪信号在当前波形段起始时无效。在采样时钟到来时,该模块判断事件脉冲信号是否有效,若事件脉冲信号有效且同时波形长度计数使能,说明在当前波形段生成过程中有事件信号产生,则置事件跳转就绪信号有效并保持至脉冲信号Fseg产生,即事件跳转就绪信号保持到当前波形段生成结束。因此可在当前波形段生成结束时进行判断,若事件跳转就绪信号有效,则执行跳转,当前波形段地址更新为事件跳转索引段存储器104读出的值dk,当前大循环地址更新为大循环事件跳转地址存储器105读出的值ek,当前大循环起始波形段的序号更新为大循环事件跳转起始段存储器106读出的值fk,当前大循环所包含的波形段个数更新为大循环事件跳转波形段个数存储器107读出的值gk,开始波形段dk的生成;若事件跳转就绪信号无效,说明无事件信号产生,不执行跳转,正常生成后续波形段。
根据上述原理,本发明的具体步骤叙述如下:
1)、将数据n0、n1、…、nt-1分别存入波形段长度存储器的0、1、…、t-1地址;以此类推,m0、m1、…、mt-1依次存入波形段重复次数存储器;l0、l1、…、lt-1依次存入波形段基地址存储器;k0、k1、…、ks-1依次存入大循环起始段存储器;i0、i1、…、is-1依次存入大循环波形段个数存储器;j0、j1、…、js-1依次存入大循环重复次数存储器;p0、p1、…、pt-1依次存入序列控制参数存储器;d0、d1、…、dt-1依次存入事件跳转索引段存储器;e0、e1、…、et-1依次存入大循环事件跳转地址存储器;f0、f1、…、ft-1依次存入大循环事件跳转起始段存储器;g0、g1、…、gt-1依次存入大循环事件跳转波形段个数存储器;将数据t存入序列波形段个数存储器。此时波形序列模块初始化,序列初始时波形段地址为0,大循环地址为0。大循环0的起始波形段序号为k0,所包含的波形段个数为i0,重复次数为j0。
2)、开始波形段0的产生,此时在时钟信号的驱使下,将存储在波形段长度存储器、波形段重复次数存储器和波形段基地址存储器中0地址的数据读出,分别是n0、m0和l0。波形长度计数器的初值为0,采样时钟每到来一次,若长度计数使能,计数值就累加1。计数值作为偏移地址与波形段0的基地址l0相加寻址波形查找表。
3)、如果波形长度计数器累加结果小于n0,则继续累加。这个过程中波形段基地址保持不变,仍指向当前段的首地址l0。
4)、当波形长度计数器的累加值等于n0的同时产生脉冲信号Fdata,并且在下一个采样时钟到来时,该计数器清零,脉冲信号Fdata有效使波形段重复次数计数器累加1,波形段基地址不变(仍为l0)。此时完成一次波形段的生成,开始新的一次波形段重复。
5)、当波形段重复次数等于m0时,在采样时钟到来且脉冲信号Fdata有效时,重复次数计数器产生脉冲信号Fseg,标志着波形段0的重复次数m0已完成,即波形段0生成完成,波形段实际共循环m0+1次(从第0次开始计数)。在采样时钟到来且脉冲信号Fseg有效时,当前波形段序号0与大循环0起始波形段序号k0相比较,当前波形段序号0小于k0-1,说明大循环还未使能,则波形段地址累加至1,将存储在波形段长度存储器、波形段重复次数存储器和波形段基地址存储器中1地址的数据同时读出,分别是n1、m1和l1,开始波形段1的生成。
6)、当序列生成至波形段k0-1时,在采样时钟到来且脉冲信号Fseg有效时进行判断,当前波形段序号等于k0-1,说明下一波形段将进入大循环,则波形段地址以“基地址(大循环起始波形段的序号k0)+偏移地址(大循环波形段计数器的计数值,大循环使能时,在各波形段生成结束时以步进1计数)”方式进行更新,当前大循环0的起始波形段序号为k0,大循环波形段计数器初值为0,因此开始生成波形段k0。
7)、当序列生成至波形段k0+i0时,大循环波形段计数器的计数值等于当前大循环0的波形段个数i0,在采样时钟到来且脉冲信号Fseg有效时,大循环波形段计数器清零,同时产生脉冲信号Fseq,使大循环重复次数计数器累加1,大循环起始波形段序号不变(仍为k0)。此时完成一次大循环波形段的生成,开始新的一次大循环重复。
8)、当大循环重复次数等于j0时,则在采样时钟到来时若脉冲信号Fseg和Fseq均有效,即当前大循环0的最后一个波形段k0+i0生成完成时,大循环重复次数计数器产生脉冲信号Fend,表示当前大循环重复完成,实际当前大循环共循环j0+1次,大循环重复次数计数器清零并使大循环地址累加至1,将存储在大循环波形段个数存储器、大循环重复次数存储器和大循环起始段存储器中1地址的数据同时读出,分别是i1、j1和k1,序列生成至波形段k1时重新使能大循环。波形段地址则重新开始以1累加,将存储在波形段长度存储器、波形段重复次数存储器和波形段基地址存储器中k0+i0+1地址的数据同时读出,开始波形段k0+i0+1的生成。
9)、当序列生成至波形段t-1时,在采样时钟到来且脉冲信号Fseg有效时,产生序列合成结束信号Fwave_end(若波形段t-1恰好位于大循环内,则必须同时满足大循环重复完成),序列在波形段t-1生成完成后结束,复位初始化后开始重新生成整个序列。
考虑到序列波形控制功能,则在序列任一波形段k起始时还应判断相应的pk(0≤k≤t-1)(等待触发、无限重复和事件跳转)是否使能,若均未使能,则按上述步骤正常生成序列。
若等待触发使能,波形长度计数使能信号初始无效,波形长度计数器保持初值为0。在采样时钟到来时,若触发脉冲信号首次有效,则置波形长度计数使能信号有效并保持至脉冲信号Fseg产生,即开始当前波形段k的生成,且输出过程中新的触发脉冲信号无效。
若无限重复使能,在当前波形段k生成结束时波形段地址k始终保持不变,寻址得到波形段k所包含的数据点数nk、重复次数mk和起始地址lk,继续波形段k的生成。
若事件跳转使能,当前波形段地址k读取事件跳转索引段存储器、大循环事件跳转地址存储器、大循环事件跳转起始段存储器和大循环事件跳转波形段个数存储器,得到的数据分别为dk、ek、fk和gk。在当前波形段k生成结束时若事件跳转就绪信号有效,则将开始波形段dk的生成,且波形段dk位于大循环ek中,该大循环起始波形段序号为fk,所包含的波形段个数为gk,如图3所示。
本发明可实现序列任意方式的波形组合,并实现序列控制(等待触发、无限重复和事件跳转)功能,可以方便地生成所需要的测试序列。
本发明可更改配置总线(地址、数据)的位宽,以适应对位宽有不同要求的系统。假设输入数据总线位宽为DATAWIDTH,输入地址总线位宽为ADDRWIDTH,波形段长度存储器和波形段基地址存储器的数据位宽为DWIDTH,序列参数存储模块所有RAM的地址位宽和序列波形段个数存储器的数据位宽为DWIDTH_NUM,波形段重复次数存储器和大循环重复次数存储器的数据位宽为DWIDTH_REPT。则各波形段所包含的最大数据点数为2DWIDTH,各波形段和各大循环的最大重复次数均为2DWIDTH_REPT,序列所包含最大波形段的个数(不包括存在大循环时重复的波形段)为2DWIDTH_NUM,序列参数存储模块内RAM的最大存储深度为2DWIDTH_NUM。因此若使用可编程逻辑器件(FPGA)的片内RAM存储波形序列参数,消耗的存储位数(Memory bits)为:
2DWIDTH_NUM×(2×DWIDTH+2×DWIDTH_REPT+6×DWIDTH_NUM+3)
因此应注意FPGA片内存储器资源的使用。由于本发明对时序要求比较严格,所以推荐使用高性能的可编程逻辑器件(FPGA)作为载体,保证每一个时钟周期采到的数据点准确可靠。同时建议选用高速、高性能的ARM嵌入式处理器。
使用本方法的一个应用实例如下所述:
开始序列地址生成前首先要设定序列参数,且在波形查找表中每个波形段各只写入一次完整的波形数据。例如一个序列包括生成4次正弦波、3次方波和2次锯齿波,其波形长度分别是100、200和300,方波和三角波构成1个大循环,循环2次。则初始化时把数据“2”存入序列波形段个数存储器,数据“99”、“199”、“299”分别存入波形段长度存储器的0、1、2地址,数据“3”、“2”、“1”分别存入波形段重复次数存储器的0、1、2地址,数据“0”、“100”、“300”(由驱动程序得到,无需输入)分别存入波形段基地址存储器的0、1、2地址,数据“1”存入大循环起始段存储器的0地址,数据“1”存入大循环波形段个数存储器的0地址,数据“1”存入大循环重复次数存储器的0地址。而波形查找表中的波形数据为描述一个波形长度为100的正弦波、一个波形长度为200的方波和一个波形长度为300的锯齿波,一共存储了600个波形数据点,相比未使用序列波形时节省了2200个数据点的查找表容量。
100×4+(200×3+300×2)×2-600=2200
波形查找表存储完波形数据后,使能波形序列模块。在采样时钟的同步下,波形序列模块开始输出寻址地址。若波形段0表示正弦波,波形段1表示方波,波形段2表示锯齿波,则序列合成至波形段2(锯齿波)后复位,由于波形段2(锯齿波)在大循环内,则须在同时满足大循环完成时序列才复位:
1)波形段0(正弦波)包含的数据点数为99(波形长度为100),重复次数为3(共循环4次),波形段起始地址为0;
2)波形段1(方波)包含的数据点数为199(波形长度为200),重复次数为2(共循环3次),波形段起始地址为100;
3)波形段2(锯齿波)包含的数据点数为299(波形长度为300),重复次数为1(共循环2次),波形段起始地址为300(大循环未完成,序列继续生成);
4)重复波形段1(方波)包含的数据点数为199(波形长度为200),重复次数为2(共循环3次),波形段起始地址为100;
5)重复波形段2(锯齿波)包含的数据点数为299(波形长度为300),重复次数为1(共循环2次),波形段起始地址为300(大循环完成,序列结束复位)。
其中存在1个大循环,从波形段1(方波)起始,包含的波形段个数为1(2个波形段),重复次数为1(共循环2次)。
在本实施例中,若仅波形段0(正弦波)等待触发使能,则当外部无触发脉冲信号输入时,模块等待地址输出;当有触发脉冲信号输入时,则开始波形段0(正弦波)生成并按实施例步骤1~5执行。若波形段1(方波)无限重复和事件跳转同时使能,且初始化时把数据“0”存入事件跳转索引段存储器的1地址,数据“0”(由驱动程序得到,无需输入)存入大循环事件跳转地址存储器的1地址,数据“1”(由驱动程序得到,无需输入)存入大循环事件跳转起始段存储器的1地址,数据“1”(由驱动程序得到,无需输入)存入大循环事件跳转波形段个数存储器的1地址,则当外部无事件脉冲信号输入时,序列生成至波形段1(方波)后无限重复波形段1(方波),直至有事件脉冲信号输入时,在事件脉冲信号输入当前段生成结束后,序列开始生成波形段0(正弦波),并按实施例步骤1~2生成至波形段1(方波)后又开始无限重复并等待事件信号。
本实施例中,构成波形序列模块的序列参数存储模块和序列地址发生模块均可集成在一款高性能的可编程逻辑器件(FPGA)中。试验生成的序列波形如图4所示。可见本发明结果准确,能很好地解决序列产生与控制的问题。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (2)
1.一种复杂的波形序列发生器,包括波形查找表、数模转换器、低通滤波器以及波形序列模块,波形序列各波形段的波形数据依次存入波形查找表中,波形序列模块根据所定义的序列参数,在时钟信号的同步下产生波形地址信息,对波形查找表进行寻址操作,读出相应的波形数据,输出到数模转换器中进行数模转换,转换输出的模拟信号送入低通滤波器中进行低通滤波,得到需要的复杂的波形序列;
其特征在于,所述的波形序列模块包括:
一序列参数存储模块,由存储器组成,用于存储波形地址生成所需要的参数,包括序列波形段个数存储器、波形段长度存储器、波形段重复次数存储器、波形段基地址存储器、大循环起始段存储器、大循环波形段个数存储器、大循环重复次数存储器;
所述的复杂的波形序列包括t个波形段,分别为波形段0,…,波形段k0,…,波形段k0+i0,…,波形段ks-1,…,波形段ks-1+is-1,…,波形段t-1,其中有s个大循环波形序列段;
所述的序列参数包括:
序列波形段个数t,存入序列波形段个数存储器中;
各波形段所包含的数据点数 分别存入波形段长度存储器的0、1、…、t-1地址;
各波形段的重复次数 分别存入波形段重复次数存储器的0、1、…、t-1地址;
各波形段的起始地址分别存入波形段基地址存储器的0、1、…、t-1地址;
各大循环起始波形段的序号k0,…,ks-1分别存入大循环起始段存储器的0、1、…、s-1地址;
各大循环所包含的波形段个数i0,…,is-1分别存入大循环波形段个数存储器的0、1、…、s-1地址;
各大循环的重复次数为j0,…,js-1分别存入大循环重复次数存储器的0、1、…、s-1地址;
一序列地址发生模块,序列地址发生模块读取序列参数存储模块中的序列参数,在时钟信号的同步下,产生相应的波形地址,包括波形段地址发生器、大循环地址累加器、波形长度计数器、波形段重复次数计数器、大循环波形段个数计数器、大循环重复次数计数器、序列复位模块;
波形段k,0≤k≤t-1的生成过程是:波形段地址发生器输出的波形段地址k,将存储在波形段长度存储器、波形段重复次数存储器和波形段基地址存储器中地址k的数据读出,分别是nk、mk和lk;
采样时钟每到来一次,波形长度计数器计数值作为偏移地址与波形段k的基地址lk相加产生地址信息,寻址波形查找表,输出波形地址信息,同时,波形长度计数器计数值就累加1,当波形长度计数器的累加值等于nk的同时产生脉冲信号Fdata,并且在下一个采样时钟到来时,波形长度计数器清零,脉冲信号Fdata使波形段重复次数计数器累加1,当波形段重复次数等于mk时,在采样时钟到来且脉冲信号Fdata有效时,重复次数计数器产生脉冲信号Fseg,标志着波形段k的重复次数mk已完成,即波形段k生成完成,波形段实际长度为nk+1,共循环mk+1次;
(1)、波形序列模块上电,在外部复位信号控制下,将波形段地址发生器的波形段地址k复位为0,大循环地址累加器的大循环地址r复位为0;将波形长度计数器、波形段重复次数计数器、大循环波形段个数计数器、大循环重复次数计数器的值复位为0;
根据大循环地址累加器输出的大循环地址r,此时r=0,将存储大循环起始段存储器、大循环波形段个数存储器、大循环重复次数存储器中0大循环地址的数据读出,分别是k0、i0和j0;
读取序列波形段个数存储器中序列波形段个数t;
(2)、在采样时钟控制下,根据波形段地址发生器输出的波形段地址k,此时k=0,生成波形段k即波形段0;
在采样时钟到来且脉冲信号Fseg有效时,当前波形段k与大循环起始波形段序号k0相比较:
如果当前波形段k小于k0-1,说明大循环还未使能,则波形段地址发生器的 波形段地址k累加至1,在采样时钟控制下,根据波形段地址发生器输出的波形段地址k,k=1,生成波形段k即波形段1;然后,波形段地址发生器的波形段地址k累加至2,在采样时钟控制下,根据波形段地址发生器输出的波形段地址k,k=2,生成波形段k即波形段2,依次类推,直到当前波形段k等于k0-1,说明下一波形段将进入大循环,则波形段地址发生器的波形段地址k以“基地址即大循环起始波形段的序号k0+偏移地址即大循环波形段计数器的计数值”的方式更新,更新后在采样时钟控制下,根据波形段地址发生器输出的波形段地址k,依次生成波形段k,即生成波形段k0、波形段k0+1,直到波形序列生成至波形段k0+i0时,大循环波形段计数器的计数值等于当前大循环0的波形段个数i0,在采样时钟到来且脉冲信号Fseg有效时,大循环波形段计数器清零,同时产生脉冲信号Fseq,使大循环重复次数计数器累加1,大循环起始波形段不变,仍为k0,此时完成一次大循环波形段的生成,开始新的一次大循环重复;当大循环重复次数等于j0时,则在采样时钟到来时若脉冲信号Fseg和Fseq均有效,即当前大循环0的最后一个波形段k0+i0生成完成时,大循环重复次数计数器产生脉冲信号Fend,表示当前大循环重复完成,实际当前大循环由i0+1个波形段构成,共循环j0+1次,大循环重复次数计数器清零,并使大循环地址累加器的大循环地址r累加至1,将存储在大循环波形段个数存储器、大循环重复次数存储器和大循环起始段存储器中1大循环地址的数据同时读出,分别是i1、j1和k1;波形段地址发生器输出的波形段地址k则重新开始以1累加,将存储在波形段长度存储器、波形段重复次数存储器和波形段基地址存储器中k0+i0+1地址的数据同时读出,开始波形段k0+i0+1的生成,直到波形序列生成至波形段k1时重新使能大循环,依次类推,当波形序列生成至波形段t-1时,即波形段地址发生器输出的波形段地址k=t-1,在采样时钟到来且脉冲信号Fseg有效时,产生波形序列合成结束信号Fwave_end,若波形段t-1=ks-1+is-1,则脉冲信号Fseg、脉冲信号Fend同时有效时,产生波形序列合成结束信号Fwave_end;
序列复位模块在波形序列合成结束信号Fwave_end有效时,产生复位信号,将波形段地址发生器的波形段地址k复位为0,大循环地址累加器的大循环地址r复位为0;将波形长度计数器、波形段重复次数计数器、大循环波形段个数计数器、大循环重复次数计数器的值复位为0复位,开始重新生成整个波形序列。
2.根据权利要求1所述的波形序列发生器,其特征在于,所述的序列参数存储模块还包括序列控制参数存储器、事件跳转索引段存储器、大循环事件跳转地址存储器、大循环事件跳转起始段存储器以及大循环事件跳转波形段个数存储器;
序列控制参数存储器,用于存储序列中每一个波形段的序列控制参数pk,0≤k≤t-1,扩展实现序列波形段的等待触发、无限重复和事件跳转功能;pk的数据位宽为3位,分别为等待触发使能位、无限重复使能位和事件跳转使能位,序列各波形段均可独立设置任意位使能;
序列地址发生模块还包括等待触发功能模块、事件跳转使能模块;
等待触发未使能时,波形长度计数使能信号保持有效,波形长度计数器正常计数,当前波形段紧接上一波形段生成;等待触发使能时,波形长度计数使能信号在当前波形段起始时无效,在采样时钟到来时,等待触发功能模块判断触发脉冲信号是否有效;若触发脉冲信号首次有效,说明首个触发信号到来,则置波形长度计数使能信号有效并保持至脉冲信号Fseg产生,即波形长度计数器可正常计数至当前波形段生成结束;若触发脉冲信号始终无效,说明无触发信号到来,则波形长度计数使能信号无效,即波形长度计数器未使能,当前波形段将保持起始状态等待生成;波形段输出过程中新的触发脉冲信号无效;
无限重复未使能时,波形段地址发生器中的波形段地址正常更新;无限重复使能时,在采样时钟到来且脉冲信号Fseg有效时,令波形段地址保持不变,始终寻址得到当前波形段所包含的数据点数、重复次数和起始地址,从而使当前波形段无限重复;
事件跳转索引段存储器存储序列中每一个波形段在事件跳转时将跳转到的波形段的序号dk,0≤k≤t-1;大循环事件跳转地址存储器存储序列中每一个波形段事件跳转后,对应的大循环地址ek,0≤k≤t-1;大循环事件跳转起始段存储器存储序列中每一个波形段事件跳转后,对应大循环起始波形段的序号fk,0≤k≤t-1;大循环事件跳转波形段个数存储器存储序列中每一个波形段事件跳转后,对应大循环所包含的波形段个数gk,0≤k≤t-1;
事件跳转使能时,事件跳转使能模块中的事件跳转就绪信号在当前波形段起始时无效;在采样时钟到来时,该模块判断事件脉冲信号是否有效,若事件脉冲信号有效且同时波形长度计数使能,说明在当前波形段生成过程中有事件信号产生,则置事件跳转就绪信号有效并保持至脉冲信号Fseg产生,即事件跳转就绪信号保持到当前波形段生成结束;因此可在当前波形段生成结束时进行判断,若事件跳转就绪信号有效,则执行跳转,当前波形段地址更新为事件跳转索引段存储器读出的值dk,当前大循环地址更新为大循环事件跳转地址存储器读出的值ek,当前大循环起始波形段的序号更新为大循环事件跳转起始段存储器读出的值fk,当前大循环所包含的波形段个数更新为大循环事件跳转波形段个数存储器读出的值gk,开始波形段dk的生成;若事件跳转就绪信号无效,说明无事件信号产生,不执行跳转,正常生成后续波形段。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210265942.3A CN102788891B (zh) | 2012-07-30 | 2012-07-30 | 一种复杂的波形序列发生器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210265942.3A CN102788891B (zh) | 2012-07-30 | 2012-07-30 | 一种复杂的波形序列发生器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102788891A CN102788891A (zh) | 2012-11-21 |
CN102788891B true CN102788891B (zh) | 2014-08-13 |
Family
ID=47154348
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210265942.3A Expired - Fee Related CN102788891B (zh) | 2012-07-30 | 2012-07-30 | 一种复杂的波形序列发生器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102788891B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103762493B (zh) * | 2014-01-09 | 2017-04-19 | 大族激光科技产业集团股份有限公司 | 二氧化碳激光装置及其脉冲发生器 |
CN107181564B (zh) * | 2017-04-11 | 2019-12-20 | 深圳航天科技创新研究院 | 一种基于查找表的信号合成方法及装置 |
CN107172781B (zh) * | 2017-06-12 | 2019-09-20 | 广东奥普特科技股份有限公司 | 视觉光源控制器可编程频闪模式的控制系统及实现方法 |
CN107368144B (zh) * | 2017-07-18 | 2020-02-07 | 中国科学技术大学 | 一种任意波形发生器及波形播放方法 |
CN107422780B (zh) * | 2017-08-08 | 2020-01-17 | 电子科技大学 | 一种基于指令架构的任意波形发生器 |
CN108872902B (zh) * | 2018-06-29 | 2021-05-28 | 上海东软医疗科技有限公司 | 波形输出方法和装置 |
CN109462385B (zh) * | 2018-10-26 | 2021-01-19 | 西安交通大学 | 一种高压脉冲参数编译的装置和方法 |
CN111077354B (zh) * | 2019-12-23 | 2022-02-25 | 中电科思仪科技(安徽)有限公司 | 一种基于fpga产生用户自定义波形的装置及方法 |
CN113687613B (zh) * | 2021-08-16 | 2023-04-11 | 深圳市安瑞国医科技有限公司 | 一种可任意调节参数的组合波形产生方法 |
CN117631752B (zh) * | 2024-01-25 | 2024-05-07 | 深圳市鼎阳科技股份有限公司 | 波形序列的创建方法、显示方法及波形序列发生器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710136A (zh) * | 2009-11-26 | 2010-05-19 | 电子科技大学 | 一种序列波形发生器 |
CN101807089A (zh) * | 2010-04-02 | 2010-08-18 | 广西大学 | 输出信号偏移量任意可调的波形信号发生器 |
CN102520760A (zh) * | 2011-12-20 | 2012-06-27 | 北京航天测控技术有限公司 | 一种用于任意波形产生系统的处理器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6957239B2 (en) * | 2001-11-30 | 2005-10-18 | National Instruments Corporation | System and method for generating waveforms using waveform segment queues |
US7804927B2 (en) * | 2004-12-16 | 2010-09-28 | Analog Devices, Inc. | Method for locking a synthesised output signal of a synthesised waveform synthesiser in a phase relationship with an input signal, and a digital waveform synthesiser for producing a synthesised output signal in a phase relationship with an input signal |
US7714623B2 (en) * | 2008-04-09 | 2010-05-11 | Ut-Battelle, Llc | Agile high resolution arbitrary waveform generator with jitterless frequency stepping |
-
2012
- 2012-07-30 CN CN201210265942.3A patent/CN102788891B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101710136A (zh) * | 2009-11-26 | 2010-05-19 | 电子科技大学 | 一种序列波形发生器 |
CN101807089A (zh) * | 2010-04-02 | 2010-08-18 | 广西大学 | 输出信号偏移量任意可调的波形信号发生器 |
CN102520760A (zh) * | 2011-12-20 | 2012-06-27 | 北京航天测控技术有限公司 | 一种用于任意波形产生系统的处理器 |
Non-Patent Citations (2)
Title |
---|
双RAM直接数字合成任意波形发生器微机插卡研制;左磊等;《清华大学学报》;19990210;第39卷(第2期);第90-93、97页 * |
左磊等.双RAM直接数字合成任意波形发生器微机插卡研制.《清华大学学报》.1999,第39卷(第2期),第90-93、97页. |
Also Published As
Publication number | Publication date |
---|---|
CN102788891A (zh) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102788891B (zh) | 一种复杂的波形序列发生器 | |
CN101710136B (zh) | 一种序列波形发生器 | |
CN1207720C (zh) | 半导体存储装置 | |
CN107589410B (zh) | 一种无断点多目标信号合成方法 | |
CN100566162C (zh) | 脉冲宽度调制电路 | |
CN1232031C (zh) | 基于fpga的高精度任意波形发生器 | |
CN103870238B (zh) | 基于fpga的伪随机序列发生器及其生成方法 | |
CN103488244A (zh) | 一种任意波形发生系统及方法 | |
CN103944537A (zh) | 变时钟dds任意波形信号源控制输出频率的方法及实现装置 | |
CN110442185A (zh) | 一种波形序列发生器 | |
EP0760514B1 (en) | Analog to digital converter, decimation and storage system | |
CN206498391U (zh) | 多路dds信号发生器 | |
CN109683086A (zh) | 一种量子比特控制信号生成方法 | |
CN103178843A (zh) | 一种具有扫频功能的信号源及其生成方法 | |
CN101917204B (zh) | 扫频接收机的扫描控制参数的计算与数字控制方法 | |
CN103869123A (zh) | 一种具有脉宽测量功能的示波器 | |
CN109104171A (zh) | 一种pwm波形发生器 | |
CN101682332A (zh) | 具有逐次逼近模数转换器的电路 | |
CN105680800A (zh) | 一种具有扫频功能的信号发生器 | |
CN106443115A (zh) | 一种基于深度存储的示波器 | |
CN103490783A (zh) | 一种将模拟信号转换为数字信息的方法 | |
CN103105514A (zh) | 一种具有全数字计频功能的示波器 | |
CN110082593A (zh) | 一种相位测量方法及相位测量装置 | |
CN104734673B (zh) | 猝发参数可变的信号发生器和循环数可变的猝发信号发生器 | |
CN207283530U (zh) | 链路信号模拟装置及系统 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140813 Termination date: 20170730 |
|
CF01 | Termination of patent right due to non-payment of annual fee |