文献标识码: A
文章编号: 0258-7998(2011)11-0103-04
VXI总线是一种基于VME总线的模块化仪器结构标准,它是VME总线在仪器领域里的扩展,对所有厂家开放并兼容现有的工业标准。随着现代电子技术在武器系统中的应用,电子装备在品种数量、技术复杂程度和保障模式等方面都有了许多新的变化,专用的测试设备往往功能单一、效费比低而难以满足军用测控系统的要求。VXI总线的出现为研制多功能通用测试系统提供了有利条件。
基于VXI总线的自动测试系统中,接口电路的主要作用是完成系统模块与VXI零槽控制器之间的通信,接收地址信息、数据信息和各种控制命令,并向上位机传送系统模块信息。传统的设计方案由于受芯片功能限制,大多存在响应速度慢、存储量小、可靠性差、使用不灵活及功耗大等缺点,不能完全发挥VXI总线的性能优势。
为了解决传统VXI接口电路模块的集成度、速度以及灵活性等问题,本文提出了一种基于寄存器基器件的VXI总线接口电路设计方案。
1 VXI总线接口电路设计
本方案的特点即是满足大量数据产生速度快、实时性要求高的应用。为此,系统采用了高性能的DSP(数字信号处理器),同时采用双口RAM来实现上位机与DSP间的数据传递。寄存器基接口逻辑部分主要完成对VXI总线与本地总线的接口转换、响应VXI总线的上电逻辑时序和读写操作等功能。为了达到设计目标,在本方案设计时又着重考虑了以下几方面难点问题:
(1)由于主控计算机执行速度很快,再加上VXI总线数据传输速率也很高,因此指令译码、接口电路应尽量简单以提高执行速度;
(2)要有足够大的存储空间以接收上位机发送来的控制数据,当上位机有控制数据发来时,能通知本地CPU及时读取,并能防止因本地CPU响应不及时而漏读数据;
(3)使用双端口RAM时,如果两个端口同时访问同一存储单元而产生冲突时,必须有仲裁电路;
(4)必须符合VXI总线规范设置配置寄存器,设置模块的逻辑地址。A24寻址时还需确定偏移寄存器中各位的值。
1.1系统框图
基于以上考虑,设计了图1所示的VXI总线接口电路框图。接口电路主要由寄存器基接口逻辑和实时存储器(双口RAM)组成。其中,寄存器基接口逻辑的设计中采用Interface Technology公司研制的VXI总线寄存器基接口器件IT9010来实现寄存器基接口逻辑,既解决了系统模块物理空间紧张的问题,又能提高接口逻辑电路的可靠性。
1.2 IT9010
IT9010是专用VXI总线接口芯片,具有如下特点:
(1)内部集成了VXI总线所需的寄存器,它们分别是配置寄存器、STATUS/ID寄存器、仪器类型寄存器、偏移寄存器、STATUS/CON寄存器、ID寄存器,因此IT9010也被称为寄存器基的接口芯片;
(2)具有VXI总线地址译码功能;
(3)可对VXI总线和本地总线(LocalBUS)进行仲裁;
(4)具有译码所有31位VXI总线地址(A1~A31)的能力,因此用户既可以用于24位地址(A24)设备的接口,也可以用于32位地址(A32)设备的接口;另外,IT9010还可通过外部拨码开关设置ID寄存器和仪器类型寄存器;通过微处理器对IT9010进行编程等。
这些功能特性使其与VXI总线接口变得简单方便,即使用最少的外围电路并且在PCB板上占据最小的空间。同时该器件仅需要4片廉价的支持芯片来驱动VXI总线大电流背板信号,允许设计者以最少的硬件、最低的功耗和最少的设计工时实现一个基于寄存器基的VXI总线接口,大大降低了接口电路的复杂性[1]。IT9010集成VXI总线所需的寄存器、VXI总线地址译码、VXI总线/本地总线仲裁于单一芯片中。MODID支持功能允许芯片能实现静态或动态联络基地址配置。IT9010还有31位VXI总线地址线的译码能力,可以允许使用者将芯片配置成一个A24/A32地址空间的器件[2]。一个芯片内的偏移寄存器能由器件类型配置和所需的内存空间总和来决定自动生成、译码和换算VXI总线的地址线。
1.3 系统寻址方式
为了有足够大的存储空间且方便寻址,VXI总线采用A16/A24寻址。A16寻址时配置寄存器的基地址由人工设置,采用SW DIP-8即可实现[3]。A24寄存器的基地址由系统资源管理器在初始化时写入。配置寄存器中的ID寄存器和器件类别寄存器由IT9010的IDISEL*和DTISEL*初始化输出一个已知值进行初始化。
1.4 实时存储器
实时存储器的设计采用Xilinx公司的Spartan-6 FPGA器件,在其内部设计实现双口RAM功能。其最大优点是有两套独立的地址线、数据线和控制线,使得VXI总线和本地CPU可对其同时访问,这样可大大简化电路。双口RAM的冲突仲裁问题,可利用双口RAM本身的BUSY线来解决,双口RAM的BUSY逻辑如图2所示,当VXI总线和本地CPU同时访问其中一个存储单元时,则BUSY线变低的一端读、写无效[4]。本设计中,将BUSYR线作为本地CPU机器时钟等待的控制信号。当VXI总线及本地CPU同时访问同一个存储器单元造成冲突时,如果BUSYR变低,则该信号将控制DSP进入等待状态直到BUSYR信号变为无效为止。而在VXI总线接口电路部分,用BUSYL线参与DTACK的逻辑控制,使VXI总线一方对双端口RAM访问也能正确可靠。
2 VXI总线接口电路功能分析
2.1地址译码
由于A16寄存器空间较小,不能满足整个系统的需求,在VXI接口设计时采用了A16/A24寻址模式。零槽进行A24寻址时,模块必须对A24译码,究竟零槽使用的是A16地址还是A24地址,系统模块可以从地址修改码获知。当进行A24寻址时,IT9010自动对地址修改码3DH、3EH进行响应。在A24方式下,偏移寄存器中的值必须与地址线对应的高位相符才能选中当前模块。此时,IT9010才驱动UASEL信号及VXI/LCL信号有效,其中UASEL可以作为片选信号送双口RAM。同时,地址线低位直接对存储单元寻址,在REGWR和REGRD的控制下,实现对双口RAM的读写。
此外,利用IT9010的SFAIL(系统故障)和SFINH*(系统故障禁止)与非后送VXI总线的SYSFAIL,主控模块可禁止当前模块的故障。
2.2配置寄存器的设置
根据VXI总线规范,每个寄存器基器件必须包含配置寄存器,并在系统上电过程中对其进行初始化。本模块中ID寄存器和器件类型寄存器的初始化由DSP完成,DSP启动后将根据当前模块的需求对IT9010中的相关寄存器进行写操作。
2.3数据接口电路
电路设计中由于使用了双口RAM,使得电路变得简单。双口RAM的左端口由VXI总线访问,右端口由本地CPU控制。
当VXI总线对其访问时,由IT9010的UACS*和VXI/LCL作为左端口片选信号,REGRD和REGWR作为读写信号。双口RAM中的数据经VD00~15写入或读出。
当本地CPU访问时,片选信号和读写信号由逻辑控制电路产生。本地CPU发出ZA0~9作为I/O端口地址送逻辑芯片CONTROL,并将WR、ZRD和BALE作为控制信号送CONTROL。同时本地CPU的ZD00~15发出RAM地址至锁存器,CONTROL发出LEV1或LEV2后产生LADD0~12送到双口RAM右边的地址位,同时CONTROL还发出CER1、CER2、R/WR、OER信号控制双口RAM右边的片选、读写和输出使能。双口RAM中的数据经ZD00~15写入或读出。
考虑到VXI总线的驱动能力及缓冲隔离要求[5],数据线D00~D15经双向缓冲器接到双口RAM 的I/OL上。双向缓冲器的使能引脚接IT9010上的VDBEN*引脚,作为数据选通;方向控制引脚接IT9010的VDDIR,以选择数据流向。
2.4 “邮箱”逻辑
为了确保本地CPU能及时读取上位机向本系统模块发送的控制数据,在双口RAM中设立了“邮箱”以实现VXI总线和本地CPU之间的握手。IDT7025 将存储地址FFFH和FFEH这两个单元作为“邮箱”使用。如果上位机发来控制数据写入了RAM中,并对FFFH进行写操作,则右端口的INTR*将有效,向DSP产生一个中断。本地DSP将响应此中断,运行中断服务程序去读取控制数据。
3 工程应用
VXI总线在雷达多目标生成系统中有着广泛的应用。图3即是早期雷达多目标生成系统所采用的方案,其缺点主要有:(1)采用门阵列逻辑芯片(PAL)来实现接口电路的设计,接口电路集成度低、功耗大、可靠性差;(2)主控器为51系列单片机,速度较慢;(3)双口RAM和计数器均为独立器件实现,整个系统体积大,灵活性差。
目前,基于该寄存器基器件的VXI总线接口电路已经应用于某新型雷达多目标生成系统中,它为雷达提供多个参数可控的模拟目标信号以及后拖、连续波等干扰信号。某新型雷达多目标生成系统的结构框图如图4所示。
在雷达多目标生成系统中VXI总线接口接收VXI总线上的命令并存储起来,以中断方式通知本地CPU读取命令[6]。CPU对收到的命令数据进行处理,分别形成频率码、延迟码和各个目标的特征字。频率码、延迟码经锁存后送频率引导部分;对接口电路的速度要求是:在400 ns内完成频率的引导。早期方案采用的是门阵列逻辑芯片(PAL)来实现接口电路的设计,接口电路集成度低、功耗大、可靠性差;主控器采用的是51系列单片机,读写速度慢。而本方案主控器为高端DSP器件,本地CPU速度更快[7]。由表1可见,该方案接口电路读写的速度完全满足系统要求,并优于早期方案。
系统中的各个目标特征字是按照命令写入双口RAM中一定长度的地址范围内。同步信号到来时,计数器开始计数作为地址送给双口RAM,将其中的特征字读出,形成功率码和目标指示信号送到微波部分。这样在双口RAM不同地址写入特征字就可以模拟多个目标,且脉宽、距离均可改变。因此对接口电路的实时存储容量要求是:不小于32 MB。早前方案采用的双口RAM为独立器件,而本方案采用Xilinx公司的Spartan-6 FPGA器件,在其内部设计实现双口RAM功能,可以很好地解决并行性和速度问题,且其灵活的配置易于进行修改[8]。由表2可见,该方案接口电路的实时存储容量设计为128 MB,也完全满足系统要求,并优于早期方案。
针对目前VXI接口电路模块需要使用大量芯片、接口响应速度慢的问题,本文提出了一种基于寄存器基器件的VXI总线接口设计方案,并对其功能进行了详细的分析,最后在具体应用中与早期的方案进行了性能对比,对比结果显示本方案相对于早期方案具有明显的优势并实现了设计目标。该方案可用于基于VXI接口电路的高速数据存储的设计,并已应用于工程实践中。目前该接口电路工作稳定,响应速度快,完全能够满足高速实时系统的通信需求。该方案为基于VXI总线的高速数据存储电路设计提供了新的思路,为进一步开发利用VXI总线奠定了基础。
参考文献
[1] 文华均. 一种VXI总线寄存器基接口[J]. 计算机自动测量与控制,1997,5(1):18-24.
[2] IT9010 User’s Manual. Interface Technology. Rev 4.1 April 1,1999.
[3] 徐晨曦,陈光禹.一种实用的VXI总线寄存器基接口电路的设计[J].电子技术应用,2004,30(9):35-37.
[4] 郭勇,肖明清,薛刚.双口RAM在VXI总线接口电路中的应用[J]. 测控技术,2001,20(4):51-55.
[5] 田鹏飞,胡昌华.基于VXI总线的开关量I/O模件设计[J]. 弹箭与制导学报,2010,30(2):21-24.
[6] 赵汇强,武春英,张玉萍.VXI总线寄存器基器件中断请求器的设计与实现[J].计算机测量与控制,2005,13(8):814-816.
[7] 三恒星科技.TMS320F2812 DSP原理与应用实例[M].北京:电子工业出版社,2009.
[8] 求实科技. CPLD/FPGA应用开发技术与工程实践[M]. 北京:人民邮电出版社,2005.