1、(2011届)毕业设计题目基于FPGA的GPIB总线接口核设计姓名专业电子信息工程班级学号指导教师导师职称年月日基于FPGA的GPIB接口总线IP核设计摘要当前,片上系统SOC己成为系统实现的主流技术。流片风险与费用增加、上市时间压力加大、产品功能愈加复杂等因素使得SOC产业逐渐划分为IP提供者、SOC设计服务者和芯片集成者三个层次。SOC设计已走向基于IP集成的平台设计阶段,经过严格验证质量可靠的IP核成为SOC产业中的重要一环。GPIB控制器芯片是组建自动测试系统的核心,在测试领域应用广泛。文中对GPIB总线进行了简单的描述,根据芯片设计的主要思想,重点在于论述怎样用FPGA来实现IEEE
2、4882协议,并详细阐述了GPIB控制器的十种接口功能及其状态机的IP核实现。在设计的时候采用基于模块化设计思想,用VHDL语言完成各模块功能描述,通过SYNPLIFY软件的综合,用MODELSIM对设计进行了前、后仿真。最后利用生成的模块符号采取类似画电路图的方法完成整个系统芯片的IP软核设计,并用EDA工具下载到了FPGA上。为了更好地验证设计思想,借助EDA工具对GPIB控制器的工作状态进行了软件仿真,给出仿真结果,仿真波形验证了GPIB控制器的工作符合预想。关键词FPGAGPIB控制器状态机IP核IDESIGNIPCOREOFTHEGPIBCONTROLLERBASEDONFPGAAB
3、STRACTSOCHASBECOMETHEMAINSYSTEMIMPLEMENTATIONTECHNOLOGYNRERISKS,TIMETOMARKETPRESSURE,ANDEVERINCREASINGDESIGNCOMPLEXITY,ALLTHESEFACTORSDROVETHESOCINDUSTRYDIVIDEDINTOTHREEPARTSIPPROVIDER,DESIGNSERVICEPROVIDER,ANDCHIPINTERGRATORTHESOCENTERSANEWAREAPLATFORMBASEDSOCDESIGNWITHVARIOUSIPINTEGRATIONSTHESTRIC
4、TLYVERIFIEDANDRELIABLEIPCORESAREPLAYINGANESSENTIALANDSIGNIFICANTROLEINTHESOCDESIGNFLOWMEANWHILE,ASERIESOFNEWDESIGN,VERIFICATION,MANUFACTUREMETHODOLOGIESANDEDATOOLSHAVEBEENEMERGINGORBEINGDEVELOPEDTOHANDLETHESEISSUESGPIBCONTROLLERISWIDELYUSEDINAUTOMATICTESTFIELD,THEANALYZEOFINTEGRATECIRCUITSDEVELOPMEN
5、TINTHEWORLDANDTHEFACTOFOURSTAFFROOMTHEDESIGNANDREALIZATIONOFTHEGPIBCONTROLLERBASEONFPGAWILLBEDESCRIBEDINDETAILSTHISTHEMEIONLYDESCRIBETHEGPIBBUSTOTHEPOINTTHEREEMPHASISISHOWTOUSEFPGATODESIGNTHEIEEE4882PROTOCOLANDINTRODUCETHEIPCOREOFGPIBCONTROLLERTENINTERFACESFUNCTION,ESPECIALLYTHEDESIGNINGOFSTATEMACHI
6、NEACCORDINGTOIEEE488BASINGONTHEBUILDINGBLOCKDESIGNTHOUGHT,WESPLITTHEWHOLESYSTEMINTOSOMELITTLEMODULES,USINGTHEVHDLTOACCOMPLISHTHEMANDVERIFYITWITHMODELSIMAFTERITISSYNTHESIZEDBYSYNPLIFYAFTERALLTHEMODULESWEREFINISHED,THESYSTEMSOFTIPCORECANBEINSTALLEDBYLINKINGALLTHEMODULESSYMBOLTOGETHERATLAST,VHDLCODEWAS
7、IMPLEMENTEDONFPGABYEDATOOLINORDERTOVERIFYTHEIDEA,WORKINGSTATESIMULATIONOFGPIBCONTROLLERWITHEDATOOLSWASCARRIESOUT,ANDSATISFYINGRESULTWASOBTAINEDKEYWORDSFPGAGPIBCONTROLLERSTATEMACHINEIPCOREII目录摘要IABSTRACTII1绪论811课题的背景及意义812国际国内研究状况和进展813设计的总体思路914课题所完成的工作102FPGA的GPIB控制器的设计思想1021GPIB总线介绍1022GPIB接口的基本特征
8、与特点1123GPIB接口系统的功能1224GPIB的母线结构及信号143GPIB控制器IP核接口功能的设计与实现1931GPIB母线通信的接口功能设计1932听者接口功能L2133讲者接口功能T2934受方挂钩功能AH3335源方挂钩功能SH3736远地本地接口功能RL4237器件触发功能DT4638器件清除接口DC4839控者接口功能C50310主状态机的实现534结论与展望555参考文献566致谢57基于FPGA的GPIB总线接口IP核设计31绪论11课题的背景及意义随着科学技术的不断发展,很多现代化的系统,例如庞大的通信网络、复杂的过程控制、反应快速的武器系统等等,它们的研制、调试、维
9、修等工作,对测试系统的依赖性很强,这就决定了GPIB的重要地位。测试系统需要GPIB通用接口总线控制器,而控制器本质上是协议转换器。用户给计算机输入特定命令,计算机操作系统通过驱动程序向挂接在PCI/ISA总线上的控制器发起一个相应的数据交易。控制器则把交易中所得到的数据转换成一个符合GPIB协议的控制信号和数据信号,这样用户就可以通过对计算机的操作来控制挂接在GPIB母线上的各个测量仪器进行控制。GPIB虽然己经有了很长的历史,但是这种测量总线方便易用,组建自动测试系统方便,而且费用低廉。虽然近来出现了VXI等更加快速先进的测试总线,但他们大多昂贵而又麻烦,大多是插卡式的。所以,GPIB总线
10、在使用台式机组建测试系统的时候有不可替代的作用。此外,在很多对测试速度要求不高,测试仪器的体积不作要求的情况下,GPIB总线也有相当的优势。而GPIB控制芯片NAT9914是自动测试系统中的关键芯片,因此对GPIB控制芯片有一定的需求量。集成电路的飞速发展使得它在各行各业中发挥着越来越大的重要性。特别是ASIC技术的发展,用FPGA/CPLD对各类芯片进行设计和仿真,再在底层对FPGA进行布线,实现专用芯片的功能己经得到广泛的应用。此课题的研究,正是针对ASIC的发展而开展的。设计基于FPGA芯片的GPIB接口的IPCORE不仅量身定做,不浪费资源,而且通用性极强,具有自主知识产权,仪器研发人
11、员拿来稍作修改就可以应用。有了IEEE488协议的IP核,再加上以后继续深入的研发,就能实现测控领域的NAT9914芯片的自主化,所以用FPGA实现GPIB接口芯片有一定的意义和价值。本课题正是基于这样的契机以及业界的需求而决定选用FPGA实现完全独立自主的GPIB控制器。12国际国内研究状况和进展回顾测试仪器目前市场,不难发现GPIB总线具有重要的作用,外国目前,只有德州仪器(TI),美国国家仪器(NI)和NEC三家公司生产的基于IEEE488为基础协议的GPIB控制器芯片,主要是由NI公司生产的ENETGPIB和GPIB控制器为代表,但价格昂贵,单用户系统控制器要两千元,多用户系统控毕业设
12、计4制器高达二万美元。在中国,清华大学开发了基于网络的自动测试系统电子科技大学CAT实验室都推出了ENETGPIB和GPIB控制器;复旦大学,上海交通大学,四川大学,等高校,也开发了多种全新的用于教学和研究的实验仪器系统。鉴于此,在GPIB的测试系统,更全面的核心技术的厂家形成受到国内,这种国内技术的发展和军事及其他相关领域的测试整个地区将有不同程度的负面影响。随着EDA和其他新技术不断发展,以及CPLD/FPGA器件等新的器件的范围应用,无论理论创新意义上还是工程需求创新水平上,是完全有必要和具备可能使GPIB控制器的自主知识产权发展。因此,在国内同类产品的发展中具有是很明显的实际意义13设
13、计的总体思路本文用FPGA实现的GPIB,以NINAT9914公司设计的控制器芯片为参考蓝本。设计GPIB控制器芯片所实现的功能与TMS9914或NAT9914相同,包括读取和写入与访问GPIB仪器的寄存器,和微处理器的通信。该协议与国家规定的IEEE488协议完全符合,这样的设计是非常具有通用性。其中所有的核心模块完全用VHDL语言编写,它不仅具有特殊芯片的功能而且在移植性方面更加灵活。利用可写寄存器和数据总线以及控制总线对状态机进行控制,在把状态机里的各个信息存储到可写寄存器,所以计算机可以通过可写寄存器修改状态机的初值,可写寄存器也可以实时掌控状态机的各个信息。从而计算机可以通过特定的驱
14、动程序来控制连接在总线上的各个仪器芯片的内部结构是由数据通道、存储单元、状态机三个部分组成。在GPIB芯片中,状态机由讲功能、听功能、受功能、源功能和控功能等组成,十三个读写寄存器就是存储单元,寄存器和组合电路组成了数据通道,在芯片数据线和GPIB总线上数据发送和接收的时候就用到了数据通道。其中控功能有2种功能,包括负责系统控者功能和控者功能。此芯片实现的功能只是应用在控制机上的,实现的功能要比NAT9914通用接口母线适配器功能要少,这在状态机中尤为明显。基于FPGA的GPIB总线接口IP核设计514课题所完成的工作在这几个多月的时间里,本人所做的工作主要包括1、通过在对IEEE488协议的
15、理解,用VHDL语言对此协议进行编程,分块完成对NAT9914的设计,主要体现在状态机模块上。2、对设计用MODELSIM进行了功能仿真,仿真的结果基本与NAT9914的功能相符,仿真时没有考虑数据传输延时和器件延时,都当做理想状态进行的。3、仿真基本通过后,用软件SYNPLIFY进行综合。4、把编译好的程序写入FPGA进行调试,由于时间不够,所以调试没有完成。论文主要研究内容如下1状态机设计包括各子功能状态机和主状态机,这是设计的主要方面2仿真与测试,得出典型功能的时序图。2基于FPGA的GPIB控制器的设计思想21GPIB总线介绍GPIBGENERALPURPOSEINTERFACEBUS
16、是由美国惠普公司在上世纪提出来的通用仪器控制接口总线标准,目前生产的只能仪器几乎都配有GPIB标准接口。用GPIB接口卡将若干台GPIB仪器连接起来,用计算机来控制,替代传统的人为操作方式,实现对仪器的控制与操作,来完成各种不同要求的测试。它是现代测量技术与计算机技术相结合的一个范例,成功的将可编程仪器和计算机紧密联系起来,从此,电子测量仪器由最初的单台式系统向大规模自动测试系统方向迈前进了一大步。典型的GPIB测试系统是由一台计算机、一块GPIB接口卡和若干台可编程仪器组成。其中的每一台仪器被分配一个地址,由计算机进行控制操作,计算机可以灵活的调用测试系统中的任何一台仪器。当其中某个仪器被选
17、中时,计算机显示屏幕上就会显示出相应的界面,用户从而可以实时进行相应操作。而当系统中的仪器发生变化时,用户也只需要对计算机的进行相应的改动即可,由此可以体现其优越性。毕业设计622GPIB接口的基本特征与特点GPIB接口系统的局限性在于接口电路所能承载的负载能力,接口所连接的设备数目最多是14台,4米是设备之间通信的最大距离,而且平均距离不能超过2米,数据最大传输路径总长度也只有20M,或者是设备数乘以2,二者取其小,当时我在想如果通过无线射频系统是否能摆脱距离的限制,因为我知道俩仪器通信若距离过长,将导致信号发生畸变,传输的可靠性下降,数据传输速率也将变低,用无线射频系统最气脉摆脱了距离的限
18、制,而且传播速率也还可以,关键还是信号有效性还有待解决,现在RFID这么热门,也许不久的将来就会出现吧。GPIB总线由8条数据线、3条挂钩线和5条接口管理线共16条信号线构成,系统中必须至少有一个控制器即控者,专门负责角色分配,并在测试过程中始终对系统进行控制和管理。图21GPIB自动测试系统框图一个典型的GPIB接口系统的连接,如图21所示一台电脑,一个GPIB接口卡和若干GPIB仪器通过GPIB电缆连接。一般系统具有以下四个显着特点。1)GPIB接口编程方便,降低了软件的设计负担,使用高层次的编程语言基于FPGA的GPIB总线接口IP核设计72)提高了仪器设备性能指标,计算机设备通过一个G
19、PIB接口来实现操作和控制系统,可实现自校准,自诊断等,以提高测量准确性3)便于带有GPIB总线的多台仪器连接在一起,形成一个较大的测试系统,通过高效,灵活的测试以完成各种任务,易于使用4)促进了传统仪器的功能,由于仪器是连接到计算机,因此仪器在计算机的控制下更加灵活,传输,处理,综合,利用以及显示都很方便,使原来的仪器用硬件逻辑难以解决的问题可以方便的得到解决。23GPIB接口系统的功能在GPIB系统,把仪器与GPIB接口具有互动功能定义为一种接口(INTERFACEFUNCTION)。GPIB标准接口定义了10种接口功能,包括5个基本的接口功能和辅助接口功能5种,每个功能都给予设备一个功能
20、。5个基本功能如下1)控者CONTROLLER功能,被称为C功能。它是主控者,在一个系统可以提供以下五个功能来控制和管理系统的其他设备。布一般指令,副指令,地址和其他接口信息。控制监控线ATN,接口清零线IFC、远距离接口时能控制线REN、结束或识别。四个管理线。REQ的监控和响应功能。串行查询SP和并行查询PP。可以退出了用于控制传输控制器的数控系统。2)讲者或扩大讲者TALKEROREXTENDEDTALKER功能,被称为T或TE功能。此功能使得设备能发送的数据给其他设备。在串行查询(SP)可将状态信息传达给其他设备。此功能只在被定义为讲者功能时才存在,该设备是扬声器,如果只有一个字节的地
21、址且可寻址时就称为T,如果一定要2个字节的地址才可寻址则叫做TE。3)听者或扩大听者LISTENEROREXTENDEDLISTENER功能,某一简称为L或LE功能。有功能的某一设备允许在经过总线时,该设备可接收相关数据,L是一个单字节寻址。LE是一个双字节寻址。4)源方挂钩SOURCEHANDSHAKE功能,被称为SH功能。该功能使设备正确无误的提供多路信息。它使用的DAV数据有效线,还没有准备好接收线NRFD,未接受完信号线NDAC接收信号线来控制的异步多行的消息发送。此信号线利用三条信号线做三线挂钩。毕业设计85)受方挂钩ACCEPTERHANDSHAKE功能,被称为AH功能。这个功能是
22、系统中所有可程控器件必须具有的功能。AH功能控制NRFD和NDAC线的逻辑电平和标准,容许多个AH功能和一个SH功能同时运行,完成正确的信息功接收和异步传输,另外,还有5种辅助功能1服务请求SERVICEREQUEST功能,简称SR功能。这是一个器件以非同步的方式向控者提供服务请求的功能。该功能控制服务请求SRQ线。当该器件在运行中出现了一些特殊情况例如过载、仪器出现异常、程序错误等时,则该器件的SR功能将使该器件对SRQ的状态为逻辑“0112并行查询PARALLALPOLL功能,简称PP功能。当控者在总线上执行并列查询时,该功能使器件可以将并行查询PPR信息传给控者。让控者能分辨出总线上是谁
23、在要求服务。(没有要求所以没有研究)3远地/本地REMOTELOCAL功能,简称RL功能。此功能使得一个器件具有选择两种输入数据的双胞能力。一种为来自面板的信息,称为本地信息LOCALMESSAGE,另一种为来自总线的信息,称为遥控信息REMOTEMESSAGE。本地操作是指用人操作仪器板上的开关,按键和旋钮来改变仪器工作方式和功能。原地遥控操作是指仪器可通过接受外来的程控命令来改变工作方式和功能,系统在一个时间只接受一种操作方式工作。4器件触发DEVICETRIGGER功能,简称DT功能。当器件设置了DT功能后,允许器件接收控者发来的GET群执行触发指令,而开始启动某一操作。因此,DT功能称
24、作器件触发功能。5器件清除DEVICECLEAR功能,简称DC功能。具备此功能的器件能被控者“清除CLEAR”,回到器件的初始设定的预定状态。其预定的状态在器件的用户手册上指明。24GPIB的母线结构及信号线在GPIB接口系统中,有用的信号线共16条,分为以下三组。数据线8条DIO1DI08;挂钩线3条DAV、NRFD、NDAC;管理线(或叫控制线)5条ATN、IFC、REN、EOI、SRQ;此外还有若干条地线。由20多跟导线组成的母线是比较轻巧、实用的,如图22所示基于FPGA的GPIB总线接口IP核设计9图22母线结构图下面对这16条信号线作以介绍1数据输入和输出线路DIO1DI08(DA
25、TAINPUTANDOUTPUT)应注意是下标是18而不像电脑CPU的数据线角标是07。脚1对应低电平,角标8对应高电平,GPIB接口系统,通过这8条线进行传输消息。2挂钩线HANDSHAKE三条毕业设计10图23三线挂钩处理电路作为控制器的设计,这个不需要关心具体的挂钩过程。但是,为了提高控制器的调试能力,系统出现问题时能仔细观察和数据处理,三线挂钩处理电路分成为三线的挂钩过程。通过该仪器可以实际控制DAV,NDAC和NRFD信号。由于数据传输时没有时钟的同步,而且要确保发送方发送的每个字节,接收设备都能在各种不同下速度安全异步的接收,这需要使用另外的信号线连接,就是进行挂钩。GPIB标准提
26、供了三条挂钩,即DAV的线,NRFD线,NDAC线,所谓的三线挂钩。1)DAVDATAVALID数据有效线,DAV线是由源端控制。只有当的DAV1,则表明总线上数据有效,收方是可以接收;DAV0,即使有一个消息在总线上,收方也被认为是无效的,不予受理。2)NRFDNOTREADYFORDATA未准备好接收数据线,NRFD线接收消息是由收方共同控制,当在至少一个设备接收设备没有准备好,则NRFD1;直到当所有接收设备全部准备就绪,将有NRFD0。3NDACNOTDATAACCEPTED未接收完数据线,NDAC线是由接收设备共同控制的。当接收装置,在对现有的总线的消息至少一个设备接收完整的,那么N
27、DAC1;直到所有的接收设备接收完时,将有NDAC0。在源端和和受端通过三线挂钩技术采用异步传输数据的方式进行传送数据。其基本过程如图24所示基于FPGA的GPIB总线接口IP核设计11图24三线握手过程1)数据源母线上定向发送数据,但数据不会宣布生效2)受方都已经准备好接收数据,用NRFD0提示源端已准备好接收数据3)当源确认所有各方都准备好接收数据令DAV1,表示数据总线上可以收到受方需要的数据4)当受方确认数据可以接收,NRFD0不再继续下去,恢复NRFD1的状态,以备下一个周期开始5)受方开始接收数据6)受方以不同的速度接收数据,当接收最慢的设备数据接收完毕,令NDAC0,即所有各方已
28、收到7)当源确认所有受方已经接收数据完成后,原来的“数据有效“信息DAV1的不保留,令DAV0,而对在数据总线上的数据进行删除;8)受方在收到信息DAV0则恢复NDAC1,这时DAV和NRFD,NDAC线都恢复到了原来的状态,表示一个握手周期和准备下一个周期。DAV和NRFD和NDAC三线握手是非常可靠的。从源端的来看,只有受方发出唯一的“准备好接收数据“后才可以发出“数据有效“的信息,源方才可以发送信息,且仅当受方宣布,“已收到的数据源“,以删除之前数据线上的字节,并且用新的字节替换它。在受方方面,仅在数据公布有效后从源端接收数据线的消息。这将确保接受到的每个字节信息是有效的,绝不会错过,也
29、不会多收。毕业设计123管理线也称控制线5条1)ATNATTENTION线注意线,是由现行控者控制的控制线。ATN1,即现有的控制方正在工作。如果在发布命令,那么,在DIO1DIO8传输线上必然是接口消息,该消息只作用于初级接口不会发送到设备上去。当ATN0,这意味着,控者已经退出了该控制,由任命的讲者在数据总线上发送消息,译码后的信息将导致设备功能的变化(例如,更改量程,转换闸门时间,内部状态报告,存储数据等)。当ATN从0到1变化,这表明了控制要发生作用,此时,当前听者和讲者间的数据传输结束。2)IFCINTERFACECLEAR线接口清除线,接口清除线是由系统控者通过使用本线发送IFC(
30、接口清除)消息。IFC1,表明系统中各器件接口功能都恢复到初始状态。标准规定,IFC1至少100US接着令IFC0。如果IFC始终保持1不变,系统将无法运行。自动测试系统通常在测试程序开始时,控制IFC1,使得接口功能安全的恢复到初始状态。3)RENREMOTEENABLE线远程可能线。测试系统在运行开始,REN0,它使设备退回当地程控操作方式,这意味着设备工作由面板按钮,旋钮控制,改变设备的工作,就必须进行手动操作。当REN1时,该设备不能立即进入远程模式,只有在控制任命后的器件,通过控者发布指令或手动操作,在这个时候,需要按控制面板上的“返回本地”按钮才行。4)EOIENDORIDENTI
31、FY线结束或识别线,跟注意线一起示意数据线发送数据结束,还用以识别一个特定的设备。该信号线信号可以由控者或讲者产生,但都适用于不同的情况,当由讲者发出(在这种情况下,ATN的信号为“0”),表示讲者数据传输开始,当发送的最后一个字节,FIO是“1”,表示数据传输结束。当信号由控者发出的(在此情况下ATN的信号为“1”),表示控制器是正用于查询并列,数据总线是设备识别信息,对请求服务的设备进行编码。5)SQR(SERVICEREQUEST)线服务请求线,SQR功能是被有在线服务请求的所有设备所共享,是设备的SQR逻辑或。当控者控制任务结束后,仍然有能力监测SRQ线,一旦SQR1(低),到表明该系
32、统中至少需要一个设备需要控者控制,进而控者应当中断当前任务,通过调查,以确定谁发送的服务请求然后为其服务。基于FPGA的GPIB总线接口IP核设计133GPIB控制器IP核接口功能的设计与实现31GPIB母线通信的接口功能设计每种类型的GPIB接口功能本质上是一个逻辑功能。它在任何一个时间的输出不仅与当前的输入,而且其原始状态有关。在时序逻辑电路中,逻辑功能的最佳途径是使用描述状态图,GPIB每一个接口功能是一组或几组相互联系又互相排斥的状态图和该功能电路,每个应输出的远程消息。在状态图中,各状态变化之间用箭头表示。每个逻辑表达式代表过渡到下一个状态的条件。表达式由本地消息,远程消息,状态交连
33、,运算符“与”,“或”,“非”等,还提供了时间限制值。并且本地消息只在器件功能与接口功能之间的交换,不会到达总线,三个小写的英文字母表示其意义;远程信息只用于各种接口功能交换,不进入设备内部,不会引起设备工作,通常是用英文大写字母表示。交连状态是指一个功能状态接口变迁受到其他状态就扣的限制。原计划本章讨论十大接口功能的实现,但是由于时间限制,只详细的介绍了五章主功能,通过分析和转换状态图的各种接口功能,对每个功能状态的完整描述,编译并进行功能仿真生成各个接口功能逻辑单元模块,将各模块相应的输入和输出连接,产生GPIB接口功能的状态机模块,逻辑系统功能的互连。GPIB控制器的设计,总线通信接口功
34、能采用了10种GPIB接口功能集详见表32所示。下面对每个完成的接口功能模块进行了具体工作原理、RTL级电路图和功能仿真图来分别加以说明。毕业设计14表32GPIB的10种初级接口功能32听者接口功能L听功能(L)是给予了器件从接口总线上接收来自其它设备的消息,因此这些需要接受器件消息设备都应该设置T功能。对于听功能的处理能力提供了三个方法,或称作三种模式。一种是只听模式,当启动该模式时,然后可以在自动测试系统中工作也可作为普通的仪器使用。另一种是基本的听模式。这种控制方式由控者进行地址设置。在系统的工作的设备都能够得到控者的控制,控制可以改变令其变为听者,但听功能必须有能力随时接受听寻址。此
35、外,一个设备可以设置在听功能和讲功能,但两个功能不能一起工作,不能既讲又听数据。因此,在收到讲寻址以后,它会自动解除听者功能。L听者接口功能状态图如图33所示图33L功能状态图基于FPGA的GPIB总线接口IP核设计152状态图说明如下在系统的监听、控制下令器件接受听者命令,接受与该设备有关的消息或多线设备上的消息,该装置内应配置的L或LE功能。L功能分别建立了三个状态功能,即听者空闲状态(LIDS的),听者寻址状态(LADS)、听者作用态LACS。状态交连的功能即使由这三个状态控制。在听者空闲的状态,听功能不能收到任何消息,处于空闲状态。在听者寻址状态,表示该设备已被任命为听者,可以接收指令
36、,但不能接收设备的信息。在听者作用态,听者可以收到讲者更多的设备信息。1LIDSLADS以下三种情况会引起状态变迁。产生LIDSLADS设备地址开关LON(仅用于听)设置为1,该设备成为一个永久的听者,一般用于那些没有控制系统工作简单的只听的设备,如程控打印机,程控XY绘图仪等。设备收到我的听地址MLA,即MLA第二ALL功能和系统的SH的挂钩,以确保这些设备能安全的接收远程接口信息。总之,AH功能是确保那些设备能接收系统传入的消息和远程接口消息专门设置的。并在接受远程信息时必须将准备好接收数据RFD和数据己接收DAC消息发送到源器件。1受者接口功能状态图根据设计要求,AH功能需设立五个状态,
37、如图310所示。基于FPGA的GPIB总线接口IP核设计21图310AH接口功能状态图2状态图说明如下AH功能是一个标准的设备接口系统必须具备的的接口功能。通过AE功能控制总线的NRFD功能,NDAC功能和SH控制的DAV进行挂钩,为该装置提供为ACDS状态交连消息。AH功能建立五个状态受者空闲态AIDS、受者未准备好态ANRS、受者己准备好态ACRS、接收数据态ACDS、受者等待新循环态AWNS。1AIDSANRS在AIDS态AH功能不参与相连,在空闲状态,但必须发送准备好数据(RFD的)和接收数据(DAC)是被动真式的远程信息,否则会影响到其他组件的AH功能变化。当设备接口消息既没有收到,
38、也没有器件消息接收,或者刚上电,都是在AIDS状态。当接口设备要接收信息时(ATN1),或已被任命为听者(LADS1),准备接受指令,或者L在LACS态,准备接收设备消息(ATN0),应完成AIDSANRS变化。在ANRS状态,受者处于没有准备好,无法接收。对于接口用于接收消息而言,因为它们不涉及接口功能,只和接口功能有联系,所以没有ANRS态。2ANRSACRS当仪器内部准备待命时,即RDY1时,针对于非控者器件,TCS采取同步控制1,发生状态变化。3ACRSANRS平常挂钩时一般不会产生这种变化。仅当ATNATN时,受者将接收接口信息,每次将止于ACRS态,系统发送完接口信息结束控制令AT
39、N1,会由讲者毕业设计22仪器与SH功能挂钩,AH功能内部尚未准备好RDY非1时,就会形成ACRSANRS的变化。4ACRSACDS当所有的外部器件的AH功能都在ACRS状态时,则RFD1,通知发送方待命,发送方把数据放在总线上,之后令DAV1,这时AH功能将进入接收数据状态。5ACDSDAWNS当器件把信息接收完,将变化到AWNS态。令接收接口消息ATN1,标准限制了最小时限为T3,命令电路在ACDS态有一小段时间的延时,速度接收完。对于器件消息的接收,当器件数据已经接收完毕,发RDY非1,使其进入AWNS态。6AWNSANRS从AWNS态发送远地消息DAC1,通知发送方数据已经接收完毕,如
40、果发送方方令DAV0,则AH功能变化到ANRS态。因此,接收器件信息的流程是ANRSACRSACDSAWNSANRS接收接口信息的流程是ACRSACDSAWNSACRS3AH模块的语言描述利用VHDL语言来描述AH功能,大体上与SH的状态机相同,为了更好的与SH接口状态机和AH接口功能状态机配合,我们需要同步状态机设计,这样,当挂钩过程完成时,状态机的状态彼此互连,以保持连贯性。在这里,语言代码没有详细具体的说明。4AH模块符号SYMBOL图生成在AH模块可以在综合以后产生该模块后的门级结构,从而可以分析和优化源代码,直到最好的结构代码。一般情况下,仿真是在综合之前,但由于VHDL语言仿真时是
41、默认的理想情况,所以正式综合时就不能使用,因此,为了获得一个硬件的实现往往是先综合后仿真。只有在完成仿真和综合的基础上,模块的准确性和稳定性得以确保再生成符号,从而使整个系统的结构形成是很有帮助的。AH功能仿真模块,如图312所示,仿真结果如下,值得指出的是,在IEEE488的协议中,从ARCS态回到ANRS所需时间,必须满足在T2时间以内,即对ATN的响应时间必须控制在200NS,它完全可以在FPGA实现时得到满足。AH模块的符号如图313所示。基于FPGA的GPIB总线接口IP核设计23图313AH模块符号图35源方挂钩功能SH当讲者要发布多线器件信息,而系统又要发布多线接口消息时,SH功
42、能就需要配置上,与控制的DAV总线,各器件的AH功能挂钩,来控制数据传输的节奏。运行在任何时间系统,最多只有一个SH功能正常工作。1SH接口功能状态图AH功能设计和SH功能是非常相似的,就是必须有四个状态连接循环和不参与的空闲状态。这里为了解决某种原因(如那些服务请求被控者处理时)可能迫使数据序列的传递得到中止,为了使在序列中的原始数据在恢复时不会丢失(或多传递)数据,SH功能就新加了一个状态时“发送方闲等态”,因此SH总共设立了六个功能状态源空闲态SIDS、源产生态SGNS、源延迟态SDYS、源传递态STRS、源等待新循环态SWNS、源闲等态SIWS。此SH功能的状态图如图314所示。毕业设
43、计24图314SH功能状态图2状态图说明如下1SIDSSGNSPON1接通电源时,源挂钩功能处于SIDS态,此时不参与挂钩,为了不影响别的器件挂钩,对母线的激励是被动的DAV0高电平。当控者处于CACS态要发布通令、指令、地址、副令等接口消息,或讲者处于TACS态要发布程控数据、测量数据等器件消息,或器件在接受串行查询处于SPAS态发布状态数据时,SH功能应参与挂钩,产生状态变迁,进入SGNS态。在SGNS态,发出远地消息DAV0,表明母线上的数据无效,SH正在等待本器件内产生要发送的多线消息。一旦多线消息产生,则器件内部发出可使用的新字节NBA本地消息。2SGNSSDYS当NBA1进入源延迟
44、态SDYS时,仍发DAV0,这时数据已放到母线上,源方在等待受方准备好。3SDYSSTRS基于FPGA的GPIB总线接口IP核设计25变迁表语RFD如果未检测到RFD1,则继续停留在SDYS态。表语中的T1最小时限保证了数据放至母线上至少停2US以上,才会被受者接收,所以T1被称为多线消息的建立时间。当进入STRS态发送DAV1时,即宣布母线上的数据有效时,收方开始接收,此时除了中断情况以外,源方不能随意改变母线上的数据。4STRSSWNS源方收到DAC1,表明收方己收完数据,变迁至SWNS态,可发送DAV0,也可继续发送DAV105SWNSSGNS器件内产生NHA,将数据从母线上撤掉,至此完
45、成了一个字节传输的挂钩,等待新的数传。源挂钩功能设置了SIWS态,是考虑到在STRS,SWNS态发生中断时,保护现场断点,以便中断结束时,继续挂钩。另外,从硬件设计来看,设置了SIWS态,使状态变迁时有过渡状态,以免有“竞争”情况发生。在SIWS态也可以不回到断点,在NBA1时回到SIDS态。SIDS态因为处于被中断的状态,所以发送被动的DAV0消息。6中断表语A由于系统内最多允许一个SH功能起作用,故其余配备SH功能的器件不起作用。而控者要发布接口消息,讲者要发布器件消息,就必然存在一个器件的SH功能挂钩结束,另一个器件的SH功能要进入挂钩的问题。这样的器件有两类,即控者器件和讲者器件。3S
46、H功能状态机模块图SH功能模块的语言代码经过综合以后可以得到如图317的模块符号。毕业设计26图317SH模块符号图36远地本地接口功能RL远地/本地功能给予仪器在两个输入信息源之间作出选择适当的选择所具备的能力。该功能对仪器指出应该采用的是从面板输入消息,还是从接口总线远地输入的相应消息,即选择两种工作方式所具备的能力或者说是采用控者的远控,使仪器工作在远控模式或者采用面板的控制,使仪器运行于当地控制模式。1RL接口功能状态图以设计的需要为前提,RL功能设立了四个状态,如图318所示。基于FPGA的GPIB总线接口IP核设计27图318RL功能状态图2状态图说明如下RL功能有四个功能状态LO
47、CS(本地状态),LWLS(本地封锁状态),REMS(远程状态),RWLS(远程封锁状态),但没有设定闲置状态,这是因为不可能出现既不通过控制面板操作又不受控者控制的设备。本地状态(LOCS),打开电源(PON)或“远控可能消息是假(即RENO)时,系统处于这种状态。在这一点上,所有的本地控制器设备可以操作,不过,这一次的设备可以存储远程接口上传来的信息,但不能响应它,只有在REN1,才有可能接受远程控制。在“返回本地”的本地消息RTL为假时,即LLO在(GTL系统控制发送IFC组SIIS,SINS,SIAS系统控制发送REN组SRIS,SRNS,SRAS控者响应SRQ组CSNS,CSRS控制
48、转移组CIDSCADS,CACS,CTRS控制预备组CACS,CSBS,CSWS,CAWS并行查询组CACS,CPWS,CPPS,CAWS。1C接口功能状态图如图328所示基于FPGA的GPIB总线接口IP核设计33图328C功能状态图2状态图说明如下对于多控者的系统,就只能一个控者工作,在CACS状态即控者作用态,控者空闲态CIDS是其余控者所处的状态。系统控者让RSC进入SACS态,接着利用SIC进入SIAS态,某些状态有T8的限制即停留时间大于100NS,即发送IFC信息,然后再返回到SINS或者SIIS状态。在SRIS状态,令PEN1,因为时间T8的限制,确定REN1所花的时间超过10
49、0US。该系统运行时,系统发送本地消息SRE,更改为SRAS状态,令REN1,控者在工作,在大多数器件出去该状态,维持REN1。负责控制的组包括11个状态。在CIDS状态时,系统不能被控者控者,外部的激励ATN1(被动假的)。在CACS处的控者,对于外部的激励ATN1,只有在这种状态下可以释放出各种控制接口信息。当在CACS状态,在当地消息GTS(接入服务)作用下,控者就进入了CSBS态,发ATN1,此时SH功能不再起作用,并且不在SDYS状态,STRS不再起作用,下令受命听者与受命讲者之间的数据传输。对于单一的控者来说,因为它具有系统控者和负责控者俩重身份,此时的C功能的可以删除SRMS、SINS、SACS、SNAS、CTRS、CADS、CIDS,并把PON、IFC转换到CACS态,因此C功能被大大简化了。毕业设计343)C功能模块的符号图SYMBOL如图330所示图330C模块符号图310主状态机实现在共同的界面系统中,采用负逻辑电平母线上所规定,因为安全,可靠,并且易于实现。但是,设计中采用什么样的逻辑,是可以灵活选择的,只要传递到母线上的消息符合界面功能设计要求。在上面的设计中,我们使用的是正逻辑,所以必须在U0接口处设置一个非门,让要传到总线上的信息与规定相符。通过状态机实现每个子接口功能,然后生成的符号模块连接起来形成系统的状态机