基于以太网的虚拟示波器设计

2010-03-26 01:47赵雷廷吴佐民全恒立刘志刚
电子设计工程 2010年11期
关键词:示波器控件以太网

赵雷廷,吴佐民,全恒立,刘志刚

(北京交通大学 电气工程学院,北京 100044)

虚拟仪器是利用高性能模块化硬件,结合高效灵活的软件,在通用的计算机平台上,根据用户需求设计仪器的测试功能,实现对信号的处理、计算、分析以及波形显示。近年来,随着微电子与计算机技术的飞速发展,以及测量技术与计算机的深层次相结合,虚拟仪器已成为国内外学者研究的热点问题之一。

文献[1-2]提出的虚拟示波器是以PCI采集卡硬件为基础,极大地限制了其连接和加载性能;文献[3]使用的串行接口传输采集设备传输速率不高,实时性也不理想;文献[4]所提出的虚拟示波器采用USB接口数据采集设备,虽然其技术日趋成熟,但其稳定性、数据吞吐量、传输速率与传输距离,均逊色于工业以太网技术。因此,将虚拟仪器技术与以太网技术相结合,在VC环境下利用其辅助开发包MFC开发出一种新型网络化虚拟示波器,界面友好、数据准确,不但包含传统虚拟示波器数据计算、频谱分析和波形显示等常规功能,还可实现波形的快速存储、回放及远程多机操控功能。

1 虚拟示波器硬件设计

虚拟示波器硬件系统结构如图1所示。底层硬件采用基于DSP的嵌入式系统,该系统集成了信号调理电路、A/D转换模块以及网络接口器件,完成对被测信号的采集、处理及发送功能;信号调理电路对各种不同的输入模拟信号进行电压转换,使被采样信号电压幅值的变化范围满足A/D转换模块的要求,同时还对输入信号进行滤波处理,减少信号失真和噪声,阻止带外频率引入的虚假信号。A/D转换模块是嵌入式系统中最为重要的单元,选用TM320F2812DSP中的A/D转换模块具有12位精度,16通道最高采样带宽达12.5 MS/s。

图1 虚拟示波器硬件系统结构框图Fig.1 Structure diagram of hardware system of virtual osciuoscope

其优异的动态性能足以满足虚拟示波器的要求。而系统网络接口器件则选用以太网控制器LAN91C111,并将其作为外围设备与MCU连接,该器件支持100/10 Mb/s的传输速率。嵌入式系统与上位机建立网络连接之后通过以太网将数据传输至上位机,使用上层软件完成数据的波形显示,计算和相关分析等功能。

2 虚拟示波器软件设计

为提高虚拟示波器程序的运行效率,编程采用多线程思想,所谓多线程就是将程序分割成相互独立运行的子任务,其中包括主线程和分线程,利用CPU分时机制,每个线程都能循环地获得自己的CPU时间,由于轮询速度非常快,使得所有线程都像是在同时运行一样。该虚拟示波器程序主线程进行数据处理,波形显示;分线程则独立完成接收UDP数据报、保存数据并向主线程发送消息的功能。虚拟示波器程序流程图如图2所示。

图2 虚拟示波器程序流程图Fig.2 Flow chart of virtual oscilloscope program

2.1 以太网数据通信设计

虚拟示波器采用分布式以太网接入技术,即将以太网控制模块嵌入在嵌入式中,使设备能直接连接到以太网。嵌入式系统将包含被测信号数据信息的以太网数据帧发送到局域网内的上位机时,需要根据48 b的以太网硬件地址来确定目的接口。地址解析协议ARP为以太网硬件地址和IP地址提供映射。虚拟示波器运行时嵌入式系统向目的上位机发送ARP请求,预先设定好IP地址的上位机接收到报文后,识别出这是发送端在询问它的硬件地址,则发送一个包含自身的IP地址和硬件地址的ARP应答,嵌入式系统收到应答之后便可向目的上位机发送数据报了。

嵌入式系统与上位机建立网络连接之后要进行以太网通信还需要实现TCP/IP协议族以完成对数据的封装和分用,在应用层、运输层、网络层、链路层4层协议系统中每层主要负责与其他机器上的对等层进行通信。其中链路层主要包括物理层和数据链路层,完成物理上的接口连结协议,设计中采用Ethernet(IEEE802.3)确保数据传输量;运输层协议主要包括TCP和UDP 2种,TCP协议虽然具有更高的可靠性,但是其在软件上实现复杂,程序冗长,并且校验时占用大量网络流量;相比之下,UDP协议对于减小DSP资源消耗,提高网络传输效率方面更有优势。为了增强UDP协议的可靠性,在实际的通信协议中,对于关键的量值通过回传校验机制保证其可靠传输。这种方法将UDP协议的简洁性和TCP协议的可靠性相结合,同时也节省了大量用来校验的网络流量,增强了网络的实时性,因此运输层协议上选择的是UDP协议。以太网数据发送/接收流程图如图3所示。

