《论文(设计)基于一种新VXIbus 规范的网络仪器控制协议07937.doc》由会员分享,可在线阅读,更多相关《论文(设计)基于一种新VXIbus 规范的网络仪器控制协议07937.doc(10页珍藏版)》请在三一办公上搜索。
1、基于一种新VXIbus规范的网络仪器控制协议 曹华军,陈庆虎,陈传金(武汉大学电子信息学院,湖北 武汉 430072)摘要: TCP/IP-VXIbus接口规范,用于把Vxibus仪器用标准方式连接到一个TCP/IP计算机网络。文章给出了这个规范的目标以及网络仪器协议在TCP/IP-VXIbus接口设备内实现的LAN-to-VXI 映射图,并用一个初级的LAN实例去帮助理解这项技术。 关键词: VXIbus 远程处理调用(RPC) TCP/IP-VXIbus规范中图分类号:TP393 文献标识码: BA Protocol for Controlling Network Devices Base
2、d on A New VXIbus draft specificationCao Huajun Chen Qinghu Chen Chuanjin(School of Electronic Information ,Wuhan University, Wuhan 430072,P.R.China)Abstract: This paper describes the TCP/IP-Vxlbus Interface Specification,which define a protocol for connecting VXIbus instrumentation to a TCP/IP comp
3、uter network. These specifications begin to fill the need for standard ways to connect instrumentation to computer networks. This paper describes the objectives of the specifications and describes both the network instrument protocol and the LAN-to-VXI mapping to be implemented within TCP/IP-VXIbus
4、interface Devices , gives a brief LAN primer to assist in understanding the technology,Key words: VXIbus RPC TCP/IP-VXIbus Specifications0 前言在当今商业社会,计算机网络已经成为主流。连接仪器到一个计算机网络,以便远距离分布控制那些仪器用通常仪器总线是不能完成的。大多数今天制造的计算机(不论是技术性的工作站还是个人PC),都带有内建网络或能方便安装LAN网卡的接口。定义一种方式让这些计算机在网络中去访问和控制仪器而不用在任何机器中安装特殊的接口卡,将让工程师
5、更容易设计和建造一个系统。这篇文章在一个LAN中定义一个标准的方式实现对仪器的访问控制,它包括这个规范的目标,一个帮助理解这项技术的客户/服务初级版本,一个定义的网络仪器协议的描述,还有在这个协议和VXI 操作的映射。1 目标这个规范被设计成满足以下目标 允许ASCII消息,包括IEEE488.2消息,和IEEE488.1仪器控制消息在管理端和仪器之间通过一个计算机网络被传递。 定义用于这种通信的协议。 允许不同种类的仪器通过这种协议交互操作。 允许这种协议和各种API一起使用,包括已经存在的和即将出现的工业标准接口,如Hewlett-Packard的标准仪器控制库和VXI Plug&play
6、 联盟的VTL和VISA; 除了网络仪器协议外,允许设备支持其他网络协议;收搞日期:2005- ;修回日期:2005-6-27作者简介:曹华军(1973),男,汉,山东济南人,硕士研究生,研究方向信号处理,网络通信;陈庆虎(1957-),男,汉,湖北潜江人,教授,博士生导师,研究方向图象笔迹识别,网络数据库;陈传金(1976),男,汉,安徽濉溪人,硕士研究生,研究方向为虚拟仪器。 定义一个TCP/IP- VXIbus接口设备的操作,它连接一个VXI卡笼(cardcage)到一个计算机网络,包括从LAN处理到VXI操作的映射。为了满足上面的目标,这个规范需要定义网络仪器协议和TCP/IP-VXI
7、bus接口设备操作。2 LAN初级客户/服务器模式在详细描述这个规范之前,我们先看一个简要的客户/服务器计算模式以及它和这个规范有怎样的关系。在你的工作环境里,你可能已经用到了客户/服务器计算,一个典型的例子是通过一个打印服务器驱动的中心打印机,你的计算机(也就是客户机),发出一个打印请求给打印服务器,打印服务器执行实际的打印文件工作。我们设计的网络仪器协议要求在客户机和一个测试服务器之间建立一条通信通道,客户机运行测试应用程序,测试服务器接收请求,执行有关操作,然后返回结果。这个返回结果可以指示在远程服务器上的这次操作是成功还是失败,也可以包括其他信息,如从一个设备读取的数据。运行测试应用程
8、序的机器包含一个叫做网络仪器客户的软件模块,这个网络仪器客户模块在客户机上实现网络仪器协议,并管理和一个网络仪器服务器之间的通信。一个网络仪器服务器也是一个软件模块,它在服务器机器上实现网络仪器协议的服务器部分,也就是仪器将要被控制的地方。在一个VXIbus系统里,网络仪器服务器位于一个接口设备内,这个接口设备主要作用是把网络协议转变成VXIbus操作,并和一个卡笼里的仪器通信。图1,描写了一个使用了客户/服务器模式的仪器系统,从PC或者工作站通过LAN和WAN可以控制测试设备。让一个计算机网络与仪器相连有很多优点;首先,它跨越了控制者和设备的长距离,其次,它可以让一个标准的带有内置网络的计算
9、机作为控制者,再次,它让在网络上的测试资源和数据更容易共享12。本文讨论规范中建立的接口设备能让VXI仪器高效地连接到一个网络中,从而减少用户硬件和软件的成本。远程站点LANPC工作站VXI卡笼WAN测试站点工作站PCVXI卡笼VX卡笼LAN图1 客户/服务器测试系统3 网络仪器协议堆栈网络仪器协议使用一个远程程序调用范式(Paradigm),它被设计成在现有的网络中使用,它支持Internet的协议组件(通常指的是TCP/IP协议组件),网络仪器协议充实了网络仪器协议堆栈,我们使用国际标准组织(ISO)开放系统互连(OSI)参考模式来描述。图2,描述了OSI模式的七层结构。在这个模式的每一层
10、都有不同的功能,通过计算机网络在两台计算机设备间实现可靠高效的通信,下面描述使用OSI参考模式的网络仪器协议的各层,并说明每一层被选择的基本原理。 应用层表示层会话层传输层网络层数据链路层物理层物理介质应用层表示层会话层传输层网络层数据链路层物理层图2 OSI协议堆栈模式 理和链路层物理和链路层提供在两台直接相连计算机之间的通信,这两层指定连接计算机的媒介特征,信号和数据格式。网络仪器协议要求支持以太网数据链路层和10BASE-T物理层,这些协议在一个双绞线上的10Mbps以太网运行,只要满足这个规范要求,其他媒介也可以。 网络和传输层网络层和传输层在一个网络上的两台机器上提供可靠的通信,这两
11、台机器可以不直接的连接,网络层提供消息的路由,一个消息可能需要通过几个路由器才能到达最终的目的地,传输层在计算设备上的程序间提供端对端(end-to-end)的通信。网络仪器协议引入了国际互连网协议组,包括在网络层的IP协议和在传输层的TCP协议。TCP/IP被选择主要因为它在工业上比较流行,特别是TCP提供的可靠性。它保证了消息能按发送的顺序接收,并且它一旦接到一个请求的响应,这个请求就立即执行,这种可靠性对于仪器控制是很重要的,如果接收后的消息顺序不是发送的顺序或者不能立即执行,那么对仪器测试的结果可能影响是很巨大的。 会话和表述层会话和表述层提供信息管理和定义网络间传输数据的格式。它保证
12、了两台计算机能通信,即使他们本身的数据格式相互矛盾,一个典型的例子是Intel 和Motorola处理器的整数表示法,他们彼此存储整数的格式是完全相反的。网络仪器协议用开放网络计算远程处理调用(Open Network Computing Remote Procedure Calls (ONC/RPC)处理它的消息。ONC/RPC使用外部数据表示法XDR(eXternal Data Representation)机制格式化在线上的数据。一个RPC模式被选择主要是因为它支持: 错误处理 版本和接口扩展 参数的编码和解码 功能调度 两台机器数据类型互相转化 应用层应用层是这个协议堆栈的一部分,它所
13、关心的是特定的任务,它定义一个高层次的适当协议在特殊应用领域。网络仪器协议引用RPC建立在管理者和计算机网络设备之间的通信。这个协议堆栈最终形式如图3所示 ,网络仪器XDRONC/RPCTCPIP以太网10BASE-T 图 3 网络仪器协议堆栈4 网络仪器RPCs网络仪器协议定义的RPC是这个协议的核心,在每一个逻辑分组中都要描述PRC,在一个运行这个协议的测试程序的机器上,可以认为一个网络仪器客户是一个软件实体,网络仪器服务器则是在这个装置上的一个相应软件,在VXI情况下,是TCP/IP-VXIbus接口设备。表1是网络仪器协议的RPC的概述,详细的描述在下一部分表1 网络仪器RPCsRPC
14、说明Create_link创建一个连接到一个设备Device_write设备接受消息Device_read设备返回结果Device_status设备返回它的状态字Device_trigger设备执行触发器Device_clear设备清空Device_remote设备置为远程控制状态Device_local设备置为本地控制状态Device_lock设备被锁定Device_unlock设备解锁Create_intr_chan创建一个中断连接Destroy_intr_chan撤消一个中断连接Device_enable_srq设备允许/禁止服务请求Destroy_link关闭到设备的连接Device_
15、abort设备退出进程调用Device_intr_srq设备发送服务请求 连接管理连接管理PRC 主要作用是创建和撤消一个到控制者的设备连接,连接是一个网络仪器协议概念,即让一个控制者和一个特殊设备建立一条通信路径。典型的网络仪器服务器一般都支持多条通信连接,所以一个应用程序可以在同一时刻和多个仪器相联系。创建连接(Create_link), 这个PRC是第一个网络仪器RPC,它被发送从一个客户端到服务器端。它创建一个新的连接到一个特定设备,和这个连接关联的设备被一个字符串所定义,并把这个字符串作为一个参数传递给RPC,如”vxi0.128”就是一个这样的字符串,这里128是一个设备在VXI
16、系统的逻辑地址。创建连接响应包括一个连接标示符,它主要用在后来的调用以标示这个设备即将的操作。撤消连接(Destroy_link), 这个PRC 只是关闭先前建立的连接。一旦一个特定连接的撤消连接被调用,那么和这个连接相关联的网络仪器服务器上的资源将全被释放,这时其他连接就可以使用。 并发控制将一个仪器连接到一个计算机网络,潜在地就是允许这个仪器可以被多个控制者访问,这一点可以应用于分布式程序的设计,从而实现从多个计算机上访问这个仪器,另一方面,我们也必须提供一个对设备控制访问的机制,这个机制仅仅允许一个用户在给定的时间内访问特定的仪器,这是相当重要的。这些RPC通过锁控制访问,被这个规范定义
17、的所有其他RPC都不能访问这个锁定的仪器。设备锁(Device_lock) 这个RPC把一个设备和一个连接锁定,只有和这个设备关联的连接可以访问这个设备,而从不同的连接在相同的时间或者不同的客户访问一个被锁定的设备是不允许的,一个客户可以在一个客户指定的时间内选择等待一个锁被打开,或者要求服务器在这个锁不可利用时立即返回。设备解锁(Device_unlock) 这个RPC解开一个设备,让其他的连接可以访问这个设备。 写/读数据这些RPC允许在控制者和设备之间传递ASCII和非ASCII码数据(如被IEEE488.2定义的数据),这两个RPC都包括一个时间间断参数,它让客户能够控制一个服务器尝试
18、操作的时间。设备写(Device_write) 这个RPC 把被请求字节数写入和标示符标示连接关联的设备中,除了错误代码外,它的响应包括实际写入这个设备的字节数目。设备读(Device_read) 这个RPC从标示符标示连接关联的设备中读取被请求字节数,它的响应包括数据读取和读取终止,如被要求读取的字节数或者一个终止标志。 IEEE488.1 RPC另外这个规范目标之一是允许IEEE488.1仪器控制消息在一个网络上传递给一个设备。接下来的RPC可以让这些消息通过一个LAN 传递个一个设备;设备读取状态位(Device_status) 这个RPC读取一个设备的状态位设备触发器(Device_t
19、rigger) 这个RPC触发一个设备设备清空(Device_clear) 这个RPC发送一个清空消息给这个设备设备远程(Device_remote) 这个RPC把一个设备置为远程状态,所有本地的制都不允许待添加的隐藏文字内容2设备本地(Device_local) 这个RPC把一个设备设置为本地状态,所有本地控制 都被允许这些RPC更精确的含义由使用服务器的接口决定。如VXI接口。 服务请求就象设备被本地控制时,他们有一个要求服务请求一样,在计算机网络上的控制者也有同样的需要。这些RPC允许创建通信通道把网络仪器服务器发送的服务请求传递给一个网络仪器客户。创建中断通道(Create_intr_
20、chan) 在一个网络仪器服务器发送一个服务请求给一个客户事件中,这个RPC指示网络服务器创建一个中断通道。这个网络仪器协议中断通道在服务器和客户之间作为一个独立的TCP连接被执行。撤消中断通道(Destroy_intr_chan) 这个RPC指示一个网络仪器服务器关闭中断通道。当客户端在应用程序生命周期的剩余时间不再想接收服务请求,这个RPC就被客户端所调用 。设备使能服务请求(Device_enable_srq) 这个RPC可以让或者不让一个网络仪器服务器发送服务请求。这个RPC主要被用于临时保存网络仪器服务器发送的服务请求。设备中断请求(Device_intr_srq) 这个RPC被网络
21、仪器服务器发送给网络仪器客户去标示一个设备正在请求一个服务,这个RPC在由创建中断通道 RPC创建的中断通道中传送。 其他设备终止(Device_abort) 这个RPC用于终止一个未决的或者被阻塞操作在关联的连接中。5 LAN 到VXI的映射既然我们已经看到了网络仪器协议的描述,那么这一部分我们讲一下从这个协议到VXIbus字串行传递的映射。这个设计的规范定义了一个TCP/IP-VXIbus接口设备。这个设备是基于消息控制的,它执行网络仪器协议,并且能把这个协议转化为明确定义的VXIbus字串行操作。这个设备本质上很象488-VXIbus 接口设备3,但是IEEE-488接口已经被以太网网络
22、接口所代替。TCP/IP-VXIbus 接口设备支持基于接口设备本身的直接操作4。VXI-5提供在网络上对基于非消息的设备访问的必要能力,如基于注册的设备。一个典型的系统如图4所示图4 TCP/IP-VXIbus接口装置客户工作站或PC应用程序 网络仪器客户连接1连接2 连接n VXIbus主框架TCP/IP-VXIbus接口装置网络仪器服务器连接1连接2连接nVXIbus仪器VXIbus仪器VXIbus仪器TCP/IP网络从网络仪器RPC到VXIbus字串行操作的映射发生过程如下;连接管理,并发控制和其他创建连接、撤消连接、设备上锁,设备解锁和设备终止RPC在TCP/IP-VXIbus接口设
23、备中执行,并不直接影响在VXI卡笼中任何仪器,这些RPC功能在网络仪器协议内被定义。写/读数据VXIbus 规范使用两种方式在控制者和一个设备之间传递ASCII消息:字节传输协议和快速数据通道消息传输协议。当写入数据到一个设备或者读取数据从一个设备时,这两个协议都可以应用于TCP/IP-VXIbus接口设备。设备写(Device_write) 当一个设备写(Device_write)被收到,接口设备就通过字节传输协议或者消息传输协议把数据发送给与之相连的仪器,或者通过消息传输协议(如果消息传输协议被接口设备和仪器都支持的话)。设备读(Device_read) 当一个设备读(Device_rea
24、d)被收到,接口设备就通过字节传输协议或者消息传输协议从给与之相连的仪器接收数据,或者通过消息传输协议(如果消息传输协议被接口设备和仪器都支持的话)。 488.1RPC这个接口设备执行如下动作;设备状态(Device_status) 当一个设备状态(Device_status)被接收到,接口设备用一个状态字节响应连接的仪器,或者通过使用VXIbus字串行读STB命令响应(如果这个仪器支持它的话),或者响应一个6 bit的响应以正确标志这个仪器是否正在进行请求服务。设备触发器(Device_trigger)。当一个设备触发器(Device_trigger)被接收到,接口设备就发送VXIbus字串
25、行触发器命令给这个仪器,如果这个触发器命令不被这个仪器支持,就会有一个指出这个操作不被支持的错误代码被返回。设备清空(Device_clear),当一个设备清空被收到,接口设备就发送VXIbus字串行清空命令给这个仪器。设备远程(Device_remote),当一个设备远程被收到,接口设备就发送VXIbus字串行设置锁命令给这个仪器,如果这个命令不被支持,一个错误也会返回。设备本地(Device_local),当一个设备本地被受到,接口设备就发送VXIbus字串行清空锁命令给这个仪器,如果这个命令不被支持,一个错误也会返回。 服务要求Create-intr-chan Destroy-intr-
26、chan,Device-enable-srqRPC在TCP/IP_VXIbus接口设备内被执行,并不直接影响在VXI卡笼内的任何设备。这些RPC允许TCP/IP-VXIbus接口设备管理在网络仪器协议中定义的中断通道。服务要求被从TCP/IP-VXIbus接口设备发送给相连的基于RQS设备状态的客户,这个RQS状态是表示请求的真和假状态就象设备状态(Device_status)RPC的功能。6 结论本文我们描述了怎样使用网络仪器协议把仪器控制消息从一个控制者发送到一个设备,网络仪器服务器的实例是TCP/IP-VXIbus接口设备。它把LAN处理映射成VXIbus字串行操作,它可以减少用户配置分
27、布式测试系统的开销,让一个使用内置网络标准的计算机控制仪器,并且实现了测试资源共享。参考文献1 C Schmid. The Virtual Control Laboratory EB/ OL http :/ /www1esr1ruhr2uni2bochum1de/ vclab/ index1html ,200020321212 M Karweit .A Virtual Engineering/ Science Laboratory Course EB/OL1http :/ / www1jhu1edu/ virtlab/ virlab1html ,200020422513 VMEbus Exte
28、nsions for Instrumentation: System Specification, VXI-1, Revision 1.4, April 21, 19924 VMEbus Extensions for Instrumentation: Common ASCII System Commands Specification, VXI-5,Revision 1 .O, June 23, 1991. 附:(联系人)资料曹华军:地址:武汉大学电子信息学院研究生2003级302班 (湖北 武汉430072) 电话:13100602675 (全天候) E-mail: chjxx110Edit
29、ors note: Judson Jones is a meteorologist, journalist and photographer. He has freelanced with CNN for four years, covering severe weather from tornadoes to typhoons. Follow him on Twitter: jnjonesjr (CNN) - I will always wonder what it was like to huddle around a shortwave radio and through the cra
30、ckling static from space hear the faint beeps of the worlds first satellite - Sputnik. I also missed watching Neil Armstrong step foot on the moon and the first space shuttle take off for the stars. Those events were way before my time.As a kid, I was fascinated with what goes on in the sky, and whe
31、n NASA pulled the plug on the shuttle program I was heartbroken. Yet the privatized space race has renewed my childhood dreams to reach for the stars.As a meteorologist, Ive still seen many important weather and space events, but right now, if you were sitting next to me, youd hear my foot tapping r
32、apidly under my desk. Im anxious for the next one: a space capsule hanging from a crane in the New Mexico desert.Its like the set for a George Lucas movie floating to the edge of space.You and I will have the chance to watch a man take a leap into an unimaginable free fall from the edge of space - l
33、ive.The (lack of) air up there Watch man jump from 96,000 feet Tuesday, I sat at work glued to the live stream of the Red Bull Stratos Mission. I watched the balloons positioned at different altitudes in the sky to test the winds, knowing that if they would just line up in a vertical straight line w
34、e would be go for launch.I feel this mission was created for me because I am also a journalist and a photographer, but above all I live for taking a leap of faith - the feeling of pushing the envelope into uncharted territory.The guy who is going to do this, Felix Baumgartner, must have that same fe
35、eling, at a level I will never reach. However, it did not stop me from feeling his pain when a gust of swirling wind kicked up and twisted the partially filled balloon that would take him to the upper end of our atmosphere. As soon as the 40-acre balloon, with skin no thicker than a dry cleaning bag
36、, scraped the ground I knew it was over.How claustrophobia almost grounded supersonic skydiverWith each twist, you could see the wrinkles of disappointment on the face of the current record holder and capcom (capsule communications), Col. Joe Kittinger. He hung his head low in mission control as he
37、told Baumgartner the disappointing news: Mission aborted.The supersonic descent could happen as early as Sunday.The weather plays an important role in this mission. Starting at the ground, conditions have to be very calm - winds less than 2 mph, with no precipitation or humidity and limited cloud co
38、ver. The balloon, with capsule attached, will move through the lower level of the atmosphere (the troposphere) where our day-to-day weather lives. It will climb higher than the tip of Mount Everest (5.5 miles/8.85 kilometers), drifting even higher than the cruising altitude of commercial airliners (
39、5.6 miles/9.17 kilometers) and into the stratosphere. As he crosses the boundary layer (called the tropopause), he can expect a lot of turbulence.The balloon will slowly drift to the edge of space at 120,000 feet (22.7 miles/36.53 kilometers). Here, Fearless Felix will unclip. He will roll back the
40、door.Then, I would assume, he will slowly step out onto something resembling an Olympic diving platform.Below, the Earth becomes the concrete bottom of a swimming pool that he wants to land on, but not too hard. Still, hell be traveling fast, so despite the distance, it will not be like diving into
41、the deep end of a pool. It will be like he is diving into the shallow end.Skydiver preps for the big jumpWhen he jumps, he is expected to reach the speed of sound - 690 mph (1,110 kph) - in less than 40 seconds. Like hitting the top of the water, he will begin to slow as he approaches the more dense
42、 air closer to Earth. But this will not be enough to stop him completely.If he goes too fast or spins out of control, he has a stabilization parachute that can be deployed to slow him down. His team hopes its not needed. Instead, he plans to deploy his 270-square-foot (25-square-meter) main chute at
43、 an altitude of around 5,000 feet (1,524 meters).In order to deploy this chute successfully, he will have to slow to 172 mph (277 kph). He will have a reserve parachute that will open automatically if he loses consciousness at mach speeds.Even if everything goes as planned, it wont. Baumgartner stil
44、l will free fall at a speed that would cause you and me to pass out, and no parachute is guaranteed to work higher than 25,000 feet (7,620 meters).It might not be the moon, but Kittinger free fell from 102,800 feet in 1960 - at the dawn of an infamous space race that captured the hearts of many. Baumgartner will attempt to break that record, a feat that boggles the mind. This is one of those monumental moments I will always remember, because there is no way Id miss this.