版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、0、引言GPIB (General Purpose Interface Bus)系统即通用接口总线系统,自70年代初创建以来,在自动测试 系统(ATS-Automated Test System)领域得到广泛的应用,已经成为台式智能设备主流接口总线。目前国 内外的 ATS 系统大多数都采用 GPIB 标准组建而成。由于GPIB系统是在测试程序的统一指挥下,通过各智能设备的互相配合,从而完成自动测量、数据 处理、结果输出等一系列工作,因此从系统角度考虑,要使系统工作可靠、测试迅速、结果准确,首先要 解决的就是系统的同步问题。GPIB 系统的同步包括两个方面的内容:( 1)通讯同步 主要是要保证智
2、能设备间能双向、异步、准确可靠地传递消息。这种同步层次较低,主要由计算机系 统中扩展的GPIB接口卡和智能设备的通讯模块从硬件上加以解决。GPIB为此设置了三条“挂钩总线”分别 传递“数据有效(DAC) ”,“准备好接收数据(RFD) ”和“数据已接收(DAV) ”消息,用于在源方和受方 之间进行联络。( 2 )操作同步 操作同步是指各智能设备进行收发命令、读写数据、执行指令等各种操作的先后顺序和时间配合。这 个问题直接关系到系统能否可靠运行,测试数据是否可信以及测试效率如何,操作同步主要依靠在测试软 件编制中根据任务要求和仪器特性设计适当的流程来解决。本文在分析GPIB系统同步机制的基础上,
3、讨论在Windows下的测试软件设计中实现操作同步的方法。1、 GPIB 系统的同步机制1.1 状态和事件报告体系状态和事件报告体系用来记录相关事件和反映设备内部状态,它是其它同步机制的基础。GPIB设备的 状态系统由多组8位或16位寄存器构成。典型的如标准事件寄存器(SESR)及其屏蔽字(ESER)、状态 字寄存器(SBR)及服务请求屏蔽字(SRER)等。其中状态字寄存器各位是对其他寄存器中信息的总结(即 某些状态位的“或”)。状态字寄存器定义如下。KU5HSIJMAV更爲朗S5让MH帝Jf:U呻“Y希及可用、掠澤事杵寄存恭徒丈如下:5ESK 曲 |细吒 | 半 | 1X)E IQFeI a
4、iiivni上 iLiCMh - 儈金 tttiM 注X dtrtllJtDL-设莽怖爲观社;谥闵W1说;UPC- 涉N北咙.后面将会看到,我们正是利用这些状态信息来实现同步的。1.2 服务请求和串行查询在向设备发出程控指令后,由于设备速度较慢,主控计算机可能转去处理其他事件,而当设备完成指 定操作后,要求主控计算机即时回到原先的指令序列读取数据或进行其他处理。另外,设备在超量程或输 出缓冲溢出时,也需要主控计算机中断当前的工作为其服务。服务请求(SR)接口功能就是适应这种需要 而产生的。要求服务的设备通过拉低总线的“服务请求”信号线逻辑电平发出“服务请求”(SRQ)消息,弓I发主控 计算机的
5、GPIB中断。为了弄清具体是哪台(些)设备请求服务,主控计算机一般要发起串行查询,按各 设备请求服务的可能性大小逐台询问这些设备。被查询设备利用GPIB的数据总线传回状态字的各位,其 中 Bit6(RQS 线)回答是否请求服务,其它位则说明了请求服务的大致原因。进一步查询其他寄存器可以 得到更具体的信息。主控计算机然后根据查询结果进行相应处理。并行查询除了串行查询,我们还可以使用并行查询对多台设备进行询问。并行查询分为组态和查询两个阶段进 行:在组态阶段,控者分别对不大于8 个器件分配回答查询时所用数据线及检测位的逻辑值(0或1);组 态完成后,程序就可以进入实际查询阶段,在查询阶段每个设备将
6、用分配的数据线来回答是否请求服务。并行查询尽管有速度快的优点,但由于每个设备只能用一条数据线来回答查询,有时会嫌它给出的信 息量不够,还需要辅以串行查询,这样会导致设备译码量和接口电路复杂程度增加,因此在一般系统中较 少使用。顺序执行命令一般情况下,设备可以同时进行多个操作,以提高工作效率。但GPIB系统也提供j*WAI等命令强迫 设备顺序执行输入缓冲区中的指令。当某一指令的执行依赖于先前指令的执行结果时,就可以使用该功能实现同步。GPIB系统同步机制的具体工作过程尽管较为复杂,但IEEE488及稍后发布的可程控设备标准命令 (SCPI)将这些工作封装成许多标准命令,屏蔽了底层的操作,使我们可
7、以在不直接与底层打交道的情况 下实现测试程序的同步。2、GPB 系统操作同步的实现在 GPIB 测试程序中实现同步可以采取以下方法。2.1 延时的方法 在程序向设备发出指令后,如果估计到这些操作可能需要较长时间,我们可以在执行下一条指令之前 加入一定的延时。延时时间可以根据设备的有关参数进行简单估算,如:数字万用表完成测量所需时间= 功能设置时间+触发信号周期+触发延时+积分时间(A/D转换时间)+裕量。(注:在设备手册中,A/D时 间常以电源周期(PLC)为单位给出(通常1个PLC=l/50Hz=20ms)。延时的大致时间确定后,可以采用如下三种方法来实现。( 1 )软件延时 软件延时利用执
8、行空操作指令来延时,循环执行空操作指令加大延时长度是最常见的软件延时方法。以HP34401A测量方波电压为例。设HP34401A地址为5,编程工具使用Borland Delphi 3。根据实际测试 的需要,我们使用GPIB接口函数编制了 f1、f2、f3三个子程序,f1向程控设备发命令并回读结果,f2发 命令, f3 从设备读数,以下类同。程序如下:fHDEV(时;V初妬化巧用去5);川幵E -IS:=U5):賦打用农读敷由于低频交流电压的测量是一个较为耗时的操作,如果我们在命令万用表开始测量后立即读数,可能 读数为假数据。为实现同步,我们可以在READ语句后加入一个嵌套for循环来延时一段时
9、间,以等待测 量完成。另一种软件延时的方法是把一些像数学计算、屏幕刷新等非GPIB操作放在等待时间内完成,以提高程序效率。软件延时的主要缺点是循环次数或用于延时的语句数量需要反复试验才能确定,并且随运行环境的变化指令执行时间也会发生变化,必须针对具体的软、硬件条件加以调整。(2)使用 Windows 的定时器使用Windows的定时器TIMER,同样的功能可以如下实现:G(WNF:VULT:AC DEK DE15;/设置巧用公 f2( READ? S)i linn-j-IJn larval ;-25DO; Tiinerl,加iibled : sIaj e ;Ij iru tI ,lj nifl
10、r(5endfir: lObjeel;禁止迅时船读数Tinter! .Enabled :=Fidde 禁止迅时船读数5:(5);end:由于Windows定时器建立在计算机硬件和ROM BIOS中定时器的简单扩充基础之上,最小定时精度只 能达到55ms;另外,由于Win32是抢占式多任务操作系统,而定时器消息WM-TIMER优先级很低,可能 得不到及时处理,也会造成延时不准确。为了提高定时精度,必要时可以使用Windows多媒体定时器,其精度可以达到1 ms,但编程相对复杂。 延时方法编程简单,且不会造成GPIB总线拥挤,但由于延时长短受各种因素影响难以确定,使得延 时带有一定盲目性。2.2
11、状态查询利用串行查询接口功能和其他SCPI来查询设备状态,并根据查询结果来决定操作步骤,是使用最广泛 的同步方法。例如,在ATS系统中用双踪数字存储式示波器TDS220来测量输入信号的峰一峰值,测量过 程需要经历波形获取和波形数据计算两个阶段,才能得出参数值。由于波形获取要完成几千个点的取样和 A/D转换,需要较长时间,因此必须采取同步措施保证在波形数据计算前波形获取已正确完成,否则会导 致错误的结果。下面讨论使用状态查询实现以上功能的方法。(1)使用BUSY?命令BUSY?命令询问设备是否在进行某些复杂操作如波形获取,硬拷贝输出等。使用BUSY?命令,程序如下:I,讣丄卜:U;IEI选样示淡
12、那逊迫L= 1 诚 IRE: M UUK VKKDETECT. 4);/jJt 世靈取方式为昨;/怔检韵FJ ACQLifKK: SOIJA FTf;H 籾 KM1E , i 汀,单欢疋凰U*AQUIIHK: SrJOE GN4);打开抽 fk 脱冊GCMEASUKEME円 JMMED:TYPE PK2PK 4 :湾峰=峰傥 1( MfASURTM ENT ; I MM 0 : 50URC CH1 .,】Me * 11E:加? .4)-0JrT啡=0:孤 n f)i MEASV HEM KiST: i M M K J ; V Ui K?, 41; V址散口使用串行查M1BRSPBDRV(4;/
13、初的化示帖需ItCSELECTjflHL 0N .4;MD凸JC匚町处卉甲堪:宦戎后盘吨orcr:(ELSE i jii/zfc许 OFC骨(ft 删总七僦 0.4卄胖赴曲务咱求4.诂匚JIIHE 洋TATE 0NJ,4);点 *MEAS U HE M ENT : DIM ED: TY 炸 FK 加镐f3(-Ml:.MUHKM(MMED:K)URCK CHI J);(山叫円.:.牡F型祁話直陥产唯门忆 谄总rp:=Oiwln|c r、fi =0 iu脚訥4 ”血;附询,如阳 W花融!舟苻S: =f| ( M E: A K K M LNi1 : 1M M l:l) - V V 1平勺斗需要提醒的
14、是尽管IEEE488命令*STB?提供了相似的读取状态字的功能,但由于它只在所有先前的指 令执行完毕后才被执行,因此用它代替串行查询是不合适的。(3)使用OPC?命令OPC?命令不能简单理解为询问状态位OPC,因它只在所有操作完成后才将响应字符“1放到输出队列中去,而在此之前是无法读取OPC状态的。如要使用*OPC?命令,程序应如下设计:HPEV4gELEUSI CW.4):如rm:垃名订、您&丹 HF-MEVT:出牡.lir ,4i这样,我们就利用*OPC ?命令的特性在总线读操作中完成了等待。使用*OPC ?命令,我们无需判断 查询结果,也不必在程序中建立自己的等待循环,但必须保证GPIB
15、卡的超时设置大于操作完成所需时间。2.3 顺序执行*WAI命令强迫设备顺序执行指令,即在处理新指令前必须完成当前操作。同步的任务其实由设备来 负责。使用*WAI命令实现同样的任务,程序如下:1BDEV(4);SELECT:CH! 0N4);U ACQUIRE:SriATEASU HEM ENT; 1MMED tTYPE PK2PK4)iUMEASUKKMIM MED SOURCE耳AT ,4); 等帶肖船攥作完成S:= MMKASVREMEMJMMEDiVAI.UKJ);/K 数使用*WAI命令时,程序每次只能处理一个指令,降低了效率。另外,由于在等待期间程序仍可以向 设备写命令(但不会被执行
16、),当输入缓冲满后,将引起指令丢失或超时错。这是使用*WAI命令的一大 隐患,编程时应加以注意。2.4 利用多线程实现服务请求随着计算机操作系统由DOS转向WINDOWS以及计算机和程控设备的速度和可靠性的大幅提高,很 多情况下都可以用状态查询来代替复杂的服务请求编程,因此目前的 GPIB 接口卡及驱动软件很多已经不再提供中断功能。然而服务请求毕竟是一种最有效的同步方法,它同时还可以及时反映设备方面的错误和其他附加信息(如指出某测量结果可疑等),这些都有助于进一步提高系统的可靠性。为了使用“服务请求”,我们可以建立一状态监视线程,该线程负责查询(并行或串行)设备状态,一 旦发现设备 OPC 被
17、置位即向应用程序发出服务请求消息(由用户自己定义)。程序在其消息处理函数中响 应服务请求进行处理。程序如下:U、1_池少.*1匸址辽昶务训弟iwm /俛兀It井睛戒弗息肛&希豪IViimlun1 EFLiJiFr .ii勺严尹:门卜“.严; Mr、尸 ftM_SR:Sr.wsSI:站HHW.il 1. CntOa他幽 OMBTIirrjMJI.FZnTEmrudh诃欣:如帆甘立华圻t!曲杆故 llvr*Jl.ftjT:-tj.iJ.irt/#也丙戎 Fdit 沆堀t4 r,j)Efd -ESE r;4)i口SKE J2 . JJj /北说lJJ社址毎并lff:g,. ACQUIKK STATl
18、:閃”.刃;blW、;AWUItEM科: IJriMEU : TiV. FJGfKI;f; MSUREMEiVT : JMJJ E SOUR忧Jtf-OK刖ihzLi Hu吋;:g 斛 gJtii u nn it一 I f p! Tl rniL 汨护i | miyr 1 Mr- -vrl:IHMR(4.nriJA車ii 器Wlr Inp ad Z”4I 4mHl4l MAS!等田世IrM Fil fkpnSi Lflt ESHr,务 -冷 Fl 乜沖 Uir ise gj I)i thrniu, h MKAil HEMLI I. IJU.IL * , H;End ILhd;CPin皙視纯亚GPiBW4iJph的主要方袪tib cuEe如下;PlrtjetLluii GPfRW sjich.ExefiiLati?/ iij fi仅器fc 齐岷等请朮期宦岀WM_SHy 呵n鼻知Jr IW4 TfffUMinE i bibt0*tw K;=3 山 K &beni1BI陆HK啊山if -|r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 护理成长指南:护理职业发展
- 术后出院指导
- 护理交接班中的中医科护理
- 气管切开术后营养支持
- 2026高职(数字媒体艺术设计)数字媒体技能资格考试试题及答案
- 吉兰-巴雷综合征免疫治疗专家共识(2026版)
- 2026年幼儿教师一日活动组织培训方案
- 2026年煤矿重大事故隐患判定标准题库(含答案)
- 2026年煤矿事故重大隐患考试题目及答案
- 护理分级与护理纠纷预防
- 2024年中考物理实验操作评分标准
- 2025-2026学年外研版(三起)(2024)小学英语三年级上册教学计划及进度表
- 中国血脂管理指南2025版精要
- 方太电烤箱KQD50F-C2说明书
- DB11∕T 2210-2024 城市综合管廊数据规范
- 2025至2030年中国卡纸包装盒行业投资前景及策略咨询研究报告
- 【公开课】巴西+课件-2024-2025学年七年级地理下学期人教版
- 虚拟仿真实验室施工方案
- DG∕TJ 08-2188-2015 应急避难场所设计规范
- 2025公司登记管理实施新规内容解读课件
- 民族团结先进班集体事迹材料7篇
评论
0/150
提交评论