CN101539847B - 随机数产生装置及其方法 - Google Patents
随机数产生装置及其方法 Download PDFInfo
- Publication number
- CN101539847B CN101539847B CN200910082174.6A CN200910082174A CN101539847B CN 101539847 B CN101539847 B CN 101539847B CN 200910082174 A CN200910082174 A CN 200910082174A CN 101539847 B CN101539847 B CN 101539847B
- Authority
- CN
- China
- Prior art keywords
- clock source
- pulse signal
- counter
- square wave
- clock
- 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
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000006243 chemical reaction Methods 0.000 claims description 16
- 230000000630 rising effect Effects 0.000 claims description 11
- 238000005096 rolling process Methods 0.000 claims description 7
- 238000005070 sampling Methods 0.000 abstract description 6
- 239000013078 crystal Substances 0.000 description 6
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
Abstract
本发明公开了一种随机数产生装置及其方法,其包括有第一时钟源、第二时钟源、计数器及计时器。其中第一时钟源与计数器连接并向其输入方波时钟脉冲信号,第二时钟源与计时器和计数器连接并向它们输入方波时钟脉冲信号。计数器根据第二时钟源输入的方波时钟脉冲信号对第一时钟源输入的方波时钟脉冲信号进行采样并计数。计时器会在设定时间到达后通知计数器停止计数。本发明涉及的随机数产生装置,结构简单,便于实现。其方法简单可行,操作性强。可产生真正意义上的随机数。
Description
技术领域
本发明涉及一种随机数的产生装置及其方法,尤其是一种应用不同时钟源来产生随机数的装置及其方法。
背景技术
随着电子系统的发展与广泛应用,在电子系统中使用的随机数也得到越来越广泛的应用。在这些应用中,尤其是在保障安全的加密算法中,随机数的产生至关重要。随机数的产生方法目前有很多种,例如,其可以是利用软件编程的方法产生。具体可以是使用java、VB等编程语言进行程序编写,然后运行程序即可产生随机数。此类方法比较简单。
使用软件编程的方法产生随机数,虽然简单,但是其有一个问题就是,如果反复执行程序,即可得到同样的随机数。若是这样,则产生的随机数则不是真正意义的随机数,而是伪随机数。若产生伪随机数则就没有意义,若其应用于加密方面,则就会导致加密失败。
因此,亟待提出一种新的随机数产生方法及其装置,以解决现有技术中的缺点。
发明内容
有鉴于此,本发明的一个目的在于提供一种随机数产生装置及其方法。
为了达到上述目的,本发明的一个实施方式提供了一种随机数产生装置,其包括有第一时钟源、第二时钟源、计数器及计时器,其中第一、第二时钟源及计时器与计数器连接。第一时钟源和第二时钟源向计数器输入方波时钟脉冲信号。计数器在第二时钟源输入的方波时钟脉冲信号处于上升沿或是下降沿时,其会对第一时钟源输入的方波时钟脉冲信号进行采样,若其处于高电平位或是处于低电平位时,则进行计数;反之,则不计数。计时器用于限定计数器计数的时间,其会在设定时间到达后通知计数器停止计数。
进一步的,检测的方式可以是,计数器在第二时钟源输入的方波时钟脉冲信号处于上升沿时,其对第一时钟源输入的方波时钟脉冲信号进行采样,若其处于高电平位或是低电平位时,则进行计数。或是,计数器在第二时钟源输入的方波时钟脉冲信号处于下降沿时,其对第一时钟源输入的方波时钟脉冲信号进行采样,若其处于高电平位或是低电平位时,则进行计数。进一步的,在其他实施方式中,也可以是计数器在第一时钟源输入的方波时钟脉冲信号处于上升沿时,其会对第二时钟源输入的方波时钟脉冲信号进行采样,由于采样计数情况与上述类似,此处不再赘述。
也就是说,本发明采用的采样计数方法,不论是以第二时钟源输入的方波时钟脉冲信号处于上升沿或是下降沿来检测第一时钟源输入的方波时钟脉冲信号,以进行计数,还是以第一时钟源输入的方波时钟脉冲信号处于上升沿或是下降沿来检测第二时钟源输入的方波时钟脉冲信号,以进行计数。都是可以的。具体采用何种方式可随具体需要而定,并不限制。
进一步的,在不同实施方式中,涉及使用的时钟源可以是业界已知的任何可输出方波时钟脉冲信号的元件,例如晶体振荡器。对于晶体振荡器而言,其所具有的两个参数比较关键,分别是:频率准确度(即精度)以及频率稳定度(即抖动)。对于精度而言,例如,假设使用的晶体振荡器的频率是12M,但它的实际可能是12.0001M或者11.9999M。而抖动,例如频率是200M的晶体振荡器,它的周期为5ns,但当前周期可能为5.001ns,上一个周期可能为4.999ns。
进一步的,本发明涉及使用两个不同频率的时钟源,由于上面说明的精度和抖动的原因,使得两个时钟源在不同的预定时间段内,输出的频率和周期都是不固定的,两者之间具有一定的抖动性,进而也就使得计数器采样计数获得的数值具有很大的随机性。
进一步的,在不同实施方式中,第一时钟源与计时器连接向其输入方波时钟脉冲信号以启动该元件。
进一步的,在不同实施方式中,第二时钟源与计时器连接向其输入方波时钟脉冲信号以启动该元件。
进一步的,在不同实施方式中,使用的第二时钟源为变频元件,其与第一时钟源连接,其所输出的方波时钟脉冲信号频率是对第一时钟源输入的方波时钟脉冲信号频率进行变频而产生的。变频元件的引入使用,一方面可以因为减少使用一个时钟源而降低成本,另一方面,由于变频元件自身的特性使得,其输出的变频频率与输入源时钟频率之间具有一定的抖动性,从而保证了不同的预定时间段内,计数器采样获得的计数的随机性。
进一步的,在不同实施方式中,变频元件为开环设置,即其输出的时候,并不会反馈检测输出,以校正输出。这样使得其在外界环境的干扰下,所输出的时钟脉冲频率,具有更大的随机的波动,并不确定。也就进一步的保证了,在每个预定的时间段内,计数器采样获得的计数的随机性。
进一步的,在不同实施方式中,第二时钟源可以是FPGA(FieldProgrammable Gate Array,现场可编程门阵列)中的DCM(Digital ClockManager)元件,其输出的时钟频率为对第一时钟源输入的时钟频率进行变频而得到。进一步的,变频后输出的时钟源也是开环设置。
进一步的,在不同实施方式中,计时器和计数器元件是FPGA中的计时器和计数器元件。
进一步的,在不同实施方式中,计数器计数得到的数值的进制是二进制、十进制或是十六进制中的一种。
进一步的,本发明的又一个实施方式涉及一种随机数产生方法,其包括有以下步骤。提供第一时钟源、第二时钟源、计数器和计时器。第二时钟源向所述计数器和计时器输入方波时钟脉冲信号以启动两元件。第一时钟源向计数器输入方波时钟脉冲信号。计数器对第一、第二时钟源输入的方波时钟脉冲信号进行采样,其为在第二时钟源输入的方波时钟脉冲信号处于上升沿或是下降沿时,对输入的第一时钟源的方波时钟脉冲信号进行采样,若其处于高电平位或是低电平位,则计数器在计数基准上增加预定数值。计时器经过预定时间后通知所述计数器停止计数,这时计数器计数所得数值即为一个随机数。
进一步的,在不同实施方式中,以上涉及使用的时钟源可以是业界已知的任何可输出方波时钟脉冲信号的元件,例如晶体振荡器。且提供的第一、第二时钟源输出的方波时钟脉冲信号频率之间具有相对的抖动性。
进一步的,在不同实施方式中,第二时钟源为变频元件,其与第一时钟源连接,其所输出的方波时钟脉冲信号频率是对第一时钟源输入的方波时钟脉冲信号频率进行变频而产生的。
进一步的,在不同实施方式中,第二时钟源为FPGA中的DCM元件。
在不同实施方式中,以上涉及使用的计时器和计数器也可以是业界已知的各种可用于计时和计数的元件。这些涉及的元件可以由软件或硬件实现。
进一步的,计数方式并无限制,例如,其可以是在原有数值基础上加1。进一步的,在不同实施方式中,计数器得到的数值可以是二进制的,也可以是十进制的、也可以是十六进制的等等,并不限定。
相对于现有技术,本发明涉及的随机数产生装置及其方法,结构简单,便于实现;其方法简单可行,操作性强;可产生真正意义上的随机数。
附图说明
图1为本发明的一个实施方式涉及的随机数产生装置的逻辑结构图;
图2为图1所示的随机数产生装置的操作流程图;
图3为图1所示的随机数产生装置涉及使用的时钟源输出的方波时钟脉冲信号的示意图;
图4为本发明的又一个实施方式涉及的随机数产生装置逻辑结构图。
具体实施方式
请参阅图1所示,本发明的一个实施方式涉及的一种随机数产生装置100,其包括有第一时钟源110、第二时钟源120、计时器130和计数器140。其中第一时钟源110与计数器140连接。第二时钟源120分别与计数器130和计时器140连接(在其他实施方式中,计时器也可以是与第一时钟源连接,或是与另外的时钟源连接,并不限定)。
运行时,其操作流程请参阅图2所示。第二时钟源120向计数器140和计时器130输入方波时钟脉冲信号以启动两元件210。第一时钟源向计数器输入方波时钟脉冲信号220。计数器根据第二时钟源输入的方波时钟脉冲信号对第一时钟源输入的方波时钟信号进行采样,并根据采样结果进行计数230。计时器经过预定时间后通知计数器停止计数,这时计数器计数所得数值即为一个随机数240。
进一步的,本发明涉及使用的时钟源为业界已知的任意可输出方波时钟脉冲信号的元件。例如,晶体振荡器等等。且至少有一个使用的时钟源是不具有自动校正输出时钟频率的功能,也可以说是开环设置。这样,由于时钟源本身,在外界条件变化(例如温度变化)的干扰下,输出的时钟频率不可避免的会具有抖动性;而又增加开环设置,使得其输出会进一步的变得无特定规律,进而保证了计数器在不同的预定时间段内通过采样获得的计数,在数值上的随机性。
而本发明涉及使用的计时器和计数器也是可以采用业界已知的各种具有此功效的元件。
进一步的,步骤230中,计数器130对第一、第二时钟源110、120输入的方波时钟脉冲信号进行采样的方式为,请参阅图3所示,其可以是在第二时钟源的方波时钟脉冲信号频率320处于上升沿时,对第一时钟源输入的方波时钟脉冲信号频率310进行采样,若其也处于高电平位,则计数;若其处于低电平位则不计数。进一步的,在其他实施方式中,也可以是,其处于低电平位时进行计数。或是检测的时间点为,当第二时钟源的方波时钟脉冲信号频率310处于下降沿时,对第一时钟源输入的方波时钟脉冲信号进行采样。若其处于高电平位时则计数,反之,则不计数;当然,也可以是在其处于低电平位时计数,反之,则不计数。进一步的,由于两时钟频率之间的抖动性,使得两者在不同的预定时间段内,两者频率周期变化是随机的,进而采样获得的计数数值也就是随机的。
计数器的计数方式可以是在原有数值上加上预定数值,例如1,并不限定。进一步的,其采用的数值进制可以是二进制的、十进制的或是十六进制的,并不限制。
进一步的,对于计时器何时开始计时以及何时通知计数器停止计数,可随具体需要而定,并不限定。例如,在一种实施方式中,计时器可以是在计数器开始通入第一、第二时钟源的输出脉冲频率时开始计时,经过2秒后,通知计数器停止计数。在又一个实施方式中,计时器可以是在计数器开始通入第一、第二时钟源的输出脉冲频率5秒后开始计时,经过3秒后,通知计数器停止计数。
进一步的,在其他实施方式中,第二时钟源可以是由变频器实现。例如,在一个实施方式中,将变频器与第一时钟源连接,其对输入其内的第一时钟源的时钟频率进行变频,然后将变频后获得的时钟频率输出给计数器。
进一步的,在其他实施方式中,本发明涉及使用的第二时钟源、计数器和计时器可以是FPGA中的元件。例如,第二时钟源由FPGA中的DCM元件所代替,由其对输入的第一时钟源进行变频,然后再将变频后的时钟频率输入到FPGA中的计数器中。
进一步的,本发明涉及的随机数产生装置还可以与FPGA结合使用,利用FPGA本身的DCM元件产生与输入源时钟的非整数倍的特别时钟,然后利用这个特别的时钟对输入源时钟进行采样以产生随机数。由于DCM元件自身的特性,使得这两个时钟源频率虽然是同源的,在经过DCM变频后,其所输出的时钟频率与输入源时钟频率之间,具有了一定的抖动性,从而保证了不同的预定时间段内,计数器采样获得的计数的随机性。
在一个实施方式中,请参阅图4所示,本发明涉及的一个随机数产生装置400,其包括有时钟源410与FPGA420。其中FPGA420内包括有DCM422、计时器424及计数器426。DCM422对时钟源410输入的方波时钟脉冲信号频率进行变频,然后将变频后得到的新的方波时钟脉冲信号频率输入给计数器426。计数器426会在经过DCM424变频后输入的方波时钟脉冲信号处于上升沿时,检测时钟源410输入的方波时钟脉冲信号是否也处于高电平位(此时则可不考虑其是否也是处于上升沿,只要其处于高电平位即可),若其处于高电平位,则进行计数操作。反之,则不进行计数操作。
进一步的,FPGA420的DCM424在输出变频后的时钟频率时,其也为开环设置。也就是说,其并不反馈输出的时钟频率以进行输出时钟频率校正,这样,其被外界环境所影响,也就使得其输出的时钟频率并不确定。如此两者输出的方波时钟脉冲频率之间具有一定的抖动性,这就使得他们在不同的预定时间段内,输出频率并不确定,这也就导致采样计数的不确定性,从而更加保证了计数器在每个预定时间内获得的采样计数在数值上的不确定性,也就是随机性很大。
本发明利用不同时钟源来进行采样计数,由于每个预定时间段内,时钟源输出的方波时钟脉冲信号的频率并不固定,使得不同的预定时间段所获得的采样计数都是不一样的,进而保证了这些产生的数值具有很大的随机性。
Claims (11)
1.一种随机数产生装置,其特征在于,其包括有第一时钟源、第二时钟源、计数器及计时器;其中所述第一时钟源、第二时钟源及计时器均与计数器连接,第一时钟源和第二时钟源向所述计数器输入方波时钟脉冲信号,所述计数器在所述第二时钟源输入的方波时钟脉冲信号处于上升沿或是下降沿时,其会对第一时钟源输入的方波时钟脉冲信号进行采样,若其处于高电平位或是处于低电平位时,则进行计数;反之,则不计数;所述计时器用于限定计数器计数的时间,其会在设定时间到达后通知所述计数器停止计数;
其中,所述第二时钟源为变频元件,其与所述第一时钟源连接,其所输出的方波时钟脉冲信号频率是对第一时钟源输入的方波时钟脉冲信号频率进行变频而产生的;
并且,所述第二时钟源为开环设置。
2.根据权利要求1所述的随机数产生装置,其特征在于,所述计数器计数得到的数值的进制是二进制、十进制或是十六进制中的一种。
3.根据权利要求1所述的随机数产生装置,其特征在于,所述第一、第二时钟源输出的方波时钟脉冲信号频率之间具有相对的抖动性。
4.根据权利要求1所述的随机数产生装置,其特征在于,所述第一时钟源与所述计时器连接。
5.根据权利要求1所述的随机数产生装置,其特征在于,所述第二时钟源与所述计时器连接。
6.根据权利要求1所述的随机数产生装置,其特征在于,所述第二时钟源为FPGA中的DCM元件。
7.根据权利要求1所述的随机数产生装置,其特征在于,所述计时器和计数器元件是FPGA中的计时器和计数器元件。
8.一种随机数产生方法,其包括有以下步骤:
提供第一时钟源、第二时钟源、计数器和计时器;
所述第一时钟源与第二时钟源向所述计数器输入方波时钟脉冲信号
所述计数器对第一、第二时钟源输入的方波时钟脉冲信号进行采样,其为在所述第二时钟源输入的方波时钟脉冲信号处于上升沿或是下降沿时,对输入的第一时钟源的方波时钟脉冲信号进行采样,若其处于高电平位或是低电平位,则计数器在计数基准上增加预定数值;
所述计时器经过预定时间后通知所述计数器停止计数,这时所述计数器计数所得数值即为一个随机数;
其中,所述第二时钟源为变频元件,其与所述第一时钟源连接,其所输出的方波时钟脉冲信号频率是对第一时钟源输入的方波时钟脉冲信号频率进行变频而产生的;
并且,所述第二时钟源为开环设置。
9.根据权利要求8所述的随机数产生方法,其特征在于,所述提供的第一、第二时钟源输出的方波时钟脉冲信号频率之间具有相对的抖动性。
10.根据权利要求8所述的随机数产生方法,其特征在于,所述第二时钟源为FPGA中的DCM元件。
11.根据权利要求8所述的随机数产生方法,其特征在于,所述计时器和计数器元件是FPGA中的计时器和计数器元件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910082174.6A CN101539847B (zh) | 2009-04-16 | 2009-04-16 | 随机数产生装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200910082174.6A CN101539847B (zh) | 2009-04-16 | 2009-04-16 | 随机数产生装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101539847A CN101539847A (zh) | 2009-09-23 |
CN101539847B true CN101539847B (zh) | 2015-01-21 |
Family
ID=41123055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200910082174.6A Active CN101539847B (zh) | 2009-04-16 | 2009-04-16 | 随机数产生装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101539847B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9762217B2 (en) | 2013-07-15 | 2017-09-12 | Institute of Microelectronics Chinese Academy of Sciences | Random sampler adapted to one-dimension slow-varying signal |
CN106569064B (zh) * | 2016-10-27 | 2019-02-26 | 重庆承亿机电设备有限公司 | 变频器及其频率给定信号故障检测方法 |
CN109683851A (zh) * | 2018-11-16 | 2019-04-26 | 深圳市先河系统技术有限公司 | 随机数的生成方法、随机数生成装置、计算机存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1380998A (zh) * | 2000-03-06 | 2002-11-20 | 皇家菲利浦电子有限公司 | 利用触发器亚稳性产生随机数的方法和设备 |
US7293054B2 (en) * | 2004-03-11 | 2007-11-06 | Harris Corporation | Random number source and associated methods |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1055813C (zh) * | 1994-04-09 | 2000-08-23 | 华邦电子股份有限公司 | 电话钩键开关状态检测装置 |
JPH10142340A (ja) * | 1996-11-08 | 1998-05-29 | Tsuyusaki Tomoko | 乱数発生装置と暗号化装置 |
JP2005066127A (ja) * | 2003-08-26 | 2005-03-17 | Sun Corp | 遊技機用の乱数発生装置 |
US8805905B2 (en) * | 2007-09-18 | 2014-08-12 | Seagate Technology Llc | On-line randomness test for restart random number generators |
-
2009
- 2009-04-16 CN CN200910082174.6A patent/CN101539847B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1380998A (zh) * | 2000-03-06 | 2002-11-20 | 皇家菲利浦电子有限公司 | 利用触发器亚稳性产生随机数的方法和设备 |
US7293054B2 (en) * | 2004-03-11 | 2007-11-06 | Harris Corporation | Random number source and associated methods |
Non-Patent Citations (1)
Title |
---|
JP特开200566127A 2005.03.17 * |
Also Published As
Publication number | Publication date |
---|---|
CN101539847A (zh) | 2009-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101510150B (zh) | 随机数产生装置 | |
TWI474623B (zh) | 內部振盪器對外部頻率參考之自動同步化 | |
US8692621B2 (en) | Methods and apparatus for oscillator frequency calibration | |
CN108599743A (zh) | 一种基于相位补偿的精密数字延时同步方法 | |
CN105656456B (zh) | 一种高速高精度数字脉冲发生电路及脉冲发生方法 | |
CN107819456B (zh) | 一种基于fpga进位链的高精度延时产生器 | |
CN101539847B (zh) | 随机数产生装置及其方法 | |
CN104133520A (zh) | 一种嵌入式处理器片内振荡器的高精度校准方法 | |
US11888480B2 (en) | Method and apparatus for synchronizing two systems | |
CN111433686A (zh) | 时数转换器 | |
CN110887992A (zh) | 一种时钟频率检测电路 | |
CN103645379A (zh) | Ttl信号频率跳变监测系统和方法 | |
Chaberski et al. | Comparison of interpolators used for time-interval measurement systems based on multiple-tapped delay line | |
CN104702249A (zh) | 一种具有猝发同步功能的信号发生器 | |
CN103427795A (zh) | 一种矩阵脉冲信号产生电路和产生方法 | |
CN102466779B (zh) | 触发器延时的内建测试方法及电路 | |
CN110928177B (zh) | 一种时钟同步系统及方法 | |
KR101639064B1 (ko) | 이종 샘플링 지연선 기반 시간-디지털 변환기 | |
CN111124363B (zh) | 一种真随机数生成方法及真随机数发生器 | |
CN108183709B (zh) | 一种cpt原子钟频率驯服控制方法及设备 | |
CN100583641C (zh) | 一种同步相位角度的数字跟踪方法 | |
CN108199712B (zh) | 一种cpt原子钟频率驯服控制电路 | |
US6944099B1 (en) | Precise time period measurement | |
CN203951450U (zh) | 高速时钟占空比检测系统 | |
CN116996071B (zh) | 一种saradc采样时钟产生装置及方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210127 Address after: No. 602, 6th floor, shining building, 35 Xueyuan Road, Haidian District, Beijing 100083 Patentee after: BEIJING ZHONGXINGTIANSHI TECHNOLOGY Co.,Ltd. Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 15 Floor Patentee before: Vimicro Corp. |
|
TR01 | Transfer of patent right |