基于PCI总线的接口设计方案
扫描二维码
随时随地手机看文章
目前,PCI总线已成为新一代个人计算机的标准总线,它是一种高性能的32/64位地址数据复用总线,总线时钟频率的0~33MHz。它不象ISA异步总线那样把地址寻址和数据读写控制信号都交由微处理器产生,而是一种独立于处理器的同步总线,可以支持猝发传送。为支持即插即用功能,PCI总线规范定义了264字节的配置空间。由于PCI总线协议比较复杂,因而其接口电路实现起来比较困难,但采用通用PCI接口芯片即可很好地解决这个问题。
设计PCI接口的实现通常有两种方法:一种是用可编程器件FPGA或CPLD,另一种是用专用PCI接口芯片。二者各有优缺点:利用可编程器件自行设计PCI接口逻辑,可以根据具体的应用需要,优化接口逻辑,灵活性是该方法最大的特点,且接口逻辑也可获得较高的性能。但是由于PCI协议比较复杂,在具体的实现中也相当困难,并且各种逻辑关系验证起来也很麻烦,有时会得不偿失,把简单的设计变得复杂化了;而利用专用芯片来实现PCI总线接口是一种能够解决设计难点的有效方法。但是这种芯片必须具有较低的成本和通用性,而不限于插卡一侧的特定处理器总线,能够优化数据传输,提供配置空间,具备片内FIFO功能(用于突发性传输)等。例如南京沁恒公司的CH365,AMCC 公司的AMCC S5920、AMCC S5933,PLX 公司的PLX9054、PLX9080 等,通过专用芯片可以实现完整的PCI主控模块和目标模块的功能,将复杂的PCI总线接口转换为相对简单的用户接口,用户只要设计转换后的总线接口即可,它能实现PCI规范所要求的所有硬件接口信号和配置空间寄存器,专用接口芯片具有较低的成本和通用性,能够有效降低接口设计的难度,缩短开发时间, 并能获得较好的数据传输性能。下面将主要介绍PLX公司的PCI9054接口芯片。
PCI9054是PLX公司生产的PCI总线通用接口芯片,采用先进的PLX数据管道结构技术,符合PCIV2.1和V2.2规范。提供了两个独立的可编程DMA控制器。每个通道均支持块和分散/集中的DMA方式:在PCI总线端支持32位/33MHz;本地端(local bus)可以编程实现8、16、32位的数据宽度,传输速率最高可达132MB/s。
PCI9054作为一种桥接芯片在PCI总线和LOCAL总线之间提供传递消息,既可以作为两个总线的主控设备去控制总线,也可以作为两个总线的目标设备去响应总线。其本地总线可工作在M,C,J三种模式:M模式是专为Motorola公司的MCU设计的工作模式。C模式下9054芯片通过片内逻辑控制将PCI的地址线和数据线分开,很方便地为本地工作时序提供各种工作方式,一般较广泛应用于系统设计中。J模式是一种没有Local Master的工作模式。它的好处是地址数据线没有分开,严格仿效PCI总线的时序。
PCI热插拔技术的基本目的是在系统正常工作的同时,PCI总线上插入或拔出插件板,完成故障插件板的更换与计算机系统的重新配置。热插拔技术主要分为三种处理过程:
1)物理连接过程
热插入——在工作着
CPCI总线上加入插件板。
热拔出—— 在工作着
CPCI总线上移走插件板。
2)硬件连接过程
计算机系统在硬件上的电气连接与断开。
3)软件连接过程
计算机系统在软件上的连接与断开。
这些连接过程在系统中虽属于不同的连接层,但是彼此相互关联。例如:当物理连接不存在时,硬件连接层就不能产生电气连接。而插件板从计算机系统的PCI总线上拔出后,软件与硬件连接将自动断开。
我们研制的设备实际上是一个通用硬件平台,通过加载不同软件,它需要完成很多复杂信号的检测、解调等功能,由于受到硬件运算速度、存储量等资源限制,这些信号处理仅靠底层的硬件电路(如DSP、FPGA)将很难满足要求,这就需要传给主控板处理;另外,考虑到应用的场合,CPCI总线系统很适合我们的要求,其接口设计就成为十分重要的部分,需要从软硬件两个方面全盘考虑、精心设计,才能达到预期目标。