CN104506166B - 无序脉冲发生电路 - Google Patents
无序脉冲发生电路 Download PDFInfo
- Publication number
- CN104506166B CN104506166B CN201410687664.XA CN201410687664A CN104506166B CN 104506166 B CN104506166 B CN 104506166B CN 201410687664 A CN201410687664 A CN 201410687664A CN 104506166 B CN104506166 B CN 104506166B
- Authority
- CN
- China
- Prior art keywords
- circuit
- random number
- count value
- pulse
- random
- 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
Abstract
本发明公开了一种无序脉冲发生电路,包括随机数获取模块、计数值转换模块和脉冲产生模块,其中:随机数获取模块,包括第一时序控制状态机,以及均与该第一时序控制状态机连接的第一除法电路、加法电路和数据存储电路,用于获取随机数;计数值转换模块,包括输出脉冲状态识别电路、第二除法电路和第二时序控制状态机,计算随机周期的计数值和随机有效电平的计数值;脉冲产生模块,根据所述随机周期的计数值和所述随机有效电平的计数值产生无序脉冲。本发明通过纯硬件电路产生无序脉冲,直接将系统时钟频率提高,即可获得较高的无序脉冲频率输出。
Description
技术领域
本发明涉及无序脉冲的产生,尤其涉及一种通过硬件电路产生无序脉冲的无序脉冲发生电路。
背景技术
在激光加工中当需要激光光斑无序排列和能量不均匀化时,需用到无序脉冲发生器用于控制激光脉冲输出间隔和出光时间无序化以实现上述目标。所以要求该无序脉冲发生器具有使输出每个脉冲的频率、占空比均能无序变化的功能。目前很多专利和文献谈到了很多产生随机数的方法,如CN201410112133和CN201420183585等。而要实现上述功能,则大部分采用具有类似微控制器结构的控制芯片,通过编写程序,实时调整脉冲输出寄存器中的周期值和比较值来实现。如,利用对实时时钟的采集获得当前随机数通过编程软件处理获得对应波动区域的周期值和比较值送入PWM部件单元以获得无序脉冲。
目前所采用的方法,因主要利用软件获取随机数,再计算对应实际可用计数值,所耗用的时间较长,对应输出脉冲频率在50KHz或更高频率以上时无法实现每个脉冲的实时调整,且由于采用微控制器结构芯片,所以每个脉冲计数值的重新幅值,需要在定时器中断中完成,这样也导致了控制精度的误差出现。
发明内容
本发明要解决的技术问题在于针对现有技术中软件计算耗时和控制精度不高的缺陷,提供一种纯硬件的解决方法,从而获得在较高脉冲频率下依然能实时改变每个脉冲的周期和占空比的功能,且具有很高的控制精度,完全满足在高频下激光脉冲无序化要求的无序脉冲发生电路。
本发明解决其技术问题所采用的技术方案是:
提供一种无序脉冲发生电路,包括随机数获取模块、计数值转换模块和脉冲产生模块,其中:
随机数获取模块,包括第一时序控制状态机,以及均与该第一时序控制状态机连接的第一除法电路、加法电路和数据存储电路;其中,数据存储电路用于存储LagFibonaicc法产生随机数的基数,第一时序状态控制机每次读取数据存储电路中的两个数据,并送入加法电路中进行加法计算,加法电路将计算结果送入第一除法电路,进行除法计算获取余数;
计数值转换模块,包括输出脉冲状态识别电路、第二除法电路和第二时序控制状态机,所述脉冲状态识别电路对脉冲产生模块输出的脉冲进行计数识别当前脉冲输出状态,根据该当前脉冲输出状态将所述随机数获取模块得到的随机数映射到预设的数值区域,并通过第二除法电路计算随机周期的计数值和随机有效电平的计数值;
脉冲产生模块,根据所述随机周期的计数值和所述随机有效电平的计数值产生无序脉冲。
本发明所述的无序脉冲发生电路中,所述脉冲产生模块包括计时器和比较器电路、第三时序控制状态机,该第三时序控制状态机在每个脉冲开始计数时将所述随机周期的计算值和所述随机有效电平的计数值送入所述计时器和比较器电路的周期计数寄存器、比较寄存器,以获得无序脉冲输出。
本发明所述的无序脉冲发生电路中,该无序脉冲发生电路还包括随机数缓冲模块,连接在随机数获取模块和计数值转换模块之间,用于缓冲和存储随机数。
本发明所述的无序脉冲发生电路中,所述数据存储电路、随机数缓冲模块为FIFO电路或者双口RAM。
本发明所述的无序脉冲发生电路中,在送出随机数后,第一时序状态控制机调整下次需要从数据存储电路中读取数据的地址值。
本发明所述的无序脉冲发生电路中,所述第一除法电路计算得到余数后,将该余数替换数据存储电路中所读取的数据。
本发明产生的有益效果是:本发明通过纯硬件电路产生无序脉冲,直接将系统时钟频率提高,即可获得较高的无序脉冲频率输出(可达500KHz以上),由于是纯硬件电路,可以实现误差精度<1个系统时钟周期,在输出频率为500KHz以下时该误差完全可忽略不计。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明实施例无序脉冲发生电路的硬件电路整体结构示意图;
图2是本发明实施例随机数获取模块电路结构示意图;
图3是本发明实施例计数值转换模块的结构示意图;
图4是本发明实施例脉冲产生模块的结构示意图;
图5是本发明实施例中输出的脉冲序列为两种脉冲的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
图1是本发明实施例的硬件电路整体结构示意图,其实现可以是采用硬件描述语言也可是具体的数字电路。其中1是随机数获取模块,2是随机数缓冲模块,3是计数值转换模块,4是脉冲产生模块。需要说明的是其中随机数缓冲模块2可以是采用FIFO电路(同步或异步)也可是双口RAM等其它具有暂存数据功能的电路形式,对于低频脉冲,随机数缓冲模块2甚至可以取消。
图2是本发明实施例的32位随机数获取模块的示意图。图中,数据存储模块5用于存储Lag Fibonaicc法产生随机数的基数,6是32位硬件加法电路,7是48位硬件除法电路,8是整体的时序控制状态机。随机数获取模块的随机数的获取动作流程是按照LagFibonaicc法,时序控制状态机8控制读取数据存储模块5中满足要求的两个地址中的数据,送入加法电路6中完成加法计算然后送入除法电路7中进行除法计算获取余数,然后将该余数替换从数据存储模块5中读取数据中的一个数,以便用于后续随机数的产生。并同时送出该余数作为随机数,供其他电路模块使用。同步调整下次需要从数据存储模块5中读取数据的地址值。
需要说明的是:图2只是给出了32位随机数获取模块的结构图,其它位数随机数获取也可通过类似该结构和动作流程获得,只是需要修改数据位宽即可;数据存储模块5可以使双口RAM,也可以是FIFO或其它具有数据读取存储功能的电路,该电路的储存数据位宽和数据个数可以进行相应调整,其初始值可以是通过计算输入赋值也可以是事先计算好直接作为初值方式写入数据存储模块5中;加法电路6中可以是其它位数的硬件加法电路,其位数大小受获取随机数数据大小相关,可以联动调整,同理除法电路7中的位数只要高于随机数位数即可。
图3是对应随机数的计数值转换模块示意图。图中脉冲状态识别电路9主要用于产生类似乒乓节奏时序。因为一个脉冲的产生,其计数周期值和有效电平计数值一定是在脉冲前产生的,所以该脉冲状态识别电路9主要是识别当前脉冲有效输出的情况下,发生时序以产生下一个脉冲所需的计数参数,可为两种状态,也可以是三种状态或多种状态。本发明中脉冲产生模块输出的是一串脉冲。计数值转换模块主要用于在输出当前脉冲的情况下计算出下一个脉冲产生所需参数,也就是说当前脉冲的周期时间为计算下一个脉冲参数所用时间的最大极限。若要输出脉冲的频率很快,则该计算时间就会很短,则需要划分的状态就可能会多于两种以增加计算时间。
输出脉冲状态识别电路9是通过对输出脉冲计数获取当前输出脉冲状态,如图5所示,本例中是列举成两种状态,即将脉冲分为A脉冲和随后的B脉冲,则输出的脉冲序列即为ABABAB……通过这样脉冲状态划分后,可以在输出A脉冲时,计算将要输出B脉冲的相关参数值,在输出B脉冲时,计算将要输出A脉冲的相关参数值。若分成更多状态其功能以此类推。
除法电路10是用来将随机数映射到具体数值区域的32位硬件除法电路以计算有效随机计数值。因为随机数是32位的数据(这个数据值很大),而需要实现的脉冲周期和随机有效电平值是在某个范围内的(小于随机数据值),所以需要将随机数据进行相应求余数的方法使产生的数值落在所需要的范围内,所以需要进行数值区域的映射。该具体数值区域是预先设定的。该模块的转换动作流程是时序控制状态机11通过接受输出脉冲状态识别电路9中不同状态指导除法电路10计算得到下一个脉冲所需要的在具体数值区域的随机周期计数值和随机有效电平计数值。比如得到的随机数是6542755,而所需要计数的范围是1000~2000(对应的频率为10Khz~20Khz),则利用随机数/1000的结果取余数即为755,将该余数加1000得到最终落在该区域的映射数值1000+755=1755。
需要说明的是输出脉冲状态识别电路9中的状态可以是多种,除法电路10中的位数跟随随机数的位宽可以变化的。
图4是脉冲产生模块的示意图,图中12是32位的计数器和比较器电路,13是时序控制状态机。脉冲产生动作流程是通过时序控制状态机13将图3中的随机周期的计算值和随机有效电平的计数值在每个脉冲开始计数时送入计数器和比较器电路12中的周期计数寄存器和比较寄存器以获得无序脉冲输出。其工作过程为:如果计数器和比较器电路12中有一个计数器从1开始计数,此时输出电平为有效电平输出。计数器在系统时钟的每个脉冲到来时计数值增加1。当计数器中的计数值等于设置在比较寄存器中的数值时,输出电平翻转为无效电平输出。当计数值等于周期计数寄存器中的数值时,表明一个输出脉冲周期结束。此时更新周期计数寄存器和比较寄存器中的数值,同时计数器的值归1,重新开始计数和新脉冲的产生。
需要说明的是,因为举例为32位分辨率的脉冲输出,当脉冲分辨率变化则相应计数器和比较器电路12中的位宽要相应调整。
本发明可以通过可编程逻辑器件实现,如FPGA实现。
本发明通过纯硬件电路产生无序脉冲,直接将系统时钟频率提高,即可获得较高的无序脉冲频率输出(可达500KHz以上),由于是纯硬件电路,可以实现误差精度<1个系统时钟周期,在输出频率为500KHz以下时该误差完全可忽略不计。
应当理解的是,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
Claims (5)
1.一种无序脉冲发生电路,其特征在于,包括随机数获取模块、计数值转换模块和脉冲产生模块,其中:
随机数获取模块,包括第一时序控制状态机,以及均与该第一时序控制状态机连接的第一除法电路、加法电路和数据存储电路;其中,数据存储电路用于存储Lag Fibonacci法产生随机数的基数,第一时序状态控制机每次读取数据存储电路中的两个数据,并送入加法电路中进行加法计算,加法电路将计算结果送入第一除法电路,进行除法计算获取余数;
计数值转换模块,包括输出脉冲状态识别电路、第二除法电路和第二时序控制状态机,所述脉冲状态识别电路对脉冲产生模块输出的脉冲进行计数识别当前脉冲输出状态,根据该当前脉冲输出状态将所述随机数获取模块得到的随机数映射到预设的数值区域,并通过第二除法电路计算随机周期的计数值和随机有效电平的计数值;
脉冲产生模块,根据所述随机周期的计数值和所述随机有效电平的计数值产生无序脉冲;
所述脉冲产生模块包括计时器和比较器电路、第三时序控制状态机,该第三时序控制状态机在每个脉冲开始计数时将所述随机周期的计算值和所述随机有效电平的计数值送入所述计时器和比较器电路的周期计数寄存器、比较寄存器,以获得无序脉冲输出。
2.根据权利要求1所述的无序脉冲发生电路,其特征在于,该无序脉冲发生电路还包括随机数缓冲模块,连接在随机数获取模块和计数值转换模块之间,用于缓冲和存储随机数。
3.根据权利要求2所述的无序脉冲发生电路,其特征在于,所述数据存储电路、随机数缓冲模块为FIFO电路或者双口RAM。
4.根据权利要求1所述的无序脉冲发生电路,其特征在于,在送出随机数后,第一时序状态控制机调整下次需要从数据存储电路中读取数据的地址值。
5.根据权利要求1所述的无序脉冲发生电路,其特征在于,所述第一除法电路计算得到余数后,将该余数替换数据存储电路中所读取的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410687664.XA CN104506166B (zh) | 2014-11-25 | 2014-11-25 | 无序脉冲发生电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410687664.XA CN104506166B (zh) | 2014-11-25 | 2014-11-25 | 无序脉冲发生电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104506166A CN104506166A (zh) | 2015-04-08 |
CN104506166B true CN104506166B (zh) | 2017-06-13 |
Family
ID=52947890
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410687664.XA Active CN104506166B (zh) | 2014-11-25 | 2014-11-25 | 无序脉冲发生电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104506166B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1405672A (zh) * | 2001-09-07 | 2003-03-26 | 日本电气株式会社 | 随机数产生方法和随机数产生装置 |
CN202133996U (zh) * | 2011-01-28 | 2012-02-01 | 中国科学院西安光学精密机械研究所 | 一种真随机数产生装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4248950B2 (ja) * | 2003-06-24 | 2009-04-02 | 株式会社ルネサステクノロジ | 乱数発生装置 |
-
2014
- 2014-11-25 CN CN201410687664.XA patent/CN104506166B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1405672A (zh) * | 2001-09-07 | 2003-03-26 | 日本电气株式会社 | 随机数产生方法和随机数产生装置 |
CN202133996U (zh) * | 2011-01-28 | 2012-02-01 | 中国科学院西安光学精密机械研究所 | 一种真随机数产生装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104506166A (zh) | 2015-04-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104202040B (zh) | 位电平检测电路以及方法 | |
CN102158208B (zh) | 基于振荡环电路的全程可调数字脉宽调制器 | |
CN105044420B (zh) | 一种数字示波器的波形搜索方法 | |
CN103345192B (zh) | 用于光电跟踪仪的智能时钟同步控制电路 | |
CN103117732B (zh) | 多路视频脉冲信号发生装置及方法 | |
CN105656456B (zh) | 一种高速高精度数字脉冲发生电路及脉冲发生方法 | |
CN103208994A (zh) | 一种两段式时间数字转换电路 | |
CN104135212A (zh) | 一种柔性化运动控制ip核及实现方法 | |
CN104660220B (zh) | 一种产生整数频率脉冲的信号发生器及信号产生方法 | |
CN102931994A (zh) | 应用于信号处理芯片的高速信号采样和同步的架构及方法 | |
CN106452394A (zh) | 一种具有自动复位功能的时钟切换结构 | |
CN103760759A (zh) | 一种自动对正/反向irig-b码解码方法 | |
CN202166844U (zh) | 一种高精度时间测量电路 | |
CN102386916A (zh) | 一种可减小功耗和芯片面积的数字脉宽调制器电路 | |
CN202043085U (zh) | 基于振荡环电路的全程可调数字脉宽调制器 | |
CN103197287A (zh) | 高速实时频域脉冲压缩器及其处理方法 | |
CN101788640A (zh) | 基于fpga的半导体管特性实时测量控制器 | |
CN107907850A (zh) | 三相电能表时钟校准和误差校准方法 | |
CN101226408A (zh) | 交流伺服绝对值编码器位置反馈脉冲分频输出方法及电路 | |
CN104182203A (zh) | 真随机数的产生方法和装置 | |
CN104133409B (zh) | 一种对称性可调的三角波合成装置 | |
CN104506166B (zh) | 无序脉冲发生电路 | |
CN101917204B (zh) | 扫频接收机的扫描控制参数的计算与数字控制方法 | |
CN105322919A (zh) | 一种基于fpga的dds多信号发生器 | |
CN106209090A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |