0 引言
随着计算机软硬件技术和控制、测量技术的不断发展,许多工程技术人员都将PC机作为控制、测量开发的首选平台。而PCI(Peripheral Component Interconnect,即外围部件互连)总线作为一种高性能、通用的局部总线,是目前计算机插卡式外设总线的事实标准。PCI总线具有32/64位总线宽度。地址线和数据线复用,支持猝发传输,传输速率高达132MB/s;系统占用率低,具有较好的兼容性;有完备的即插即用(PnP)管理体制,可同时支持多组外围设备。虽然PCI总线也经历了从PCI、PCI-X到PCI Express的发展,但PCI总线由于存在时间长,开发工具、开发资料众多,在对数据吞吐量要求不是很高的工业控制、测量领域仍有着顽强的生命力。笔者在学习了相关设计资料的基础上,设计了基于PCI总线的数据采集卡,可以完成8路数字量I/O及4路差分14位A/D采集功能。本文将根据笔者的实际经验,介绍PCI接口扩展卡的软硬件设计流程。
1 PCI总线工作方式简介
PCI总线标准由intel于1991年提出,后由PCI-SIG(PCI Special Interest Group)接替了PCI规范的发展。PCI总线是一种时分复用的双向应答总线,传输发起方称为主设备,接收方称为从设备。其主要信号定义如下:
RFAME:由主设备驱动,为低,指示一次传输的开始。
DEVSEL:由从设备驱动,为低,指示响应传输请求。
ADO~AD31:地址、数据复用信号。PCI总线的数据传输以帧为单位,每次传输由一个地址周期和多个数据周期组成。首先给出本次传输的首地址,后面紧跟一个或多个4字节宽的数据,连续传输多个数据时,其地址自动递增。
C/BE0~C/BE3:这4根线在地址传送周期,传输的是总线命令,C/BE0~C/BE3的不同组合指示在AD0~AD31上将要进行何种类型的操作,其代表的总线命令见表1;在数据传送周期,传输的是字节始能信号,用来表示在整个数据期间,AD31~AD0上的哪些字节为有效数据。
IRDY、TRDY:分别表示主设备准备好和从设备准备好。在传输过程中,只有IRDY和TRDY同时有效,传输才能继续;否则插入等待周期,用于在不同速度的设备之间协调工作。
表1地址传送周期时。C/BE0~C/BE3所代表的总线命令PRSNT1、PRSNT2:PCI板对电源的请求信息,具体含义见表2。
将PCI接口卡插入计算机插座,加电后,BIOS会根据PCI接口卡上的配置信息,为其分配相应的I/O端口、存储器空间、中断及DMA等计算机资源。
2 PCI接口卡的硬件设计
笔者设计的PCI数据采集卡使用的PCI接口芯片是CH365,CH365可将32位高速PCI总线转换为简便易用的类似于ISA总线的8位主动并行接口,支持240字节的I/O端口映射、32 K字节的存储器映射、扩展ROM以及中断。本数据采集卡仅使用了I/O端口映射及中断功能。本PCI数据采集卡使用MAXIM公司的4通道14位、差分、同时采样ADC:MAX1338,实现A/D转换功能,并将MAX1338的/EOLC引脚与CH365的INT_REQ引脚相连,以便在ADC转换完成后,向PC机发出中断申请。使用两片74HC273作为输出,一片用作8路I/O输出,另一片用作对MAX1338控制命令的输出。使用两片74HC373作为输入,一片用作8路I/O输入,另一片采集MAX1338的状态指示信号。使用TLP521-4对8路I/O输入、输出进行光电隔离。使用74LS138作为地址译码。