随机信号发生器Word文档格式.docx
- 文档编号:18987965
- 上传时间:2023-01-02
- 格式:DOCX
- 页数:23
- 大小:1.58MB
随机信号发生器Word文档格式.docx
《随机信号发生器Word文档格式.docx》由会员分享,可在线阅读,更多相关《随机信号发生器Word文档格式.docx(23页珍藏版)》请在冰豆网上搜索。
设计和维护这种系统需要检验和测量设备,要求高速的伪随机测试信号发生器。
产生伪随机序列的方法输出的伪随机序列数据速率最大只能达到控制移位寄存器的输入时钟的频率,意味着只能通过提高时钟频率来提高输出的序列数据速率,通过采用高速并串变换芯片将多路m序列进行复合,从而产生高速的m序列,该方法需要高速的并串芯片,结构复杂。
本文提出的方法不需要任何外围电路,只需一片FPGA芯片,可以输出的高速m序列码元,结构简单,可靠性高。
目前可控源频率域电磁法主要有2种观测方案。
第一种是基于方波信号的变频观测方案,也可称作变频法;
第二种是中南大学提出的伪随机观测方案,并从双频道激电法开始,目前已发展到任意2的n次方系列伪随机信号的发送和接收作。
变频方案中采用不同频率分次、分时测量,速度慢、效率低,对发送机和接收机的同步要求精度高,且随机干扰等噪声容易引起虚假异常。
2的n次方系列伪随机观测方案中,发送机将不同频率的电流波形合成后向地下供电,接收机则同时接收这些频率经大地后的响应并将其分离。
2的n次方系列伪随机信号多频观测系统实现了工作效率高、观测精度高、仪器轻便、观测参数丰富等优点。
但是2的n次方系列伪随机信号中的各个主基频率按2的n次方步进,由于采用2倍频率变化,纵向分辨率很低。
此外,由于其与传统频率域电法有类似的工作原理,因此也易受随机漂移,工频干扰等噪声信号的影响。
2总体方案设计
2.1方案比较
2.1.1方案一
设计的完整的硬件结构分为三部分:
频率源,锁相环PLL和伪随机序列发生模块如图2.1所示。
晶振TX8100C作为频率源输出频率为155.52MHZ,锁相环电路包括鉴相器(PFD),滤波电路,压控振荡器(VCO)和N分频器。
其中鉴相器和N分频器集成在芯片ADF4106中由于ADF4106中还集成了一个R分频器所以实际上输入到鉴相器的参考频率是晶振频率的1/R,R分频器和N分频器由单片机C8051F015控制。
滤波电路为集总元件LC环路压控振荡器采用HMC385LP4伪随机序列发生模块采用CENTELLAX公司的OTB3P1AO
图2.1方案一硬件结构图
2.1.2方案二
基于CPLD的逆重复m序列伪随机信号发生器。
输入信号中,CLK即外部输入的系统时钟信号。
OE为全局使能信号,高电平有效。
SET为移位寄存器置位信号,高电平时各级移位寄存器输出均置为“1”。
SEL_CLK[3:
0]为时钟分频选择信号,共4个引脚,取值范围为00010至11110。
SEL[4:
0]为移位寄存器级数选择信号,共5个引脚,取值范围为001000至101100。
图2.2方案二程序功能模块图
2.1.3方案三
采用并行LFSR产生高速的m序列,咒个独立的LFSR在较低的速率^下工作,将这行个独立的LFSR输出的元素在同一时刻进行模2加,从而获得码元速率为
的高速m序列。
为了使用该方法,这n个LFSR的控制时钟的相位必须依次相差2
/n。
该方法基于m序列的采样定理,即对周期为P的m序列进行抽样,每隔s个样本抽样一次,可获得另一个m序列,该m序列是原序列的等价平移序列,其中r与周期P(P=
一1)互质,其中,S=
(i=0,1,2,⋯,r一1),图2.3所示是生成高速序列的结构框图。
图2.3方案三
2.2方案论证
系统芯片通常包含一些具有通用功能的组件。
例如,很多系统芯片都带有锁相环用以产生内部时钟,也需要用到随机数来完成某些功能。
以前的做法就是使用外部随机数发生器来提供随机数,或者通过软件方法产生伪随机数来满足其需要。
第一种方法浪费资源来实现一个随机数发生器成为一种现实的需要。
片上集成系统减少了片外器件和芯片引脚的数量,避免了用大电流驱动芯片引脚,降低了各种封装寄生效应的影响,使电路更紧凑,可靠性更高,功耗、体积和成本都能够进一步降低。
直接放大方法在IC环境里缺乏有效的方法屏蔽来自电压源和衬底的噪声信号,在有确定性噪声存在的情况下,由于在采样过程中伴随着非线性的混沌现象,并且直接放大法与离散时间混沌法都需要采用模拟电路,因而依赖于集成电路工艺,且资源消耗大。
相对于噪声源直接放大的方法,基于振荡器的方法基本不受周期信号和1/f噪声的影响,输出序列仍保持良好的随机性能,其抗干扰能力较强。
其利用一个D触发器来实现低频振荡器对高频振荡器的采样,如果振荡器的频率在每个周期(抖动的)都是漂移的,那么输出位流将是随机的;
该随机性可以通过人为地选择噪声时钟和采样时钟频率比例来调整。
振荡采样法与其他方法相比,具有实现简单、便于集成、电路面积小等优点。
已有的振荡采样法尽管使用很少的硬件资源,但是由于使用了诸如PLL等特殊的功能资源,导致设计由FPGA验证转入芯片设计时移植困难。
本文借鉴了一种由多组振荡环相异或的结果作为噪声源来提高噪声源的随机性,这种方法充分利用了时钟抖动以及相位漂移,并且在D触发器的输出端接入后处理电路进一步提高随机序列的随机特性。
这种方法是由纯数字电路构成的,仅使用了普通逻辑单元,如反相器、异或门、D触发器,使得该真随机数发生器能快速移植到集成电路设计流程中,缩短了开发周期。
2.3方案选择
在方案三中,与其他三个方案进行了比较,不但控制简单,而且成本低廉,设计电路简单,本设计采用方案三进行设计。
3单元模块设计
(1)一个模拟器电路模拟输出4路CCD信号,其电路由数字电路和模拟电路构成。
(2)为了模拟核信号的分布特性(事例时间间隔服从指数分布),设计一款真随机数发生器。
(3)为了模拟核信号的信号幅度,通过FPGA控制输入数字模拟转换器(DigitaltoAnalogConverter,DAC)的值来模拟信号和噪声的幅度。
CCD模拟器的原理是在转移时钟的作用下,产生模拟探测器的输出信号。
其结构框如图3.1所示(只含一路信号处理电路)
图3.1CCD模拟器设计的结构框图(只含一路信号处理电路)
CCD模拟器采用XILINX公司的XC3S200的FPGA[31]产生控制时序、产生时间间隔服从指数分布的真随机序列。
CCD模拟器工作原理如下:
(1)振荡采样法的真随机数发生器产生均匀分布随机序列,在FPGA内部转换成指数分布随机序列。
(2)信号的幅度、噪声的幅度通过DAC(型号:
TLV5638)来控制,其取值用跳线来设置,这样在测试中根据需求可随时改动参数。
(3)探测器的驱动时钟是0-7V的方波,模拟器除通过电容(16nF)模拟CCD转移电极的电容特性,还将分压和经施密特触发器整形的信号送给FPGA用于控制输出信号时序。
(4)通过模拟开关CD4066控制输出波形。
(5)为了消除地线带来的噪声,采用数字地与模拟地分开的方案,数字地和模拟地之间加一个220μH的电感(单点连接)。
(6)CD4066芯片概述
设计中,选用四双向开关芯片。
每个封装内部有4个独立的模拟开关,每个模拟开关有输入、输出、控制三个端子,其中输入端和输出端可互换。
当控制端加高电平时,开关导通;
当控制端加低电平时开关截止。
模拟开关导通时,导通电阻为几十欧姆,导通阻抗在整个输入信号范围内基本不变;
模拟开关截止时,呈现很高的阻抗,可以看成为开路。
模拟开关可传输数字信号和模拟信号,可传输的模拟信号的上限频率为40MHz。
各开关间的串扰很小,典型值为-50dB。
与单通道开关相比,具有输入信号峰值电压范围等于电源电压以及在输入信号范围内导通阻抗比较稳定等优点。
3.1各单元模块及功能器件介绍
3.1.1信号处理电路设计及分析
CCD模拟器模拟部分的电路图如附录1所示。
模拟电路由驱动时钟处理电路、数模转换电路、信号处理电路(四路)三部分组成。
其中,信号处理电路是模拟电路的核心电路。
采用以下几种方法提高信号处理电路性能:
(1)在信号处理电路中利用电压跟随器电路,利用电压跟随器输入阻抗高,而输出阻抗低,提高驱动能力等特点。
(2)为了提高电路的性能,采用了2级耦合电路、并且在放大器的同相输入端加静态工作点电路,这样可以使放大器工作在放大区。
(3)在信号处理电路中为了提高性能、降低模拟开关等电路引入的噪声,采取了先产生较大幅度信号,在输出端再衰减的方式提高信噪比。
(4)在RC滤波的设计中,输入电压为30V(R=100Ω,C=4.7μF),输入电压为17V(R=10Ω,C=0.1μF),在模拟电路的每个芯片电源管脚处加4.7μF和0.01μF的电容来滤波。
(5)输出端采用场效应管为OS和DOS信号提供缓冲,并模拟CCD的电压输出特性。
为提高输出电路的对称性,采用了金封差分场效应管2N5566。
3.1.2数字部分电路设计及分析
CCD模拟器数字部分的电路图如附录2所示。
数字电路由数字电源电路、FPGA两部分构成。
FPGA选用Xilinx公司的XC3S200的。
FPGA其功能为:
①通过外置的跳线所置的值来给DAC内部的寄存器写值,跳线的值改变则DAC的值改变。
这样通过改变跳线的值就可以模拟信号峰和噪声峰的大小。
②根据输入的转移时钟提供cona,conb,cond的控制时序。
③验证基于振荡采样法的真随机数发生器的随机特性。
3.1.3开关电源电路设计及参数设置
开关电源选用带同步端的LM25574,电路如图3.2所示。
这样通过复位信号可
以使开关电源内部开关频率和复位信号同步。
这样通过后面的CDS电路可以消除开关电源所带来的固有的纹波电压噪声。
图3.2开关电源电路设计
30V左右电源输入,全部并联后,经DC-DC变换电路(非隔离)转换为5V和3.3V等电源为板上电路供电。
测试+5V处的电流为131.5mA,30V处的电流为1mA。
加DC/DC芯片后,30V处的电流为32.71mA,这样就可以估算此开关电源的转换效率
(1)
开关电源参数选择不当,输出的电压不稳定。
根据LM25574芯片手册,和buck降压型开关电源芯片的工作原理分析增大输出的滤波电感可以有效降低纹波电压。
开关电源部分,增大输出的滤波电感,输出滤波电容选100μF的钽电容,输出的纹波更小。
我们选定选取电感L2为647μH,滤波电容100μF,电容C30为3μF,电阻R15为75kΩ。
降低同步的脉冲的峰峰值(最小600mV),可以降低纹波。
3.1.4后处理模块设计
芯片内部的电路不可避免地会受到环境温度、噪声、电压等外界因素的影响,从而导致振荡环采样电路所得到的随机信号中存在偏置,即出现连续的0或1,这样的采样结果无法满足均匀分布和独立性的要求。
所以必须要对数据进行消偏处理,以保证输出随机序列的均匀性。
这就要求其输出结果必须经过伪随机网络的进一步处理。
我们采用延迟链电路和线性反馈移位寄存器相结合的方式来对其处理。
首先将振荡器相异或的结果送入延迟链电路,如图3.3所示。
设振荡器相异或的结果输出信号的占空比为p,即产生1的概率是p,那么,产生0的概率为1-p。
一般来说,p不等于1-p。
异或后,输出1的概率是2p(1-p);
输出0的概率是p2+(1-p)2。
由数学归纳法,如果异或链有n级,则输出端得到1的概率就是:
px
(1)=0.5-2n-1(p-0.5)n,而得到0的概率为:
px(0)=0.5+2n-1(p-0.5)n。
使用多级移位异或,可以使占空比趋于50%,当n趋于无穷大时,理想状态1和0的生成概率相等。
多路异或是最常用的纠偏方法,效果也比较好,实际设计时,经过调节,序列的偏差往往很小,进行多路异或后偏差减小会很明显。
但是这种方法是通过增加系统规模的办法来换取小的偏差。
在随机数发生器的设计中,要从功耗、造价等方面均衡考虑来决定N值。
图3.3延迟链电路设计
再将延迟链电路比特输出的结果送入线性反馈移位寄存器电路。
线性反馈移位寄存器是一种具有较强纠错能力并且易于实现的编码方式。
非常适合用来在FPGA中对信号进行纠错处理。
设计选择的循环码的生成方程为
(2)
式中:
n=21;
m=11;
[g0g1…g10]=[10011011101]。
这样后处理模块具有m/n=11/21的压缩率,并可以纠正多位突发错误,提高序列的均匀性[36]。
线性反馈移位寄存器电路,如图3.4所示。
图3.4线性反馈移位寄存器电路
随机序列Nin按位输入到D触发器链中,后处理模块根据生成方程将D触发器链中相应位置上的数据抽头并进行异或操作,得到经过处理后的新随机序列Nout。
该序列消除了在随机数产生过程中可能存在的偏差,是TRNG最终的输出结果。
通过提高伪随机网络的纠错能力,可以在不增加振荡器组数的情况下提高输出结果的均匀性。
这样可以综合考虑功耗,延迟级数,采样频率各项因素对均匀分布随机序列的影响,最终确定参数在FPGA中进行验证。
3.2FPGA逻辑管脚介绍
FPGA逻辑管脚介绍图3.5为FPGA逻辑内部结构模块框图。
①key(4:
0)为信号幅度设置,为5位的逻辑矢量,其中最低位为64,最高位为1024。
例如“00001”所置的数为64,DAC输出为64mV。
key(7:
0)为噪声幅度设置,最低位为8,最高位为1024。
keythreshold(4:
0)为产生指数分布随机数阈值设置。
最低位为4,最高位为128。
②en为振荡器的使能信号。
③cona1、conb1、cond1、cona2、conb2、cond2、cona3、conb3、cond3为在驱动时钟控制下输出控制信号。
⑤clk为系统时钟(16M),scdclk1、scdclk2、scdclk3、scdclk4为驱动时钟信号(100K)
图3.5FPGA逻辑内部结构框图
以一路信号处理电路为例,在驱动时钟的作用下,输出cona和conb两个反相的驱动时钟。
通过信号原理分析,要产生模拟CCD所采集到得信号,需要在4066的芯片的控制管脚加.如图3.6的时序,其中cona与conb两个控制信号反相,并且cond为‘1’时,cona与conb为‘0’。
图3.6cona、conb、cond的控制时序
3.3DAC控制模块
设计中,选用双12位低功耗数模转换芯片。
其有3个灵活配置的串行端口,通过串行端口输出的16位的串行字符串对内部寄存器进行设置,在16位的字符串中,头4位为控制位,后12位为数据位(例如置"
1001"
&
"
000000000010"
,头4位为"
就是向控制寄存器里写数据,最后两位是参考电压位,所置"
10"
就是参考电压为2.048V)。
由于其采用轨对轨的输出缓冲器,这样可以改善输出电压的稳定性和缩短编程时间,可以
通过编程来对速度和功耗之间进行权衡,也可以对参考电压经行编程,这样TLV5638在系统的设计中就可以通过编程来大大简化设计复杂度。
同时其具有供电电源电压范围较大(2.7V至5.5V),封装较小(采用8-pinSOIC封装),适应温度范围广(-40℃至85℃),线性度好等特点。
根据以上TLV5638的介绍,将跳线所置的信号幅度值和噪声幅度值送入DAC内部的寄存器A和寄存器B中。
在控制寄存器中置16位2进制字符串1001"
,这样就可以使参考电压为2.048V。
图3.7是DAC的控制时序图,FPGA有DIN,CS,SCLK三个输出信号与DAC相应的管脚相连。
当跳线的值变化后,片选信号CS变为低电平,同时FPGA输出写入时钟SCLK,这样就将跳线变化后的16位的值(DIN)串行输入相应的寄存器中,在数据输入完毕后,片选信号CS变为高电平,FPGA输出写入时钟SCLK变为低电平,将这样就可以通过跳线来改变DAC的输出值,图3.7为DAC的控制时序。
图3.7DAC控制时序
4软件设计
4.1伪随机数发生器原理
伪随机序列由数学公式计算所产生。
如果生成随机数的算法确定了,那么这个随机数序列也就确定了。
所以从数学意义上讲,伪随机数并不随机,序列本身也必然会重复。
但是只要伪随机数发生器所产生的伪随机序列只要它的周期足够长并能通过相应的检验,就可以在一定的范围内使用,而且伪随机数产生器在物理实现上比真随机数简单得多,它的生成速度比真随机数快得多,因而得到广泛的应用[10]。
对伪随机数而言,其实现算法显得尤为重要。
用线性同余发生法产生随机数的速度很快,算法简单,但用这种方法产生的均匀随机数作为高维均匀变量时相关性较大,并且具有长周期现象和不均匀性的特点,为了要得到大的周期,比如采用超素数法,则又增加了选取超素数的算法。
因此要若用硬件实现,需要消耗FPGA内大量的逻辑资源。
Fibonacci序列具有不能容忍的不居中现象,即由前两个数得到第三个数要不是同时大于就是同时小于前两者而永不居中。
此序列的另一个缺陷是显著的序列相关,即取小值的数后面也出现取小值的趋势。
进位加和借位减的方法有着令人吃惊的长周期,但其具有稀疏网格,未能通过许多局部性的随机性检验的缺点。
陶思沃思提出了反馈移位寄存器法,通过对寄存器进行位移,直接在存储单元中形成随机数。
线性反馈移位寄存器具有非常适合硬件电路的高速实现的特点,这种方法不仅易于实现,并且所产生的伪随机序列具有周期长,结构简单、随机特性好、速度快、成本低、弱相关性的特点[12]。
4.2真随机数发生器原理
真随机数发生器所产生的随机数来源于自然界物理现象的随机特性,因而彻底地消除了伪随机数的周期性问题。
由真随机数发生器产生的真随机数列是不可预测的,因而不可能找到两个完全相同的真随机数列[5]。
只有真随机数发生器才能提供真正的、永不重复的随机数序列。
真随机数发生器从本质上来讲是非确定性的,不像伪随机数发生器通过算法产生随机数,因而无法推算以后产生的随机序列。
这样真随机数发生器就可应用于某些要求独立地产生随机数的场合。
因此,采集大量随机数的最好方法是选取真实世界的自然随机。
噪声和随机事件的产生基于以下两种因素:
第一,噪声和随机事件是大量相互影响的事件共同作用系统的表象,使我们不能预测系统的行为;
第二,量子理论认为,包括电子在内的所有基本粒子都具有波粒二象性。
例如在半导体内电子是以一定的概率占据能级的,电子和空穴的运动都是一种概率波的变化,而非确定性的变化。
基于以上两点可以得到下面的结论:
随机事件是自然界存在的客观现象。
这种现象的存在是普遍的,是不依赖于时间、空间或者其它的条件。
5系统调试
5.1调试环境
整个低能X射线望远镜测试系统由三个板卡组成,分别是前置放大、数据采集和数据处理。
其结构框图如图5.1所示。
模拟器在数据采集系统提供的驱动时钟和复位时钟作用下,根据设计要求产生模拟CCD的信号送入数据采集系统中,此信号经前置放大器放大,再经过相关双采样(CDS)电路处理并自动选择有效信号触发ADC进行A/D转换,转换后的数字信号由FPGA打包发送到计算机,数据被记录为十六进制代码,包含了CCD模拟器输出信号的能量信息和到达时间信息。
在计算机中使用ROOT软件对存储的数据经行处理,作图。
通过分析统计后的数据就可以分析系统性能。
图5.1测试系统结构框图
5.2软件调试
5.2.1ISE软件介绍
ISE是使用XILINX的FPGA的必备的设计工具。
目前官方提供下载的最新版14.4。
它可以完成FPGA开发的全部流程,包括设计输入、仿真、综合、布局布线、生成BIT文件、配置以及在线调试等,功能非常强大。
ISE除了功能完整,使用方便外,它的设计性能也非常好,拿ISE9.x来说,其设计性能比其他解决方案平均快30%,它集成的时序收敛流程整合了增强性物理综合优化,提供最佳的时钟布局、更好的封装和时序收敛映射,从而获得更高的设计性能。
先进的综合和实现算法将动态功耗降低了10%。
ISE的全称为IntegratedSoftwareEnvironment,即“集成软件环境”,是Xilinx公司的硬件设计工具。
相对容易使用的、首屈一指的PLD设计环境!
ISE将先进的技术与灵活性、易使用性的图形界面结合在一起,不管您的经验如何,都让您在最短的时间,以最少的努力,达到最
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 随机 信号发生器