《2022年2022年可程控仪器LXI接口设计实验-实验指导书-》由会员分享,可在线阅读,更多相关《2022年2022年可程控仪器LXI接口设计实验-实验指导书-(30页珍藏版)》请在金锄头文库上搜索。
1、i/30 普通高等学校实验教学讲义可程控仪器 LXI 接口设计实验实验指导书电子科技大学现代测试技术实验室2012年 11月编名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 30 页 - - - - - - - - - ii/30 目录1实验目的 . 12实验任务 . 13实验设备 . 14实验原理 . 24.1 可程控仪器数字接口LXI . 24.1.1 LXI 的基本特性 . 34.1.2 LXI 设备分类 . 34.1.3 LXI 系统模型 . 44.1.4 LXI
2、 接口电路设计要点. 44.2 IEEE488.2 消息交换控制协议. 54.2.1 消息交换控制构成机制 . 54.2.2 消息交换操作流程 . 13 4.2.3 小结 . 20 4.3 程控仪器标准命令 . 21 4.3.1 SCPI 的目标 . 22 4.3.2 SCPI 仪器模型 . 22 4.3.3 SCPI 命令集 . 23 4.3.4 SCPI 解析过程 . 26 5实验内容 . 286预习要求 . 287实验报告要求 . 28名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
3、 第 2 页,共 30 页 - - - - - - - - - 1/30 1实验目的1) 理解 LAN工作原理,可程控仪器的程控原理;2) 掌握可程控仪器接口电路的设计方法,消息交换接口程序设计方法;3) 掌握一种电路的设计工具和所选芯片的软件开发工具;4) 学会编写项目设计方案,包括总体方案、硬件方案、软件方案;5) 设计并实现满足 LXI 标准和消息交换控制协议的接口电路板。2实验任务1) 撰写可程控仪器 LXI 接口电路设计方案2) 完成实验方案答辩 ; 3) 完成可程控仪器 LXI 接口电路原理图设计;4) 完成可程控仪器 LXI 接口电路 PCB 板设计安装;5) 参考 SCPI ,
4、设计一个简单的可程控仪器命令树;6) 完成消息交换控制接口固件程序设计;7) 完成功能演示程序设计;8) 提交运行正常的软件硬件系统;9) 撰写实验报告,完成实验报告答辩。3实验设备1)计算机;2)集线器或交换机3)示波器;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 30 页 - - - - - - - - - 2/30 4实验原理可程控仪器接口标准分层模型:标准数字接口总线实现设备之间的相容连接,提供自动测试系统内部各设备间的程控命令与响应数据交互的物理通路。消息交
5、换控制协议实现可程控仪器内部对程控命令的解释执行、测量数据的编码发送、仪器内部状态事件的跟踪报告。规范仪器内部消息交换的整个流程。标准程控命令,定义了可程控仪器的公用命令、测量指令、子系统命令。为仪器的程控操作制定了共同的命令集。规范了仪器程控命令的具体实现。4.1可程控仪器数字接口LXI LXI(LAN-based Extensions for Instrumentation) 是以 LAN为基础,建立在 IEEE802.3( 以太网 )和 IEEE1588(TriggerBus) 之上,为高效能的仪器提供了一个自动测试系统的LAN模块化平台。它是作为以太网技术在测试自动化领域的应用扩展中新
6、的测量仪器接口标准,其具体思想是将成熟的以太网技术应用到自动测试系统中,以替代传统的测试总线技术(如VXI、PXI、GPIB等) 。标准数字接口总线(GPIB 、RS232、LXI 、VXI 、PCI。 。 。 )消息交换控制协议(MEI 、SR)标准程控命令(SCPI)图 4-1 可程控仪器接口标准分层模型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 30 页 - - - - - - - - - 3/30 4.1.1 LXI 的基本特性1)支持太网标准协议。包括(TC
7、P/IP, DHCP, URL / IP addresses, Dynamic DNS, Auto-MDIX )2)支持软件标准接口。包括(IVI driver, VXI-11 )3)支持设备网页浏览( web-server) ,通过 IE 浏览器能够访问设备同时得到设备的基本信息4)物理上对系统功率,散热,前面板指示灯,以及复位按钮有详细的定义5)对不同种类的设备对触发标准有不同的定义4.1.2 LXI 设备分类LXI 标准定义了三种类型的仪器, 这三种类型仪器可以在测试系统中混用。C 类仪器:独立型仪器或台式仪器,它们用 LAN 代替 GPIB,具有 LAN 的所有能力,并且把 Web 接
8、口(具有 XML )用于仪器设置和数据访问。为简化编程, C类仪器提供 IVI 驱动程序 API(应用程序接口) 。B 类仪器:该类仪器可用于分布式测量系统。符合 C 类仪器的要求,并包括 IEEE 1588 同步。A类仪器:该类装置除满足 C类和B 类仪器要求外,还另外增加了两项属性:快硬件触发总线和合成仪器工作模型。三类仪器中最简单的是C 类仪器,它是进入LXI 的基础,本实验主要涉及的是如何为仪器扩展LAN 接口,设计 LAN 接口电路,实现控制机和仪器扩展LAN 接口的通信,作为本实验在软件方面的进一步深入,可以考虑在该接口的基础上实现WEB 浏览。名师资料总结 - - -精品资料欢迎
9、下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 30 页 - - - - - - - - - 4/30 4.1.3 LXI 系统模型LXI 系统的构成如图所示:LXI 设备通过网络互连技术,在物理上实现设备间的互连,通过网络接口实现数据的通信,可程控仪器增加网络接口,借用成熟的网络互连技术,可方便的实现自动测试系统的互连。4.1.4 LXI 接口电路设计要点可程控仪器 LXI 接口电路结构设计如下图所示:器件功能接口功能LAN LXI 设备控制机PC 图 4.2 LXI 系统构成示意图LAN 接口本地总线L
10、 A N 图 4- 3 LAN 接口电路示意图AB DB CB 处理器名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 30 页 - - - - - - - - - 5/30 LAN 接口:实现与 LAN 总线的电气相容连接。处理器:实现 LAN 设备的特定功能,并完成SCPI命令解析。4.2IEEE488.2消息交换控制协议消息交换控制协议给出器件处理程控消息和响应消息的严格行为准则,协调控制器与器件之间的通信行为,约束器件间的消息通信。消息交换控制协议建立在控制器器件模
11、型之上。控制器器件模型如下如所示:消息交换控制协议由消息交换控制机制和消息交换操作流程两部分构成。4.2.1 消息交换控制构成机制消息交换控制构成机制由消息交换功能构成模型来说明。消息交换功能构成模型如下图所示:控制器器件命令数据图 4-4 控制器器件模型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 7 页,共 30 页 - - - - - - - - - 6/30 数字接口总线:提供可程控仪器与控制器之间的机械、电器相容连接。输入输出控制( IOC) :提供接口功能,实现可程控仪
12、器数字接口的功能和运行相容连接。消息交换接口( MEI) :处理发到器件功能和从器件功能来的所有与器件功能相关的消息。器件功能( DF) :(1)接受来自 MEI 的合法的、可执行的器件消息单元,产生相应的远控操作;(2)接受来自 MEI 的有效询问请求 ,并返回响应数据去MEI;(3)向状态报告框反映有关器件功能状态消息。状态报告( SR) :(1)接收来自 MEI 的错误状态和 DF 的状态消息;(2)产生 STB;输入输出控制IOC 消息交换接口MEI 状态报告SR 器件功能DF 数字接口总线图 4-5 消息交换功能构成模型名师资料总结 - - -精品资料欢迎下载 - - - - - -
13、 - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 8 页,共 30 页 - - - - - - - - - 7/30 (3)产生状态报告事件。4.2.1.1消息交换接口消息交换接口如下图所示:4.2.1.1.1输入缓冲器输入缓冲器是仪器内部存储器空间的一部分,采用“先进先出(FIFO) ”数据结构。当器件同GPIB 总线挂钩时, I/O 控制把 DAB、END 和 GET按接收的顺序放入输入缓冲器。如果缓冲器装满了数据,就置 ib-full (输入缓冲器满)消息为真,输入缓冲器不应该溢出。如果缓冲器装满而器件又处LACS 态,它就不让AH 进入 A
14、CRS 态(就是 RFD 抑制) ,而暂停接收器件消息。语法分析程序(parser )将按数消息交换控制数字接口总线IOC 输入缓冲区IB 语法分析程序Parser 执行控制EC 输出队列OQ 响应格式化程序RF DF 触发控制图 4-6 消息交换接口名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 9 页,共 30 页 - - - - - - - - - 8/30 据装入缓冲器的顺序,以与语法分析程序能力和命令执行相适应的速率,从缓冲器中取出DAB、END 和 GET 等数据。数据拜
15、特取空之后,缓冲器应该置 ib-empty(输入缓冲器空)消息为真。输入缓冲器应该有等于或大于零拜特的长度(或称深度)。缓冲器的长度可以是固定的拜特数;当然它的长度也允许可变。在选择缓冲器长度时,器件设计者必须考虑器件的应用。缓冲器的操作对用户应用程序应是透明的。接收程控消息比执行它们快的器件应该有足够长度的缓冲器,以允许存储适当规模的程控消息或数据。4.2.1.1.2语法分析程序语法分析程序是器件的一个逻辑部分。它从输入缓冲器中读取DAB、END 和 GET 消息,并对这些消息进行语法分析。所谓语法分析就是分离出器件消息的各个句法元素,把合法的句法元素转换成执行控制框可识别的 “内部表示码”
16、。已经语法分析的程控消息或程控消息单元全部或部分的器件内部表示码就是语法分析程序传给执行控制框的“已作语法分析的消息元素” 。在语法分析时,如果在程控消息中发现有语法错误、非法题头或参数、插有GET 消息等,语法分析程序将向状态报告框报告“命令错误” 。一旦发现命令错误,器件应该根据先期可分析的消息元素的器件有关部分的状态决定做些什么动作,例如是放弃还是试图再执行先期可分析的消息元素。当检测到合法的END 或程控消息结束符、或者合法的GET、或者来自触发控制框合法的内部触发消息,语法分析程序就应该置eom(已检测到消息结束)消息为真。语法分析程序在DAB 序列中发现了有效的询问程控题头、在宏定
17、义或 *DDT 定义的触发动作中发现了询问消息单元或要求产生响应消息,它就应该设置query(询问检测到)消息为真。语法分析程序已经分析了全部先期消息,并再无有效的程控消息处理,它就应该设置p-idle(语法分析程序空闲)消息为真。如果语法名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 10 页,共 30 页 - - - - - - - - - 9/30 分析程序是等待执行控制框完成先期“已作语法分析的消息元素”的处理而被迫暂停语法分析, 它就应该设 p-blocked (语法分析程
18、序阻塞)消息为真。在语法分析过程中发现有命令错误,语法分析程序可放弃当前整个程控消息,也可在收到上述分界符时执行复位操作,从而继续分析后续可分析的消息。4.2.1.1.3执行控制消息交换控制接口图中的“执行控制”框接收来自语法分析程序的“已分析消息元素”(或称内部表示码),进而处理“共轭参数”、在产生响应消息之前要求器件执行动作的“询问”和保证与控制器同步的“器件同步命令”,最后生成“可执行消息元素” 。执行控制框确定什么时候器件已经持有了执行命令足够信息。当聚集了起动器件动作的足够信息时,执行控制框就传送“可执行消息元素”给器件功能框。此后,它就等待器件完成“顺序命令”动作的结果,或连续处理
19、“重叠命令” 。可执行消息元素指令器件功能实现某一器件特定动作,这可能是一个“有效询问请求” ,也可能是一个“非询问可执行消息元素”。有效的询问请求要求器件功能框产生响应数据、传送给响应格式化程序。而非询问元素仅实现器件特定动作,但不传送响应数据。一个程控消息单元应该产生一个可执行消息元素,但也可能产生多个可执行消息元素。在处理“已分析消息元素” 过程中,如果检测出非法的程控数据、或者某些器件功能条件不适于执行的有效程控消息,执行控制框将传送“执行错误( Execution Error) ”给状态报告框。如果接收到pon 或dcas 消息,执行控制将复位。执行控制框准备传送有效询问请求给器件功
20、能,但器件功能和响应格式化程序还在处理先期的有效询问请求,此时它应该设置 ec-blocked (执行控制阻塞) 消息为真, 以示暂停执行名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 11 页,共 30 页 - - - - - - - - - 10/30 操作。当所有命令已经执行,执行控制准备从语法分析程序接收新的消息元素时,它应该置ec-idle(执行控制空闲)消息为真。4.2.1.1.4响应格式化程序图 4-6中的响应格式化程序接收来自器件功能的“响应数据”,根据有效询问请求把
21、响应消息元素的内部表示码变换成符合响应消息句法规则的“响应消息元素”数据拜特序列。响应格式化程序应该用响应消息单元分界符按单元地定界响应消息中的全部响应消息单元,并用响应消息结束符来结束最后一个响应消息单元。如果格式化程序准备把一个响应消息单元放入输出排队序列,但输出序列又是满的,它就应该设置rf-blocked(响应格式化程序阻塞)消息为真,以此暂停执行操作。4.2.1.1.5输出序列图 4-6表示的输出序列是仪器内部的一个存储器空间。它存储响应格式化程序放入的器件到控制器的响应消息DAB 和 END,直到控制器读响应消息时I/O 控制才取出这些数据拜特序列。器件设计者应能提供足够大输出序列
22、存储空间,以便处理较长的响应消息元素。实际长度选择将取决于器件的性能,像NH4450 留有300个拜特空间作为输出序列。 为了防止实际缓冲器溢出, 器件设计者可以分段格式化较长响应消息元素,分批放入输出序列,当然控制器也可以分批读取。例如, NH4450 虽只有 300个拜特空间, 但采用适当措施也能处理大于300 个拜特的数据块。总之,输出序列长度与操作方式必须协调一致,否则会造成“停滞(dead lock) ” 。一旦输出序列存入个以上的拜特,就应该置MAV(消息可资用)消息为真,并且传给状态报告框。当装满数据拜特,输出序列应该置 oq-full(输出序列满)消息为真。名师资料总结 - -
23、 -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 12 页,共 30 页 - - - - - - - - - 11/30 4.2.1.1.6触发控制这个功能框是器件传送的。因为可以避免违反命令执行秩序规则,因而触发控制可以用硬件高速执行GET 接口消息。如果把get消息经语法分析程序处理,则输入缓冲器、语法分析程序、执行控制等功能框会消耗附加处理时间, 这样不但 get消息执行速度慢, 而且给系统同步带来困难。如果选择触发控制框,GET 消息不直接传入输入缓冲器, 而是把 get送到触发控制框。当 ib-
24、emptyp-idleec-idleget=1,触发控制把本地“触发( Trigger) ”消息传送到器件功能等有关部分,可高速、同步执行GET 接口消息;否则,仍将GET 消息装入输入缓冲器,只能低性能执行GET。4.2.1.1.7消息交换控制消息交换控制表示了各功能框间挂钩控制消息的互相连接。它处理挂钩控制捎息,以使器件消息交换有序执行。根据输入挂钩消息关系决定产生“询问错误( Query Error) ” 。4.2.1.2状态报告消息交换控制协议规定了可程控仪器内部的状态报告结构的实现和运行机制。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - -
25、 - - - - - 名师精心整理 - - - - - - - 第 13 页,共 30 页 - - - - - - - - - 12/30 可程控仪器内部状态报告结构如下图所示协议规定了仪器的状态报告字节(STB)的内容和管理方式。STB 的 bit6 为 MSS,用于向控制器报告仪器的是否有要报告的状态事件发生。bit5 为 ESB,用于向控制器报告标准事件寄存器中有被使能的标准事件发生。bit4 为 MAV,用于向控制器报告仪器的输出队列(OQ)中有等待发送的数据。STB 的其它 bit 在消息交换控制协议中没有定义, 可由用户自行定图 4-7 可程控仪器内部状态报告结构名师资料总结 -
26、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 14 页,共 30 页 - - - - - - - - - 13/30 义。STB的读取和管理,由公用命令实现。消息交换控制协议规定了仪器标准事件状态报告的实现方式和管理方式。定义了可程控仪器内部8 种标准状态事件,标准状态事件寄存器跟踪这八种事件, 通过 STB 的 ESB位向系统控制器报告被使能的状态事件。状态事件的使能,通过标准事件使能寄存器实现。标准状态事件寄存器的读取和管理,由公用命令实现。4.2.2 消息交换操作流程消息交换控制协议规定了消息
27、交换操作实现的流程,以状态图的形式运行。其中,规定了正常操作的流程、出错与违约的定义和处理方式。在消息交换接口中,由消息交换控制程序(MEC)实现消息交换操作流程。有三种情况会引起出错和违约:死锁、中断、无结束。消息交换控制程序通过状态机跟踪消息交换过程,监测以上三种情况的出现,并根据错误处理方式恢复消息交换控制过程的正常运行。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 15 页,共 30 页 - - - - - - - - - 14/30 图 4-8 消息交换状态图名师资料总结
28、 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 16 页,共 30 页 - - - - - - - - - 15/30 4.2.2.1消息交换控制基本原则消息交换控制三原则是:完整性、对应性、顺序性;完整性:保证程控消息(询问消息) 、响应消息的完整性。1)控制器启动消息交换, 在传送完整的询问消息之后,才应从器件读取相应的响应消息;2)器件在分析完完整的询问消息后,才应产生响应消息元素;3)控制器接收到完整的响应消息之后,才能发出新的程控消息对应性:器件对于收到的每个完整的询问消息,应产生唯一
29、对应的完整的响应消息。1)一个询问消息单元可以对应多个响应消息单元,但这些响应消息单元式固定唯一的(个数、顺序、种类);2)复合询问所对应的应是唯一对应的复合响应消息;复合响应消息的顺序应对应复合询问消息的顺序。3)复合响应消息若超出Oq的存储能力, 则 MEI 有关功能框进入阻塞态响应消息的产生可以有两种方式:立即产生,推迟产生(当控制器读取时才产生)。顺序性:名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 17 页,共 30 页 - - - - - - - - - 16/30 器
30、件必须按接收程控消息元素的次序来分析、解释执行所含的命令:可以单个执行先收到的可语法分析的消息元素,也可以到收到分界符、结束符时执行整个程控消息;先收到的先执行,在先期收到的程控消息单元执行完毕前,不应执行任何程控消息在执行连续的程控消息单元之前,应执行已知的全部程控消息。程控消息的执行时序有两种:顺序命令、重叠命令;顺序命令 :前面所有命令执行结束,下一命令才能开始执行;重叠命令 :前面所有命令开始执行后, 下一命令就可以开始执行;对 GET 消息,器件应按执行程控消息元素相同的次序执行GET消息。如果在执行程控消息之前收到GET,则推迟执行 GET。4.2.2.2消息交换正常操作消息交换的
31、正常操作过程如下图所示:图 4-9 消息交换操作过程示意图IDLE READ QUERY DONE RESPONSE SEND pon dcas 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 18 页,共 30 页 - - - - - - - - - 17/30 表 4-1 xx 正常的操作流程状态表助记符名称说明IDLE空闲态产生初始化动作,等待接收消息READ读态收到程控命令读、语法分析、执行消息QUERY询问态收到有效询问继续 READ 态动作并格式化,存储响应消息以备发送S
32、END发送态控制器读响应数据,但程控命令未分析完分析执行询问消息并格式化,发送响应消息RESPONSE响应态分析完完整的程控命令格式化、发送响应消息DONE完成态已发送等待下一个消息4.2.2.3消息交换出错与违约消息交换的出错和违约处理操作过程如下图所示:IDLE READ QUERY DONE RESPONSE SEND DEADLOCK DeadLock 2 1 Unterminated Interrupted 3 1 2 2 3 3 3 图 4-10 消息交换出错和违约处理示意图名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - -
33、 - 名师精心整理 - - - - - - - 第 19 页,共 30 页 - - - - - - - - - 18/30 有三种出错和违约状态:死锁,无结束,中断死锁:原因(在 QUERY 态出现下面条件)oq_full & rf_blocked & ec_blocked & p_blocked & ib_full & (bav | get) = TRUE 操作:向报告“询问错”;Parser和 EC 继续工作;丢弃响应消息;可以通过清空 Oq和复位 RF而脱离 DEADLOCK 态。无结束:原因:IDEL 或 READ:brq & (!bav & !get & ib_empty) = TR
34、UE SEND:!eom & (!bav & !get & ib_empty) = TRUE 操作:在“标准事件状态寄存器”中设置“询问错误”位;清除 Oq;选择地执行来自不完整消息中的任意元素。 (同名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 20 页,共 30 页 - - - - - - - - - 19/30 一消息中的前面所有消息应被执行) ;丢弃任意部分分析过的 ,以便 Parser能准备好去分析一个新的 ;置 brq=FALSE;MEC 进入 IDLE 态。中断:原因
35、:在 QUERY 态:eom & ( bav | get | !ib_empty ) = TRUE 在 SEND 态:eom & (bav | get | !ib_empty ) = TRUE 在 RESPONSE:bav | get = TRUE 操作:在“标准事件状态寄存器”中设置“询问错误”位;清除 Oq;复位 EC和 RF,以便当器件收到一个新的询问消息单元时能发出正确的响应消息;置 brq=FALSE MEC 进入 READ 态;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - -
36、第 21 页,共 30 页 - - - - - - - - - 20/30 4.2.3 小结消息交换控制操作有七个状态:(IDLE) (READ) (QUERY) (SEND) (RESPONSE) (DONE) (DEADLOCK) 在消息交换控制操作中有三个标准动作INTIALIZE UNTERMINATED INTERRUPTED 在消极交换接口 MEI 中,会检测出三种错误类型命令错误 (Parser) 执行错误 (EC) 询问错误 (MEC) (DEADLOCK) (UNTERMINATED) (INTERRUPTED) 在消息交换控制接口MEI 的设计中,需要设计实现 4 个程序两
37、个数据结构:4 个程序是:Parser :语法分析器;EC:执行控制;RF:响应格式化器;名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 22 页,共 30 页 - - - - - - - - - 21/30 MEC:消息交换控制;两个数据结构是:IB:输入缓冲器;OQ:输出队列;在状态报告 SR的设计中,需要构建状态报告字节STB 和标准事件状态寄存器 ESR的管理机制。4.3 程控仪器标准命令GPIB 器件消息标准( IEEE 488.2)使程控仪器器件消息的数据编码与格式、命令
38、功能元素与编码句法、 消息交换控制等实现了标准化,但由 IEEE 488.2 只涉及了用语法和数据结构连接的消息通信功能层,以及用公用命令和询问连接的公用系统功能层,即它主要涉及程控仪器的内务管理功能而并不涉及器件消息本身。由于IEEE 488.2 仅仅是定义了用于程控仪器内部基本操作控制的少数公用命令语义,具体仪器配置的特定程控命令和响应消息语义仍留给仪器设计者自行设定,因而这种器件消息的非标准化给编程人员造成很大困难。一方面,两台均遵循 IEEE 488.2 的类似的仪器,可能具有完全不同的命令集;另一方面,随着仪器型号的增加,具体仪器程控命令集也不断增加,相应地,仪器用户要花费很多时间学
39、习仪器程控。这样,制造者和用户的投资都不能延伸利用,因此寻求程控仪器器件消息进一步的标准化成为了发展自动测试系统过程中必须解决的问题。1990年 4 月,由国际上九家仪器公司推出的建立在IEEE 488.2 基础上的“可程控仪器标准命令 SCPI(Standard Commands for Programmable Instruments ) ” ,较好地解决了这一问题。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 23 页,共 30 页 - - - - - - - - - 22/
40、30 4.3.1 SCPI的目标SCPI的总目标是节省自动测试设备程序开发时间,保护设备制造者和使用者双方的硬、软件投资,为仪器控制和数据利用提供广泛兼容的编码环境。这个广泛兼容的编码环境是指:SCPI仪器程控消息、响应消息、状态报告结构和数据格式均有标准化的定义,其使用只与仪器测试功能及仪器性能、精度相关,而不考虑仪器硬件组成、制造厂家、通信物理连接硬件环境和测试程序编制环境。(1) 程控命令面向测试功能(信号) ,而不是描述仪器操作(2) 减少类似测试功能的控制方法是保证编程相容性的关键(3) 在与通信物理连接层硬件无关的高层次上定义程控消息(4) 与编程手段和程序语言无关,SCPI用户测
41、试程序模块易于移植(5) 具有可缩性,可适应不同规模的测量控制(6) SCPI的可扩性,使其成为“活”标准4.3.2 SCPI仪器模型针对 SCPI 命令是描述测试功能(或称信号) ,而不是仪器硬件组成、技术手段和前面板控制,SCPI提出了一个描述仪器测试功能的通用仪器模型,如图 4-11所示。图 4-11 程控仪器模型名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 24 页,共 30 页 - - - - - - - - - 23/30 程控仪器模型表示了SCPI仪器功能逻辑和分类。
42、这种分类提供各种不同类型仪器可利用的各式各样的SCPI命令的构成机制和相容性。图 4-11上半部分反映仪器测量功能(Measurement Function) ,其中,“信号路由选择”用来控制信号输入通道与内部功能间的路径,当输入通道间存在路径时,亦可选择; “测量功能”是这部分的核心,它可能需要触发和数据存储; “格式化”部分用来转换数据的表达形式,当数据需要向外部接口传送时,必须格式化。图4-11下半部分描述信号源的一般情况,其中,“信号产生”功能( Signal Generation Function )是这部分的核心,它也经常需要触发和数据存取,格式化部分送给它所需形式的数据,其产生的
43、信号经过路由选择输出。4.3.3 SCPI命令集SCPI 可编程仪器标准命令是一种用来控制仪器的命令语言。它可用一种标准方式来描述各种各样的仪器功能,其中规定了在控制器到仪器和仪器到控制器之间的信息交换层消息的构造和内容,因而使各类不同的仪器更容易被理解和使用。同时SCPI是一种“活”的标准,可以满足新仪器和新技术的需要。SCPI命令可分为仪器公用命令和仪器特定控制命令两个部分。(1)SCPI仪器公用命令SCPI把 IEEE 488.2 要求仪器必须执行的公用命令作为SCPI仪器公用命令,这些公用命令用于控制仪器的某些基本功能操作,其句法和语义遵循 IEEE 488.2的规定。 SCPI仪器公
44、用命令如表4-2所示。表 4-2 SCPI 公用命令简表命 令功 能 描 述 *CLS 清除状态( Clear Status Command ) *ESE 标准事件状态使能(Standard Event Status Enable Command ) *ESE? 标准事件状态使能查询(Standard Event Status Enable Query )名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 25 页,共 30 页 - - - - - - - - - 24/30 *ESR?
45、 标准事件状态寄存器查询(Standard Event Status Register Query ) *IDN? 仪器标识查询(Identification Query ) *OPC 操作完成( Operation Complete Command ) *OPC? 操作完成询问(Operation Complete Query ) *RST 复位( Reset Command) *SRE 服务请求使能(Service Request Enable Command ) *SRE? 服务请求使能查询(Service Request Enable Query ) *STB? 读状态字节查询(Rea
46、d Status Byte Query ) *TST? 自测试查询(Self-Test Query ) *WAI 等待操作完成(Wait-to-Continue Command )(2)SCPI仪器特定控制命令SCPI仪器特定控制命令用于控制仪器“源”和“测试”功能操作。SCPI 的 27个主支干命令关键字(长型格式助记符,按字母顺序排列)与基本功能概貌如表4-3 所示。表 4-3 SCPI 主支干命令简表关 键 字基本功 能测量指令CONFigure 组态。设置仪器,以执行相应测量。FETCh? 取数。重新获取仪器数据,并将数据置于输出缓冲器。READ? 读。实现对刷新数据的取数(FETCh
47、?) 操作, 数据采集和后期处理。MEASure? 测量。设置、触发数据采集并进行后期处理。子系CALCulate 计算。完成采集后期数据处理,有16 个分支。CALibration 校准。完成系统校准,有11 个分支。CONTrol 控制。主要用于测试和过程控制环境条件下机电仪器的通断操作,有 11 个分支。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 26 页,共 30 页 - - - - - - - - - 25/30 统命令DIAGnostic 诊断。为仪器维护提供诊断树节
48、点。DISPlay 显示。控制图、文与迹信息的显示选择和表示方法,有7 个分支。FORMat 格式。为传送数值和矩阵信息设置数据格式,有4 个分支。HCOPy 硬拷贝。控制至外置仪器的绘图与打印操作的设置,有9 个分支。INPut 输入。控制检测器件输入口特性,有14 个分支。INSTrument 仪器。提供识别和选择逻辑仪器的方法,有7 个分支。MEMOry 存储器。管理仪器存储器,有11 个分支。MMEMory 海量存储器。为仪器提供海量存储能力,有14 个分支。OUTPut 输出。控制源输出口特性,有13 个分支。PROGram 程序。仪器内部程序控制和管理,有3 个分支。ROUTe 路
49、由。仪器的信号路径选择,有7 个分支。SENSe 检测。控制与信号特性无关的仪器检测功能的特定设置,有25 个分支。SOURce 源。控制与信号特性无关的源功能的特定设置,有23 个分支。STATus 状态。控制SCPI 定义的状态报告结构,有3 个分支。SYSTem 系统。实现仪器内务辅助管理和设置全局组态,有21 个分支。TEST 测试。提供标准仪器自检程序,是IEEE 488.2 *TST命令的扩展。TRACe | DATA 迹| 数据。仪器存储器中命名实体,用于定义和管理记录的数据,有 8 个分支。TRIGger 触发。用于同步仪器的动作,涉及4 个根级命令。UNIT 单位。定义缺省(
50、默认)单位,有4 个分支。VXI VXI 总线。控制与 VXI 总线操作相关的管理功能,有 5 个分支。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 27 页,共 30 页 - - - - - - - - - 26/30 4.3.4 SCPI解析过程具体的解析过程可采用不同的方法,整理分析完所有的SCPI后本设计采用顺序排列位置决定解析结果的方法,将复杂的 ASCII码字符串翻译为简单的可执行内码。解析实际上就是建立数据库并查找数据库的过程,单片机中可用汇编语言或 C51语言来编写
51、, 由于程序很大并涉及到指针,本设计采用了C51。SCPI的语法很多,由于我们的主要目的是提高程控效率,故在解析程控消息时我们只解析程控题头,而不解析程控数据,因为解析程控数据没有多大的意义,其本身就是固定的值。同样,从仪器到控制器的响应消息和状态数据报告也不在设计的考虑范围内,这些是在设计仪器时考虑的问题。通过上面的自设规定设计出来的 SCPI解析模块已经足够本设计使用。 为了编写标准文档,我们首先来做一些限制:一条程控消息只包含一个程控消息单元;程控题头分界符只包含一个空格;程控题头输入全为短形助记符;程控题头的第一层前面的冒号不能省略;程控题头不考虑多功能多通道;程控数据内容不考虑解析;
52、暂不考虑可选全为必需。以上这些都是SCPl99标准规定的可选性,我们只是选择了其中的最标准化的输入格式。当然,要去掉这些限制也不是不可以的,只需在解析程序主体完成后完善即可。解析也就是翻译,在解析之前先对接收的SCPI消息进行格式判断有助于简化解析步骤。格式判断就是判断输入是否满足预期的输入,是则进行解析,不是则提示用户输入错误再返回重新输入。解析就是查找数据库的过程,若能查找成功则说明解析成功,再显示结果给用户,若查找失败则说明输入语法错误,其不是标准SCPI消息,再提示用户错误并重新输入。数据库就是存储器空间中的一段,内容由整理分析标准SCPI而得。由于SCPI由ASCII码字符串组成,数
53、据库也就由许多的二维字符数组组成,查找数据库也就是根据字符串查找其在二维字符数组即字符串数名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 28 页,共 30 页 - - - - - - - - - 27/30 组的过程。 SCPI命令公用命令和仪器特定控制命令,两者由不同的结构组成,查找数据库的过程自然不同。公用命令包括星号字符和程控助记符以及可选的问号字符,只有一层,查找过程比较简单,只需一步查找公用命令数据库即可。查找数据库完成之后,基本上解析后的结果就出来了。名师资料总结 -
54、- -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 29 页,共 30 页 - - - - - - - - - 28/30 5实验内容1)撰写可程控仪器 LXI 接口电路设计方案2)完成实验方案答辩 ; 3)完成可程控仪器 LXI 接口电路原理图设计;4)完成可程控仪器 LXI 接口电路 PCB 板设计安装;5)参考 SCPI,设计一个简单的可程控仪器命令树;6)完成消息交换控制接口固件程序设计;7)完成功能演示程序设计;8)提交运行正常的软件硬件系统;9)撰写实验报告,完成实验报告答辩。6预习要求1)阅读实验指导书,了解LAN工作原理,可程控仪器工作原理,接口电路设计方法,通信程序设计方法2)学习一种电路设计的软件使用方法3)学习并掌握所选器件开发环境7实验报告要求1)实验设计方案书2)电路原理设计说明书3)软件设计说明书4)系统运行测试数据(含系统实物图片、关健运行步骤图片)5)实验答辩报告书名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 30 页,共 30 页 - - - - - - - - -