基于PC和单片机的数字示波器设计_第1页
基于PC和单片机的数字示波器设计_第2页
基于PC和单片机的数字示波器设计_第3页
基于PC和单片机的数字示波器设计_第4页
基于PC和单片机的数字示波器设计_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

第一章文献综述1.1测量仪器的发展现状 随着微电子学和计算机技术的发展,测控仪器行业也同样经历着一场翻天覆地的变革。现代测试系统越来越复杂,需要测试的数据量也越来越大,对测试的速度、精度、实时性、数据可信度、完整性以及测试系统的可靠性、智能化、开放性等要求也越来越高。一方面,传统的测控仪器越来越满足不了测控技术的发展需求,其主要表现在:现代测控技术要求仪器不仅仅能单独测量数据,更希望仪器之间能够互相通信,实现信息共享,从而完成对被测系统的综合分析、评估、得出准确判断。传统仪器缺乏相应的计算机接口,因而配合数据采集与数据处理就十分困难;在传统测量控制方式中,对每一个测量控制点必须配备一套相应的组合仪表,即采用组合仪表实物,每个单兀自成一体,连接线路复杂,故障较多。对十复杂的被测系统,为了正确使用各个厂家的不同测试设备,用户需要的知识很多,仪器使用频率和利用率低,而且硬件存在冗余。采用智能测量方式,虽然它所采用的智能化仪表是应用集成电路设计的,能减小体积及接线,并能降低故障率,但仍不能完全摆脱一对一的控制方式。另一方面,计算机技术的进步为新型测控仪器的产生提供了技术基础,主要表现在:微处理器(MCU)和数字信号处理(DSP)技术大大改变了传统电子行业的设计思想和观念,原来许多由硬件完成的功能可以依靠软件来实现;面向对象技术和可视化程序设计语言为开发使用更方便、功能更强的应用软件提供了方便。网络技术的发展为数据的存储和远距离传输提供了条件,使得远程采集信息和移动操作成为现实。 鉴十以上两个方面的原因,基十计算机的测试仪器逐渐成为现实。随着电子技术、计算机技术、软件技术、网络技术的高度发展及其在仪器技术和测量技术上的应用,仪表结构己经冲破传统仪器的概念,在功能和作用上已经发生了质的变化,产生了许多新的测试仪器、测试理论、测试方法、测试领域。在这种背景下,“虚拟仪器”就应运Ifu生了。虚拟仪器的核心思想是利用计算机的强大资源使本来需要硬件实现的技术软件化,以便最大程度地降低系统的成本,增强系统的灵活性。虚拟仪器技术发展很快。从20世纪80年代N工公司提出虚拟仪器的概念至今只有短短的二十余年时间,但虚拟仪器产品已经占有了仪器市场很大的份额。虚拟仪器在很多发达国家应用十分广泛,如电子测量、过程抓制、电信、医学等领域12。国外的著名示波器厂家如泰克、安捷伦等公司都已经对虚拟仪器投入大量开发精力,并目已经有了相关产品。从事仪器仪表研究的科学家和工程师清楚的认识到虚拟仪器不仅勿庸置疑地是21世纪仪器发展的主要方向,而且必将逐步取代传统的硬件化电子仪器,使成千上万种传统仪器都融入计算机体系中虚拟仪器的发展取决十二个重要因素:计算机是载体;软件是核心;高质量的A/D采集卡及调理放大器是关键。大致来说,虚拟仪器在国外的发展可以分为二个阶段。(1)利用计算机增强传统仪器的功能这一阶段虚拟仪器的发展几乎是直线进行的。由十GPIB总线标准的确立,计算机和外界通讯成为可能统的性能价格比不断上升,因而用户可以通过计算机控制仪器。而随着计算机系,用计算机控制仪器成为一种趋势。经过近十年的发展,这些用户得到越来越多的有关计算机控制仪器的软件,而且这些软件易学易用。最新的软件包括仪器驱动库、数据分析函数库、图形接口函数库等。用户可以利用这些强有力的软件来增强自己仪器系统的功能,使之能够分析和处理特定数据,并且可以显示结果,而不限十传统仪器的固定功能之上。实际上,只要将传统仪器通过GPIB或RS-232同计算机连接起来,这些新增功能就可以运转良好。因而用户可以将大量的独立仪器和计算机连接形成用户自己设计的虚拟仪器。(2)开放式的仪器构成 为满足仪器市场不断增长的需求,这时在仪器硬件上出现了两大技术进步:一是插入式计算机单片机(plug-in PC DAQ);二是VXI仪器总线标准的确立。这些新技术使仪器的构成得以开放,消除了第一阶段内在的由用户定义和供应商定义仪器功能的区别。 仪器设计者和用户一样,企图尽可能提高效率和重复使用很多技术。仪器生产商建立了他们自己设计的内在标准,使他们的微处理器、存储器、数据采集、分析、显示软件等产品有利可图。许多在仪器上通用的兀器件就是计算机里的标准件,这样使得计算机成为构建虚拟仪器的理想平台。许多特殊功能件如D/A、数字I/0等都是模块化的功能块,可以直接插在仪器上与仪器内部的处理器总线连接,所以用户可以将这些模块化的插卡直接插在计算机的扩展槽内。另外,多个虚拟仪器可以共存十一台计算机上。而且像传统仪器一样,某个特定的仪器在一段时间内可以独享计算机的显示和控制部分,但是很多虚拟仪器能够共享显示。正是由十第二阶段虚拟仪器在软硬件上的这些进步,使得它的构建具备了开放性和更大的灵活性,得到了广泛的应用。 第二阶段:虚拟仪器的框架得到了广泛的认同和采用 软件领域面向对象技术把任何用户构建虚拟仪器所需要的东西封装起来。许多行业标准在硬件和软件领域已经产生,常用的虚拟仪器平台开始逐渐成为虚拟仪器行业的标准工具。发展到这一阶段,人们也认识到虚拟仪器软件框是数据采集和仪器控制系统实现自动化的关键,NI(美国国家仪器公司)总结了这些观点并提出一句口号“软件就是仪器”。他们的软件产品也创造了整体的虚拟仪器框架,他们把离硬件较近的接口程序和高级应用程序以及专门仪器的驱动程序组合起来。用户可以使用其标准硬件接口程序包去控制四种数据采集产品中的一种或全部,这个接口程序包中包括用户设计程序的函数库。NI-DAQ是设计插入式单片机的标准接口,NI-488.2是设计GPIB的工业标准,NI-VXI是设计VXI的标准接口。接口软件包中的所有程序都可以运行十多种计算机和操作系统。 我国正处十科学技术蓬勃发展的新时期,对仪器设备的要求更加强劲。虚拟仪器赖以生存的计算机近几年以迅猛的势头席卷全国,为虚拟仪器的发展奠定了基础。虚拟仪器作为传统仪器的替代品,市场容量巨大。一方面,目前我国高档台式仪器如数字示波器、频谱分析仪、逻辑分析仪等还主要依赖进口,这些仪器加工工艺复杂、对制造水平要求很高,生产突破有困难。另一方面,用户可以将一些先进的数字信号处理算法应用十虚拟仪器的设计,提供传统仪器不具备的功能,而且完全可以通过软件配置实现多功能集成的仪器设计。 国内虚拟仪器研究的起步较晚,最早的研究也是从引进消化N工的产品开始。但经过多年研究,我国已经在虚拟仪器开发方面形成了自己的特色。国家自然科学基金委员会已将虚拟仪器研究作为现代机械工程科学前沿学科之一,并被列为“十五”期间优先资助领域21-23。我国国民经济的持续快速发展,加快了企业的技术升级步伐,先进仪器设备的需求更加强劲;虚拟仪器赖以生存的个人计算机最近几年以极高的速度在中国发展,这些都为虚拟仪器在我国的普及奠定了良好的基础。因此,我国的虚拟仪器存在巨大的发展潜力。对虚拟仪器的研究,我国从90年代中期开始,至今已有很多新的进展。在国内,西安交通大学等采用面向对象技术研究了可组态生成不同虚拟仪器的可视化虚拟仪器软件开发平台,重庆大学秦树人等提出了虚拟仪器产品的网络化开发方法。重庆大学测试中心成功解决了文件难以有序交换的制约,把多种测试仪器的功能、技术参数和精度指标集成在功能软件库中,用户只需把装有程序的软盘和一个手掌大的硬卡分别插入软驱和计算机总线,就能在计算机中实现被集成仪器的各项功能。东方振动和噪声技术研究所研制出可实现单机多功能、多用途的工NV系列虚拟仪器,实现了“把实验室拎着走”。还有浙江大学、哈尔滨工业大学、中科泛华电子科技公司、陕西海泰电子公司等一批高校和高科技公司在虚拟仪器的研究和开发中都做了大量有益的工作,取得了一定成果。1. 2示波器技术的发展 示波器技术和仪器技术的总体发展是同步的。现代示波器在电子和通信技术的带动下,主要向这一下两个方向发展智能化方向. 软件技术将成为示波器智能化的关键。目前市场上流行的科学仪器软件开发平台LabVIEW, VEE, LabWindows/CVI以及各种编程软件等将进一步发展完善,IfIJ示波器的软面板、测量仪器的控件、信号处理与分析、虚拟测量平台、智能虚拟示波器驱动器、工业自动化等专用软件将不断涌现,丰富了科学仪器研制与开发的软件库。通过数字信号处理(DSP)技术来增强仪器的检测能力,而仪器的智能化将通过智能软件技术(如测量仪器的自诊断、故障自动定位、自修复、自适应十测试环境等)来实现。 (2)轻巧便携式方向 大规模集成电路的发展和基十芯片的仪器设计将使包括示波器在内的仪器趋向小型化、专门化,操作简单化。整个发展趋势可表示为:实验室仪器一移动式一便携式一手持式一芯片实验室(lab on chip)。集成电路将促成仪器的轻巧化而虚拟技术和通讯技术的加入将使数据的采集和处理突破空间和时间的限制,真正实现仪器虚拟智能化。国外著名示波器生产厂商Tek等的产品都已经实现了手持式,国内厂家的示波器产品也在向着这一方向发展。1. 2. 1示波器软件开发工具 目前国内数字示波器的开发主要依靠数字信号处理(DSP)芯片或者告诉数据采集卡,DSP虽然具有快速信号处理能力,但往往需要掌握熟练的编程语言(如汇编语言),它的另一个缺点在十开发成本较高;数据采集卡硬件资源有限,常常需要和其它控制单兀配合使用。在虚拟仪器开发软件方面,美国微软公司的VC+和美国N工公司的Labview都是虚拟仪器开发的强大工具,Labview对开发者程序编写的能力没有过高要求,采用图形界面,使用十分方便;VC+库文件丰富,在Window、中有更好的移植性。总之,各种处理硬件和开发软件都具有各自的长处,因根据设计的规模、结构和目的选用最合适的开发工具。2研究方法、内容与技术路线1. 2. 2研究方法及内容 本课题研究的虚拟示波器针对低频信号的采集和显示,采用P工Cs单片机进行数据采集和处理,在VC+环境中进行视窗软件开发,结合PC平台对信号的进行存储和显示。设计的示波器用十低频信号的采集、波形显示和频谱分析,在信号处理等领域有着广泛的应用。这种设计结构简单,成本低廉,等够满足对低频信号的测试需求,在硬件上做少许调整,就能实现基本功能的进一步扩展。本文的主要内容如下: (1)文献综述,分析当前国内外仪器的发展趋势以及实现技术,确定示波器设计方法; (2)示波器理论分析和设计,确定示波器整体框架,以及低通滤波器数学模型和实现方式; (3)确定硬件框架,选择数据处理芯片,进行各个模块模拟和数字电路的设计和仿真,以及通信协议的开发; (4)结合示波器模型和硬件结构,利用VC+进行程序开发,编写包括A/D转换,数据存储和显示控制界面的程序,主要内容是实现波形的多通道显示和控制调整; (5)进行软件仿真调试,测试代码的可执行性以及设计的合理性; (6)总结设计过程,指出进一步研究的方向。1.2.3技术路线图1技术路线通过比较和分析,结合作者本身的知识储备和研究方向,决定MCU+PC作为本设计中示波器的硬件组合方式,即采用价格低廉的单片机作为数据采集单兀,在PC中开发数据处理和显示软件界面。为了和大多数当前采用Labview作为工具的虚拟仪器开发有所区别,并目_保证程序的可移植性,作者这里选择VC+作为示波器的软件开发工具。本设计的技术路线如图1-1所示。第二章示波器设计原理 本章主要介绍示波器设计理论,主要内容包括示波器的分类,各类示波器的工作原理,通过对CRT、DSO, DPO等常用示波器实现结构的比较,以及低通滤波器的结构和实现方法的研究,为后续设计奠定理论基础。2. 1示波器工作原理 电子示波器是一种综合性的电信号测试仪器,它能把眼睛看不见的电信号转换成能直接观察的波形显示十荧光屏上,利用波形幅度的大小和变化来反映加在示波器Y偏转极板上的电压的相对大小和变化,从Ifu反映出电磁感应中所产生的交变电动势大小。借助示波器可以研究感应电动势与其产生条件的关系,这在现代测试中尤其重要,很多电量和非电量的测量都是借助传感器和示波器的帮助实现的。 物理示波器按其结构原理,一般可以分为模拟示波器和数字示波器,Ifu虚拟数字示波器是用软件实现了一般数字示波器对数据的存储分析和后期处理等功能。2.1.1模拟示波器工作原理传统的模拟示波器把需观测的两个电信号加至示波管的X, Y通道以控制电子束的偏移,从而获得荧光屏上关十这两个电信号关系的显示波形。单踪模拟示波器一般由示波管、Y轴放大器、X轴放大器扫描发生器、电源和测试探头等几大部分组成。图2-1CRT示波器结构图示波器图2-1所示为CRT示波器的结构框图。它由垂直系统、水平系统、Z轴电路、中央处理单兀(CPU)及电源等几部分组成, 模拟示波器具有操作简单、垂直分辨率高、数据更新快以及实时带宽和实时显示等特点,ifu _不容易出现混淆波形。2. 1. 2数字示波器工作原理 常规的数字示波器是数字存储示波器(Digital Signal Oscilloscope。现代数字存储示波器首先对模拟信号进行高速采样获得相应的数字数据并存储。用数字信号处理技术对采样得到的数字信号进行相关处理与运算,从而获得所需的各种信号参数,根据得到的信号参数绘制波形,并可对被测信号进行实时的、瞬态的分析。 数字存储示波器(DSO)便十捕获和显示那些可能只发生一次的事件,通常称为瞬态现象。它可以将波形信息以二进制序列存储起来,方便进行分析、存档、打印和其他的处理。数字存储示波器一般由取样存储、读出显示和系统控制等3大部分组成,他们之间通过数据总线、地址总线和控制总线相互联系和交换信息,以完成各种测试功能。图2-2 图2-2电信的数字示波器为一个典型数字示波器的界面。显然,数字存储示波器与传统的模拟示波器相比具有下列的突出优点Y可以根据被测信号的特点自动确定和调整测试条件,真正实现自动、离手测试;Y能够较容易地实现对高速、瞬态信号的实时捕获;Y在波形存储与运算方面有着明显的长处。2. 1. 3虚拟数字示波器与传统示波器不同,虚拟示波器以透明的方式把计算机资源(如微处理器、内存、显示器等)和仪器硬件(如All ) D/A、数字UO、定时器、信号调理板等)的测量、控制能力结合在一起。在这种仪器系统中,不仅仪器的操控和测量结果的显示是借助十计算机显示器以虚拟面板的形式来实现的,ifu _数据的传送、分析、处理、存储是由计算机软件来完成的,这就大大突破了传统仪器仪表在这些方面的限制,方便了用户对仪器的使用、维护、扩展和升级等53-55图2-3显示了虚拟示波器的结构组成和各部分功能,它包括了DSO示波器数据采集和处理以及存储显示的部分,还可以通过软件吸纳一些附加的功能。经过采集的信号(数据)经过模数(A/D)转换之后进行数据处理,然后可以通过两个通道传给计算机。其中之一是以二进制编码的方式直接传输,另外一条需要经过数模(D/A)转换以模拟波形的形势存储在计算机中作为显示和后期处理只用。图2-3虚拟示波器功能模块2.2示波器的波形重建技术 波形的重建主要采用数据内插技术,常用的内插技术有:直接点显示,矢量内插和正弦内插。由十正弦内插在大多数情况下具有最理想的重建效果,这里选用正弦内插方法进行波形重建。2. 2. 1正弦内插过程正弦内插法是用sin (x) /x函数曲线将各个采样点连接起来。正弦内插器基本上可以看做是理想的矩形示波器,该方法与矢量法相比逼近能够产生精确的波形,也可以得到较高分辨率的定时和幅度测量。图2-4是该过程的一个示意图。正弦内插分两步来完成。首先,在每个采样点之后插入L-1个零值,这是产生的信序列的那奎斯特频率就已经提高了L倍,然后我们就可以通过适当的数字滤波器来获取原始采样数据。2. 3虚拟示波器设计要求 基十对测试信号和应用领域的分析,对要设计的虚拟示波器提出一下要求: (1)能够采集、存储和显示20KHz以内的低频信号,分辨率应该不小十1/256要能对信号参数进行简单的显示和分析; C2)为了使得A/D在合适的模拟输入信号幅度下进行转换,应该根据垂直灵敏度的要求选择信号调理电路相应的增益; (3)能够同时进行4通道的采集和显示;并目_可以对信号参数进行调整; (4)开发应该控制成本,软件开发应该保证程序的可移植性。2. 4示波器中低通滤波原理和模型的选取2. 4. 1低通滤波原理 数字滤波器是数字信号处理中使用的最广泛的一种线性系统环节,也是示波器数据采集系统中一个必不可少的环节。它的输入输出均为数字信号,通过一定运算关系改变输入信号所含频率成分的相对比例或者滤除某些频率成分,从fu达到对期望信号的选取。这里我们设 是系统的输入,是其傅立叶变换;设是系统的输出,是其傅立叶变换。 (2-1) 由式2-1可以曹茁,输入序列的频谱经过滤波器(其系统性能用)表示)后变成。选取,使滤波器输出符合我们的要求,这就是数字滤波器的工作原理。2. 4. 2切比雪夫低通滤波模型的选取和设计通常采用的低通滤波器模型包括巴特沃斯和切比雪夫滤波器。巴特沃斯滤波器设计中为了某一性能达到标准,往往迫使滤波器阶数过高,过渡带过宽;切比雪夫滤波器能够将误差均匀地分布在通带或阻带内,可使滤波器的阶数大为减低,另外它能在通带产生最佳的衰减,即具有最快的滚降。这里结合第一张中提出的示波器的设计指标,通过分析,选择切比雪夫滤波器作为低通模型。切比雪夫滤波器的传递函数表达式如2-4所示 (2-2) 其中,在通带波动的称为切比雪夫工型滤波器,在阻带波动的称为切比雪夫II型滤波器,这里我们采用工型。 低通滤波器的可以在很多软件环境下进行自动设计,输入滤波器参数,选定滤波器模型就可以设计出滤波器的框架和基本电路。这里选用Matlab中的滤波器设计工具FDAtool进行示波器数据采集系统中低通滤波器环节的设计。设置滤波器的通带截止频率fp=20000Hz;阻带截止频率fs=40000Hz;最大衰减为60. fp=20000;fs=40000; rp二1;rs=60; wp=2*pi*fp; ws=2*pi*fs; N, wo卜cheblord (wp, ws, rp, rs,s);%求阶数不I I截频) B, A卜chebyl (N, rp, wo, s ) ;滤波器参数,多了:p. H, w卜freqs (B, A); p1 of (w/ (2*p i ),20*1og (abs (H)/log(10); Matlab集成了一套功能强大的滤波器设计工具FDATool,可以完成各种滤波器的设训一分析和性能评估。 通过FDATool,可以完成对滤波器的包括幅频响应、相频响应、幅频和相频特性比较比较、冲击相应、阶跃响应、零极点图等特性的分析,列出滤波器系数,还可以进行量化噪声分析。通过对以上参数的分析,可以修改F工R滤波器模型。2. 5本章小结 本章简要介绍了各种示波器的结构和原理,阐述了示波器设计中的一些指标和术语,重点介绍了示波器通用结构中滤波器的结构原理,分析比较了波形重建中常用的3中插值方法,为后续设计打下了理论基础。通过理论上的分析,得出如下结论: (1)虚拟数字示波器是现代示波器技术的发展方向,随着现代电子通信技术的发展虚拟示波器的功能将会越来越强大,结合相关的虚拟软件平台,个人PC就将成为一个多功能的测试平台; (2)滤波器在示波器信号选取中发挥着重要作用,应该根据所设计示波器的类型和测试目的选取合适的数字滤波器类型。本文中作者结合设计目的,通过比较滤波器模型和实现方法,最后确定采用切比雪夫滤波器软件实现低通滤波; (3)通过对波形重建插值方法的比较,决定采用正弦差值实现波形重建; (4)提出了示波器的设计要求和技术指标。第三章示波器硬件设计 本章主要是对示波器硬件部分的设计,其中包括数据采集硬件的选取以及结构分析,主要模块模拟电路和数字电路的设计,以及示波器通信协议的开发。数据芯片选为PIC16F877,电路设计工具是Proteus设计电路包括输入电压增益,A/D转换和功率电路;通信协议部分包括实时工作方式和存储工作模式,最后还附加介绍了控制协议。3. 1系统硬件结构3.1.1系统硬件的选择 虚拟示波器一般都是由主机和从机组成,主机为微型计算机,从机为数据采集子系统。从机采集输入电压信号,主机完成虚拟示波器软面板的功能,实现对单/多双通道电压的波形及数据显示。 本设计的目的是设计、组建和测试一个基十PC的低成本的数字实时存储示波器。数据处理硬件的选取上应该在满足对低频信号测试要求的前提下,尽可能选取编程方便,价格便肩的芯片。PC和单片机(PICs)组成了虚拟示波器的硬件平台,单片机构成了虚拟示波器的数据采集和控制单兀,其性能指标直接决定着虚拟示波器的采样速率、精度等主要指标。CPU的速度及计算机的内存影响着示波器处理数据的速度;计算机的硬盘决定着它的存储数据的容量。这里通过对各种MCU的分析和比较,设计者选择了Microchip公司的PIC16F877Flash单片机作为数据采集硬件。 PIC16F877是新一代8位数字信号处理单片机,采用Harvard双总线结构,运行速度快,工作电压低,全静态设计,带有EPROM体积小。另外,PICs具有高速数据采样、A/D转换、多种触发方式,能够自动对设定的通道进行检测等功能,己经广泛地应用十军事、航空、通信、无线电、雷达、高能物理中,具有较高的性价比。所以本文采用PIC16F877作为信号采集和处理硬件,通过RS232串口和PC相连。3. 1. 2数据采集硬件介绍PIC16F877是一个高性能的闪存微控制器单兀(Micro Control Unit,可以提供给设训一者尽可能大的灵活性。除了拥有8192 X 14个字节的闪存程序存储器,256个字节的数据存储单兀,368个字节的用户RAM,还有一个8通道的10位A/D转换器。外设包括2个8-bit计数器,一个16-bit计数器,一个看门狗计数器,它的40个管脚分部如图3-1所示。尤其重要的是,PIC16F877还有强大的编程功能,用户可以使用C+语言对PIC16F877进行编程,并可以通过PCI总线将数据高速传递到内存区域。图3-1PIC16F877管教分布它支持低电压自动编程,用户可以在设备工作电压下对设备编程,电路内调试功能允许用户在没有电路内置仿真器的情况下对PIC16F877进行仿真。PIC16F877拥有一个能够和8个输入引脚相连接的ADC 。图3-2是PIC16F877内置10-bitADC的电路简图,从该图中可以看出输入模拟通道AN4.0和端口A相接,Ifu通道AN7.5和端口E相连。一旦ADC系统复位,所有管脚都被设置成接受模拟信号,那些被重新设置成数字I/O的管脚不能被连接用以接受模拟信号。 图3-2PIC16F877内置10-bitADC的电路简图PICs8个ADC管脚中的4个用十数据采集,一个MAX232 buffer用十将PICs DART的串行逻辑转换成正确的RS232格式。此外还需要设计一个模拟电路以确保输入电压落在0-5V的区间,即实现对大输入电压的衰减和对小输入电压的放大。图3-3显示了这种电压的转变过程,其中lOV的峰值电压被将为5V (ADC取值1024), OV被2.5V取代(ADC取值512),而-lOV则对应OV (ADC取值为0)。这个过程可以使用2个741 op-amps来实现,另外可以采用一些二极管用十图3-3输入电压区间转换保护PIC免十经受电压过载带来的冲击。 通用同步/异步收发器(USART)是两个串行I/O模块中的一个。它可以工作在和PC通信的异步执行方式,还可以工作在和外设通信的同步执行方式。它的核心是波特率发生器C Baud-Rate Generator, BRG ) 。BRG实质上是一个接有频率可调的8位可编程计数器,带有一个可以产生和设定波特率相对应的采样和转换频率的开关。其中,PICs的晶振频率由下式给出:低速模拟时下的波特率 (3-1)高速模拟式下的波特率 (3-2)其中,X的表达式为 (3-3)一般情况下尽可能采用较高的波特率,因为这样可以减少误差。 3. 1. 3硬件结构图 由于测量主要针对超低频对象,考虑性能价格比,系统采用串行数据处理代替常规虚拟仪器所采用的并行数据处理。本设计中的示波器硬件部分主要由PIC16F877,MAX232和个人PC的构成,系统工作原理如图3-4所示。PIC16F877负责波形数据的采集和A/D转换,它通过MAX232和PCsRS232端口相连,时钟频率选用20MHz。采用20MHz高时钟频率的主要原因在十较慢的时钟频率可能会增加获取115kbps的采样波特率的难度74o PIC可以在20MHz时钟频率下产生高十115kbps的波特率,而大多数PCs的最大波特率都是115kbps. 图3-4系统硬件结构图3.2系统功能模块设计图3-5示波器的功能模块图虚拟示波器除了具备物理示波器的一般功能,并目还加入了一些附加的功能模块。所设计的示波器主要包括:数据采集模块、低通滤波模块、A/D转换模块、数据传输模块、数据存储模块、D/A转换模块、波形显示模块、频谱分析模块以及控制窗口和帮助文件。示波器功能模块如图3-5所示。 数据采集系统的任务是采集原始的模拟信号,把它们转换为计算机可以处理的数字信号,其主要指标有采样精度和采样速度。本设计中数据采集系统主要是对低频或者非周期信号进行捕捉,信号捕捉主要与采样频率、带宽和存储深度有关。 低通滤波模块主要任务是滤除包含在期望信号中间的高频噪声。 A/D转换模块的主要任务就是将采集到的模拟电压转换成二进制数字信息并加以存储或者直接传输到PC。 数据存储模块的主要功能是将A/D转换得到的二进制信息存储在单片ROM中,以备传输和显示。 数据传输模块的主要任务就是将A/D转换达到的数据进行传输。 A/D转换模块的主要任务就是将PC接收到的二进制数字信息重新转换成模拟电压信号。 波形现实模块的主要任务就是将经过D/A转换后的信息通过相位平移和波形重建技术在pc屏幕上以波形的方式现实出来。 频谱分析模块的主要任务就是对所显示的波形信息进行分析,提取特征参数并进行参数显示。 帮助文件主要针对示波器使用中出现的一些问题做必要的说明和解释。3. 3采样方式的选择在现代存储示波器中,通常有两种采样方式:实时采样和等效时间采样。(1)实时采样实时采样的含义是在信号存在周期进行采样。当数字化一开始,信号的波形的第一个采样点就被采入并数字化,然后经过一个采样间隔,再采入第二个样本,一直将整个波形数字化后存入存储器。按照采样定理,采样速率必须高十信号中最高频率分量的2倍;对十周期性正弦信号,一个周期内应该有2个采样点。如果采样频率不够高,就会产生“混叠”现象。考虑到实际因素的影响,为了不失真地恢复原被测信号,采样率要在带宽的五倍以上,最好能在八到十倍,即一个周期内应该有20个采样点左右。图3-6实时采样效果图 实时采样的主要优点在十波形可以即时采入,因此适合于任何形式的信号波形,重复的或不重复的,它的缺点是速度分辨率较差。 (2)等效时间采样实时采样受到采样频率的限制,采样速率越高采样器的价格(主要是A/D的价格)就越贵。但是对十周期性信号可以采样等效时间采样方法。等效时间采样的定义是:从重复性信号的不同周期经过多次单采样,取得足够的采样点来重建这个重复信号的波形。图3-7是等效时间采样的效果图。等效采样必须满足重复信号和稳定触发两个条件。 图3-7等效时间采样图采样方式的比较和选择,等效时间采样虽然可以进行高频信号采样,但是步进延迟的采样技术较难实现;另一方面本文中所设计的示波器主要用十测量模拟示波器难十捕获的低频信号,因此采用PIC16F877在实时采样工作方式下就很容易实现。3. 4系统模拟电路3. 4. 1电压增益电路图3-8是用十输入电压增益(放大和衰减)的模拟电路,用以确保电压范围落在O-5V之间。第一个运算放大器用十保证电压的负极性,例如将电压范围-1V1V的输入转换成OV-2V的输入。第二个运算放大器是一个反相放大器,用于改变电压极性并作适当放大。第二部分的2个齐纳二极管用于保护作用,因为过大的电压(超过5V)会破坏PIC中的A/D转换器。 图3-8电压变换模拟电路 可变电阻的作用主要在于校准: 把接地电压一1V转换为1V,用VR3校准直到第一个运算放大器的输入变成-1.5V; 改变VR4直到齐纳二极管和2个1508电阻之后的输出为205V; 反变-1V到1V,输入一个-10V1OV的电压,并且用VR1校准; 电路的优点: 全部采用定值电阻,降低了成本; 对超大的输入电压进行运算放大(衰减)保护范围能用微控制器控制。3. 4. 2系统电源电路图3-9所示为系统功率部分的模拟电路。中间的变压器产生5V的直流电,为系统提供能源,0.1uF的电容用来消除在线噪音,100uF的电容用于储能,用来保证特殊情况下能源供应的不足将不会对电流产生影响。图3-9系统功率电路3. 5系统数字电路 和图3-1对应,设计示波器的数据采集并处理的数字电路如图3-10所示,它清楚的显示了系统主要部件的电路连接(大图参见附录)。和端口E相连跳线用于选择波特率。MAX232CPE和PIC的管脚RC7和RC6相接,以便和通用异步收发器(DART)配合使用。鉴于软件DART有可能影响系统性能,这里选用硬件DART。选用MAX232CPE的主要原因在于它可以被单独的SV电源启动,RS232要求设置电压范围+3+12V为逻辑高电平“1 ,-3 -12V为逻辑低电平“0o MAX232CPE拥有被指的电压加倍电路(+lOV)和一个电压反相电路(-lOV,这样就不需要配置相应的直流变换器,从而进一步压缩了制造成本。图3-10 示波器数字电路简图3. 6通信协议的开发3. 6. 1实时工作模式下的通信协议在DSP通信中主要存在两种通信协议,实时协议和存储协议,此外还需要一个控制协议来通知PIC读取控制信息。实时模型的定义:每次读取一个采样数据,并b将读取的数据通过RS232直接传送给PC,在每两次读操作之间,有一个PC通过控制协议设定的时间延迟,这就是实时模型。图3-11 4通道实施工作模型 图3-11所示为4通道实时工作模型。在读取模拟通道和数据传送之间的存在时间延迟,这个问题在第四章中通过软件补偿波形的方法进行解决。3.6.2存储工作模式下的通信协议一次读取若干个采样数据,将它们保存在外部RAM中,读取的数据然后被通过RS232传送给PC,这样,RS232的瓶颈被消除,从而实现更快的采样速率,这就是存储模式。图3 -13所示是4通道存储模式工作原理。图3-13 4通道存储模式工作原理3. 7本章小结 本章主要是对示波器硬件部分的设计,其中包括数据采集硬件的选取以及结构分析,主要模块模拟电路和数字电路的设计,以及示波器通信协议的开发。所完成的主要工作如下: (1)选取PIC16F877作为数据采集和A/D转换单元,并对其基本结构做了介绍和分析,分析说明,所选芯片符合示波器的低频处理对象,在满足基本采样频率的前提下降低了成本。 C2)选用实时采样方式进行数据采集。用Proteus设计了电压增益(包括放大和衰减)、A/D转换以及系统电源部分的模拟电路和系统整体的数字电路。 (3)开发并分析了实时和存储模式下的通信l办议,绘制了l办议流程图。第四章示波器软件设计 本章主要进行虚拟示波器软件的设计,主要内容包括软件设计的整体思路,设计方案,设计流程以及各个模块的具体设计。设计方法中吸收了软件开发中常用的多线程思想和虚拟仪器开发中的组件技术。软件部分包括数据采集、A/D转换,数据存储和显示抓制等模块。4. 1软件设计思路4.1.1虚拟仪器的软件设计方法 为了保证虚拟仪器软件具有较高的可靠性和可用性,以及良好的移植性和兼容性,在进行软件设计时,应按照软件工程学提出的软件设计过程和方法进行,具体的应注意以下几点。 (1)采用自顶向下的软件设计方法,首先完成软件的需求分析、系统功能分析和结构分析,通过逐层分解和逐级抽象,建立软件的层次化结构框图,确定各部分的功能及相互关系,然后根据软件的结构框图,划分程序模块,最后再开始具体的编程工作. (2)在软件系统分析和具体编程过程中,应注意采用模块化和面向对象的软件设计方法,特别要重视一些可重用的基本软件模块,以提高系统的灵活性、可移植性和可维护性,降低系统的复杂程度。 (3)虚拟仪器软件应具有较高的可靠性。系统不能因测试人员的操作失误而导致崩溃,也不能因环境干扰或其他问题导致故障蔓延和丢失信息。在系统软件设计与实现过程中,应对此给予充分的重视。 (4)虚拟仪器软件设计要符合一些相关规范的要求,如VPP规范或IVI规范等,选择符合规范的软件开发环境和仪器驱动程序,保证软件的可移植性和兼容J性。 (5)采用图形化用户界面设计技术和可视化编程技术,提供切合实际需要和友好的人机交互界面、提供完善的帮助信息和快捷简便的帮助信息访问手段,提高软件的可用性。 (6)采用自顶向下和自底向上相结合的方法进行软件调试。将整个软件调试过程分为模块调试、子系统调试、系统联调、试运行四个步骤,对所涉及的软件进行完全的测试和诊断,发现和纠正编程和设计错误,生产出合格的软件产品。4. 1. 2软件的多线程实现 数据采集及其波形实时显示是虚拟示波器中最为重要的模块,通过充分发掘Windows的系统资源,我们可以设计出高质量的通用软件模块。 在WindowsXP操作系统中,Windows给所有当前进程分配动态优先级,并目_为进程所属的每一个线程分配相对优先级,Windows把进程优先级与各线程的相对优先级相结合,就得到该线程的优先级数(范围是0到31)。在操作系统分配CPU的时间片的时候,高优先级的线程总是可以优先得到执行。同时,高优先级的线程还可以终止低优先级别线程的执行,抢占时间片中剩余的时间。不同线程可以采用定时器、中断、休眠、同步对象等方法同步。 而数据的显示由十显然可以通过这种优先级调度、线程同步的机制来保证实时性。在数据采集和显示任务由不同的线程完成的前提下,采集线程的执行和休眠可以采用定时器或中断调度等方式主动控制。Ifu显示线程的调度主要有两种策略。 (1)将显示线程的优先级设置成低十数据采集线程的优先级,那么显示线程将始终处十等待状态,只有在采集线程休眠后才能获得CPU时间片执行,这实际上是通过Windows的优先级调度机制完成的线程同步。 (2)使用自定义消息,在采集线程每次休眠之前调用PostMessageQ函数发出一个消息,由数据处理线程的消息响应函数进行响应,进fu激活数据处理线程。在本次设计中,除了一个处理用户输入消息的用户界面线程(User InterfaceThreads)之外,创建了两个辅助线程(Worker Threads)。在主线程中,主要进行触发控制、通道控制、时基控制、增益控制等有关示波器的操作和控制。一个辅助线程用十数据采集,另外一个辅助线程用十数据处理,其中最主要的是波形显示。软件的多线程设计框图如图4-1所示。图4-1示波器的多线设计框图由十PIC16F877的存储器为单口存储器,我们只能采用单缓冲区的工作方式,就是说,每采集一定长度的点后,采集线程休眠,并唤醒数据处理线程,当数据处理线程有信号时,再唤醒采集线程,循环进行,直至用户发出中止命令。该方法的关键在十线程的同步,就是要保证在采集线程写内存的时候,数据处理线程不能读内存,反之亦然,否则,会产生错误。可以采用临界区或者Event同步对象来实现,为了保证在一次采集中采集线程不被中断,而不仅仅是出十内存访问保护的考虑,我们选择Event同步对象的实现线程间的同步。采用了多线程,那么就可以用一个单独的线程进行数据采集,而另一个线程进行数据显示和处理。这样,能最大限度的保证采集的实时性,而另外的线程同时又能及时地响应用户的操作或进行数据显示。否则,程序在采集数据时就不能响应用户的操作;在响应用户操作时就不能进行数据采集。尤其当采集的数据量很大,数据处理任务很重时,如果不采用多线程,采集时的漫长的等待是很难让人接受的。多线程可明显提高程序的执行效率。4. 1. 3组件技术在虚拟示波器开发中的应用4.1.3.1用组件技术开发虚拟仪器的思想 组件是指一种能够提供某种服务的自包含的软件模块,它封装了一定的数据(属性)和方法,并提供特定的接口。开发人员利用这一特定的接口来使用组件,并使其与其他组件交互通讯,以此来构造应用程序。 组件是被封装的软件模块,它隐藏了具体的实现细节,仅提供接口供开发人员使用,这样开发人员即使不知道组件的内部细节,也能利用组件方便地构筑应用程序。这种特点还使得组件开发人员可以对组件单独进行升级,改进原来的功能,却不影响整个应用系统的运行,只需要保证组件对外界的接口保持不变。 基于组件的软件开发过程分成两步:开发组件的过程;组装组件的过程。本设计将虚拟示波器按功能划分为若干模块:采集模块、显示模块、分析模块等等。各个模块还可以再细分成子模块。比如采集模块可以由各种控制不同仪器硬件的子模块组成,分析模块可以由大量的执行数学分析的模块组成,fU仪器面板可以看成是各种开关、旋钮、波形显示面板的集成。如果将各个完成不同功能的大小模块都封装成组件的形式,那么构造虚拟仪器的过程就是将各种组件按测试要求组合在一起。当测试要求改变时,我们可以重组各种组件。这样能大大地提高仪器的可重用性,就能以最少的投入迅速地构造出新的虚拟仪器。此外,组件技术和虚拟仪器技术的结合还为我们引入了分布式虚拟仪器的概念,为实现基十网络环境的虚拟仪器提供了思路,也就是说,虚拟仪器应用程序不必限制在单个计算机上,组成虚拟仪器的各个组件可以按测试要求部署到网络中的各个计算机上并相互之间协调运行,提高了组建虚拟仪器的灵活性。4. 2软件设计总体方案4.2.1系统总体方案流程图图4-2展示了本设计软件系统的信号流程图,程序开始工作后,首先进入主线程,进行相关的初始化工作,主要是软件界面的初始化(单片机的初始化在采集子线程中进行)。 OnStart()函数的主要目的是执行StartCapture()函数以启动数据采集子线程,执行StartProcessing()函数以启动数据处理子线程,主线程进入消息循环,并通过消息和子线程进行通信。采样线程和数据处理线程实际上是由g_bRunThread变量控制的循环过程,这样可以方便主线程控制工作线程的退出。数据采集线程利用了采集卡驱动程序提供的中断采样函数,采样深度n由控件设定,每当采集完成一个点的采样时,采样数据被送入卡上的缓冲区,然后通过PCI总线向计算机传输数据,当数据传输完毕之后,采样线程向数据处理线程发送WM_ RECEIVE消息,通知数据处理模块对这n点进行分析处理。在主线程里,主要接受用户操作的消息,比如通道参数的设定、通道显示的设定、数据的存储打印以及察看历史数据波形等操作。图4-2软件系统整体流程图4.2.2系统软件网络结构 本课题设计的虚拟示波器,是在单片机的支持下,配备一定功能的软件,完成波形的存储、分析、显示等功能。传统的测试仪器由信号采集、信号处理和结果显示二大部分组成,这二部分均由硬件构成。虚拟示波器也是由这二大部分组成,但是除了数据采集部分是由硬件实现之外,其它两部分都是由软件实现。4. 3虚拟示波器系统模块设计 虚拟仪器系统的一个重要革新就是仪器硬件软件化,用软件实现硬件功能。美国国家仪器公司提出的“软件就是仪器”(Software is instrument)形象的概括了软件在虚拟仪器技术中的作用。本课题采用模块化的软件来构建虚拟仪器系统,这样组建系统方便快捷,代码复用率高,维护更加方便。4.3.1虚拟示波器的系统软件功能模块软件采用模块化设计,在功能上划分为多个模块,分别为数据采集模块、软面板模块(用户界面模块)、数据处理模块、数据存储模块和帮助文件模块。其中数据处理模块又划分为频谱分析模块、数字滤波模块、参数计算模块和波形显示模块,各个模块之间的联系如图4-4所示。图4-4软件功能模块图 从图4-4可以看出示波器的总体框图以及数据流、控制流的流向。其中主控模块相当十一个任务调度中心。当软件开始运行时,首先进入主控模块,然后启动数据采集线程和数据处理线程,十是数据采集模块和数据处理模块开始工作直至用户停止系统工作。 数据流从数据采集模块开始,分别流向数据存储模块和数据处理模块,数据存储模块负责把用户感兴趣的数据存人硬盘。而数据处理模块负责数据的实时显示、数字滤波、 当用户需要查询历史信号时,可以启动历史查询模块,然后把查询到的数据送往历史曲线显示模块;如果需要打印历史信号,调用曲线打印模块即可。 由十篇幅关系,本文中只给出

温馨提示

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

评论

0/150

提交评论