《基于FPGA技术实现VXIbus模块的接口电路设计.docx》由会员分享,可在线阅读,更多相关《基于FPGA技术实现VXIbus模块的接口电路设计.docx(5页珍藏版)》请在第一文库网上搜索。
1、基于FPGA技术实现VXIbus模块的接口电路设计引言VX1总线技上经过十几年的发展,以其开放的系统环境,模块化的设计,紧凑的机械结构,良好的电磁兼容性及可靠性,小型便携和灵活的通信能力等一系列优点满足了工领域对测试与测量的需求。如今,VX1总线作为新一代的测试与测量总线已经毋庸置疑,而研制基于VXI总线的测试与测量仪器也成为当务之急,近几年各种类型的VX1总线器件相继推出,VXI总线器件主要分为:寄存宜基模块、消息基模块、存储器基模块和扩展器器件四种。目前寄存器基器件在应用中所占比例最大(约占70%),其实现方法在遵守VME协议规范的前提下各有不同。VXI寄存器基模块在VXI总线系统中仅能作
2、为从模块(听者)工作,总线模块的电路结构基本上可分为两部分:总线接口电路和功能电路。对于VX1总线模块开发者来说,接口部分为研究重点,功能电路根据具体工程要求设计,其中许多电路是成熟的,可以直接移植过来。总线接口电路的设计也可以根据两种方式来实现,一种是直接利用专用接口近作节省开发时间。目前,美国有两家公司生产专用接口芯片,CYPRESS公司的IT9010系列和InterfaceTechno1ogy公司的VIC068系列,但由于这些芯片的价格较高且其实现原理难于理解,很少采用;另一种是利用中、小规模电路基PA1、GA1、CP1D和FPGA实现。通过利用FPGA实现模块与VXI总线接口的设计过程
3、中,总结出一些通用的设计思路。功能设计以C尺寸,寄存器基A16/D16器件为例,说明该器件须实现的一般功能。 集成VXI总线地址译码逻辑以及VXIbus/1oca1bus仲裁逻辑; 产生VXI总线应答信号(DTACK*),根据数据选通信号(DS0*,DS1*)与读写信号(WRITE*)控制数据的传输方向; 产生本地存储器片选信号及I/O读写信号; 具有中断请求功能,可编程中断向量,支持中断响应菊花链; 产生本地复位信号; 支持A16器件相关寄存器,支持D16和D08(EO)从模式。以上功能除配置寄存器和器件相关寄存器外,其余都在1片FPGA芯片内实现。功能实现图1是VXI总线寄存器基模块接口框
4、图。其中,图1中的方框图部分(除功能电路)可由FPGA实现。从实现功能的角度考虑,FPGA实现VXIbUS接口电路主要由初始化电路、模块和寄存器译码电路、寄存器读写及数据传输应答、中断申请及响应等四部分组成。animBGOUDTCK数娓双网状冲9Y9CIKAMSAMO1WORD*IACK,IACKINDIAUK控割逻辑逻辑蛆址开关IACKOvrAMYtigweS件功傕区开机初始化根据VXI总线时序,在电源接通后,背板总线上SYS虺T信号由低变高,以使SOFTRST信号由高变低并启动一次模块复位自检过程。根据VXI总线协议,模块复位自检应包括各寄存器(基本配置寄存器和用户定义操作寄存器)的初始化
5、和功能电路的初始化。模块和寄存器译码一个VXIbus系统中最多可有256个器件,每个器件都有一个唯一的逻辑地址,编号从0到255。通常规定OOH逻辑地址赋予插入0号槽的为系统提供公共资源的资源管理器和0号槽器件,而FFH号在上电时赋予系统的所有空器件,其它的01HFEH号分配给任意的SC器件。每个器件的逻辑地址由人工通过“逻辑地址选择器”设定。器件选通是由VX1的地址线A6-A13和地址修改线AMO-AM5来共同实现的,具体原理如图2所示。逻辑地址作为该器件的标准组态/操作寄存器的基地址。每个VXIbus器件有一组64字节的标准组态/操作寄存器位于系统A16寻址空间的高16K字节。VX1bUS
6、系统中,各器件内部的各可寻址单元是统一分配的。每个器件都支持16位寻址方式,每个器件64字节的最小地址空间是在寄存器基地址的基础上向上叠加的,如果器件的逻辑地址为V,则器件寄存器的基地址可由下式给出:器件寄存器的基地址=215+214+VX64本版世通BDSE1奇。AHA作选通选中模块的条件用逻辑表达式描述为CARDADDR=(A13.6=1A7.0)&(AM5.0=2DHAM5.0=29H)&(IACK*=1)&(1WORD*=1),也可用语言描述为:当器件被寻址时,接收地址线A01-A15及地址修改线AMO-AM5上的信息,并将其与本模块上硬件地址开关设置的逻辑地址相比较,如果AM0-AM
7、5上的逻辑值为29H或2DH,地址线A15,A14均为1,并且A13-A6上的逻辑值与模块的逻辑地址相等时,该器件被选通,接着其译码结果被送往下一级译码控制,通过对地址A01-A05进行译码选中模块在16位地址空间的操作寄存器。组态寄存器的设置ID寄存器ID寄存器是读寄存器,用于回答本模块是寄存器基器件。其内容一般可由总线三态缓冲器读出。型号寄存器型号寄存器用于将本模块和其他模块区别。状态寄存器状态寄存器一般用5位,分别为C1(命令写入与否)、PASS(初始化或自检通过与否)、RDY(是否准备好)、DONE(命令是否执行完毕)、MOD1D*(模块是否被识别)。以上只列出了三种比较基本的寄存器的
8、使用情况,由于每个器件有64字节的标准组态/操作寄存器,其他寄存器的配置应根据需要进行安排。DTB及DTB仲裁DTB及DTB仲裁是VX1接口的核心,DTB主要包括:寻址总线、数据总线和控制总线。寻址线包括地址线A01A31数据选通线DSO*和DS1*、长字线1WORD*、读写线WR*和地址选通线AS*。存储器的最小寻址单位是字节,每一个字节都有唯一的二进制地址。VMEbUS的数据宽度为32位,因此它可以一次进行传输4个字节单元中的部分或全部字节单元,主模块用A02-A31地址线来决定所传输的哪一个4字节组,另外用4根信号线DS0*、DS1*.AOI和1WoRD*决定每次数据传输中所选择的4字节
9、组中的字节单元。字节定义及访问控制分别见表1和2。另外,数据传输总线DTB有6根地址修改线(AMOAM5),主模块可用它向从模块传递附加的二进制信息。根据VXIbUS规范,A16器件只对地址修改码29H、2DH进行响应,因此,AM2可以不参与译码。若只使用双字节访问中的字节(0-1),因此,DS0*=0DS1*=OAo1=O和1WORD读写控制该部分电路负责控制VXI总线与模块间的数据传输方向(D1R)和VXI总线与模块之间是否选通(DBEN)o逻辑表达式如下:DIR=VWRITE*;DBEN=(!VDSO*II!VDS1*)&!CARDADDR产生内部读写和选通信号该部分电路用来实现DS0*
10、、DS1*、AS*、WR1TE*等信号的产生,这些信号不需要设计,直接利用背板提供的信号直接引入FPGA电路即可,但这些信号要根据实际进行组态。VXI总线数据传输应答信号(DTACK*)锁存信号(1ATeH*)、数据传输使能信号(DBEN*)依据实际要求进行设计,它们的时序比较复杂,因此一般采用AHD1描述语言设计,通过状态机实现。中断控制与响应的处理VXI的中断请求和响应的处理完成如下任务: 使用7根中断请求线之一向监视中断请求线的中断处理盗请求一个中r断o 监控地址总线的最低3位VA3.1、IACKIN*IACK*,当IACK1N*传递到本模块时,比较VA3.1与自己使用的中断请求IRQN
11、*来判断是否为所请求的中断。 确认时,切断中断菊花链,并撤销中断请求,为中断器提供广4字节的状态/识别消息;如果中断响应条件不满足,则驱动IACKOUT*为低电平,将中断应答菊花链信号传递到下一个插槽的相应模块,中断请求继续有效。FPGA的设计FPGA的设计一般采用比较流行的MAX+P1USII软件,实现VXI总线接口电路,FPGA的设计流程包括以下几个部分:设计输入。逻辑设计的输入方法有图形输入、文本输入、波形输入和由第三方EDA工具生成的EDIF网表输入等。其中较常用的是图形输入和文本输入。图形输入使用软件系统提供的谴件库及各种符号和连线画出电原理图,形成原理图输入文件。文本输入是指以各种
12、硬件描述语言为设计工具的设计方法。MAX+P1US软件包含集成的文本编辑程序和综合工具,可以使用VHD1(超高速坐逊路硬件描述语言)、VeriIOgHD1.AHD1(AItera硬件描述语言)等硬件描述语言设计电路。 编译。主要完成器件的选择及适配,逻辑的综合及器件的装入,延时信息的提取。 仿真。是将编译产生的延时信息加入到设计中,进行布局布线后的仿真,与实际器件工作时的情况基本相同,可以检验电路的逻辑关系受布局布线的影响程度。 时序分析。可以计算点到点的器件延时矩阵,确定器件引脚上的建立时间与保持时间要求,以及关键路径的传播延时。 器件编程。用EP幽1或编程电缆将经仿真验证的配置文件写入FP
13、GA。 在线校验。给系统加入实际激励,进行测试,以检查是否完成预定功能。利用FPGA技术开发VX1接口电路时,要根据设计需要选择合适的开发系统。针对不同的VX1模块设计,选用相应容量和引脚数的FPGA芯片。在具体选择FPGA芯片型号时,应该考虑以下几个因素:芯片内部可用逻辑门数量、引脚对引脚(iTo-Pin)逻辑延迟时间、芯片的封装和引脚数等。在芯片的封装选择上,对于支持在线配置的芯片,可以选用表面贴装的,而对于只能用编程器配置的芯片,应尽量选用类似E1CC的封装,并考虑使用国座。结语用可编程器件设计VXIbus模块的接口电路使设计大大简化了,缩短了开发周期,同时VX1bUS模块的设计又有一定的规律可循,尤其是上文所提到的大部分内容在VX1bUS模块设计中具有良好的通用性,设计者可以根据功能要求的不同设计不同的逻辑电路,而接口部分的设计,可依据上文进行开发。责任gt