毕业设计(论文)-设计某等效器的模拟信号发生电路.doc_第1页
毕业设计(论文)-设计某等效器的模拟信号发生电路.doc_第2页
毕业设计(论文)-设计某等效器的模拟信号发生电路.doc_第3页
毕业设计(论文)-设计某等效器的模拟信号发生电路.doc_第4页
毕业设计(论文)-设计某等效器的模拟信号发生电路.doc_第5页
免费预览已结束,剩余29页可下载查看

下载本文档

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

文档简介

中北大学信息商务学院2010届毕业设计说明书1 绪论1.1 课题研究背景发生器即通常所说的信号发生器是一种常用的信号源,广泛应用于通信,雷达,测控,电子对抗以及现代化仪器仪表等领域,是一种为电子测量工作提供符合严格技术要求的电信号设备,和示波器、电压表、频率计等仪器一样是最普通、最基本也是应用最广泛的电子仪器之一,几乎所有电参量的测量都要用到波形发生器。随着现代电子技术的飞速发展,现代电子测量工作对波形发生器的性能提出了更高的要求,不仅要求能产生正弦波、方波等标准波形,还能根据需要产生任意波形,且操作方便,输出波形质量好,输出频率范围宽,输出频率稳定度、准确度及分辨率高,频率转换速度快且频率转换时输出波形相位连续等。可见,为适应现代电子技术的不断发展和市场需求,研究制作高性能的任意波形发生器 (arbitrary waveform generator,简称awg)十分有必要1。 1.2 课题研究目的及意义一般传统的信号发生器都采用谐振法,即用具有频率选择性的回路来产生正弦振荡,获得所需频率。这种信号发生器虽然具有输出信号频率范围宽,结构简单等优点,但输出波形单一,不能产生任意波形,且频率稳定度和准确度较差,频率稳定度一般优于十分之一,频率准确度一般在0.5%以下,对于作为精密测量用的信号发生器。此传统的信号发生器己经越来越不能满足现代电子测量的需要,正逐步退出历史舞台2。而基于频率合成技术制成的信号发生器,由于可以获得很高的频率稳定度和精确度,因此发展非常迅速,尤其是最近随着现代电子技术的不断发展,其应用更是有了质的飞跃。1.3 国内外的发展现状1.3.1 发生器的发展状况发生器是能够产生大量的标准信号和用户定义信号,并保证高精度、高定性、可重复性和易操作性的电子仪器。函数波形发生器具有连续的相位变换、和频率稳定性等优点,不仅可以模拟各种复杂信号,还可对频率、幅值、相移、波形进行动态、及时的控制,并能够与其它仪器进行通讯,组成自动测试系统,因此被广泛用于自动控制系统、振动激励、通讯和仪器仪表领域。在70年代前,信号发生器主要有两类:正弦波和脉冲波,而函数发生器介于两类之间,能够提供正弦波、余弦波、方波、三角波、上弦波等几种常用标准波形,产生其它波形时,需要采用较复杂的电路和机电结合的方法。这个时期的波形发生器多采用模拟电子技术,而且模拟器件构成的电路存在着尺寸大、价格贵、功耗大等缺点,并且要产生较为复杂的信号波形,则电路结构非常复杂。同时,主要表现为两个突出问题,一是通过电位器的调节来实现输出频率的调节,因此很难将频率调到某一固定值;二是脉冲的占空比不可调节。在70年代后,微处理器的出现,可以利用处理器和d/a,硬件和软件使波形发生器的功能扩大,产生更加复杂的波形。这时期的波形发生器多以软件为主,实质是采用微处理器对dac的程序控制,就可以得到各种简单的波形。90年代末,出现几种真正高性能、高价格的函数发生器、但是hp公司推出了型号为hp77os的信号模拟装置系统,它由hp877oa任意波形数字化和hp1776a波形发生软件组成。hp877oa实际上也只能产生8中波形,而且价格昂贵。不久以后,analogic公司推出了型号为data-2020的多波形合成器,leeroy公司生产的型号为9100的任意波形发生器等。到了二十一世纪,随着集成电路技术的高速发展,出现了多种工作频率可过ohz的ons芯片,同时也推动了函数波形发生器的发展,2003年,agilent的产品3322oa能够产生17种波形,最高频率可达到20m,2005年的产品n6o3oa能够产生高达50omhz的频率,采样的频率可达 1.25ghz。由上面的产品可以看出,函数波形发生器发展很快近几年来,国际上波形发生器技术发展 主要体现在以下几个方面:1.过去由于频率很低应用的范围比较狭小,输出波形频率的提高,使得波形发生器能应用于越来越广的领域。波形发生器软件的开发正使波形数据的输入变得更加方便和容易。波形发生器通常允许用一系列的点、直线和固定的函数段把数据存入存储器。同时可以利用一种强有力的数学方程输入方式,复杂的波形可以由几个比较简单的公式复合成v=f(t)形式的波形方程的数学表达式产生。从而促进了函数波形发生器向任意波形发生器的发展,各种计算机语言的飞速发展也对任意波形发生器软件技术起到了推动作用。目前可以利用可视化编程语言(如 visualbasic,visualc等等)编写任意波形发生器的软面板,这样允许从计算机显示屏上输入任意波形,来实现波形的输入。2.与vxi资源结合。目前,波形发生器由独立的台式仪器和适用于个人计算机的插卡以及新近开发的vxi模块。由于vxi总线的逐渐成熟和对测量仪器的高要求,在很多领域需要使用vxi系统测量产生复杂的波形,vxi的系统资源提供了明显的优越性,但由于开发vxi模块的周期长,而且需要专门的vxi机箱的配套使用,使得波形发生器vxi模块仅限于航空、军事及国防等大型领域。在民用方面,vxi模块远远不如台式仪器更为方便。1.3.2 fpga技术的发展历史早在1980年代中期,fpga已经在pld设备中扎根。cpld和fpga包括了一些相对大数量的可以编辑逻辑单元。cpld逻辑门的密度在几千到几万个逻辑单元之间,而fpga通常是在几万到几百万。cpld和fpga的主要区别是他们的系统结构。cpld是一个有点限制性的结构。这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。而fpga却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。cpld和fpga另外一个区别是大多数的fpga含有高层次的内置模块(比如加法器和乘法器)和内置的记忆体。一个因此有关的重要区别是很多新的fpga支持完全的或者部分的系统内重新配置。允许他们的设计随着系统升级或者动态重新配置而改变。一些fpga可以让设备的一部分重新编辑而其他部分继续正常运行。1.3.3 fpga技术的发展趋势fpga技术正处于高速发展时期,新型芯片的规模越来越大,成本也越来越低,低端的fpga已逐步取代了传统的数字元件,高端的fpga不断在争夺asic的市场份额。先进的asic生产工艺已经被用于fpga的生产,越来越丰富的处理器内核被嵌入到高端的fpga芯片中,基于fpga的开发成为一项系统级设计工程。随着半导体制造工艺的不同提高,fpga 的集成度将不断提高,制造成本将不断降低,其作为替代asic 来实现电子系统的前景将日趋光明。(1) 大容量、低电压、低功耗fpga大容量fpga 是市场发展的焦点。fpga 产业中的两大霸主:altera和xilinx在超大容量fpga上展开了激烈的竞争。2007年altera推出了65nm工艺的stratixiii系列芯片,其容量为67200个le (logic element,逻辑单元),xilinx推出的65nm工艺的vitexvi系列芯片,其容量为33792个slices (一个slices约等于2个le)。采用深亚微米(dsm)的半导体工艺后,器件在性能提高的同时,价格也在逐步降低。由于便携式应用产品的发展,对fpga 的低电压、低功耗的要日益迫切。因此,无论那个厂家、哪种类型的产品,都在瞄准这个方向而努力。(2) 系统级高密度fpga随着生产规模的提高,产品应用成本的下降,fpga 的应用已经不是过去的仅仅适用于系统接口部件的现场集成,而是将它灵活地应用于系统级(包括其核心功能芯片)设计之中。在这样的背景下,国际主要fpga 厂家在系统级高密度fpga 的技术发展上,主要强调了两个方面:fpga 的ip( intellec2tual property ,知识产权)硬核和ip软核。当前具有ip内核的系统级fpga的开发主要体现在两个方面:一方面是fpga 厂商将ip硬核(指完成版图设计的功能单元模块)嵌入到fpga 器件中,另一方面是大力扩充优化的ip软核(指利用hdl语言设计并经过综合验证的功能单元模块),用户可以直接利用这些预定义的、经过测试和验证的ip 核资源,有效地完成复杂的片上系统设计。 (3) 动态可重构fpga动态可重构fpga是指在一定条件下芯片不仅具有在系统重新配置电路功能的特性,而且还具有在系统动态重构电路逻辑的能力。对于数字时序逻辑系统,动态可重构fpga的意义在于其时序逻辑的发生不是通过调用芯片内不同区域、不同逻辑资源来组合而成,而是通过对fpga 进行局部的或全局的芯片逻辑的动态重构而实现的。动态可重构fpga在器件编程结构上具有专门的特征,其内部逻辑块和内部连线的改变,可以通过读取不同的sram中的数据来直接实现这样的逻辑重构,时间往往在纳秒级,有助于实现fpga系统逻辑功能的动态重构。1.3.4 国外波形发生器产品介绍早在1978年,由美国wavetek公司和日本东亚电波工业公司公布了最高取样频率为8mhz,可以形成256点(存储长度)波形数据,垂直分辨率为sbit,主要用于振动、医疗、材料等领域的第一代高性能信号源,经过将近30年的发展,伴随着电子元器件、电路、及生产设备的高速化、高集成化,波形发生器的性能有了飞速的提高3。操作越来越简单而输出波形的能力越来越强。波形操作方法的好坏,是由波形发生器控制软件质量保证的,编辑功能增加的越多,波形形成的操作性越好。2 总体设计方案2.1 整体设计中 心控制模块 fpgad/a 转换器多路模拟选择开关信号保持电路电源管理模块sram16路模拟信号输出图2.1 系统的设计模块整体的结构如图2.1所示,fpga是核心控制器件,通过它来控制d/a和多路模拟开关使他们两个芯片在时序上达到一种能够同时输出16直流波的效果5。d/a转换器主要是通过fpga控制sram送来的数据不断地转换数据,使得输入d/a的二进制数转换成相应的电压,fpga同时也要控制多路模拟开关在16路上不断的选通,使得d/a输出地数据能够在16路上都有信号,最后通过信号保持电路最终的输出4。本设计考虑由以下六个模块构成:(1)fpga最小系统模块:包括jtag接口、晶振、复位电路,该模块是设计的核心,也是系统的总体控制器,主要是通过和其他芯片的链接来控制d/a和多路模拟开关的运作,同时不断的发送控制命令和传输数据,从而使整个系统能够按照一定的预期的方案实现预期的波形。(2)控制电路模块:实现控制频率输出以及选择信号功能;(3)d/a模块:实现把数字信号高速转化为模拟信号的功能,同时通过调理模块实现信号放大、调理电路功能;(4)多路选通模块:实现选择在某几路同时输出同一信号;(5)电源模块:主要给各个芯片供电,以满足各芯片的正常工作;2.2 各模块设计(1)fpga模块fpga(field programmable gate array)是目前广泛采用的一种可编程器件随着微电子技术的发展,现场可编程门阵列(fpga)得到了飞速发展。fpga的时钟延迟可达到纳秒级,结合其并行工作方式,在超高速、实时测控方面有非常广阔的应用前景,具有工作速度快、集成度高和现场可编程的优点5。它的应用不仅使得数字电路系统的设计非常方便,并且还大大缩短了系统研制的周期,缩小了数字电路系统的体积和所用芯片的品种。而且它的时钟频率已可达到几百兆赫兹。加上它的灵活性和高可靠性,几乎可将整个设计系统下载于同一芯片中,实现片上系统(soc),非常适合用于实现波形发生器的数字电路6。系统中最重要的就是fpga这个模块,一个fpga肯定是不能工作,它得需要电源供电、晶振电路、复位电路还有就是下载电路这几部分才能组成一个fpga最小系统电路,这样才能给外界发送命令,控制系统中的其他芯片。它是在pal、gal、cpld等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(asic)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。目前以硬件描述语言(verilog 或 vhdl)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至 fpga 上进行测试,是现代 ic 设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如and、or、xor、not)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的fpga里面,这些可编辑的元件里也包含记忆元件例如触发器(flipflop)或者其他更加完整的记忆块。系统设计师可以根据需要通过可编辑的连接把fpga内部的逻辑块连接起来,就好像一个电路试验板被放在了一个芯片里。一个出厂后的成品fpga的逻辑块和连接可以按照设计者而改变,所以fpga可以完成所需要的逻辑功能。fpga一般来说比asic(专用集成芯片)的速度要慢,无法完成复杂的设计,而且消耗更多的电能。但是他们也有很多的优点比如可以快速成品,可以被修改来改正程序中的错误和更便宜的造价。厂商也可能会提供便宜的但是编辑能力差的fpga。因为这些芯片有比较差的可编辑能力,所以这些设计的开发是在普通的fpga上完成的,然后将设计转移到一个类似于asic的芯片上。另外一种方法是用cpld(复杂可编程逻辑器件备)7。 连接逻辑,控制逻辑是fpga早期发挥作用比较大的领域也是fpga应用的基石。事实上在电路设计中应用fpga的难度还是比较大的这要求开发者要具备相应的硬件知识和软件应用能力这方面的人才总是紧缺的,往往都从事新技术,新产品的开发成功的产品将变成市场主流基础产品供产品设计者应用在不远的将来,通用和专用ip的设计将成为一个热门行业!搞电路设计的前提是必须要具备一定的硬件知识在这个层面,干重于学,当然,快速入门是很重要的,越好的位子越不等人电路开发是黄金饭碗8。 fpga采用了逻辑单元阵列lca(logic cell array)这样一个概念,内部包括可配置逻辑模块clb(configurable logic block)、输出输入模块iob(input output block)和内部连线(interconnect)三个部分。(2) 控制电路模块控制电路模块是用来控制选择波形,当选择直流波时就可以输出相应的波形。直流波控制是由一个二进制数来控制的,当控制端输入00时则代表选择的是输出直流波,而直流波的电压大小是由程序中向d/a输出的数据来控制的。拨码开关有很多种类,平常在实验室用的叫做拨动开关,它个头大、有三个引脚,一个接地一个接电源,中间的输出接器件从而达到选择0和1的功能,拨码开关分顶拨式,琴键式,侧拨弯脚式三种,这种开关体积小、重量轻、只有两个引脚而且对于该设计中要用到的位数很少,只需要两位,所以用两个拨动开关就可以完成选择直流波的选择控制模块。 (3) d/a转换模块d/a转换器按工作方式可分为并行d/a转换器、串行d/a转换器和间接d/a转换器等。在并行d/a转换器中,又分为权电阻d/a转换器和r2r t型d/a转换器。下面以r2rt型d/a转换器为例简要介绍d/a转换器的工作原理。如图所示为r2rt型d/a转换器原理电路。图2.2 d/a转换器原理电路图2.2所示的电路是一个3位二进制数的d/a转换电路,每位二进制数控制一个开关s。当第位的数码为“0”时,开关si打在左边;当第i位的数码为“1”时,开关si打在右边。当s0接通时,图2.2可知 (式2.1)将式(1)推广到n位二进制数的转换,可得一般表达式输出电压为:(式2.2)式(2)的输出电压会因器件误差.集成运放的非理想特性而产生转换误差。一般d/a转换器用如图2.3所示的框图表示。图2.3 d/a转换器框图图2.3中输入量与输出量的关系为uoutbur 式中,ur为常量,由参考uref决定。b为输人数字量,常为一个二进制数。b的位数一般为8位、12位、16位等,由dac芯片型号决定。b为n位时的通式为 (式2.3)(式2.3)中,bn-1为最高位;bo为最低位。(4) 多路选通模块该信号源卡在d/a转换之后要输出16路信号,若每一路都采用一个d/a进行模数转换再调理输出的话,一来标准的板卡物理空间尺寸不允许,二来增加了系统开发的成本,再者违背了设计简洁的原则。在该设计中通过电子开关及电压保持电路把各路模拟信号切换到相应的通道上,实现一对多的切换。实际在这里就是实现了一个开关的作用。(5) 电源管理模块在整个系统中每一个芯片都需要电源的供电,而每个芯片所需要的电压也不一样,在信号发生器系统中fpga需要3.3v和1.5v的电压、ad824用到的是3.3v和2.5v的电压、adg506用到的是3.3v和5v的电压、综上所诉在做电源模块的时候从外界引入一个5v的电压通过芯片使其转换成3.3v和2.5v,通过另一芯片把5v转化成1.5v,这样这四种电压就有了,至于+12v的电压只能在pcb版上打孔从外界接线引入。3 硬件设计3.1 fpga介绍本设计中采用的fpga芯片是xilinx公司xc2s50e主要特点如下:1)30k个系统门;2)多达81个用户i/o;3)可编程flash技术,130nm、7层金属(6层铜)、基于flash的cmos工艺;4)350mhz的系统性能;5)1.5v的内核电压可实现低功耗;6)高性能布线层;7)1.5v、1.8v、3.3v和2.5v混合电压的操作,可分组选择的i/o电压,弱上拉/下拉;8)1kbit的用户非易失性存储器flashrom;9)7层金属物理层保护;3.2 存储电路设计本设计采用2 片hitachi 公司的sram 存储器hm628512 实现动态地址管理和数据分段存储功能。其数据写入和读出时间为70ns(max)。由于上位机采用8 位码传输,所以fpga 需要对接收到的采样数据进行二次编码,将16 位分高低字节并分别存入两片sram 中。最后只将高12 位传输给ad7945 进行数模转换,这样提高了参数精度。对于波形数据可分块存储,由于本设计32 路模拟信号,每路1024 个采样点,每个点2个字节,每路数据量大小为2 字节与采样点数的乘积。可根据任务要求对采样点数进行更改9。存储器对采样值的存储有两种方式:一种是存完一路,接着存储第二路采样值,这种方式下如果一路采样点dac 转换完成再切换模拟开关,这样两路信号之间的输出间隔随着采样点的不断增多而延长。还有一种方案,控制模拟开关切换与存储器读地址间隔同步,实现模拟信号连续的输出。这样即使采样点增加,信号精度提高,却不会影响信号的输出频率。这种方式还提高了单路信号输出频率控制字k,减小了输出的频率相对误差。要快速的保存数据需要使用随机存储器,随机存储器包括静态存储器sram和动态存储器dram,sram和dram在掉电的时候均会失去保存的数据,但是ram类型的存储器易于使用、性能好。静态存储器sram只要加上电源就能可靠保存信息,而动态存储器dram使用的是动态存储单元,需要不断刷新以便周期性再生才能保存信息,所以动态存储器只适应于较大的系统,对于单片机系统很少使用。鉴于以上原因,本系统采用静态存储器sram来进行存储。静态存储器选用em128l16该静态存储器是一个集成的记忆器件.含有2mbit的静态随机存取记忆组织先进cmos技术,提供高速的性能和超低的功耗11。em128l16是适用于各种应用低功耗,如电池备份和手持设备。该器件可以在很宽的温度范围内的- 40至85温差,可在jedec标准软件包兼容其他标准的128kb x16静态存储器。其写时序图如下:图3.1 写时序图其功能框图如下:图3.2 功能框图图3.3 sram硬件电路设计图3.3为暂存器,用来存储程序的,通过上位机软件把程序下载到里面,d/a接收的数据就是从em628512中读取的数据,就可以实现数模转换。3.3 数模转换电路设计选择d/a 转换器需考虑的因素主要有转换精度、转换速度、温度特性和电源要求等。另外dac 输出线、参考时钟以及输入数据线之间的耦合会对输出波形的频率产生影响,布局布线时一定要处理好。在dds 设计中dac 的毛刺和非线性误差也不容忽视。本设计选择美国模拟器件公司(adi)的ad7945,它是12 位乘法型并行输入、单通道的电流输出型低功耗数模转换芯片,具有低温漂,线性度良好,其采样速率可达1.7msps,转换时间最大为760ns,+3.3v/+5v 供电;可直接与ttl 或cmos 逻辑电平接口。其转换精度用分辨率来描述12。 (式3.1)图3.4 d/a模块硬件电路图ad7945 输出的是电流信号,需要将其转换为电压,图中采用两级放大器实现电压值的稳定转换和输出。前一级实现i/u 转换,后一级为利用反相比例放大电路设计的一阶低通滤波器,输入阻抗较小,对kcmr 的要求低,其中r2 为增益误差校准电阻,r4,r5 决定着电压放大倍数,r1为平衡电阻,阻值为r4/r5=1.6k,使偏置电流引起的误差最小。另外从通用化设计考虑,根据信号无失真传输原理,在耐奎斯特频带内容易产42生各种信号的高频谐波分量干扰,所以采用高速、低功耗运放ad827 完成幅值放大和lpt 电路的信号处理功能,信号截止频率t f 。 (式3.2) (式3.3) 其中为ad7945 转换输出并调理后的模拟量采样幅值电平,为ad7945 的基准电压,d 为模拟电平的量化值,ad827 的压摆率为300v/us,不会对电路造成影响。数模转换就是将离散的数字量转换为连接变化的模拟量,实现该功能的电路或器件称为数模转换电路,通常称为d/a转换器或dac(digital analog converter)。 图3.5 ad7945框图如上图所示,d/a芯片用的是ad7945芯片是12-bit dacs倍增保证规格与+ 3.3 v / + 5v的供应。ad7943,ad7945和ad7948快速12-bit对于来自单独一个操作的dacs + 5 v(正常模式)。与单个+5v, 3.3 v,供应(电流模式)。这个ad7943有一个串行接口,ad7945有12-bit平行接口,ad7948有8位字节的接口。3.4 调理电路模块在d/a后面需要跟上一个调理电路,该电路是为了把d/a输出地信号进行调整,并且放大,接法是根据芯片资料给的方案接的13。图3.6 调理电路图将电流转换为电压,并通过调理,最后输出所需要的电压。ad824相当于把四个运算放大器集成在了一起,而且它的性能好,通过上述的接法就可以把要输出的波形进行调整放大,使输出地波形更稳定。图3.7 ad824单供应操作:3 v非常低的输入偏置电流:输入电压范围宽轨到轨输出低电流500ma,宽带宽2mhz,低压应变片放大dac输出放大。ad824 如图3.7。fet输入是四单供应放大器,轨到轨输出。结合fet输入轨到轨输出使ad824有用的各种各样的低电压的应用是低输入电流考虑。这个ad824保证从3个v单一的供应达到15伏特的双重供应。在双相性精神障碍等淬球铁的互补制作过程,ad824有一个独特的输入阶段,允许输入电压的安全超越消极的供应和积极的供应没有任何相位反转或latchup。输出电压在15 millivolts摆动的供应。3.5 多路选通设计图3.8 adg506adg506a是整体模拟。如图3.8所示。cmos multiplexers 16通道和双8频道。16人的adg506a开关输入输出共同,根据国家的地址和一个能够四个二进制的输入。这个adg506a设计在增强lc2mos过程,给出了信号的能力对vdd和使操作说明在大范围的供应电压。这个装置能操作舒适的任何地方(五)16.5 v 10.8单或双供电范围。这些multiplexers具有高开关速度16。本设计选择adi 公司的16 路低功耗模拟开关adg506,宽电压输出范围,兼容ttl/cmos 电平标准,其导通电阻为280600,导通时间最大为400ns,开启时间为50ns17。32 通道开关切换频率: (式3.4)模拟开关输出通过一个电容c7 实现采样保持、平滑输出模拟电压和高频滤波功能。其原理以一阶电路阶跃全响应为模型,电容充放电实现了模拟电压的采样保持功能。adg506 导通时全温度范围触点电阻约为500,关断电阻500km。聚丙烯电容c7漏电阻大于1km。调理运放采用ad 公司的轨到轨、低功耗,宽电压的运放ad824,支持单/双电源供电,输入阻抗约为1013。输出采用同相放大(跟随)电路,提高前置增益稳定性、降低失真和输出电阻23。对于dc-8v+8v 缓变直流信号采用偏置放大电路实现即可。当开关s1 导通时输入电压通过 对电容c7 进行充电,当s1 断开时c7 通过ad824 漏电阻进行放电。其充电过程为: (式3.5)电容的漏电过程为: (式3.6)其中u0 为开关闭合前c7 两端电压,时间常数。如不考虑u0 ,在开关断开瞬间c7两端起始电压,为 ad824 的输入电压,漏电常数,一般保持时间在 时间过渡后,将可以忽略。另外输出精度要达到指标要求,本设计输出误差小于1%时,那么必须满足和,因此选择c7=1nf,使得只要满足且即可实现模拟电压精度要求,另外考虑到由于d/a 输出延迟和模拟开关切换延迟等因素,本设计采用100khz 的d/a转换频率和模拟开关切换频率,使得图3.9 多路模拟选择开关模块管脚14,15,16,18这四个管脚分别是选择哪几路通,当给a3a2a1a0的数据是0000的时候则代表选通的是第0路,当数据是1111的时候则代表选通的是第15路。以此类推,这样通过fpga不断的向adg506输入数据来控制多路模拟开关什么时候第几路选通。如图3.9。4 软件设计4.1 总体流程图软件设计如图4.1所示,整个设计分为三大模块:控制模块、d/a模块和多路模拟开关模块,控制模块主要是起到控制两个模块的作用,使最后输出的数据能够达到十六路同时输出直流波的效果;d/a模块主要是给d/a发送数据,使d/a能够接收数据转换成对应的模拟信号;多路模拟开关的作用是循环选通十六路信号使得直流波能够通过示波器在十六路上面都有显示24。 开始控制模块d/a模块多路模拟模块结束输出信号图4.1 设计总流程图图4.2 原理图图4.3 仿真图图4.2是在muxpluxii中设计的原理图,并对其进行了仿真,从仿真图中如图4.3所示,可以看switch1.0是选择输出信号的,当选择0时输出的是直流波,adgdata3.0是模拟开关的输出信号仿真,从图中可以看出这个信号是在不断的循环从0到15路选通,data7.0是d/a输出的数据,因为是直流波所以输出的是80,当到d/a转换器中后转换成相应的电压输出。4.2 控制模块控制模块主要是控制d/a什么时候输入输出数据,控制多路模拟开关什么时候开通哪一路,通过这样的控制最终能够达到多路同时输出的效果。这里面用到的原理很简单,就是d/a动一下的时候,多路模拟开关在四个开关上都要选通一遍也即动四次,如图4.4控制模块仿真图中swich和dtd的时序一样。图4.4 控制模块图开始clk是上升沿判断d_swich、d_dtd大小输出swich、dtdt1_cp结束否是发出下一脉冲clk图4.5 控制模块流程图4.3 d/a模块该模块主要是给d/a芯片送入数据,d/a转换的原理很简单,就是fpga给d/a发送一个8位的二进制数据,芯片通过自身内部一定的电路把前面发送的二进制数据转换成相应的电流,但是发送数据也是有时间限制的,不能无限制的一直发送,d/a接收数据首先需要使能端cs低电平有效,在满足这一情况下选择是d/a接收外部的数据还是往外写数据,一次只能选择一个有效,当这两个条件都满足之后d/a才能算是正常的完成一次工作,所以d/a什么时候接收数据什么时候发送数据都需要通过写程序控制端口什么时候有效来确定收发数据,如下图4.6所示。 开始输入clk、switch信号clk是上升沿判断reset_count输出reset_count、reset再判断reset、clk信号,输出switch、data、cs、ce结束是否发出下一脉冲clk 图4.6 d/a程序流程图4.4 多路选择模块多路选择模块的原理很简单,就是通过拨码开关的输入,通过看选择了哪个波对应的选通某几路26,如下图4.7所示。 开始输入clk、switch信号clk是上升沿判断reset_count输出reset_count、reset再判断reset、clk、adgcurrent信号,输出adgcurrent、adgdata结束是否发出下一脉冲clk 图4.7 多路模拟开关流程图4.5 本章小结这一章主要是从软件方面的整体和部分,从整个程序是如何实现的以及每个模块的仿真和具体的算法来做介绍,最终达到设计要求。由于开发软件仿真不能用所以在这里用maxplus ii来代替仿真,同样也能达到预定的效果。5 系统调试图5.1 4v电压输出从上图中可以看出当上位机选择输出4v电压的时候,通过检测d/a可以看出示波器输出4.03v电压,由于用到的是比较大型的机器,所以噪声会很大,直流波上面有干扰信号。图5.2 电压输出该图是上位机软件控制输出的直流电压时输出的波形,从图中可以看到输出的是1.05v和5.11v电压,通过这几幅图可以看出基本能实现所想要的结果。图5.3 实物测量上面三幅图是在实际当中测量的截图,左上角是总体的测量方法,标笔所指的位置是d/a的输出口1管脚,另一端是如第三幅图所示接地,这样就有了回路可以形成电压,检测出当前d/a输出的电压是多少。6 结论本系统按照系统功能模块化设计,根据实际测试结果证明了系统设计可靠、准确地实现了遥测系统要求的所有参数信号的输出与数据测试功能,并且还预留了多路备用测试接口;在软硬件方面都采用了合理有效的措施保障系统性能的稳定:(1) 硬件设计:低功耗、高性能器件的选择,高速信号和中、低速信号、模数信号进行了有效地隔离和抗干扰处理,接口可靠性设计(阻抗匹配,滤波等),信号完整性监测,关键信号和电压实时监测等。(2) 软件设计:软件功能化,界面简单化,模块化;各模块功能执行互不干扰,极大地提高了软件的兼容性和抗干扰性。附录a 相关程序entity da is port ( md: out std_logic_vector(7 downto 0); state: in std_logic_vector(7 downto 0); clk : in std_logic; da_wr : out std_logic; da_cs : out std_logic; u23en: out std_logic; start: out std_logic; fpga_data : inout std_logic_vector(7 downto 0); -以下引脚不用 ram_addr: out std_logic_vector(12 downto 0); ram_wr : out std_logic; ram_rd : out std_logic; u15fifo_data: out std_logic_vector(8 downto 0); u15fifo_ef : in std_logic; u15fifo_hf : in std_logic; u15fifo_rd : out std_logic );end da;architecture behavioral of da is constant head_word : std_logic_vector(13 downto 0):=11011011011011; -帧头constant end_word : std_logic_vector(13 downto 0):=01111101101101; -帧尾constant stop : std_logic_vector(13 downto 0):=01100110011001;constant signal_start : std_logic_vector(13 downto 0):=10011001100110;constant download_ana : std_logic_vector(6 downto 0):=1011001;signal cy7c_wra : std_logic;signal cy7c_wrb : std_logic;signal cy7c_wr_reg : std_logic;signal cy7c_wr_filter_cnt : std_logic_vector(4 downto 0);signal reg : std_logic_vector(48 downto 0);signal stop_sign : std_logic;signal start_sign : std_logic;signal rest_count : std_logic_vector(13 downto 0):=00000000000000;signal power_reset : std_logic:=0;signal state_reset : std_logic:=0;signal reset : std_logic;type dat_ana is array (0 to 15) of std_logic_vector(7 downto 0); signal dat_ana_reg:dat_ana;signal ram_addr_reg : std_logic_vector(12 downto 0);signal da_count : std_logic_vector(13 downto 0); signal cnt_channel : std_logic_vector(4 downto 0);signal md_reg : std_logic_vector(7 downto 0);signal da_wr_reg : std_logic;signal da_cs_reg : std_logic;signal mnxhy_reg : std_logic;signal channel: integer range 0 to 15;signal number: integer range 0 to 15;signal u23en_reg : std_logic;begin- 产生上电复位信号和全局时钟 p1:process (clk) -10mhzbeginif clkevent and clk=1 then if rest_count16383 then -复位时间:16.38ms rest_count=rest_count+1; power_reset=0; -复位期间power_reset= 0 else rest_count=rest_count; power_reset=1; -复位完成power_reset= 1 end if;end if; end process p1;- p2:process (clk,power_reset) -10mhzbegin if power_reset=0 then state_reset= 0;elsif clkevent and clk=1 then if stop_sign =1 then state_reset= 0; else state_reset= 1; end if; end if; end process p2;- reset= power_reset and state_reset;- 滤 波p3:process (clk) -10mhzbeginif reset=0then cy7c_wr_filter_cnt=00000; cy7c_wr_reg=1; elsif clk event and clk=1 then if state(7)=1 then-state(7) is write signal if cy7c_wr_filter_cnt=10011 then -滤波2us cy7c_wr_reg=1; cy7c_wr_filter_cnt=cy7c_wr_filter_cnt; else cy7c_wr_filter_cnt=cy7c_wr_filter_cnt+1; end if; else if cy7c_wr_filter_cnt=00000 then cy7c_wr_reg=0; cy7c_wr

温馨提示

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

评论

0/150

提交评论