基于FPGA的多道脉冲幅度分析器设计终稿.doc_第1页
基于FPGA的多道脉冲幅度分析器设计终稿.doc_第2页
基于FPGA的多道脉冲幅度分析器设计终稿.doc_第3页
基于FPGA的多道脉冲幅度分析器设计终稿.doc_第4页
基于FPGA的多道脉冲幅度分析器设计终稿.doc_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

河南科技大学本科毕业设计(论文)基于FPGA的多道脉冲幅度分析器的设计摘 要本次设计将介绍一种采用二级线性放电法构成的可存储多道脉冲幅度分析器的设计系统,其控制与转换的核心采用Altera公司的FPGA:Cyclone的EP1C6Q240C8,并用超高速硬件描述语言VHDL进行程序设计。系统采用USB接口芯片实现与PC的高速数据传输。本次所设计的多道脉冲幅度分析器实现了对随机核辐射信号幅度及密度的测量,即实现了对能量谱的测量。在本次设计中利用FPGA内部的锁相环(PLL)将100MHz的外频倍频到200MHz,并以此作为ADC的计数脉冲,提高了脉冲幅度的转换精度。同时利用芯片Cyclone自带的BLOCK RAM存储道地址数据,增大分析器的存储能力,减少了系统的体积;用FPGA构成USB控制器,实现与USB接口通信的功能;采用二级恒流源线性放电法,提高了系统的ADC的道宽均衡性,同时减少了系统的死时间。最后通过QuartusII软件对设计的系统进行了功能仿真,并下载到试验箱上进行测试,结果由于自身的问题只做出了软件仿真部分。关键词:多道脉冲幅度分析器, 二级线性放电法, 现场可编程门阵列(FPGA), 超高速硬件描述语言(VHDL), 通用串行总线(USB) Design of Multichannel Pulse Amplitude Analyzer Based on FPGAAbstract This design will be designed to introduce a adopt two-stage method of linear discharge pulse width height analyzer design system, the core of the conversion and control unit is achieved in the Cyclone EP1C6Q240C8 of Altera corporation by programming with the VHDL .The transport of the data to PC adopts the port chip of USB. The design of multi-channel pulse amplitude analyzer realized with random signal amplitude and density of math-model of measurement, namely, realize the energy spectrum measurement.In this design, using the FPGA internal phase lock loop (PLL) will 100MHz outside frequency harmonics to 200MHz and regard it as the ADC counting pulse and improve the precision of the pulse amplitude conversion. At the same time use to bring a Cyclone chip which ways address data, RAM storage increases analyzer, reducing the storage capability; the volume system using the FPGA constitute a USB controller with USB communication, realizing the function; Adopt two-stage constant-current source method of linear discharge and improves the system ADC word wide balance of the system, as well as reduce dead time. Finally, through the system QuartusII software to design functions, and the download to simulation test box .however ,because of myself inadequate ,only the software block is successful . Keywords: Multi-channel pulse amplitude analyzer, Two step linearity discharge, FPGA, VHDL, USB目 录前 言1第1章 绪论31.1 国内外发展现状31.2 研究目的及意义41.3 特色与创新4第2章 多道脉冲幅度分析器原理52.1 多道脉冲幅度分析器的组成52.2 多道脉冲幅度分析器的转换原理5第3章 整体设计73.1 数据获取73.1.1 线性放电法模数变换原理73.2 数据传输93.2.1 USB接口概述103.2.2 RS-232概述133.3 总体方案设计13第4章 硬件电路设计164.1 硬件电路组成164.2 模拟电路设计164.2.1 线性门电路164.2.2 上/下阀电路174.2.3 脉冲幅度保持电路194.2.4 快/慢放判断电路194.2.5 自放电路204.3 数字电路设计214.3.1 FPGA控制电路214.3.2 数据显示模块224.3.3 BCD转换模块234.3.4 RS232接口电路设计23第5章 软件设计255.1 VHDL语言简介255.2 总体软件流程设计265.3 功能模块设计285.3.1 分频功能模块设计285.3.2 主控功能模块设计295.3.3 存储功能模块设计315.3.4 RS232通讯功能模块设计315.3.5 PWM斩波调幅设计335.3.6 存储控制模块设计355.3.7 时间控制模块设计36第6章 实验与调试过程386.1 设计过程386.2 调试与结果分析386.3 设计过程中所遇到的问题38总 结39参考文献40致 谢42附录一43附录二4452前 言核能谱测量技术被广泛应用于定量分析被测物质的元素成分及其含量。核能谱测量技术是一种综合性很强的技术,是核探测技术、电子技术、计算机技术等多学科相互交叉渗透的产物,具有现场、多元素快速分析、非破坏性等特点,目前已成为物质成分分析必用的仪器。多道脉冲幅度分析器是能谱仪的关键部件,其性能好坏决定了能谱仪的测量精度,所以,多道脉冲幅度分析技术是核辐射测量技术中的一个重要研究课题1。经过分析发现根据多道脉冲分析器的功能和结构,本课题主要的研究内容及所用到的技术有:(1)二级线性放电法。多道脉冲幅度分析器以“脉冲幅度一时间”变换原理为基础,电路采用两级线性放电将脉冲幅度转换为时间参数T(T=HC/I),再由FPGA对T进行脉冲计数,从而得到脉冲的道地址。为了使时间与幅度准确的成正比关系,需要保证充电电容以恒定的电流放电,在本课题中采用两级恒流源放电,同时为了提高分析器的转换时间,我们采取快慢放并用的方法进行放电;(2)FPGA实现ADC。利用FPGA强大的逻辑控制功能,通过扫描过峰、过零判断电路,上下阈甄别电路等模拟电路,控制线性门、恒流源放电电路的动作,并对放电时间进行脉冲计数,同时将结果存储到内部ROM中,即,用FPGA构成ADC电路;(3)用USB进行数据传输。为了使存储的数据快速的传给微机进行数据处理,选用USB进行数据传输。USB设备由于“即插即用”的优点和灵活性,而被广泛应用于各种电子产品。USB(通用串行总线)是一种电缆总线,用于在主机和各式各样的即插即用的外设之间进行数据传输。由主机预定的标准的协议使各种设备分享USB带宽,当其它设备和主机在运行时,总线允许添加、设置、使用以及拆除外设。本模块使用USB1T11A接口芯片,可以通过跳线选择工作模式和传输速度(低速1.5Mbit/s和全速12Mbit/s)。USB1T11A是一片通用USB收发器芯片,遵循USB1.1协议,使用标准逻辑与USB的物理层接口。在这次的论文中主要分了六个章节进行介绍:第一章中主要介绍了国内外的研究状况及本次设计中的新颖之处;第二章主要介绍一下多道脉冲幅度分析器的原理,模数转换是这一节的重点;第三章主要介绍了设计中用的一些基本方法,线性放电及各种通讯方式的比较;第四章主要是通过硬件电路图的设计来了解各个模块的功能,更详细的了解本次设计的情况;第五章主要是通过软件仿真得到一些仿真波形图及RTL级电路图;第六章主要介绍了本次设计所做的程度及在设计中所遇到的问题,最后对本次设计的一个总结。第1章 绪论1.1 国内外发展现状多道脉冲幅度分析器是多道能谱数据采集系统中的重要组成部分,它的性能很大程度上决定了核信息采集的正确性,是核数据处理的基础。完整的多道脉冲幅度分析器应具有两大部分的功能:1、对探测信号的模数转换和地址存储,即,数据转换及存储的控制功能;2、将结果直接显示或通过串口、并口等方式送给微机处理,即:数据传输功能。因此提高多道脉冲分析器的性能一般从这两个方面入手。目前国内外研制生产的多道脉冲幅度分析器大致分为两类:一类是以ORTEC、CANBBER及北京核仪器厂为代表生产的多道脉冲幅度分析器。其设计原理采用逐次比较法,其特点是采用数字集成电路芯片来实现A/D(模数转换),采用数字均道器来调节道宽,其优点是能满足高计数率,缺点是积分非线性、微分非线性不太理想。一类是以上海核仪器厂为代表生产的多道脉冲幅度分析器,其设计原理采用线性放电法6,其特点是采用中小规模数字集成电路芯片来实现控制核心,其优点是积分非线性、微分非线性好,缺点是只能满足低计数率。此外,成都理工大学的袁启兵实现了以单片机AT89C55为控制核心,以高速低功耗的A/D芯片MAX191作为模数转换器件的多道脉冲幅度分析器。多道脉冲幅度分析器测得的谱数据通过通信接口发给主机进行数据分析和处理,通信接口有串口(RS232)、并口(EPP)、USB口及总线方式(ISA、PCI)。重庆邮电学院的尚凤军,王海霞研制了以PC/104嵌入式微机为控制核心,采用总线方式实现系统通信和数据传输。成都理工大学的彭有花用FPGA 芯片EPF10K20作为逻辑控制的核心,结合EPP接口技术实现了多道脉冲幅度分析器的功能。在上述通信接口电路,以USB口性能最优,但现在国内也只做到12M,即只满足USB协议1.1,如成都理工大学应用核技术研究所的周伟,李涛等利用P89C51RD2单片机与A/D转换器和USB接口设计的便携式多道脉冲分析器。在本次设计的多道脉冲幅度分析器中采用USB接口实现数据传输。1.2 研究目的及意义本课题是采用FPGA芯片作为多道脉冲分析器的数字逻辑控制核心,并利用片内内嵌ROM存储数据,充分地利用了FPGA的内部资源。FPGA是一种高性能的可编辑逻辑器件:它是作为专用集成电路(ASIC)领域中半定制电路而出现的,既解决了定制电路的不足,又克服了原来可编辑逻辑器件的逻辑门有限的缺点,大大提高了系统的精确度,提高整体的抗干扰能力和稳定性,而且可以使体积更小。在数据传输方面,系统采用USB进行传输,加快和提高了数据处理能力。因此,本设计中的多道脉冲幅度分析器体积小,功耗低,便于户外工作。1.3 特色与创新本课题中的多道脉冲分析器与主要有以下几个特点和创新:(1)本系统是采用FPGA为核心的器件,以一片FPGA芯片代替了以往30多片中小型的数字芯片,提高整体的抗干扰能力和稳定性,而且可以使体积更小。FPGA能通过VHDL语言编写程序实现许多强大的功能;(2)采用二级线性放电法,但不是直接采用A/D变换转换芯片,而是将计数器、比较器、存储器等功能器件集成在FPGA上,相当于自制一个A/D变换转换器。第2章 多道脉冲幅度分析器原理2.1 多道脉冲幅度分析器的组成为了能将输入信号分入各道,需要有一个能按信息参数分类的输入部分(物理量-数码变换器)和一个按类存储计数的存储器,这是多道脉冲分析器的两个重要部分。物理量数码变换器可以是一个模数变换器(ADC),具有模数变换器的多道脉冲分析器称为多道脉冲幅度分析器2。按信号时间信息分类的物理量数码变换器,是一个时间-幅度变换器(TAC)再加上一个模数变换器,这种多道分析器称为多道时间分析器。目前大多数多道时间分析器的输入部分均采用TAC十ADC。由此可见,这种多道时间分析器除TAC外,就是一个多道脉冲幅度分析器。输入信号按信号的幅度或时间参数将输入信号成比例地变换成数码,即地址码或道址码。存储器按道址码存储,也即在信号所属道增加一个计数。为了对所测数据进行一些简单处理,需要有一个运算器。显示器将收集到的数据或数据处理的某些结果显示出来。为了将所测数据输入到电子计算机,需要打印机或自动扫描仪等设备。上述各部分都需要由一个控制器来管理,控制器可以受按键控制,也可以受遥控信号控制。在多道脉冲分析器中,作为输入部分的模数变换器、时间-数字变换器或时间-幅变换器决定了多道脉肿分析器的精度指标,目前多已做成NIM插件和CAMAC插件,便于选用。多道脉冲分析器的其余部分常称为多道脉冲分析器的主机。主机决定多道脉冲分析器数据获取和处理功能的多样性和灵活性。2.2 多道脉冲幅度分析器的转换原理图2-1为模数变换和按地址寻址存储示意图3。图中对输入信号幅度分成l6类进行存储,每类幅度差为H,H称为道宽,每一 类 称为一道,共有l 6道,道号为015。和道号相应,存储器有16个存储单元。存储单元的地址为0-15。幅度为V的模拟信号经过模数变换得到和V成比例的地址码m,m=V/H。按地址码m寻找存储器中此信号应存入的第m存储单元,然后使该单元中的计数加1。这样就实现了按幅度分类存储。在图2-1中,第1个信号的幅度属于第4道,变换后的二进制地址码m1为0100,按此将第1个信号存入第4个存储单元,并依此类推。图中细箭头表示了模数变换和寻址的过程。各存储单元的计数在显示器上用高度不同的圆点表示。如果将各存储单元中的计数顺序显示出来,则计数N和道址m的关系就是所得的幅度谱。模数变换器的地址码大都以二进制码进行传输。图2-1的16道模数变换器,地址码有4位,8192道变换器,地址码有13位。在多道脉冲幅度分析器的模数变换器中,地址又称为道址。图2-1 模数变换及按地址寻址存储示意图由图2-1可知,模数变换是把连续的模拟量变换成离散的数字量,所以是一个“量化”处理。幅度的分类由一系列等间隔的量化电平决定。相邻两量化电平之间的间隔构成一道。每一个量化电平都是一个道边界,量化电平的间距就是道宽。道宽越小,分类分得越细。 第3章 整体设计本课题的研究内容是设计一个性能优良的多道脉冲幅度分析器,由上一章我们知道,多道脉冲幅度分析器的主要功能是通过模数变换器将输入的模拟信号变换成离散的数字量并将数据存储。量化电平的间距就是道宽,数字量的地址码就是道址。同时,分析器还要将存储的道址传输到电脑上,通过软件分析,最后绘出该信号的幅度谱,这就涉及到了数据传输和数据处理。在本章中我们将分析这种设计方案,并确定整体设计思路。3.1 数据获取经过模数转换的道址是数据传输和数据处理的对象,我们获得道址数据的方法采用线性放电法。3.1.1 线性放电法模数变换原理线性放电法模数变换在五十年代初首次用于核电子学。近三十年来,尽管电子元件已经从电子管发展到集成电路,谱仪模数变换器也越来越精密和复杂,但国内外产品至今仍有用线性放电法制作的,因为线性放电法电路简单,道宽一致性好,便于设计。图3-1 线性放电法模数变换原理图3-1所示为线性放电法模数变换原理图。为了讨沦方便,假设电路中都是理想的元器件。输入信号使峰值保持器中的保持电容CH充电到等于其幅度V1,输入信号下降时,二极管D截止,CH上仍保留VCV1的电压。这种能够在一定时间保待峰值电位的电路称为峰值保持电路或展宽器,当CH充电到峰值V1,并保持一段时间以后,控制信号接通开关S,CH通过恒定电流放电。同时,控制信号打开计数门G,时钟信号通过G进入地址寄存器。当CH线性放电到零,控制信号结束,关闭计数门G,时钟信号不能通过门G送至地址寄存器,变换结束。线性放电法模数变换的道宽一致性比较好,温度的变化对各道的影响也基本相同。但是,在线性放电法模数变换中,由于保持电容的放电速度是每个时钟周期T0放一道,所以最大变换时间T max=LmaxT0。总道数L max增多时,变换时间必然拉得很长,这是线性放电法的主要缺点。我们可以设法让保持电容先以每个时钟周期放电几十道的速度快放电,最后的余数再以每个时钟周期放电一道的速度慢放电,可以大大地减小放电时间,这就是两级直线放电法模数变换的基本思路。图3-2 两级直线放电法模数变换原理图图3-2为两级直线放电法模数变换原理图,设总道数L max=4096=212,我们取快放电速度为26H/T0(即64H/T0),慢放电速度为20H/T0即(1H/T0)。图中,先以26H/T0的速度快放电,历4个时钟周期后VC余数小于20H。通过线路的逻辑动作,在第4个时钟周期结束时,立即变快放电为慢放电。然后VC慢放电到零,设,慢放电到零电压需要经历10个周期。由图可知,快放电地址脉冲m1=4,慢放电地址脉冲数m=10,我们把快放电的地址脉冲加到地址寄存器26位输入端串行计数,把慢放电的地址脉冲加到地址寄存器20位输入端串行计数,地址寄存器的置位情况就反映了测量结果。在图中,输入脉冲的幅度相当于m164+m11=464+10=266道。当L=4096时用两级放电法,快放电时间最长为26T,慢放电时间最长为26T,所以最大放电时间为:T2max=(26+26)T0=128T0 (3-1)可见变换时间缩短了,在一般情况下,如果分析器为L=2N道,把N分为N=X+Y,即2N=2X+Y=2X2Y,如果快放电速度为2XH/T0,则快放电时间最多为2YT0。慢放电时间最多为2XT0。从原理上讲,N一定时,X和Y的数值可以有任意的组合,但是,当2X=2Y=时,T2max最小,所以通常取X=Y,这样 (3-2)即道数为L的分析器,采用快放电和1H/T0慢放电时,变换速度比一级线性放电法 提高。对设计要求中的L=8192,N=13所以当X=Y=6.5时放电时间最小。3.2 数据传输数据传输常用的有以下几种方式:串口、EPP、ISA总线接口、USB(Universal Serial Bus)接口和并口。其中串口的设计简单,传输距离较远,传输线较少,是数据传输中广泛采用的一种标准。串行接口中有几种接口标准可以选择,如RS-232、RS-422等。现在,随着USB技术的发展,这种高速的数据传输接口也被越来越多地应用于多道脉冲分析器中。由于RS-232通信比较简单,以下着重介绍RS-232、USB接口。3.2.1 USB接口概述传统的分析器用ISA或PCI接口实现PC机与采样系统的数据交换4。这样的接口设计有许多局限性,内置式插卡很容易受到PC机箱内高频干扰的影响,降低系统的采样精度与稳定性,同时,插槽有限且常常伴 生着 PC机的I/O、中断、地址等资源冲突等问题。再加上安装不便,配置过程十分复杂,这些内置式接口将逐渐淡出智能仪器领域。也有一些仪器外挂在PC的RS-232串口或打印接口上工作,这些接口方便,是比较普通的方法。但这些接口提供的控制与应答信号太少,用起来不仅速度慢而且非常不利于智能仪器的开发与性能充分发挥。由于PC机外设日益增多与PC机 资源有限的矛盾催生了一种新的通用串行总线USB(Universal Serial Bus)的出现。通用串行总线USB是由Intel等厂商制定的连接计算机与具有USB接口的多种 之间串行总线。其主要特点是速度快、安装方便、即插即用、扩展性好、可有效降低成本、简化设备的配置和连接。USB总线最多可支持127个USB外设连接到计算机。USB总线是一种串行总线,支持在主机与各式各样的即插即用的外设之间进行数据传输。它由主机预定传输数据的标准协议,在总线上的各种外设上分享USB总线带宽。当总线上的外设和主机在运行时,允许自由添加、设置、使用以及拆除一个或多个外设。(1) USB的体系结构一个完整的USB总线系统可以分为三部分5:USB总线的主机、USB总线的设备以及它们之间的互连。在任何USB总线系统中,只能有一个主机。主机系统中提供USB总线接口驱动的模块,称作USB总线主机控制器。主机系统中整合有USB总线的根(节点)集线器,通过次级的集线器则可以连接更多的外设。USB总线的外设可以分为网络集线器和功能外设两大类。USB总线连接外设和主机时,利用菊花链的形式对端点加以扩展,形成了如图3-3所示的金字塔型的外设连接方法,有效避免了PC机上的插槽数量对扩充外设的限制,减少PC机I/O接口的数量。图3-3 USB总线的外设连接(2) USB的电气特性USB设备通过4芯电缆PC机主控制器相连,这根线分别定义为:D+、D-、VBUS、GND6。VBUS与GND之间可对USB外设提供不大于100Ma/5V或500mA/5V的电源,低功耗外设可以从USB总线获取供电(功耗大的需采取自供电方式工作)。D+、D-传差分式信号,通过信号线D+、D-上的J/K状态改变来识别0/1信号。USB的插头和电缆如图3-4所示。图3-4 USB的插头和电缆串行接口引擎(SIE)对串行数据进行编码和解码、错误效验、位填充等处理。当USB外设通过4芯电缆接入PC机的USB插口时,PC机的USB集线器(hub)将检测到USB设备的接入,并从带上拉电阻的D+信号线探测出该设备为全速设备,随后发出一系列标准命令给USB外设,以期获得有关设备的信息描述,如设备类型、电源管理、最大包大小、配置/接口/端点的属性。产品ID等,接着主机为该设备分配一个确定地址,并依据设备ID加载相应的设备驱动程序,此后主机将控制权交给外设固件,通过固件与设备驱动程序及主机应用程序的交互通信,来实现预期的USB设备的功能。(3) USB总线传输协议 USB总线属于轮询方式的总线7。按照传输前制定好的协议,在每次传输开始时,主机控制器发送一个描述传输运作的种类、方向、以及USB总线设备地址和终端号的标志包(Token Packet)。USB总线设备从解码后的数据包中适当的位置取出属于自己的数据。数据传输只有两个方向,从主机到设备或是从设备到主机。在传输开始时,由标志包来规定数据的传输方向,然后发送端开始发送包含信息的数据包或表明没有数据传输。接受端要相应地发送一个握手的数据包,表明是否传输成功。为了保证USB数据传输的正确性,就要在每个数据包中加入检测位来发现错误,并且提供多种硬件、软件设施和手段来保证数据的正确性。在数据传输时,使用差分的驱动、接受和防护,以保证信号的完整性。数据打包的时候,在数据和控制信息上加了循环冗余效验码(CRC),协议中对每个包中的控制位和数据位都提供了循环冗余效验码。若出现了循环冗余效验码(CRC),协议中对每个包中的控制位和数据位都提供了循环冗余效验码。若出现了循环冗余效验码的错误,则被认为是该数据包已被损坏。循环冗余效验码可对一位或两位的错误进行百分之百地检测。另一方面,对流数据进行控制,以保证同步信号和硬件缓冲管理的安全。同时,建立数据和控制管道,使外设间相互不利的影响独立开,消除了负作用。USB协议规定了四种数据传输方式:控制传输、批量传输、中断传输和等时传输,USB1.1的传输速率最高为12Mbps(低速外设的标准速率为1.5Mbps,高速外设的标准速度为12Mbps)。3.2.2 RS-232概述RS-232总线接口标准是美国电子工业协会(Electronic Industry Association )的推荐的串行通信标准,现已在全世界的范围广泛采用8。按照RS-232总线接口标准,通信之间的设备被分为DTE和DCE两种不同的类型。DTE是“数据终端设备”(Data Terminal Equipment),DCE 是“数据通讯设备”( Data Communication Equipment)的缩写。这两种设备类型的定义由是由使用者按照当时的使用方式而确定。 RS232总线接口标准使用25芯连接器,所描述的信号远比当今PC机串行口所需要的多得多。因此,常用9芯连接器代替25芯连接器,因为25芯连接器上的许多信号线在现在的设备上几乎从不使用。串行口9芯连接器中常用的一些信号如表3-1所示。 表3-1 9芯连接器上的信号DCD(数据载波检测)DCE到DTERXD(接收数据)DCE到DTEDTR(数据终端准备好)DTE到DCETXD(发送数据)DTE到DCEDSR(数据设备准备好)DCE到DTERTS(要求传送)DTE到DCERI(震铃指示)DCE到DTECTS(清除传送)DCE到DTE在该表中“DCE到DTE”表示信号由DCE产生(输出)送到DTE(输入),而“DTE到DCE”则表示信号由产生DTE (输出)送到DCE(输入)。信号中最重要的两个是RXD(接收数据)信号和TXD(发送数据)信号。这两个信号用于串行信息的交换。通过观察连接器,很容易将DTE与DCE相区别:如果一台设备的串行口的连接器是插针形式的,那么是一台DTE设备(例如:PC机) 9;如果一台设备的串行口的连接器是插孔形式的,那么这台设备是DCE(例如:MODEM)。经过对两种数据传输方式的分析,其中RS-232比较简单,易于实现,USB传输速度快,方便,但它的协议复杂,编程不易。因此设计最终使用RS-232作为系统的传输方式,但对USB进行了理论研究。3.3 总体方案设计经过以上的介绍决定在设计中使用二级线性放电法做系统的A/D转换,用RS-232和USB进行数据传输,使用FPGA作为整个系统的控制和存储核心。图3-5 多道脉冲分析器的系统结构原理图图3-5为基于FPGA的多道脉冲分析器的系统结构图。整个系统可分为四部分。第一部分为脉冲放大电路,即前放和主放。第二部分为模数转换部分。第三部分为以FPGA芯片为核心的数字逻辑控制电路部分。第四部分为以USB标准设计制作的数据传输部分。转换过程如下:键盘输入上下阈的值,(FPGA使用PWM调制提供上下阈的标准电压)并通过拨盘开关选择道宽选择,即选择8192道或是4096道等。初始化完成后开始转换,被测信号经过前放和主放后通过线性门,展宽跟随器 这时对信号采样,过峰检测开始判断信号是否在上下阈内,如果不在范围内就启动自放电路,快速放电。如果在范围内则启动计数脉冲,开始转换。在转换过程中,快慢放 判断电路根据充电电容的电压通知FPGA什么时候启动快放电路,什么时候启动慢放电路。在FPGA内部,由FPGA构成了几个逻辑模块电路。100MHz的晶振 通过PLL倍频到200MHz(计数脉冲的频率),当转换开始时,计数器的阀门打开,开始以道宽为1mV,幅度为8192mV的脉冲计数,转换停止后,计数的值与选择的道宽大小比较,得到实际的道址值(如果选择8192道,则用计数值除以8192/8192,即1个脉冲为一道)。FPGA将道址 存储到BLOCK RAM中,最后控制USB器件将存储的数据发送到PC上。由于FPGA具有集成度高,逻辑控制功能强,存储空间大,工作频率高。能胜任更复杂的时序逻辑、组合逻辑与状态机等逻辑电路应用场合,能替代几十甚至上百块通用IC芯片,因此本设计中数字电路部分都由FPGA构成,并利用FPGA强大的逻辑控制功能控制快、慢放电电路、线性门电路等外部模拟电路的动作。系统中输入信号的模数转换器(ADC)由FPGA配合过峰、过零检测电路和两级恒流源放电电路实现的,即采用二级线性放电法来实现。FPGA根据过峰、过零检测电路的判断信号控制两级恒流源放电电路的启动和停止,并对放电电路启动和停止的时间进行计数,得到的计数结果就为信号的道址(系统时钟为100MHz晶振 通过FPGA内部锁相环倍频到200MHz)。得到的道址数据储存在EP1C6Q240C8内部的BLOCKRAM中。最后,系统通过USB接口将数据传输给主机,通过主机处理数据绘出谱线。第4章 硬件电路设计4.1 硬件电路组成本课题是以FPGA芯片为控制核心,控制外部的模拟电路实现模数转换,并存储转换后的数据,同时要控制通讯接口电路发送存储的数据。在转换过程中系统还配有数码管和BCD转换器等数字电路。4.2 模拟电路设计 系统的模拟电路主要包括:线性门电路、电压上下阀值甄别器电路、电压跟随电路、快/慢放判断电路、自动放电电路。为了提高系统的整体速度、减小体积,电路中使用高速运算放大器和贴片式电容、电阻。4.2.1 线性门电路当被分析的信号进入变换器后,为了把它转换成数码m,需要一定的变换时间T=mT0,在变换过程中各个电路产生动作,也需要一定的逻辑动作时间t l。此外,为了把变换后的数码写入存储器里,还需要一定的存储时间t v。即多道脉冲分析器每分析一个信号所需时间为:td=t l +T + tv这段时间为分析器的“死时间”。分析器在死时间内必须封锁输入端,以便禁止下一个输入信号的进入,这个过程叫占用封锁。为实现占用封锁,需要在输入端设置一套门电路如图4-1所示。门电路主要由三极管Q2,Q4,二极管D1及电容C1构成。图中的XX为FPGA输出的控制信号,当XX为高电平时Q4、Q2导通,由于Q2的发射极接-15V电压,信号经过Q2到-15V,相当于信号被关断。当XX为低电平时,Q4、Q2截止,信号就可以通过。二极管D1的作用是斩掉信号的负幅度。 1J1CON2R1 R3 C1D1Q22N3904Q42N3906R87R88R20-15VXX图4-1 线性门电路4.2.2 上/下阀电路我们知道输入信号幅度V1越大,变换后的地址码m也就越大。由于地址寄存器的容量是固定的,因此幅度过大的信号变换后所得的地址码,可能使地址寄存器溢出,这样幅度过大的信号就会超出幅度分析的范围。由于地址溢出限制了可分析幅度的上限,偏置限制了分析幅度的下限,幅度在上述范围之外的信号不予模数转换,也不存储,因此需要设置上阀和下阀,在启动变换之前就对信号幅度进行预选。在本电路中,我们可以调节SY、XY输出电压的占空比,控制基准电压的平均值,这就是PWM调制。上阀电路主要由运放LM311,二极管D6,三极管Q15及电容C2,C9,C12,C10构成。SY为FPGA输出的控制信号,由于上阀电压的值在8V以上,而FPGA输出的电压信号只有3.3V,不能满足需要,因此电路使用三极管9018进行电压转换,即SY为低电平时,Q15导通,A点输出为15V;SY为高电平时,Q15截止,A点输出0V。电阻R19、R11和电容C4、C9组成了二阶滤波器,它的作用是将A点的方波信号滤波,最后输出一个恒定的直流电压。电压信号从R5输入,通过放大器LM311与设定的上阈电压比较,当信号幅度大于设定的幅度,7脚输出为-15V电压(COMP1输出0),说明该信号超过了上阈,不予转换。当信号幅度小于设定的幅度,7脚输出+15V电压(COMP1输出1),则信号在转换范围内。电阻R6是上拉电阻,它增加了输出的驱动能力。23765184U3LM311R5 C2-15V+15VR6+5VR7COMP1R10C9R11C4R19R77Q159018R80SYR13D5IN4148+15VA图4-2 上阀电路下阈电路主要由运放,二极管D6及电容C5,C14,C3构成。它也是用PWM调制来控制基准电压的平均值的,由于下阈的电压在毫伏级,因此可以直接用FPGA的输出电压。23765184U4LM311-15VR21C3R22 +15VR8R9+5VCOMP2R12 C10C5R18 XY图4-3 下阈电路下阈的比较输出原理与上阈是相似的,信号从R21输入,当信号电压大于设置电压,运放输出-15V电压(COMP2输出0),则该信号在转换范围之内。当信号电压小于设置电压时,运放输出+15V(COMP2输出1),则该信号比下阈低,不在转换范围内。XY的幅度为3.3V,频率为10kHz,根据RC放电计算公式:=RC,是频率的倒数,在电路中R取5K的电阻,所以C的值为20000pF。这个值的电容很难找,我们用104的电容代替。4.2.3 脉冲幅度保持电路该电路为峰值保持电路,由于输入脉冲信号的峰值持续时间非常短,该电路的功能就是将输入信号的峰值保持下来以便进行模数转换。C8、C11为充电电容,J2SK152为N沟道的场效应管。U11为高速运放THS4001,它和J2SK152构成了电压跟随器。 C8 2 1 3D4J2SK152+15V-15VC6C7D3C11C53D2DIODE2361748U11THS4001ABBR45图4-4 脉冲幅度保持电路信号由3脚输入,当输入电压还没到峰值时,3脚比2脚电压高,运放输出+15V电压,C8、C11开始充电。二极管D2、D3的作用是防止充电电容回放电流。当输入电压处于下降时运放输出-15V二极管截至,电容停止充电,C8、C11就将该信号的峰值电压保持下来,即B点电压为峰值电压。为了使J2SK152在充电电容的电压为0时也能正常工作,所以场效应管的3脚接在-5V电源上。C6、C53和C7为电源的滤波电容。4.2.4 快/慢放判断电路本设计采用二级线性放电法对脉冲信号进行幅度-时间变换,因此系统就需要知道何时开始快放,何时开始慢放,而快/慢放判断电路实现了这一功能。在设计中,我们规定放电电路在放电开始时就进入快放模式,当输入信号的电压小于1V(26H)时电路才开始慢放。 图4-5为快/慢放判断电路,电路中E点接到充电电容上,运放TL3016的3脚接精密电压源。当充电电容的电压大于精密电压源的电压值时运放输出为+5V(COMP4输出为1),则快放保持。 当充电电容的电压低于精密电压源的电压值时运放输出为-5V(COMP4输出为0)则开始慢放。可变稳压管TL431和电阻R78、R93、R14及可调电位器R92构成了精密电压源。经过调整R92的值可以使输入运放的3脚值准确的保持在1V。 R25 -5V+5VR30R31 +5VCOMP4R14R93R78R92+5V2378546 1U8TL3016C55CAP213U2TL431E图4-5 快/慢放判断电路4.2.5 自放电路当输入信号过大或过小,会被上阈或下阈电路视为无用信号剔除掉,该信号将不会被转换和存储。但是该信号还是会被保持在充电电容中,为了提高有用信号的利用率,系统采用自放电路将充电电容上的无用电压快速放光。Q12N3904Q32N3906R85R86R70-5VZFF图4-6 自放电路图4-6为自放电路,F接在充电电容上。ZF为FPGA的控制信号,Q3为PNP型三极管,Q1为NPN型三极管。当输入信号被判断超出阈值后,FPGA使ZF为高电平,Q3、Q1导通,输入信号将通过R85接到-5V而被放光。由于R85的电阻值很小,所以放电电流很大,信号将被快速放完。为了保证电容在接近零时也能以正常的速度放电,R85接到了-5V上。4.3 数字电路设计系统的数字电路以FPGA控制芯片为主,主要的功能是实现对系统模拟电路的控制、模数转换、设置上下阈值、选择系统工作状态、显示转换状态等功能。数字电路主要包括:FPGA控制电路、数码管显示电路、BCD转换输入电路、键盘控制电路。 4.3.1 FPGA控制电路 FPGA是系统的控制芯片,它根据过峰,过零检测、快/慢放判断等电路的判断结果,控制线性门、恒流源放电等电路的动作,从而实现了线性放电法模数转换的功能,同时它嵌有内部RAM,实现了数据的存储功能。图4-7 FPGA主控接口电路图4-7为FPGA主控接口电路,其中COMP信号都是判断电路输入的输出信号,COMP1是上阈值溢出输出;COMP3是过峰检测信号输出;COMP5是过零检测信号输出;COMP4是快/慢 判断电路输出;COMP2是低于下阈值输出。其它的信号都是FPGA输出信号,其中XX是控制线性门开/关信号;KF是控制快放开/关信号;ZF是控制自放开/关信号;charge是控制恒流源放电的开/关信号;SY是上阈值PWM调制信号,XY是下阈值PWN调制信号。这些模拟电路的输入信号告诉FPGA系统处于的状态,FPGA根据这些信号,进行对其他电路的控制。这个控制过程如下:当过峰信号COMP3输出为1时为未过峰,FPGA控制线性门打开,即XX输出为0,充电电容处于充电状态。当COMP3输出为0时为过峰,FPGA控制线性门关闭,XX输出为1,如果该信号为有用信号,即在上下阈值之内(COMP1为1COMP2为0),系统开始进行放电,即FPGA控制charge输出为0,否则系统进行自放即FPGA控制ZF输出为1。同时,如果COMP4输出为1则系统应采用快放方式放电,FPGA控制KF输出为1。否则系统采用慢放方式放电FPGA控制KF输出为0。此时系统为放电状态。当过零信号COMP5输出为1时为未过零,系统继续放电,当COMP5输出为0时表示充电电容将电量放完,此时FPGA开始进行时间-地址转换,并将数据发送到内部存储器中,同时控制XX输出0,即打开线性门开始新的转换。4.3.2 数据显示模块为了显示模数转换的状态,显示转换的当前的道址和功能选择的状态,系统采用了七段数码管进行数据显示。在本设计中,本系统不采用同时点亮若干个七段数码管的静态显示而在采用了动态显示来完成这几个七段数码管的数据显示。图4-8是FPGA与数码管的接口电路。系统有4个数码管,FW1到FW4为FPGA的数码管位码控制输出,W1到W4为数码管的位码输入。从图中可知,Q59、Q60、Q61、Q62为PNP三极管,当FW信号为0时导通,数码管被点亮,反之熄灭。A到H为FPGA的段码控制输出。数码管的段码是显示数据的,位码是控制哪个数码管显示的。动态显示的是不同时间将不同的数据传输给不同的数码管,它的优势就是数据线少,提高了I/O口的利用率。如果显示数据“1234”,FPGA输出“1”的数据给段码,FW1输出0其它数码管不点亮,即第一个数码管显示“1”。再输出“2”的数据,FW2输出0点亮第二个数码管,显示“2”数据。这样依次点亮第三个、第四个数码管,只要依次点亮的频率快,我们看到的就是“1234”数据同时显示了。 图4-8 FPGA与数码管的接口电路4.3.3 BCD转换模块FPGA的功能还包括通过外部设置改变上下阈值的基准电压。由于系统上下阈值采用的是PWM调制的方法控制基准电压的,在设计中我们采用了BCD码转换器对基准电压进行设置。BCD码转换器是一种将十进制转换为二进制输出的器件。上下阈值电路的基准电压的设定是通过FPGA的PWM调制法实现的。4.3.4 RS232接口电路设计使用RS-232接口进行通信时,由于RS-232接口的电气特性所决定,我们不能直接将FPGA芯片与RS-232接口相连接,而需要通过具有电压变换功能的MAX-232接口电路来实现连接,完成数据的传输。因此利用RS-232接口通信需要设计接口电路和通信协议。由RS-232总线接口的电气特性可知,逻辑1电气上是由电压值从3V到-25V间的电平来表示,而逻辑“0”电气上是由电压值在+3V到+25V间的电平来表示。而FPGA使用的是TTL电平信号,因此FPGA和RS-232接口电路之间必须进行电平转换。通常可以使用RS232专用的转换芯片,如MAX232与RS-232总线接口的接口电路如图4-9所示。FPGA的输出信号TXD由T21N输入到MAX232接口电路,经过电压变换后,数据由T2OUT(RXD-PC)输出到RS-232总线接口上。同理,由RS-232产生的TXD-PC信号通过电压转换后变为TTL电压从R2OUT输入到FPGA。在MAX232接口电路中C10和C11是转换电容,C30C32是滤波电容。图4-9 MAX232与RS-232总线接口电路第5章 软件设计系统的软件设计的过程就是用程序语言编写程序并下载到芯片中,实现各项功能的过程。FPGA是一块可进行编程的控制芯片,我们可以将编译好的程序下载到芯片中,实现我们要求的功能。在本设计中,FPGA的功能有:主控制功能,包括对模拟电路、数字电路进行控制,模数变换,上下阈的占空比设置,转换状态显示等功能;数据存储功能,即将变换的道址存储;数据传输功能,包括RS-232数据传输和U

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论