1、ICS 17220N 20 a国中华人民共和国国家标准GBT 2 1 54732008VME总线对仪器的扩展第3部分:TCPIPIEEE 48812008-03-3 1发布接口规范VMEbus extensions for instrumentation-Part 3:TCPIP-IEEE 4881interface specification20081 101实施宰瞀鹃鬻瓣訾糌瞥星发布中国国家标准化管理委员会“”。前言l引言11适用范围12文本结构一13规范的目的-14术语和定义15参考文献一16相关文件一2 TCPIP-IEEE 4881接口21器件字符串格式化一22 LAN功能23链接管
2、理”24仪器通信-25接口通信一图1典型的TcPIP_IEEE 4881系统图2 TCPIPIEEE 4881接口器件协议栈表1允许的通用命令一表2接收并返回总线状态值目 次GBT 215473200811111222344573478刖 昌GBT 2154732008GBT 21547(VME”总线对仪器的扩展分为如下几个部分:第1部分:TCPIP”仪器协议规范;第2部分:TCPIPVXI总线接口规范I第3部分:TCPIp-IEEE 4881接口规范;第4部分;TCPIP-IEEE 4882仪器接口规范。本部分为GBT 21547的第3部分。本部分的结构与技术内容与VXP)-ii2:1995
3、(Revlo)一致,仅在以下方面做了编辑性的修改标准名称增加了“第3部分”将章节编号A,B,c改为1,2,3;缩略语给出了注释。本部分由中国机械工业联合会提出。本部分由全国工业过程测量和控制标准化技术委员会第四分技术委员会归口。本部分起草单位:哈尔滨理工大学、哈尔滨电工仪表研究所。本部分主要起草人:袁慧防、吴丽华、任丽军、吴光涛、马怀俭。本部分为首次发布。1)VME:VERSA-bus Modular European2)TCPIP:Transmission Control ProtocolInternet Protoc013)VXI:VME-bus Extension for Instrum
4、entationVME总线对仪器的扩展第3部分:TCPIP-IEEE 4881接口规范GBT 21547320081 引言在测试和测量工业中将仪器连接到计算机网络的需求与日俱增,这种连接既可以是局域网,也可以是广域罔。本规范是VXI总线系列规范的一部分,它说明了仪器怎样直接地连接到标准工业网上。本规范支持的通信和编程范例与IEEE 4881和IEEE 4882器件支持的技术在性质上很类似。本规范描述的协议允许ASC消息通过TCPIP网络在控制器和器件间传递。读者应有网络、互联网协议组、ONC RPC和GBT 15946 1995等方面的知识。11适用范围本规范是VXI总线系列规范的一部分,定义
5、了一个TCPIPIEEE 4881接口器件。本规范唯一直接提及的网络是支持互联网协议组的网络。本规范定义的技术可以在其他网络上应用,如支持OSI协议标准的网络,但本部分并未述及相关变换。本规范在互联网协议组上层使用开放网络计算(ONC)远程过程调用(RPC)。TCPIP-IEEE 4881接口器件也可支持其他的网络协议。12文本结构文本分为两个部分。第一部分:引言,目的是让读者熟悉本文的意图和范围;第二部分:TCPIP-IEEE 4881接口,定义TCPIP-IEEE 4881接口的操作,包括由GBT 2154712008定义的网络处理和IEEE 4881操作间的变换。13规范的目的除了在GB
6、T 215471 2008中的目的之外,本规范还有以下目的:a)定义TCPIPIEEE 4881接口的操作。b)定义从网络处理到IEEE 4881操作的转换。14术语和定义本部分除了使用在GBT 215471 2008中的术语和定义外,还包括如下术语和定义。141TCPIP-IEEE 4881接口器件TCPIP-4881 interface device网络仪器主机,它能将网络仪器消息变换为IEEE 4881操作,并能把这种要求发送给相应的IEEE 4881器件。与在其他VXI总线规范中的一样。下面的术语用来区别各段落的内容,这些定义和那些在IEEE1155:1992中定义的相同。142规则r
7、ule应该遵守规则以确保系统内各种卡的兼容性,规则是用词“应该”(sHALL)和“不应该”(sHALLNOT)表示的。这些词只用于陈述规则,不用于其他目的。143推荐 recommendation】GBT 2154732008由一些对执行者的劝告组成,这些执行者可影响最终器件的使用。对增加吞吐量的特定硬件的讨论也列入推荐中,应遵守这些推荐以避免一些问题并获得最佳性能。144允许permission用来阐明没有特别禁止的规范的范围,允许使读者放心某些方法是可接受并且不会引起问题,用“可以”(MAY)表示允许。145注意 observation注意阐明规则的含义,引起人们对容易忽略问题的注意。给出
8、某些规则的合理解释,使读者更好地理解为什么必须遵守这些规则。任何没有标题的正文都应认为是对标准的说明。15参考文献除了参考GBT 2154712008参考的那些文献外,本规范还参考以下文献:E13 GBT 15946-1995可程控仪器的标准数字接口(idt IEEE 4881;1987)E2 GBT 17563-1998可程控测量设备标准数字接口的标准代码、格式、协议和公用命令(idtANSIIEEE std 4882:1987)16相关文件本规范是一系列规范中的文件之一,这组规范说明控制器和器件问通过网络基于ASCII码通信的方法。本规范描述了伴随著TCPIP-IEEE 4881接口器件的
9、操作,从该协议到IEEE 4881操作的变换。在这组规范中的其他规范不但说明了协议本身,而且说明了从该协议到其他接口类型的变换,下面列出的规范是这组规范中的现行部分标准。Eli GBT 215471 2008 VME总线对仪器的扩展第1部分:TCPIP仪器协议规范2GBT 2154722008 VME总线对仪器的扩展第2部分:TCPIPVXI总线接口规范3GBT 215474 VME总线对仪器的扩展第4部分t TCPIPqEEE 4882仪器接口规范2 TCPIP-IEEE 4881接口TCPIPIEEE 488I接口器件把网络仪器消息转换为IEEE 4881操作,并把请求发送给相应的IEEE
10、 4881器件,它允许控制器通过TCPIP-IEEE 4881接口控制连接到网络上的IEEE 4881器件。规则21TCPIP-IEEE 4881接口器件应该遵守下面的所有要求:a) GBT 159461995。b) GBT 175631998中第15章。允许21一个TCPIP-IEEE 4881接口器件可以提供一个机制来控制要求系统控制(rsc)本地消息,该消息可以使该器件处于系统控制不工作状态(SNAS)。见GBT 15946-1995中的212。规则22一个TcPIP-IEEE 4881接口器件应该包含GBT 15946-1995中的25,讲者子集T5 T8之一和GBT 15946-19
11、95中的26,听者子集L3或L4。注意21规则21的要旨是TCPIPIEEE 4881接口器件不能有副地址。然而,TCPIP-IEEE 4881接口器件的其他要求却要求它发送副地址。2GBT 2154732008规则23RPC应答在相关动作未完成前不应该被发出。建议21TCPIP-IEEE 4881接口器件应同时支持两个或更多仪器LAN服务器。规则24TCPIP-IEEE 4881接口器件每个网络仪器服务器应该支持至少14个并行链接。推荐22由TCPIP-IEEE 4881接口器件支持的链接和网络仪器服务器的数目应基于已有的可利用资源而不是基于事先任意确定的限制。规则25在pon(上电)之后,
12、TCPIP-IEEE 4881接口器件应该把REN置为真。图1示出一典型的TCPIP_IEEE 4881系统。罔络仪器主机 TcPIP-IEEE 4881接口器件mEE 488 一IEEE488i m件网络仪器客户 网络仪器服务啊络盎链接1、仅嚣 冀1 -I IEEE488I器件t。 、-、 连接J, 、M z。链接N 一。+ 健接N _|-sze48s1器件图I典型的TCPIP-IEEE 4881系统21器件字符申格式化从局域网到适当的IEEE 4881器件的消息的路由通过create_llnkRPC产生,该RPC用来建立网络仪器链接。所建立的链接通过器件参数与特定的IEEE 4881器件或
13、接口相关联。该参数是一字符串,它由TCPIP-IEEE 4881接口器件解析以确定与此链接相关联的IEEE 4881器件或接口。规则211TCPIP-IEEE 4881接口器件应该支持如下格式的器件字符串:,r,其中:与单个IEEE 4881接口相对应的名字,这个名字应该唯一标识TCPIPIEEE4881接口器件上的接口。:IEEE 4881接口上的IEEE 4881器件的主地址(任选)。:IEEE 4881接口上的IEEE 4881器件的副地址(任选)。规则212TCPIPIEEE 4881接口器件应该把“gpib0”的识别为第一个或唯一的一个在TcPIP_IEEE 4881接口器件中的IE
14、EE 4881接口。其他接口应该用“gpibN”来识别,这里N是一个初值为1且按顺序增加的非负整数。规则213只包含的器件字符串应该被TCPIPIEEE 4881接口器件解释为接口的一个链接。3GBT 2154732008规删214包含和地址的器件字符串应该被TCPIP-IEEE 4881接口器件解释为到接口上那个地址的器件的链接。有效器件字符串的几个例子是:gpib0 链接与接口相关;gpibO,12 链接与主地址为12的器件相关;gpibO,12,5 链接与主地址为12、副地址为5的器件相关。注意211网络仪器服务器能用在相关文件中说明的协议潜在地支持链接,见16。它可以将网络仪器协议转化
15、为VXI总线操作和IEEE 4881操作。在这种情况下,器件字符串允许的内容取决于整个网络仪器服务器的能力。推荐211控制器对接口使用链接应很小心。它们必须和devicedocmd一起使用。当器件需要特殊的寻址序列时,它们应当只和devicewrite、device read、device_trigger一起使用。一些连接到IEEE 4881总线的老器件没有严格地实现讲者和听者功能状态机制,且需要一个特定的不听、我的讲或听地址及控制器的听或讲地址次序。在那里所要求的次序与本部分规定的是不同的,一个devicedocmd必须用于建立寻址,该寻址后面是不寻址的RPC,在其他情况下应当用对器件的链接
16、。22 LAN功能规则221TcPIp-IEEE 4881接口器件应该支持网络仪器协议,并应该接收和执行所有由此协议定义的RPC。对网络仪器协议的支持包括对整个协议栈的支持,此栈是为网络仪器器件使用而定义的。允许221TCPIPIEEE 4881接口器件可支持其他的LAN协议。规则222TCPIPIEEE 4881接口器件应该支持以太网8023数据链路层和对10 BASE-T用砌一45连接器的802310 BASE-T物理层。注意221本规则的目的在于,TCPIPIEEE 4881接口器件的缺省配置为10 BASET提供了一个RJ一45连接器。也可以支持其他连接器,且其他连接器可以代替RJ-4
17、5连接器。结果协议栈如图2所示。应用层 仪器LAN表示层 XDR会话层 ONCRPC传输层 TCP网络层 IP数据链路层 以太嘲8023物理层 802310 BASE-T圈2 TCPIP-IEEE 4881接口器件协议栈允许222TCPIP-IEEE 4881接口器件可以支持数据链路层和物理层上的其他协议。23链接管理这一部分包括管理链接和在链接上执行的操作,这些操作主要在TCPIPIEEE 4881总线接口器4GBT 2154732008件内部执行。231建立链接createlink和destroy_link RPC不直接变换成任何IEEE 4881操作。规则231createlink RP
18、C和destroylink RPC应该在TcPIP_IEEE 4881接口器件内部被完全执行。TcPIP-IEEE 4881接口器件应该保持由网络仪器协议定义的链接。232建立中断通道createintr_chan和destroy_intr_chan RPC不直接变换成任何IEEE 4881操作。规则232create_intrchan和destroyintrchan RPC应该在TcPI卜IEEE 4881接口器件内部被完全执行,TCPIP-IEEE 4881接口器件应该保持网络仪器协议中定义的中断通道。233器件封锁device_lock和device_unlock不直接变换成任何IEEE
19、 4881操作。规则233device_lock和deviceunlockRPC应该在TCPIP-IEEE 4881接口器件内部被完全执行。234异常结柬操作deviceabort RPC不直接变换成任何IEEE 4881操作。规则234device_abort RPC应该在TCPIP_IEEE 4881接口器件内部被完全执行,以便异常结束任何与链接相关的执行中的操作。24仪器通信这一部分包括了直接与IEEE 4881器件通信的操作。每一部分主要包含两个规则,第一个规则阐述了如何使用与器件相关的链接,第二个规则包括与接口的链接。注意241在一个应用中,为规则242、244、246或248中说明
20、的操作使用的接口链接,对于TCPIPIEEE 4881接口器件支持的IEEE 4881接口之外的接口类型来说都是不可移植的。241从接口到IEE 4881数据传输规则241当TCPIPIEEE 4881接口器件接收device_write RPC并且链接标识符与器件相关联时,它就应该用GBT17563-1998中的1624说明的“发送(SEND)”控制序列来传输在data参数中的字节,这里所提供的听地址是与链接相关的,并且如果flags(标记)中的结束标记位是。假”则结束符是零,如果flags中的结束标记位是“真”则最后一个DAB和END同时发送。规则242当TCPIPIEEE 4881接口器
21、件接收device_write RPC且链接标识符与接口相关联时,它就应该用GBT 17563 1998中的1623说明的“发送数据字节(sEND DATA BYTES)”控制序列来传输在data参数中的字节。其中,如果flags中的结束标记位是“假”则结束符是零,如果flags中的结束标记位是“真”则最后一个DAB和END同时发送。242从IEEE 4881到接口器件的数据传输规则243当TcPIP-IEEE 4881接口器件接收deviceread RPC且链接标识符与器件相关联时,它就应该用GBT 17563-1998中的1627说明的“接收(REcEIVE)”控制序列传输字节到data
22、参数中,这里5GBT 2154732008所提供的讲地址是一个与链接相关的地址,而且停止握手条件与结束条件相同。规则244当TCPIP-IEEE 4881接口器件接收device_readRPC且链接标识符与接口相关联时,它就应该用GBT 17563-1998中的1626说明的“接收响应消息(RECEIVE RESPONSE MESSAGE)”控制序列来传输字节到data参数中,这里停止握手条件与结束条件相同。243器件清除操作规则245当TCPIPIEEE 4881接口器件接收deviceclear RPC且链接标识符与器件相关联时,它应该对在GBT】7563 1998中的16291说明的被
23、选定的器件执行“器件清除(DEVICE CLEAR)”控制序列,这里提供的地址是一个与链接相关的地址。规则246当TCPIP-IEEE 4881接口器件接收device_clear RPC且链接标识符与接12相关联时,它应该对在GBT 17563-1998中的16292说明的所有器件(All DEVICE)执行“器件清除(DEVICEcLEAR)”控制序列。244触发操作规则247当TCPIP-IEEE 4881接口器件接收device_trigger RPC且链接标识符与器件相关联时,它应该对在GBT 17563 1998中的162191说明的被选定的器件执行“触发(TRIGGER)”控制序
24、列,这里提供的地址是一个与链接相关的地址。规则248当TCPIP-IEEE 4881接口器件接收devicetrigger RPC且链接标识符与接口相关联时,它应该对在GBT 17563-1998中的16292说明的所有被寻址的器件执行“触发(TRIGGER)”控制序列。245远地本地操作规则249当TCPIP-IEEE 4881接口器件接收device_remote RPC且链接标识符与器件相关联时,它应该执行在GBT 17563-1998中的16212说明的“设置具有封锁的远地状态(SET RWLS)”控制序列,这里提供的听地址是一个与链接相关的地址。规则2410当TCPIP-IEEE 4
25、881接口器件接收deviceremote RPC且链接标识符与接口相关联时,它应该以error置为8而返回,操作不被支持。规则2411当TCPIP-IEEE 4881接口器件接收device_local RPC且链接标识符与器件相关联时,它应该对在GBT 17563-1998中的16210说明的被选择的器件执行“允许本地控制(ENABLE LOCALCONTROLS)”控制序列,这里提供的听地址是一个与链接相关的地址。规则2412当TCPPIEEE 4881接口器件接收device_local RPC且链接标识符与接口相关联时,它应该以error置为8返回,操作不被支持。246 SRQ操作无
26、论服务请求是否被允许,TcPIPIEEE 4881接口器件都基于SRQ线的状态发送deviceintrsrq RPC。SRQ线是在IEEE 4881系统中所有RQS消息的逻辑“或”,无论何时只要接1:3上的器件要求服务,deviee_intr srq将被发送给每个已被允许服务请求的链接。规则2413对每个链接,如果已经建立了中断通道并且服务请求已经被deviceenablesrq允许,当SRQ线从GBT 2154732008“假”变成“真”时TCPIPIEEE 4881接口器件应该发出device_intrsrq。规则2414对每个链接,如果已经建立了中断通道,并且当预先被禁止的服务请求被de
27、viceenablesrq允许时SRQ线已经为“真”,则TCPIPIEEE 4881接口器件应该发出device_intr_srq。规则2415在任何其他的情况下,TCPIP-IEEE 4881接口器件不应该发出device_intr_srq。建议241网络仪器客户应在允许服务请求之前建立中断通道,并且当服务请求被允许时保持中断通道,否则服务请求可能会丢失。247读状态字节操作规则2416当TcPIP_IEEE 4881接口器件接收deviee_readstb RPC且链接标识符与器件相关联时,它应该执行在GBT 17563-1998中的16218说明的“读状态字节(READ STATUS B
28、YTE)”控制序列。这里提供的讲地址是与链接相关的地址,应该在stb中返回存储的状态字节和RQs消息。规则2417当TCPIP_IEEE 4881接口器件接收到devicereadstb RPC且链接标识符与接口相关联时,它应该以error置为8返回,操作不被支持。25接口通信device_docmdRPC是一个通用目的的RPC,它提供不被其他已定义的RPCs包括的接口特定操作。表1说明了被允许的命令。规则251TcPIP-I觅4881接口器件应该支持在表1中列出的crad值,而不支持其他值。如果当TCPIP-IEEE 4881接口器件收到一个将cmd置成不是在表1中列出值的deviee_do
29、cmdRPC,则该device_docmdRPC应该以el-lDr置成8而返回,操作不被支持。在范围020000。02FFFF-e的所有cmd值被保留由TcPIP-IEEE 4881接口器件使用。表1允许的通用命令datain datasize名称 cmddata_in_len (数据长度)发送命令 020000le 0128 l总线状态 02000116 2 2ATN控制 020002l 2 2REN控制 020003 2 2Pass控制 020004l 4 4总线地址 02000At。 4 4IFC控制 02001016 O X规则252当TCPIPIEEE 4881接口器件收到devie
30、e_doemd RPC且链接标识符与器件相关联时,它不应该执行任何操作,并以error置为8而返回,操作不被支持。规则253如果在dataindatainlen或datasize中接收的值与表1中的cmd值冲突,则TCPIP一7GBT 2154732008IEEE 4881接口器件不应该执行任何操作,并以error置为5而返回,参数错误。对datasize栏中的x项,TcPIPIEEE 4881接口器件应该接受任何值。规则254在data_in和data out中的值是datasize字节的无符号整数。251发送命令规则255在对cmd值是020000。的devicedoemd RPC的响应中
31、,TCPIPIEEE 4881接口器件应该执行在GBT 17563-1998中的1621说明的“发送命令(SEND COMMAND)”控制序列。这里发送命令是包含在data_in中,被返回的dataout应该和接收的datain一样。252总线状态规则256在对cmd值是020001-6的deviee_docmd RPC的响应中,TcPIPIEEE 4881接口器件应该在响应参数data_out中返回一个值,它取决于表2中说明的在data_in中收到的值。返回的data_out,data_Outdata_outlen的长度应该是2。裹2接收并返回总线状态值名称 data_in data_out
32、中返回的值远地 1 如果REN消息为“真”则为1,否则为0SRQ 2 如果SRQ消息为“真”则为I,否则为0NDAC 3 如果NDAC消息为“真”则为I,否则为0系统控者 4 如果TCPIP-IEEE 4881接121器件处于系统控制作用态则为1,否则为0责任控者 5 如果TCPIP-IEEE 4881接口器件不处于控者空闲态则为1,否则为0讲者 6 如果TCPIP_IEEE 4881接口器件被寻址为讲者则为1,否则为0听者 7 如果TCPIP-IEEE 4881接口器件被寻址为听者则为1,否则为0总线地址 8 TCPIP-IEEE 4881接口器件的地址(o30)253 ATN控制规则257
33、在对cmd值为02000216的device_doemd RPC的响应中,TCPIP-IEEE 4881接口器件应该:a) 如果data_in参数非0,则置ATN线为“真”;b)如果datain参数为0,则置ATN线为“假”。返回的data_out应该与接收的datain相同。254 REN控制规则258在对cmd值为020003,6的device_docmd RPC的响应中,TCPIPIEEE 4881接口器件应该:a)如果data_in参数非0,则置sre(发送远地可能)消息为“真”。b)如果data_in参数为0,则置sre(发送远地可能)消息为“假”。返回的dataout应该与接收的d
34、ata_in相同。255通过控制规则259在对cmd值为020004。的devicedoemd RPC的响应中,TCPIP-IEEE 4881接口器件应该执行在GBT17563-1998中的16214说明的“传递控制(PAssCONTROL)”控制序列,这里讲地址是由8GBT 2154732008在data_in中的值和80,s按位相“或”构成的。返回的data_out应该与接收的data_in相同。256总线地址规则2510在对cmd值为02000A。s的device_docmd RPC的响应中,若data_in包含一个在o30之间的值,则TCPIPIEEE 4881接口器件应该将其地址设成datain的内容。如果datain不含有合法的值,devicedocmd应该立刻以error置成5而返回,参数错误,返回data_out应该与接收的data_in相同。257 IFC控制规则2511在对cmd值为020010,a的devicedocmd RPC的响应中,TCPIPIEEE 4881接口器件应该执行在GBT 17563-1998中的1628说明的“发送接口清除(sEND IFC)”控制序列。返回的data_out应该将data_outdata_out_len置成0。