微型机与应用
MICROCOMPUTER & ITS APPLICATIONS
1999年 第18卷 第1期 Vol.18 No.1 1999



通用外接式MXI接口适配器的设计与实现
支超有　郑保
　　摘　要：介绍一种外接于计算机增强并行接口EPP的MXI接口适配器，说明了EPP接口与多系统扩展接口MXI功能和通信协议的转换方法。
　　关键词：MXI接口适配器　增强并行接口　多系统扩展接口　功能转换
　　基于VXI总线的虚拟仪器测试系统中，MXI(Multisystem Extersion Interface)接口常常用于实现外接计算机与VXI机箱的连接通信，或者用于多台VXI机箱的扩展互连［1］。在与VXI测试系统的外部控制器连接中，由于MXI总线接口具有很高的数据传输速率，并能实现多系统的互连，愈来愈多地受到生产厂家和用户的欢迎［2］。使用该接口连接外部计算机与VXI机箱时，要求外部计算机必须配置有MXI接口，但实际使用中，很多用户希望利用自己已有的计算机资源，作为VXI测试系统的外接控制计算机。
　　针对上述问题，本文提出利用目前计算机上通常配置的增强并行接口EPP(Enhenced Parallel Port)，通过MXI接口适配器实现用户通用计算机与VXI机箱的连接通信。
1　接口适配器的功能
　　MXI总线是NI公司于1989年提出的一种总线标准，MXI总线信号包括带奇偶位的32条地址/数据复用线，可实现多地址空间的地址变换、单级多控者优先总线仲裁、1条中断信号线、1条超时限挂死或死锁的总线错误信号及异步操作的挂钩线。可传送8位、16位、32位数据，也能完成独立的读/写操作与数据传输。有关MXI总线详细介绍可参阅文献［2］。
　　EPP协议是由Intel、Xicom和Zenith 3家公司发起制定的。EPP接口具有与标准并行接口兼容且能完成数据/地址双向传输的功能，极大地改善了PC机并行口的数据传输能力，类似于一个总线。EPP接口信号包括8位数据/地址复用线，1条读/写线，地址、数据选通线，1条中断线和1条握手控制线。与外设通信中，该接口提供了4种控制操作周期：数据读/写周期和地址读/写周期。数据周期用于主机与外设间的数据传送，地址周期用于地址、命令和控制信息的传送。EPP接口细节可参阅文献［3］。
　　基于上述分析，可设计出完成MXI和EPP通信协议功能转换的接口适配器，面向MXI总线一面，与MXI总线上设备通信；面向EPP接口一面，与计算机通信，完成计算机与MXI总线设备的数据信息传送。接口适配器与计算机通信时，可依照EPP接口特点，完成8位数据信息的传送。而实现MXI总线功能时，将接口适配器设计为只具有系统主模块功能，不允许被系统中其它主模块寻址，保证外接控制计算机作为MXI总线上一主模块，主动地和系统中其它模块进行数据通信。该接口适配器还具有MXI系统控制器功能，完成总线仲裁、菊花链驱动和总线定时等功能；在寻址和数据传输方面，设计为支持A24寻址及D8数传功能，其数据传输时，根据AD0#、AD1#和SIZE#的状态，轮流在AD0～AD7、AD8～AD15信号线上传送数据；执行中断管理的功能时，管理它所监视的中断线、请求线，实现中断的响应。
2　硬件原理及接口功能转换
　　在MXI接口适配器设计中，使用Motorola MC68HC05L11单片机完成MXI硬件总线操作与EPP总线操作的功能转换。图1是该接口适配器硬件原理图。