图3 以太网流程图Fig.3 Flow chart of Ethernet

具体虚拟示波器程序中发送和接收数据信息都是由套接字完成,嵌入式系统作为客户机端,上位机则作为服务器端,其连接过程可以分为3个步骤:服务器监听,客户端请求,连接确认。成功连接之后,作为客户机端的嵌入式系统在收到上位机发送的数据发送命令后,将被测信号数据打包通过以太网发送至上位机。在监测网络连接方面,嵌入式系统与上位机之间通过心跳帧连接,当网络连接出现故障时嵌入式系统发出的心跳帧中断,上位机可及时发现并退出网络进行报警。以太网通信运行机制如图4所示。

图4 以太网通信运行机制Fig.4 Ethernet communication mechanism

虚拟示波器通信设计充分发挥以太网数据量大、传输速度快的优点,提高了虚拟示波器波形显示的实时性,使其更加接近真实示波器显示的波形。

2.2 通道选择及数据坐标计算模块

嵌入式系统向上位机发送的UDP数据包包含有6种被测信号的数据信息,共计60个采样点,360个数据点。程序中通过建立数组NUM[6][60]将其分别保存并写入上位机缓存区,同时虚拟示波器界面使用复选框控件设定6个显示通道,从而实现同时显示6通道波形的功能。当通道C(C=1~6)被选中时,其对应的复选框控件所关联的成员变量值由FALSE变为TRUE,调用当前NUM[C][60]数据,逐个计算数据点对应的坐标并将其显示在波形显示窗口中。对于数字示波器来说,不仅需要超高速实时采样速率,还需要有较高的波形分析细节,因此本文的虚拟示波器采用线性插值算法进行恢复和重建原始信号,所谓线性插值就是在两个采样点之间插入一点,用直线将采样点和插值点连接起来。采样点数据坐标 pi(xi,yi)和插值点数据坐标 pi′(xi′,yi′)计算方法如下:

式中,left为屏幕最左端数据点坐标,cnt为当前数据点的编号,即示波器接收到的第几个数据点,而xvalue则是两点之间间隔的距离。yvalue为纵轴幅值系数,yoffset为当前所选纵轴偏移量,插值点选取相邻两采样点的中点。

2.3 触发模块

为使扫描信号与被测信号同步,可以设定一些条件,将被测信号不断地与这些条件相比较,只有当被测信号满足这些条件时才启动扫描,从而使得扫描的频率与被测信号相同或存在整数倍的关系,也就是同步。触发的目的在于使每次显示的初始时刻都从波形的同一位置开始,确保波形稳定显示。

程序中主线程不断地接收分线程发送来的数据,首先判断当前数据点是否大于它之前的5个数据点,如果判断为真,则说明当前为波形上升沿,之后数据点与预先设定好的触发电平相比较;如果相等或在允许的误差带内,则确定该数据点为触发点,由于使用软件实现触发功能,因此虚拟示波器“挂起时间”即重新准备触发的时间很短,错失波形中重要事件的几率极低。

2.4 波形存储回放模块

虚拟示波器程序通过建立分线程来接收数据,同时还兼顾保存数据的任务。程序初始化时创建2个文件,

1)历史页面文件,当用户点击“开始保存”控件时程序启动保存功能,将以太网发送的数据全部写入历史页面文件;

2)历史页面信息文件,用来保存数据在一次保存操作中的各类信息,例如:本次数据保存的起始和结束时间、保存的数据量、符合触发条件的数据点的位置等。

当需要实现波形的回放时,程序根据历史页面信息文件保存的信息,从历史页面文件中筛选出指定时间段内的数据,计算各数据点坐标并将其显示于示波器屏幕内。

2.5 参数计算模块

虚拟示波器在波形正常显示的同时,根据接收到的数据实时地计算当前信号的各类指标。其中信号的平均值、有效值以及频率的算法如下:

式中,n是预先给定的参与计算的数据点数,NUM[c][m]是保存数据的数组,tmax1-tmax2的含义是波形相邻的两个最值之间的平均时间,定义为波形的周期。

2.6 前面板设计

