- 1 -
基于 UDP的网络虚拟示波器设计
摘 要:本文介绍了一种以太网接口方式实现的虚拟示波器设计方法。该虚拟示波器使用
LabVIEW为软件设计平台,以太网接口为硬件连接通道,UDP为通信协议方式设计,完全
实现了真实示波器的双通道显示、触发方式选择、触发电平选择等功能,实时显示被测数据,
界面美观且操作简易,可方便连接于 LabVIEW综合实验平台等带有以太网接口的数据采集
设备上使用。
关键词:LabVIEW,虚拟仪器,示波器,以太网,用户数据报协议
中图分类号: ,
1. 引言
当今对电子产品的要求是体积小功能全,为了满足这种需求,就需要更多的仪器来对产
品进行测量,进而保证产品的质量,虚拟仪器技术的诞生恰恰符合这种需求[1]。NI 公司的
LabVIEW 虚拟示波器就是其中最典型的例子,利用 LabVIEW 强大而丰富的接口和处理模
块,通过数据流编程的方式在一台个人电脑上以示波器的形式实现各种测试测量需要,既裁
剪测试设备的尺寸,又提高了工作效率,缩减了开发成本[2]。
随着虚拟仪器技术的日益普及,各高等院校相继开设了虚拟仪器这门课程,用于实验的
设备大多是购买的现有产品,局限性很大并且价格昂贵[3]。最早的虚拟示波器,是设计在
PCI采集卡硬件基础上的,连接和加载很不方便;接着是串行接口传输的采集设备,传送速
率不高,实时性不够好;直到最近,才开发出 USB 接口的数据采集设备,相应的虚拟示波
器也逐渐成熟。LabVIEW 综合实验平台上同样带有 RS232 接口和 USB 接口,可是,以太
网接口相对于前者,传送速率更高,相对后者更稳定,并且能实现远程多机器操作。本文介
绍了一种基于UDP协议的网络虚拟示波器设计方法,它建立在以太网接口上,运用LabVIEW
强大的设计开发模块,使用简单的 UDP协议来实现示波器基本功能。
2. 系统构成
硬件构成
系统建立在 LabVIEW综合实验平台上,该平台包括由 DSP芯片构成的数据采集和接口
通道部分以及由 FPGA构成的信号产生部分。图 1给出了 UDP虚拟示波器所涉及的硬件部
分:包括以太网数据通信接口和八路模拟数据的采集通道,分别是 2路对地 0~5V电压、2
路对地-12~+12V电压、2路 4~20mA电流和 2路差分 0~5V电压共 8路 A/D输入。其中,
以太网接口芯片使用的是 RTL8019AS,该芯片属于 10Mbps 以太网控制芯片,上传数据格
式由 DSP控制,采用的是 UDP协议规范。
软件构成
软件部分是本系统的主要部分,在 LabVIEW 软件平台上编写虚拟示波器,利用的是
LabVIEW中丰富的图形化程序模块,利用连线来实现数据传递,数据流方式描述程序流程。
在通过以太网接口收发数据上,抛开了传统的编写 DLL 的方式,利用 LabVIEW 本身集成
- 2 -
的 UDP接口初始化和收发模块,配合实验平台中设置好的数据格式接收数据。对数据的处
理则利用各种滤波、信号特性抽取模块,通过编程,连接到前面板的按钮和显示窗口,实现
对 UDP虚拟示波器操作面板的设计。
3. UDP数据通信方式
用户数据报协议(UDP)是 ISO 参考模型中一种无连接的传输层协议,提供面向事务
的简单不可靠信息传送服务。与 TCP不同,UDP并不提供对 IP协议的可靠机制、流控制以
及错误恢复功能等。由于 UDP比较简单,UDP头包含很少的字节,比 TCP负载消耗少[4]。
实验室中的网络环境比较干净,像示波器这种对数据实时性要求比较高而对丢包不敏感的环
境下,而即使发生数据错误,也能通过 LabVIEW丰富的数据处理模块进行处理,因此 UDP
协议正好适用于本设计中的网络虚拟示波器的应用。
数据格式
在通用的 UDP协议中,数据包格式有通用的规范。图 2给出了 UDP协议的协议头格式,
其中:数据包发送端地址(Source Port)占用 16bits,同时也是没有其他信息时需要被寻址
的答复端口地址;数据包目标端口地址(Destination Port)占用 16bits;数据长度(Length)
占用 16bits,包括协议头在内的所有数据长度;CheckSum,IP协议头、UDP协议头和数据
位中,最后用 0填充的信息假协议头的总和;以及包含上层数据信息的 Data。
要实验以太网通信,除了在传输层使用了 UDP协议,同时必须在网络层(IPv4、ICMP
中的 ping响应协议)和数据链路层(ARP应答协议)增加协议支持。由于 IPv4协议的加入,
数据报总长度被限制在 40~1500之间[5],因此通过运算,在 UDP数据包中 Data的最大长度
也就被限制在了 1472。
图 1 UDP虚拟示波器硬件组成框图
图 2 UDP报文格式
- 3 -
数据通信过程
图 3给出的是虚拟示波器的 UDP数据握手流程,采用的是无确认机制的通信方式:由
虚拟示波器发起启动信号,信号中同时包括 AD通道信息;延时一段时间后直接发送启动传
送命令,紧接着就开始接收采样数据,并进入数据处理过程。
4. 软件设计
使用 LabVIEW 能很方便快捷的实现 UDP 接收和基本数据处理功能,里面丰富的功能
模板,让程序员直观的从数据流向的方式思考和编写程序。
数据接收
在 LabVIEW里面实现 UDP数据的接收,并不需要关心 UDP数据格式,LabVIEW提供
了 UDP端口的打开、关闭、数据的读取、发送等模板,程序员只需要输入端口的端口号,
IP号,输入/发送的数据,数据长度等等内容,就可以简单的实现 UDP数据的收发。图 4给
出了各功能模块的简单说明。
图 3 虚拟示波器启动通信软件流程
图 4 LabVIEW UDP数据通信模块
- 4 -
图 5 给出了数据通信程序的具体实现过程:a、以端口号 4000 初始化并打开本机 UDP
端口;b、发送启动信息数据包,接收方(实验平台)的 IP为 ,端口号为 6000,
“开始采样”命令和 AD 通道号信息都是以字符串形式发送出去的,添加 UDP 协议头等工作
都交由 UDP Write模块完成;c、接收一包数据,并延时 50ms,这一步并没有对接收到的数
据进行判断,是由于在本次设计中没有加入确认机制,而实验平台中是带有确认信息的,因
此这一数据包是不需关心的信息;d、发送“开始传输”命令;e、继续接收后来的数据,总共
8个数据包,其中 4个是确认数据包,4个是带有采样数据的数据包(图中并没给出),接
收数据后的解包过程,也是交由 UDP Read模块完成。
数据处理
图 6给出了 UDP虚拟示波器用户操作面板:示波器具有显示所采集数据的波形(独立
的两通道),显示当前值、窗口中最大最小值、峰峰值,调整触发方式、触发电平、波形零
点位置,改变显示幅值和时间参考值,AD通道选择等功能。这些功能的实现都是在 LabVIEW
软件平台上实现,使用了各种 的 signal processing 模板,如 Basic Level Trigger
Detection、Pulse Measurements、Waveform Duration、Waveform Subset、Waveform Scale and
Offset等。
图 5 UDP数据通信程序
图 6 虚拟示波器用户操作面板
- 5 -
5. 结论
本文所设计的 UDP 虚拟示波器,在 LabVIEW 综合实验平台上,通过以太网接口连接
个人电脑,通过 UDP 协议方式收发数据,最终在 LabVIEW 软件平台上,针对实验平台的
多数据通道而设计出双踪示波器。图 6给出了 UDP虚拟示波器的用户面板,它具有双踪显
示,八采集通道选择,触发电平和触发方式可选,显示零点位置可调,频率、峰峰值、最大
最小值显示,时间轴、幅值轴可调等真实示波器的基本功能。通过软硬件连接测试,在实验
室条件下,使用 UDP作为数据传输协议,实现了对所采集数据的实时显示,用户界面友好
美观并且便于使用。
参考文献
[1] 朱君.《虚拟仪器技术的飞跃》[J],电气时代,2007年,第 9期:54-56.
[2] NI中国.《National Instruments—虚拟仪器创始人》[OL].
[3] 张炯,方湘陵,许巍,孙超伦,熊永红.《基于虚拟仪器技术的远程实验室》[J],实验室研究与探索,
,第 26卷第 9期:12-13,26.
[4] Network dictionary (网络大典).《 UDP:用户数据报协议 (User Datagram Protocol)》
[OL] .
[5] Ganesh Balakrishnan, Ravi Gunturi . MPLS Benchmarks Define Net Processor Performance
[OL] . ,
.
[6] 雷 必 成 . 《 嵌 入 式 系 统 中 TCP/IP 协 议 的 精 简 与 实 现 》
[OL].
Ethernet Virtual Oscillograph Based on User Datagram
Protocol
Li Sufen,Sun Danjun
Department of Communication and Information System, College of Information Engineering,
WUHAN University of Technology, Wuhan(430070)
Abstract
In this paper, an implement of intranet visual oscilloscope based on UDP protocol was given. National
Instrument’s tool LabVIEW was used in software design in PC, graphic display for two channels,
optional trigger mode and level were actualized. User can operate the visual oscilloscope easy and
powerful, and the system worked well in any Ethernet device which gives the UDP package
introduced.
Keywords: LabVIEW, Virtual Instrument, Oscillograph, Ethernet, UDP
作者简介:李素芬,女,1982 年生,硕士研究生(在读),主要研究方向是嵌入式系统、
数据通信、虚拟仪器技术和图像采集技术。