图1　MXI接口适配器原理图
　　MC68HC05L11单片机具有多个I/O端口，提供38根双向I/O线，通过存储管理部件MMU可实现16～32位地址总线扩展等特点［5］。图1中使用MC68HC05L11的C口和E口的I/O线与EPP接口的地址/数据复用线、控制操作、握手和中断信号线连接。其中C口8根I/O线对应EPP接口中AD0～AD7 8根地址/数据线，用于计算机与接口适配器的数据、地址和其他命令信息的传送。EPP接口中的读/写WRITE、数据选通DATASTB、地址选通ADRSTB等输出控制信号，分别接E口的PE0、PE1和PE2 3根I/O。EPP接口中断输入INTR和握手信号WAIT则接E口中PE3和PE4 2根I/O线。
　　在计算机与接口适配器的通信中，PE0～PE2设置为输入方式，PE3、PE4设置为输出方式。在数据传输时，由主机执行对EPP接口“基址+4”寄存器的读写操作，EPP控制器就会产生所需的握手和选通信号，完成1个联锁的数据读写周期；而在地址、命令信息的传送中，主机执行对EPP接口“基址+3”寄存器的读写操作，EPP控制器同样产生所需选通信号并检测握手信号，完成1个联锁的地址读写周期。单片机是通过监测与EPP接口中读写、数据和地址选通线的状态，对主机读写数据或地址信息给予响应；通过握手信号向主机反馈当前状态，通过中断线向主机申请中断。
　　接口适配器与MXI总线的通信是通过单片机的数据口、地址口、A口、B口实现的，其中A口、B口中I/O线分别接MXI总线的控制信号、仲裁信号，MX1总线的总线请求线BREQ#和中断请求线IRQ#分别接单片机的中断申请线IRQ1和IRQ2。
　　MXI总线操作中，使用AD31#～AD00# 32条数据/地址复用信号线，而MC68HC05L11单片机地址线和数据线是分离的，且只提供8位数据传输线，因此专门设计了MXI地址数据总线变换与驱动电路，在面向MXI总线操作中，实现接口适配器与单片机地址、数据线连接时，该电路在读写信号WR#、地址选通信号AS#、数据选通信号DS＃和传输宽度信号SIZE#的控制下，将单片机的地址信号和数据信号分时发送到MXI总线，或者从MXI总线读取数据信息；在8位数据信息的传送中，由AD0#、AD1#和SIZE#信号控制，轮流在AD0#～AD7#和AD8#～AD15#信号线上传送数据。此外，在该总线变换与驱动电路中包括有对地址、数据信号奇偶检错功能，用于产生和检测地址、数据信号的奇偶校验信号PAR#。MXI总线从模块接收到有效地址信息后，产生相应的奇偶校验码并与所收到的奇偶校验信息比较，相同则表明是主模块对该模块的寻址，并参与随后的数据传送过程，否则对寻址操作不响应。进行读写数据操作时，发送数据模块在发出数据信息后，仍按奇偶校验规则驱动PAR#信号，接收数据模块在接收到数据信息后，根据所接收到的数据产生奇偶校验信号并与接收的PAR#信息比较，二者相同，则认为所接收的数据信息是正确的，并驱动DTACK#信号以确认；否则，驱动BERR#线为低通知数据源模块，数据传送失效。
　　MXI总线的控制信号、仲裁信号和状态信号分别与单片机的A口与B口的I/O线连接，通过对单片机上述2个I/O端口I/O线的操作，模拟MXI总线控制或仲裁信号在数据传送过程中的状态变化，检测仲裁信号和状态信号的状态，实现单片机与MXI总线上设备的通信，完成MXI功能。
　　MXI总线申请仲裁和菊花链驱动功能用于对MXI总线控制权进行管理，保证每次只有1个主模块拥有总线控制权，并且实现各个主模块之间的总线控制权的转移。图1接口适配器中，总线申请仲裁和菊花链驱动功能由软件模拟方法实现。单片机IRQ1中断信号接MXI的总线申请信号BREQ#，通过响应IRQ1中断，处理MXI总线其它模块对总线权的申请。菊花链输入/输出信号GIN#、GOUT#接单片机PA4、PA5 2个I/O线，软件程序根据GIN#信号状态和单片机当前状态，设置GOUT#信号状态，实现硬件菊花链驱动电路的功能。当接口适配器要求拥有MXI总线控制权、申请总线请求时，同样由单片机软件驱动与BREQ#信号相连的PB5 I/O位，请求总线控制权。
　　MXI总线包含1条中断信号线IRQ#，接口适配器中，借用了单片机另1条中断请求信号线IRQ2。单片机对IRQ2的中断响应时，提供MXI总线设备要求的中断服务，对于简单的中断处理，由单片机负责完成，而对于复杂的中断处理，则由单片机通过EPP接口再向主机申请中断，由主机负责对复杂中断的处理。对MXI总线定时器的要求，借用了单片机的计时功能，以防止总线死锁，使系统瘫痪。
3　结　论
　　VXI总线自动测试系统中，计算机是整个测试系统的核心，而利用用户已有的计算机做为VXI外部控制器，是大多数用户所关心并希望的。本文介绍的MXI接口适配器，有效地解决了用户通用计算机与VXI机箱的互连问题，大大降低用户组建VXI测试系统的费用。在接口适配器的设计中，使用多端口的MC68HC05L11单片机，同时MXI地址数据总线变换与驱动电路采用FPGA(Field Programmable Gate array)技术，简化了电路的设计、并降低了接口适配器的成本。
作者单位：航空工业总公司西安第六零三所(710089)
参考文献
　1　杨安禄，陈长龄.电子仪器接口技术.成都：电子科技大学出版社，1994
　2　陈光福.VXI总线测试平台技术.成都：电子科技大学出版社，1996
　3　伍丁红.增强并行口EPP协议及高速并行口A/D适配器的设计.电子技术应用，1998；(2)：47～48
　4　李海欧，刘启鸿，曲春波.PC―MXI接口卡设计.测控技术，1997；(6)
　5　Motorola公司亚太区总部.Motorola单片机应用指南.上海：复旦大学出版社，1994
(收稿日期：1998-07-03)
