2 测控总线技术(2)_v10.ppt
2.3GPIB总线及仪器系统集成,2.测控总线技术,,GPIB-GeneralPurposeInterfaceBus,2,虚拟仪器总线技术,Serial1960’s,VXI1987,PXI1997,PC-DAQPCI,USB,,,,,,高性能高可靠性标准化,,高性能低成本,,基于工业计算机扩展(标准工业测控总线),基于商用计算机构建,GPIB1960’s,CAMAC1960’s,LXI2004,,3,GPIBHistory,,,,,,,,1965,1987,1990,1992,1993,1975,HPdesignsHP-IBHewlettPackardInterfaceBus,HP-IBbecomesIEEE488,IEEE488.2adoptedIEEE488becomesIEEE488.1,SCPIStandardCommandsforProgrammableInstrumentsaddedtoIEEE488.2,IEEE488.2revised,HS488proposed,,,2003,HS488approvedIEEE488.2-2003,4,GPIBHistory,1965Hewlett-PackarddevelopedtheHPInstrumentBusHP-IBfortheuseofitsowninstrumentproducts,releasedin1972.1974IEC625-InternationalElectrotechnicalCommission1975AdoptedbytheIEEEasstandardIEEE488-1975.Thisstandardizedonlymechanicalandelectricalaspectsoftheinstrumentbus.1987IEEE488.2adopted;IEEE488-1975becameIEEE488.1-1987.StandardIEEE-488.2strengthenedtheoriginalstandardbydefiningpreciselyhowcontrollersandinstrumentscommunicationstandardizedmanylow-level,device-independentcommands.,5,GPIBHistory,1990AconsortiumofcompaniesreleasestheStandardCommandsforProgrammableInstrumentsSCPItopromoteconsistencyinsoftwarecommandsforinstrumentsofthesametype.1992IEEE488.2revised1993NIproposedhigh-speedextensionstoIEEE488.1calledHS4888Mbytes/s2003IEEE488.1revisedtoincludeHS4881985国家标准GBn249.1/.2-19851995新的国家标准GB/T15946-1995,6,StandardsIntroduction,StandardNumberStandardTitleANSI/IEEEStd488.1-1987IEEEstandarddigitalinterfaceforprogrammableinstrumentationANSI/IEEEStd488.2-1987IEEEstandardcodes,ats,protocols,andcommoncommands.ForusewithANSI/IEEEStd488.1-1987IEEEstandarddigitalinterfaceforprogrammableinstrumentationIEEEStd488.2-1992IEEEstandardcodes,ats,protocols,andcommoncommandsforusewithIEEEStd488.1-1987,IEEEstandarddigitalinterfaceforprogrammableinstrumentationIEEEStd488.1-2003IEEEstandardforhigherperanceprotocolforthestandarddigitalinterfaceforprogrammableinstrumentation,7,IEEE488接口的基本特性,总线构成16根信号线,3根握手线,5根管理线;连接方式总线连接,仪器直接并联在总线上,相互间可以直接通讯;数据传送方式位并行、字节串行、双向异步传输;总线电平负逻辑的TTL电平数据传送速度一般为250500KBytes/s,最大可达1MBytes/s;受发送器负载能力的限制(48mA),所允许挂接的仪器数目最多不能超过15台48mA/3.2mA;电缆总长度不能大于20m,设备间距最大4m,平均2m;地址容量单字节地址(31个)、双字节地址(31x31961个);接口功能共有10(IEEE488.1-1987)或11种(IEEE488.1-2003);,IEEE488.1StandardDigitalInterfaceforProgrammableInstrumentation,GeneralSpecifications,9,IEEE488Connector,NRFD0,NRFD0,DAV0;,还有数据,结束,结束,Y,N,源方,受方,N,N,N,Y,开始,NRFD1;NDAC1;,能否挂钩,准备好接收数据,NRFD0;,DAV1,NRFD1,接收数据,NDAC0,DAV0,,NDAC1;,N,N,N,N,Y,NDAC信号线停留于真态,直到全部受方都收到数据,只有全部受方准备好后NRFD信号线才变高,数据有效,可以接受,此后数据无效,三线挂钩流程,34,在一个系统中,可能有几个听者,此时各接口电路中的NRFD和NDAC线都要分别完成“线或”运算,只要其中任一个已受命的听者未准备好接收(或未接收完毕),NRFD(或NDAC线)就仍处于“1”态(低电平),只有当听者中响应最慢的那一个也已准备好接收,NRFD或(NDAC)才变为“0”态。即使讲者能讲得很快,它也一定要等听者作好准备之后才把有效数据送出,并且一定要等听者确实接收完毕才把这个数据从DIO线上撤掉。这样,尽管听者的响应速度较慢,也能确保接收到该接收的数据。以上所述挂钩过程是由DAV、NRFD和NDAC三条挂钩线完成的,故称“三线挂钩”,因此,利用三线挂钩技术实现异步传递消息的方式,可以做到讲者和听者在发送和接收速度上的协调,它是确保异步传送消息的重要手段。,IEEE488三线挂钩,35,IEEE488三线挂钩,36,3)总线管理控制线,接口管理线简称管理母线,共5条,用于管理接口本身的工作。IFCINTERFACECLEAR接口清除线,控者专用。当IFC线为“1”态(低电平)时,表示控者通令IEEE488接口功能回到初始状态;反之则对各器件的接口功能不起作用。它实际上是IEEE488接口硬件复位线,此信号有效,使所有器件接口停止总线上的活动,回到接口空闲状态。,37,3)总线管理控制线,ATNATTENTION注意线,控者专用。用于区别DIO线上的数据是接口消息还是器件消息。ATN1表示DIO线上为接口消息,即是控者发出的通令、指令、地址等,所有器件都必须听,只有控者讲;(信封上的收件信息)ATN0表示DIO线上为器件消息,受命为听者的器件必须接收,其它器件不准接收。(书信内容),38,3)总线管理控制线,RENREMOTEENABLE远程使能信号线,控者专用。控者使REN线为“1”态,配合ATN线,使器件可接受远地程控(即遥控)。REN1所有听者设备为远程工作方式,由控者直接控制;REN0所有听者设备为本地方式,由自身面板开关控制工作。,39,3)总线管理控制线,SRQSERVICEREQUEST请求服务线,为系统内配置有服务请求功能(SR)的所有器件公用。当某一器件令SRQ线“1”态时,表示它向控者提出服务请求,即说明本器件出现了异常情况,要求控者中断当前的工作,同时由请求者变为讲者,并报告情况,控者对此必须响应。当任一设备向总线发送数据时,均可使用此线请求控者服务,所以各设备共用此线,它们通过“线或”逻辑连到此线上。控者用查询方式确定服务对象。,40,3)总线管理控制线,EOIENDORIDENTIFY结束或识别线,由控者/讲者使用。与ATN线配合起下述两个作用当EOI1且ATN1时,表示控者执行并行查询,以识别哪些器件提出了服务请求;当EOI1且ATN0时,表示讲者已发完数据,即一串消息字节已结束。,41,IEEE488寻址操作,,,寻址每个设备在IEEE488总线上必须具有一个惟一的地址。在一条IEEE488总线上最多可以连接15个设备,但是可能有31个不同的地址(0-30)。IEEE488设备地址通常由DIP开关DIPswitches或前面板控件设置。连接到计算机的IEEE488控者也有一个地址(通常address0),它在驱动软件安装或初始化时被设置。IEEE488总线没有专用的地址线,IEEE488总线寻址使用数据总线和控制线ATN来完成。,42,IEEE488消息Messages,,IEEE488系统中传递着各种消息。按用途和作用范围分,有接口消息和器件消息。接口消息只能用于管理接口本身的工作,因此,只能引起接口功能状态的变迁。接口消息由控者发出。器件消息与器件功能密切相关,通过接口系统传递,但只能被器件的功能接受利用。器件消息由讲者发出。,43,IEEE488消息Messages,,,按传送消息所需信号线数目分,有单线消息和多线消息。单线消息经系统单线传递,如器件的服务请求消息。系统可在同一时刻上传递多个单线消息。多线消息由8条数据线以编码形式传递,因此在同一时刻只能传递一个多线消息。但是,单线消息和多线消息可同时传递。,44,FunctionalpartitionwithinadeviceIEEE488.1-2003,B由设计者定义A由IEEE488标准定义1接口信号线2远程接口消息(接收)Remoteinterfacemessagestoandfrominterfacefunctions3与器件功能相关的消息Devicedependentmessagestoandfromdevicefunctions4接口功能状态Statelinkagesbetweeninterfacefunctions5本地消息Localmessagesbetweendevicefunctionsandinterfacefunctions6远程接口消息(发送)Remoteinterfacemessagessentbydevicefunctionswithinacontroller,45,接口消息,接口消息由控者发出,用于接口系统的管理,主要有通令、专令和地址三种,其次还有副地址和副令。通令它是控者向系统内所有器件发出的命令,所有具有接收该通令能力的器件都必须接收并遵照执行。专令是控者向已经被寻址为听者的一个或数个器件发出的命令,未被寻址的器件不必执行。地址主要是讲地址和听地址,控者通过发送器件的讲或听地址(称寻址)命令它们为讲者或听者。副地址用于地址扩展。副令用于并行查询。,46,IEEE488.1接口消息InterfaceMessages,FIVETYPESOFInterfaceMessages-TALK/LISTEN(地址命令)-MULTILINEUNIVERSAL(多线通令)-UNILINEUNIVERSAL(单线通令)-ADRESSED(专令)-SECONDARY(副令)Thetypeofcommandisspecifiedbythe7,65bitsofeachcommand.,,,,,,,,b7b6b5,Commandtype,Addressing,UniversalMultiline,Listen,Talk,Secondary,100,101,001,010,11X,47,Primaryaddress主地址single-bytespaceallowsforupto31Talkersand31ListenersSecondaryaddresses副地址two-byteextendthenumberofdevicesto961Talkersand961Listeners(31x31),IEEE488器件地址,ADDR0-30有效地址,ADDR31取消所有地址选择,48,IEEE488.1接口消息,地址命令(TALKLISTENCOMMANDS)SpecifywhichisgoingtobeaTALKERandwhichisgoingtobetheLISTENERinadatatransmission,MESSAGEATNEOI76543210CHAREVENTUNL100111111””AllquietTAD18101010010”R”Instrument18willbeTalkerLAD19100110011”3”Instrument19willbeListenerDATA10 x1001001”I”Message”*ID”issent0 x1000100”D”0 x0100000””LASTDATA01x0111111””EndofTransmission,49,IEEE488.1接口消息,多线通令(MULTILINEUNIVERSALCOMMANDS)Foralldevicesconnectedtothebus.-DCLDeviceCLearResetsallconnecteddevices-LLOLocalLockoutCommandDisablethelocalmode-SPESerialPollEnableSerialpollisstablishedforallconnecteddevices.Inthismode,whenadevicereceivesatalkercommandsendsthestatusbyte.-SPDSerialPollDisable-PPUParallelPollUnconfigureDevicesfinishparallelpollandcomebacktoidlestate,50,IEEE488.1接口消息,单线通令(UNILINECOMMANDS)Foralldevicesconnectedtothebussetthebuslines-IFCInterfaceclear-RENRemoteEnable-ATNAttention-EOIEndOrIdentify,51,IEEE488.1接口消息,专令(ADDRESSEDCOMMANDS)Foralldevicesthathasreceivedalistencommand.-GETGroupcutetriggerAlldevicesaddressedaslistenersstartapreviousprogrammedactioni.e.Trigger.-SDCSelectedDeviceClearResetsalladdresseddevices.-GTLGoToLocalAlladdresseddevicesreturntolocalmodefromremote.-PPCParallelPollConfigureCommandEnableparallelpolling.-TCTTakeControlTalkerCommandThedeviceaddressedasaTalkerbeginstobethenewbuscontroller.,52,IEEE488.1接口消息,副令(SECONDARYCOMMANDS)-PPEParallelPollEnableCommandConfiguresthedevicestoanswerintoaspecificDIOlinetoaparallelpolling.-PPDParallelPollDisableCommandParallelpollingoff.,53,IEEE488.1RemoteMessageCoding1,,,,,,50kinds,54,IEEE488.1RemoteMessageCoding2,,,55,IEEE488.1器件消息,器件消息是以讲者功能发出的,而非控者功能。多线器件消息主要有以下几种程控指令由IEEE488控制器来确定仪器测量功能和指挥仪器操作的消息。当器件被寻址为听者时,该器件就可接收程控指令,进而完成测试任务。测量数据是测试中获得的数据,需送给计算机处理或传递给有关器件,经编码后在发送方讲者功能与接收方听者功能间传送。,56,IEEE488.1器件消息,状态数据反映器件内部状态的数据,由字节的不同位表示仪器是否请求控者为它服务和表示器件功能的工作情况。对于器件请求控者为它服务,只要系统中有一台或多台器件有请求服务,SRQ线就被“拉”低(即“1”态),服务请求为真。由于只有一根SRQ线,控者不知道是哪些器件在请求,就进行查询。控者先发通令“串行查询使能”,然后依次发有关器件的讲地址,被寻址器件对查询做出回答,这个回答用一个字节表示,它就是状态数据。8条数据线第7位为1,表示“是我请求服务”,否则为0,而其它各位表示器件的状态。,57,IEEE488.1状态寄存器,STATUSBit6ofstatusregister设备请求其它位没有被定义数据位设置和复位的方法没有被定义,对于器件功能的工作情况,不同器件的状态数据其有关位有不同的涵义,如HP3325A函数发生器以数据线第4位为1表示仪器发生了系统故障不能工作,而以第1位为1表示程控语句有错等等。,58,IEEE488控者对器件服务请求的响应,器件的服务请求(类似于MCU的中断功能)正常请求测试结束,异常请求命令语法出错、溢出、过载,控者的响应方式串行查询并行查询,59,IEEE488串行查询SerialPolloing,,,,,,,,,,,,,,,,,,,,,,,,SRQACTIVATEDSPEsentenable控者发出串行查询命令。串行查询是所有连接在总线上的器件均必须支持的。DEVICESADDRESSED此时,当一个器件收到控者将其指定为讲者的命令时,它通过数据总线向控者发送状态字节statusbyte.SPDsentdisableSLOW,D7-D0,D7-D0,D7-D0,D7-D0,60,IEEE488.1并行查询ParallelPolling,,,,,,,,,,,,,,,,,,PPCsendPPEPPC-ParallelPollConfigureSRQACTIVATEDATNEOIPPON控者发出命令ALLDEVICESANSWERATTHESAMETIMEPPDParallelPollDisablesentFAST(一次同时查询8台仪器的状态),D0,D1,D2,D3,61,,,IEEE488总线的典型操作,ControllerInstrumentsDevices1AttentionOn2TalkAddress03ListenAddress14ClearInterface5ReadyforData6DataAvailable7DataAccept8ReadyforData9DataAvailable10DataAccept,62,IEEE488总线的典型操作,ASCIIHOIATNSRQRENIFCNRFDNDACDAV,unlisten,接口消息(控者),接口消息(控者),器件消息(讲者),器件消息(讲者),,,,,63,IEEE488接口控制,IEEE488标准对接口功能的状态和逻辑关系进行了统一而严格的规定,但对如何实现接口功能并无统一要求,只要满足接口状态图的规定,就可以采用不同的方法灵活设计。IEEE488接口主要包括三个部分接口功能电路、译码电路和总线收发器DevicesMotorola68488talker/listener,Inteli8291T/L,Inteli8292controller,uPD7210controller,GPIB总线,,GPIBDrivers,RAMROM,CPU,CONTROL,ADDRESS,,DATA,,,Tointernalcircuits,,,,,64,IEEE488接口电路,65,IEEE488接口控制,DevicesMotorola68488talker/listener,Inteli8291T/L,Inteli8292controller,uPD7210controller,66,组建IEEE488仪器系统,IEEE488仪器系统的组成PersonalcomputerPCIEEE488controllerdriverforOSIEEE488cableIEEE488instrumentsApplicationsoftware,67,组建IEEE488仪器系统,IEEE488仪器系统是通过IEEE488接口和IEEE488电缆相互联接而成。一般而言,各IEEE488仪器都能单独使用,但只有当它们配置了接口功能以后才能接入基于计算机控制的自动测试系统。IEEE488仪器系统的连接形式串行连接、星型连接和混合连接等。,星型连接,串行连接,68,IEEE488仪器,69,Agilent程控直流电源N6705A,70,Rigol,数字万用表,信号发生器,数字示波器,编程直流电源,频谱分析仪,71,IEEE488Controllers1,Plug-InControllersIEEE488controllersforplug-inbusessuchasPCIExpress,PCI,PXI,andPCMCIA,PCMCIA,PCI,PXI,PCIExpress,72,IEEE488Controllers2,ExternalControllersIEEE488convertersforcontrolofIEEE488instrumentsthroughbusessuchasUSB,Ethernet,RS232andIEEE1394.,USB-to-IEEE488,ParallelPort,73,IEEE488Controllers2,Ethernet-to-IEEE488,74,组建IEEE488仪器系统,安装IEEE488控制器IEEE488控制器在PC和仪器之间建立了一个简单、无缝连接的桥梁。配置IEEE488控制器需要安装驱动软件以便IEEE488控制器可以正常工作。连接IEEE488控制器和仪器一旦控制器被安装并且可以正常工作,就可以使用IEEE488电缆将控制器和仪器连接起来。依据IEEE488标准,使用一个IEEE488控制器可以最多控制以菊花链或星型拓扑结构连接的15台不同的仪器。,75,自动测试系统示例,76,自动测试系统示例,图示为一个基于IEEE488总线的自动测试系统。系统受计算机控制,每一IEEE488器件都预先规定好各自的地址码,用IEEE488接口母线将各器件连接成一个系统。计算机作系统的控者,也具有讲者和听者功能,在测试中可完成寻址、发出管理命令、对各器件编程、进行数据处理、安排测试顺序等多项任务。可编程直流电源和信号源都是程控的,只能作为受控的听者,向被测器件提供激励信号。数字万用表和数字频率计也是程控仪器,既可作为听者,又可作为讲者,用于测试被测器件,并输出测量结果。打印机只作听者,对各源器件送来的数据进行打印记录。该系统的任务是对被测器件的某些电参数进行测量,测得的结果送回计算机加以处理,然后将数据打印记录下来。,77,自动测试系统示例,为了完成上述测量任务,系统在计算机控制下按如下顺序动作控者发出“接口清除”命令,使接口系统恢复到初始状态,准备开始工作。控者发出“器件清除”命令,使各器件恢复到初始状态或某一指定状态。控者发出直流电源的听地址码,直流电源响应,被命为听者,随后计算机向听者传送程控数据,使直流电源向被测器件提供某一指定的直流电压。控者发出“不听”命令,直流电源不再受命,控制者随即发出信号源的听地址码,信号源受命为听者,然后计算机发出程控数据,令信号源为被测器件提供某种设定的交流激励信号。,78,自动测试系统示例,参照步骤(4)的做法,直到本次测量所需的各器件都听取了程控数据为止,然后发出“不听”命令。控制发出某仪器(如频率计)的讲地址码,数字频率计响应,受命为讲者;控者又发出另一听地址码(如计算机),使听者作好从母线听取数据的准备。受命为讲者的数字频率计在取得一个测量数据后,经母线向听者(计算机)送出,计算机听取这一数据后,即按软件规定的程序完成数据处理。控者发出打印机的听地址码,随即打印机作为听者将接收到其处理好的测量数据,并完成打印机的记录动作。,79,IEEE488通信(器件消息),,,控制器,IEEE488Interface,DMM,,,IEEE488Read,IEEE488Write,“F0R0S2“,“1.8524“,IEEE488电缆,,,,,,,,,,,,,,,,,,,,,,,,,80,IEEE488.1编程,Command,Init.,Write,Read,Close,,,,PCController,Init.,Read,Write,Close,,,,Instrument,,,Data/Status,81,IEEE488.1编程,addressstringcontainstheaddressoftheIEEE488devicewithwhichthefunctioncommunicates.Ifprimaryis2andsecondaryis3,addressstringis23.,modespecifiesconditions,otherthanreachingbytecount,forterminatingtheread.RefertoMultilineInterfaceMessagesoreinationaboutmanagingIEEE488tasks.,82,结语,IEEE488是第一条专门为测控系统定义的仪器总线,IEEE488将可程控仪器与计算机紧密联系起来,改变了电子测量仪器以往只能手工操作、单台使用的方式,可满足组建大规模自动测试系统的需求(第二代自动测试系统IEEE488叠放式仪器系统),是测控技术发展的一个重要里程碑。自IEEE488出现以后,仪器与计算机之间的关系变得更加紧密,IEEE488就像一个桥梁,连接着仪器工业和新兴的计算机工业。,83,思考题,什么是IEEE488总线它有什么特性IEEE488总线是如何保证数据的正确可靠传输的IEEE488控制器如何获知IEEE488仪器的服务请求的简要说明IEEE488的工作方式。举例说明IEEE488仪器系统的构建方法和工作过程。,QA,