关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于以太网的虚拟示波器设计

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

作者: 时间:2011-01-18 来源:网络 收藏


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


示波器通信设计充分发挥数据量大、传输速度快的优点,提高了示波器波形显示的实时性,使其更加接近真实示波器显示的波形。
2.2 通道选择及数据坐标计算模块
嵌入式系统向上位机发送的UDP数据包包含有6种被测信号的数据信息,共计60个采样点,360个数据点。程序中通过建立数组NUM[6][60]将其分别保存并写入上位机缓存区,同时虚拟示波器界面使用复选框控件设定6个显示通道,从而实现同时显示6通道波形的功能。当通道C(C=1~6)被选中时,其对应的复选框控件所关联的成员变量值由FALSE变为TRUE,调用当前NUM[C][60]数据,逐个计算数据点对应的坐标并将其显示在波形显示窗口中。对于数字示波器来说,不仅需要超高速实时采样速率,还需要有较高的波形分析细节,因此本文的虚拟示波器采用线性插值算法进行恢复和重建原始信号,所谓线性插值就是在两个采样点之间插入一点,用直线将采样点和插值点连接起来。采样点数据坐标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 前面板设计
与文献使用LabVIEW开发工具设计的虚拟示波器前面板相比,本文虚拟示波器前面板控件类型更加丰富、美观,通过模拟实际示波器的各项操作,显示处理结果,其设计如图5所示。界面包括波形显示窗口和控制区域2个部分。其中控制区域根据仪器功能需要设有:通道选择、刻度选择、波形存储、频谱分析、计算等各类控制按键。



评论


相关推荐

技术专区

关闭