虚拟仪器课程设计Word文档下载推荐.docx
《虚拟仪器课程设计Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《虚拟仪器课程设计Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
Thissystemwasproposedbasedonfieldprogrammablegatearray(FPGA)andUSBcommunications,andLabVIEWvirtualinstrumenttechnologytoachievedigitaloscilloscopedesign.ALTERAdesigncompanyintheselectionofprogrammablelogicchipscycloneEP2c80208c8n,usingVHDLLanguageDesignandImplementationofA/Dconverterdriver,frequencymeasurementandcontrol,rangeofmeasurementandcontrol,RAMmemory,digitalfiltering,FIFO,inordertoimplementandhostUSBchipCY7C68016Amachinecommunication,LabVIEWsoftwareuploadedonthelowercomputerdataprocessingandanalysis,andshowsthesignalwaveform.AndcompletedtheFPGAandotherhardwareinterfacecircuit(egprogrammableamplifierad603)programming.
Keywords:
USBFPGALabVIEWVHDL
目录
前言4
第一章虚拟仪器发展及介绍5
1.1虚拟仪器简介5
1.2虚拟仪器的特点5
第二章总体方案设计7
2.1设计内容7
2.2设计方案比较7
2.4系统方案选择:
8
第三章单元模块设计9
3.1系统电路9
3.2前端模拟信号采集模块9
3.3增益控制模块10
3.4电源模块10
3.5模拟信号量化11
3.6数据处理及USB通信12
第四章 特殊器件的介绍16
4.1FPGA器件介绍16
4.2EP2C8Q208C8器件介绍16
第五章 软件实现17
第六章系统仿真19
第七章 总结20
7.1设计小结20
7.2设计收获20
7.3设计改进20
7.4致谢20
参考文献21
附录:
FPGA中顶层模块连接图22
前言
以往,扫频仪和示波器等曾被认为珍贵的仪器,庞大的身躯,细小屏幕,占用很大的面,但时至今日,许多其功能都可以用一台PC执行,一个小小的盒子竟可将普通的PC变身成一台功能强大的示波器,兼且还拥有特大的屏幕显示,相当吸引。
随着PC普及,PC在每一户及每一办公室中已成为标准的设备,也是在电子世界中成为不可缺的东西,譬如PC用来绘制电子线路的原理图,模拟电路操作、PCB设计等,PC在实验室也是非常便利的工具,因此,PC成为测量系统的一部分已是一个明显的应用概念。
A/D变换器与PC结合便能观察各类的信号波形,这实际上等同於示波器所做的事情。
查实,市面上已有各类不同的适配器出售都以这个用途打出名堂,由廉价的至昂贵的都有供应。
在这种安排底下,适配器组成USB示波器的心脏,负责测量信号,而PC实在只为信号担当一个数据处理与显示角色。
适配器由前置放大器与衰减器、A/D变换器,USB界面等成份组成,去处理被测量的信号,并把量度数据通过USB接口传送至PC,PC上运行的相关软件如LabVUEW处理所收到的数据,然後将结果显示在电脑屏幕上,这里有巨大的显示屏幕供我们使用,尤其与以前的仪器比较更觉赏心悦目。
在显示的信号波形上由完善的图形用户界面补足,使我们外观上及所有面板操作上与“真正”的示波器毫无分别。
此示波器也成为了“移动”终端。
第一章虚拟仪器发展及介绍
1.1虚拟仪器简介
(virtualinstrument)是基于计算机的仪器。
计算机和仪器的密切结合是目前仪器发展的一个重要方向。
粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。
随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。
另一种方式是将仪器装入计算机。
以通用的计算机硬件及操作系统为依托,实现各种仪器功能。
虚拟仪器主要是指这种方式。
上面的框图反映了常见的虚拟仪器方案。
虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。
虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。
目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的LabVIEW虚拟仪器的起源可以追溯到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。
PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了LabVIEW2.0以前的版本。
对虚拟仪器和LabVIEW长期、系统、有效的研究开发使得该公司成为业界公认的权威。
目前LabVIEW的最新版本为LabVIEW2011,LabVIEW2009为多线程功能添加了更多特性,这种特性在1998年的版本5中被初次引入。
使用LabVIEW软件,用户可以借助于它提供的软件环境,该环境由于其数据流编程特性、LabVIEWReal-Time工具对嵌入式平台开发的多核支持,以及自上而下的为多核而设计的软件层次,是进行并行编程的首选。
普通的PC有一些不可避免的弱点。
用它构建的虚拟仪器或计算机测试系统性能不可能太高。
目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。
每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。
这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。
1.2虚拟仪器的特点
尽可能采用了通用的硬件,各种仪器的差异主要是软件。
可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。
用户可以根据自己的需要定义和制造各种仪器。
未来虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。
目前使用较多的是IEEE488或GPIB协议。
未来的仪器也应当是网络化的。
[2] LabVIEW[2](LaboratoryVirtualinstrumentEngineeringWorkbench)是一种图形化的编程语言的开发环境,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW[2]集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
图形化的程序语言,又称为“G”语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或框图。
它尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念,因此,LabVIEW[2]是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
第二章总体方案设计
2.1设计内容
本设计指标要求完成一个扫频信号的频率范围为1Hz~20MHz,信号源最高频率10MHz,示波器实时采样速率120MSa/s,等效采样速率≥400MSa/s的虚拟扫频仪,对数据采集与处理的实时性及速度要求很高,鉴于此,本设计的数据采集使用ADS830E模数转换芯片,数据处理使用FPGA,用VHDL硬件描述语言编程完成。
显示使用NI公司的虚拟仪器LabVIEW软件编写的上位机模拟的界面,各种触发功能按键旋钮和调节按钮均由上位机提供,经USB把控制指令传给下位硬件执行相应操作。
并能对信号进行幅值的实时测量,绘制幅频特性曲线。
2.2设计方案比较
方案1:
模拟部分使用无源衰减网络和带宽程控放大电路,信号输出功放实现信号的调理。
数字部分使用晶振和数字电路产生AD采样需要的时钟和时序,AD数据做FIFO芯片存储,使用高速DA进行DDS信号合成,硬件与PC的通信使用单片机控制USB芯片实现。
峰值检测:
峰值检波法。
通过峰值检波器将输入信号的峰值转换为直流信号输出然后通过AD采样测的其幅值。
但是峰值检波器在低频段的精度较低。
方案2:
扫频信号使用集成DDS芯片,由单片机控制。
模拟部分使用无源衰减网络和带宽程控放大电路实现信号的调理。
AD采样的时序和控制电路由FPGA来实现,FPGA可以实现高速逻辑控制,器内部可构建FIFO储存器,内部锁相环电路可产生系统所需的多路时钟信号,FPGA数量众多的IO口在完成时序控制的同时还能实现与USB芯片的通信。
与PC的通信采样高速USB芯片实现。
数字方法,通过A/D转换器对其采样,然后对采样数据进行处理信号的幅值。
该方案受A/D转换器的速率的限制,当信号频率升高时,其精度会由于采样点数减少而降低。
2.3方案论证
方案1:
数字部分使用晶振和数字电路产生AD采样需要的时钟和时序,硬件实现比较复杂,缺乏灵活性,一旦硬件成型就难以更改,这样调试和系统升级都不方便。
硬件与PC的通信使用单片机控制USB芯片实现,因为本设计使用的usb芯片为赛普拉斯的
CY-7C68013A,其内部集成增强型51单片机内核可以很好地为控制电路服务。
信号采集模拟部分使用无源衰减网络和带宽程控放大电路实现信号的调理。
AD采样的时序和控制电路由FPGA来实现,FPGA可以随时编程内部电路,所以调试和修该以及后来的系统升级都很方便,FPGA内部可构建FIFO储存器这就省去了单独使用FIFO芯片的开销,内部锁相环电路可产生系统所需的多路时钟信号对采样率的调整更加灵活,FPGA数量众多的IO口在完成时序控制的同时还能实现与USB芯片的通信。
根据以上的论证,本设计最终选择使用方案2。
这样可以得到最优的性价比和最简的设计和调试手段。
图3.1系统框图
第三章单元模块设计
3.1系统电路
模拟部分使用多级无源衰减网络和由AD603组成的带宽程控放大电路实现信号的调理。
AD采样的时序和控制电路由FPGA来实现,FPGA可以随时编程内部电路,使得调试和修该以及后来的系统升级都很方便,FPGA内部可构建FIFO代替存储器,且内部锁相环电路可产生系统所需的多路时钟信号对采样率的调整更加灵活,FPGA的IO口同时在完成时序控制的同时还能实现对USB芯片通信的控制。
3.2前端模拟信号采集模块
模拟通道是所有示波器的必经之路,其质量好坏直接影响测量的准确!
由于大信号进入通道时,其电平往往高于有源器件可承受的最大电压,故必须将无源衰减网络设计为信号调理通道的第一级,而示波器要求输入的对地电阻1MHz,因此,在选取电阻时要在满足衰减倍数K值的基础上,调整阻值达到。
R1+R2//R=1MR约等于直通档时对地1M电阻(R为阻抗变换网络之后的信号对地电阻)。
本设计中需要多个衰减通道,未调试方便和简化设计,采用多级连接。
鉴于高频时分布电容的影响,需要对衰减网络进行补偿。
图3.1:
无源衰减网络
3.3增益控制模块
增益控制采用程控放大器AD603,它是一种具有程控增益调整功能的芯片。
它是美国ADI公司的专利产品,是一个低噪、90MHz带宽增益可调的集成运放,如增益用分贝表示,则增益与控制电压成线性关系,压摆率为275V/μs。
管脚间的连接方式决定了可编程的增益范围,增益在-11~+30dB时的带宽为90Mhz,增益在+9~+41dB时具有9MHz带宽,改变管脚间的连接电阻,可使增益处在上述范围内。
该集成电路可应用于射频自动增益放大器、视频增益控制、A/D转换量程扩展和信号测量系统。
其控制方式也很简单,由DA输出电压控制,固定电压对应固定的增益倍数。
图3.2:
宽带程控放大电路
3.4电源模块
由于这是便携式的USB示波器,所以功耗是要解决的一大问题,本设计电源大多使用开关电源,单片开关电源芯片LM2576,MC34063都有较高的转换效率。
为体现“便携”电源我们使用了单电源供电,供电电源可以是7V到30V的交流或者直流,这种电源适配器很容易买到。
对于模拟部分需要双电源,我们使用MC34063制作了+5V到+-9V的DC/DC,+-9V电源经过滤波后又实用了78M05,79M05进行线性稳压,这样可以得到很稳定的+-5V双电源为模拟电路供电。
图3.3:
.5V,3.3V,1.2V电源电路
图3.4:
+-9V,+-5V双电源电路
3.5模拟信号量化
模拟信号不能由电脑直接处理,必须通过AD芯片转换成离散的数字信号。
我们采用带宽60M的ADS830ADC转换芯片,这是一高性能转换器包括一个8位量化,高带宽跟踪/保持,以及高精度内部参考。
它还允许用户禁用的内部参考和利用外部引用。
这种外部参考选项提供出色的增益和失调的匹配使用时,多通道应用程序或在应用DC全量程调整是必需的。
该ADS830采用数字误差校正技术要求即时提供优良的差分线性,老龄化的应用程序。
其转化采用VHDL的状态机方式在高速时钟的驱动下,AD的速度有多快,系统就可以工作多快,所以最大限度的发挥了AD转换的速度。
使用RUN和RUN1可以实现AD速度的控制,用来降低AD速度,采集频率教低的信号波形数据。
ADS830的引脚及功能说明:
图3.5:
ADS830的引脚分布
3.6数据处理及USB通信
1FPGA数据处理模块
数据处理器采用Altera的EP2c80208c8n,Altera®
Cyclone®
II采用全铜层、低K值、1.2伏SRAM工艺设计,裸片尺寸被尽可能最小的优化。
采用300毫米晶圆,以TSMC成功的90nm工艺技术为基础,CycloneII器件提供了4,608到68,416个逻辑单元(LE),并具有一整套最佳的功能,包括嵌入式18比特x18比特乘法器、专用外部存储器接口电路、4kbit嵌入式存储器块、锁相环(PLL)和高速差分I/O能力。
图3.6:
1FPGA数据处理电路
FPGA部分主要负责数据的采集,与缓存。
数据采集是接收AD处理后的数据,数据采集到后可以直接交给USB模块,然后在上位机显示出来。
但考虑到模块的时钟不同步的问题,我们采用了双向异步FIFO,这一部分可以集成在FPGA内部,但是这样的话,储存的数据深度是达不到的,所以还可以考虑第二种办法,就是将SDRAM封装成双向异步FIFO,这样的话,可以大大的扩大数据的储存深度。
在FPGA内部还可以进行滤波器的设计,可以滤除高频杂波的干扰,滤波器的内型设计采用FIR滤波器。
2USB通讯模块
USB通讯芯片采用常用的CY7C68013A-56,它是赛普拉斯半导体公司(赛普拉斯)的高集成、低功耗USB2.0微控制器EZ-USBFX2™(CY7C68013)的一个低功耗版本。
通过将USB2.0收发器、串行接口引擎(SIE)、增强型8051微控制器,以及可编程外设接口集成到一个芯片中,赛普拉斯研发出一个极具成本优势的解决方案,不仅能在极短时间内完成从立项到投放市场的过程,而且其低功耗特点使得总线供电应用成为可能。
FX2LP的创新型体系架构让数据传输速率达到每秒53MB以上,即可允许的最大USB2.0带宽,而为此所使用的仍然放在如56VFBGA(5mmx5mm)一样小的封装中的低成本8051微控制器。
由于集成了USB2.0收发器,FX2LP更为经济,与使用USB2.0SIE或外部收发器的情况相比,可提供占据空间更少的解决方案。
借助EZ-USBFX2LP,赛普拉斯的智能SIE可处理硬件方面的大多数USB1.1和2.0协议,从而减轻了嵌入式微控制器的负担,使其得以处理应用程序特定的功能,并缩短开发时间以确保USB兼容性。
通用可编程接口(GPIF)和主/从端点FIFO(8位或16位数据总线)为ATA、UTOPIA、EPP、PCMCIA等主流接口和大多数DSP/处理器提供了简易的无胶合接口。
FX2LP的耗电量小于FX2(CY7C68013),而片上代码/数据RAM是后者的两倍,并且其适用性、外观和功能均与56、100和128引脚FX2兼容。
我们把CY7C68013A-56数据输入端与FPGA进行链接进行FIFO通讯,数据输出端通过USB接口芯片与上位机通讯。
原理图如下:
图3.7:
USB通讯电路
3频率测量
频率测量使用FPGA内建的计数器完成,在测量之前我们需要将输入的未知波形的信号转换成FPGA能顺利识别的脉冲信号。
本设计使用TLV3501高速比较器对信号进行整形,器输出的方波信号既能用于频率测量,又能用于触发信号的输入下图是该整形电路的原理图。
图3.8:
频率测量整形电路
4幅度测量
幅度测量的思路是计算A/D转换所得数据的最大值和最小值,计算时把这些数据定义成一个数组,再计算这个数组的最大值和最小值,最大值减去最小值就是波形数据的峰峰值;
把这些数组求和后再除以数据总数即为数组的平均值。
5扫描速度调节
频率调节用来展宽或压缩时间轴,分4个档位。
当为3档时,时间轴保持原始长度,设此时所显示的波形为T时间内的波形,波形全部显示在液晶上;
当为2档时,使得所显示的波形为T/2时间内的波形全部显示在液晶上,相当于时间轴被拉伸2倍;
当为1档时,使得所显示的波形为T/4时间内的波形全部显示在液晶上,相当于时间轴被拉伸4倍;
当为0档时,使得所显示的波形为T/8时间内的波形全部显示在液晶上,相当于时间轴被拉伸8倍
第四章 特殊器件的介绍
4.1FPGA器件介绍
本设计主要用到的硬件是FPGA(Field-ProgrammableGateArray),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。
它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
目前以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。
这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。
在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。
早在1980年代中期,FPGA已经在PLD设备中扎根。
CPLD和FPGA包括了一些相对大数量的可编辑逻辑单元。
CPLD逻辑门的密度在几千到几万个逻辑单元之间,而FPGA通常是在几万到几百万。
CPLD和FPGA的主要区别是他们的系统结构。
CPLD是一个有点限制性的结构。
这个结构由一个或者多个可编辑的结果之和的逻辑组列和一些相对少量的锁定的寄存器。
这样的结果是缺乏编辑灵活性,但是却有可以预计的延迟时间和逻辑单元对连接单元高比率的优点。
而FPGA却是有很多的连接单元,这样虽然让它可以更加灵活的编辑,但是结构却复杂的多。
4.2EP2C8Q208C8器件介绍
LE总数8256。
IO口个数128。
Ram容量20Kbyte
硬件乘法器36个。
锁相环2个。
第五章 软件实现
通过至顶向下(TOP--DOWN)的设计方法,我们对电路的设计要求作了分析,从电路要实现的功能着手,逐层分析电路设计的步骤,再具体到各个模块的设计实现以及各模块实现方案的选择。
从本设计的电路要求,我们分析了需要实现一个输入状态的编码,以及对循环点亮灯的方式的选择,综合这两种状态控制输出信号的状态变化。
图5.1波形显示程序
图5.2峰峰值测量程序
图5.3LabVIEW面板
图5.4硬件电路
第六章系统仿真
扫频信号频率由低到高的仿真:
图6.1扫频信号仿真
第七章 总结
7.1设计小结
在本次设计中,我们完成本系统设计的要求及功能。
在设计开始前我们对各个模块进行了详细的分析和设计准备工作,设计过程中,我们相互协调,积极参与完成各个技术实现的难点。
7.2设计收获
通过本次设计,我们在对EDA这门技术上有了更深刻的认识,也从实践的例子中去感受到了设计给我们设计带来的改变与进步,充分体会到了实际操作的重要性。
如果没有同学的指点,可能自己会在一些地方打转弯,浪费掉很多时间。
通过这次课程设计,可以很好的把各个章节的模块融合到一起,对以后的学习,设计很有帮助,让我感觉自己在动手操作方面有质上的飞跃。
再加上前几次的课程设计所积淀下来的经验,以及老师悉心的指导,有力地指导了这次课程设计的进行,提高了这次课程设计任务的质量和速度,进一步地增强了自己完成任务的能力,巩固了所学的理论知识。
完成课程设计的质量明显提高。
7.3设计改进
由于时间仓促和我们自身水平有限,本设计在功能上也只是完成了一些基本功能,对于电路的可靠性,稳定性等参数还未做过详细的测试,如未设置校验位,所以如果传输过程中受到外界干扰出现误码,也不加判断一并接收。
尤其是在高速传输时更应该对数据校验,保证数据传输质量。
7.4致谢
在老师的辛勤指导下,我们小组同学积极讨论和思考,完成本此课程设计,此次设计,使我们受益匪浅。
在此我要感谢电气信息学院提供这次课程设计的机会;
在这里我要特别感谢老师,在我们的设计过程中,至始至终都得到了老师的悉心指导,我们的设计才得以顺利完成。
参考文献
[1]谢自美.电子线路设计(第二版)[M].华中科技大学出版社.2000
[2]卢毅编著.VHDL与数字电路设计[M].北京.科技大学出版.2001
[3]侯佰亨,顾新编著