与文献[5]使用LabVIEW开发工具设计的虚拟示波器前面板相比,本文虚拟示波器前面板控件类型更加丰富、美观,通过模拟实际示波器的各项操作,显示处理结果,其设计如图5所示。界面包括波形显示窗口和控制区域2个部分。其中控制区域根据仪器功能需要设有:通道选择、刻度选择、波形存储、频谱分析、计算等各类控制按键。

图5 虚拟示波器前面板Fig.5 Integral view of virtual oscilloscope

3 运行结果与分析

3.1 多通道波形显示功能

启动虚拟示波器使用复选框控件同时选择CH1和CH2两个通道,其中CH1为正弦波,CH2为方波,波形显示如图6所示。

图6 多通道波形显示Fig.6 Multi-channel waveform's display

3.2 波形存储回放功能

当点击界面中“打开”控件时,弹出如图7所示对话框,对话框显示内容为之前已经成功保存的各时间段历史波形,选择其中一个点击“打开波形”虚拟示波器屏幕上就会显示这个时间段的数据波形如图8所示。

3.3 波形计算功能

当被测信号的波形正常显示时,通过点击“计算”控件可弹出计算结果显示对话框。以图8中CH2方波为例,其峰峰值为6.00206 V,有效值为3.00103 V,最大值为3.00103 V,最小值为-3.00103 V,频率为27.77778 Hz,占空比为0.5,如图9所示。

图7 波形回放选择对话框Fig.7 Selective dialog of waveform's playback

图8 历史波形回放功能Fig.8 Function of waveform's playback

图9 计算结果显示对话框Fig.9 Dialog of results of calculation

4 结 论

本文介绍的虚拟示波器速度快、精度高、可扩展性强、开发成本低,不仅具备实际示波器的各项基本功能,同时充分发挥了计算机的强大优势和软件设计的灵活性,实现了波形的显示、存储、回放以及参数计算、频谱分析等。目前已经实际运用于文献[6]所述的新型城市轨道交通牵引供电系统的监测平台中,用以实时监测供电系统的各项参数并显示波形。此虚拟示波器通过结合以太网通讯技术进行数据传输,发挥以太传输距离远、传输数据量大、信号可靠性高的优点,增加了传输的数据量和监视距离,满足了实际系统中的应用要求,具有良好的发展前景。

[1] 赵伟军.基于PCI总线的虚拟示波器的设计与实现[J].现代雷达,2007,29(1):41-43.ZHAO Wei-jun.Design and implementation of virtual oscillogragh based on PCI Bus[J].Modern Radar, 2007,29 (1): 41-43.

[2] 王秀芳,郝建勋.虚拟示波器的设计与实现[J].仪器仪表学报,2005,26(8):253-254.WANG Xiu-fang,HAO Jian-xun.The design and realization of a virtual oscillogragh[J].Chinese Journal of Scientific Instrument, 2005, 26(8): 253-254.

[3] 周长锁.基于串口的虚拟示波器[J].无线电,2007(16):23-25.ZHOU Chang-suo.Virtual oscillogragh based on serial ports[J].Radio, 2007(6):23-25.

[4] 崔新伟,王德志,王紫婷.基于USB总线的虚拟数字存储示波器的设计[J].实验室研究与探索,2008,27(10):64-66.CUI Xin-wei, WANG De-zhi, WANG Zi-ting.Design of the virtual digital storage oscilloscope based on USB bus[J].Research and Exploration in Laboratory, 2008,27(10):64-66.

[5] 梁秋明,田梦君.基于LabVIEW的虚拟示波器的设计与实现[J].电子测量技术,2009,34(3):158-161.LIANG Qiu-ming,TIAN Meng-jun.Design and implementation of virtual oscilloscope based on LabVIEW[J].Electronic Measurement Technology, 2009,34(3):158-161.

[6] 王磊,刘志刚,赵雷廷,等.新型城轨牵引供电系统监控平台研究[J].电测与仪表,2009,46(8):50-55.WANG Lei, LIU Zhi-gang, ZHAO Lei-ting, et al.Research on a novel monitoring platform for traction supply of urban rail transportation system[J].Electrical Measurement&Instrumentation, 2009,46(8):50-55.

猜你喜欢
示波器控件以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
关于.net控件数组的探讨
一款教学示波器的Y通道设计与实现
可携带式虚拟双踪示波器
谈实时以太网EtherCAT技术在变电站自动化中的应用
基于TEGRA K1的实时信号处理示波器的设计
一种90W高功率以太网供电系统的设计
浅谈EPON与工业以太网在贵遵高速公路中的应用
ASP.NET服务器端验证控件的使用
基于嵌入式MINIGUI控件子类化技术的深入研究与应用