PCI 接口扩展卡的快速开发方案 摘要:介绍了 PCI 总线扩展卡的设计思路和方法,并结合一个多功能 CAN 通信 I/O 卡的设计实例,介绍了 PCI 总线扩展卡的软硬件设计流程,给出了一套快速可行的解决方案。 关键词:PCI 总线 PLX9052 设备驱动程序 Windriver 随着计算机和控制技术的不断进展,很多工程人员都选用 PC 机作为控制系统的操作平台。为了能够和外部设备通信,PC 机上提供了外置的 USB、串口、并口及内置的 ISA、PCI 等接口。PCI 总线接口速度快,系统占用率低,有完备的即插即用(PnP)管理体制,是目前计算机插卡式外设总线的事实标准。 笔者设计了一块 PCI 总线多功能 CAN 通信 I/O 卡,可以完成数字量 I/O、CAN 总线通信的功能.本文将根据笔者的实际经验,介绍 PCI 接口扩展卡的软硬件设计流程和一种快速开发方案。 1 PCI 总线简介 PCI 总线标准由 PCISIG(PCI Special Interest Group)制定,该组织的成员有Intel、IBM、DEC 等公司。目前 PC 机中使用的 PCI 总线标准主要以 PCI2。0 为主,其频率为33MHz,字宽为 32bit,电源电压为 5V.新版的 PCI 标准向下兼容,并支持 66MHz 时钟,字宽为64bit,电压为 3。3V。 PCI 总线是一种时分复用的双向应答总线,传输发起方称为主设备,接收方称为从设备.主设备用 RFAME 信号指示,从设备拉低它的 DEVSEL 线来表示响应传输请求.PCI 总线的数据传输以帧为单位,每次传输由一个地址周期(Address Phase)和多个数据周期(Data Phase)组成,如图 1 所示。AD0~AD31 首先给出本次传输的首地址,后面紧跟一个或多个 32 位(4 字节)宽的数据,多个数据的地址自动递增。在地址周期,C/BE0~C/BE3 这四根线的不同组合指示出在 AD0~AD31 上将要进行何种类型的操作,如 C/BE0~C/BE3=0110 表示存储器读,C/BE0~C/BE3=0011 表示 I/O 写。在数据周期,C/BE0~BE3 对应 AD0~AD31 上四个字节的使能。IRDY 和 TRDY 分别表示主设备准备好和从设备准备好.在传输过程中,只有 IRDY 和 TRDY 同时有效,传输才能继续;否则插入等待周期,用于在不同速度的设备之间协调工作。 计算机的接口卡一般会用到 I/O 端口、存储器空间、中断及 DMA 等计算机资源.传统 ISA接口卡通过更改跳线来避开多块卡之间的资源冲突,PCI 接口卡则摒弃了硬件跳线,由软件统筹分配资源,这被称为即插即用。为实现此功能,PCI 协议除了可以对 I/...