《电子技术应用》
您所在的位置:首页 > 其他 > 业界动态 > PCI总线接口技术及其在高速数据采集系统中的应用

PCI总线接口技术及其在高速数据采集系统中的应用

2009-04-30
作者:谭博钊 徐元军 单 涛 陶 然

    摘  要: 一种基于PCI总线的高速数据采集传输系统的实现,讨论了PCI总线控制器9054 的性能及三种传输模式,提供了该系统的硬件实现和采用DMA传输方式实现数据传输的设计。 

    关键词: PCI总线  PCI 9054总线控制器  DMA

 

    数据采集是数字信号处理中非常重要的环节。对于不同的任务,数据采集要达到的技术指标也不相同。对于瞬态信号,雷达信号和图像处理都需要几MB/s甚至几十MB/s 的超高速采集速率。目前用于PC机的数据采集卡大部分是基于ISA总线的,这种结构的最大缺点是传输速率太低,不能实现数据的实时高速传输。PCI总线推出后,以其突出的性能备受计算机和通信业界的青睐,将取代以往的总线,成为高档机及高性能工作站外部部件的基石。PCI作为局部总线,一边与处理器和存储器总线接口;另一边为外设扩展提供了高速通道。33MHz、32位的PCI总线可以实现132MB/s的数据传输速率;64位的PCI总线性能加倍。开发以PCI总线为基础的数据采集设备是技术发展的必然要求。在实际工作中,利用PCI总线将采集数据直接传到系统内存,可有效解决数据的实时传输和存储,为信号的实时处理提供方便。 

1 数据采集系统的结构与功能 

    本数据采集系统应用于雷达视频回波信号的处理。信号由两路正交视频回波信号组成,故采用双通道。采集指标:2路采集信号,采样率为40M个样本,A/D采样字长是10位。每路数字信号字长取16位,两路合成一路共32位,将32位数据分别传入系统内存的不同区域,以便后续处理。系统设计以PCI总线控制器为基础,通过DMA方式分别将32位数据传到系统内存的不同区域。主要功能模块有:PCI总线控制器、双口SRAM、采集控制芯片EPLD、A/D部分。系统框图如图1所示。 

 

 

2 PCI总线控制器的实现 

    PCI总线是一个地址/数据、命令/字节选择信号复用的总线。它采用主从信号双向握手的方式来控制数据的传输,其接口电路设计与传统总线接口电路设计没有大的区别。一般来说,一个PCI接口电路应当完成以下几种功能:(1)地址译码及命令译码,由于PCI总线可以采用正向方式和负向方式进行译码。因此用户应视应用情况选择适当的译码方式。一般选择正向译码;为保证不会出现地址冲突,最好采用全地址译码;命令信号线C/BE[0~3]必须参加译码。(2)地址产生电路。PCI的突发传输方式包括一个地址周期和若干个数据周期,因此在PCI接口电路中必须包含高速的地址产生部件,用于向后级应用电路提供连续的地址。(3)控制信号的产生。PCI总线上的数据传输基本上由 4根信号线控制,因此必须根据主从设备的忙闲情况相应产生这些控制信号。另外,PCI接口电路还应完成地址锁存及数据分离、命令锁存及字节选择信号分离的功能。值得注意的是:在设计这个功能时必须考虑到PCI规范中信号的负载能力。实现PCI总线控制器大体有两种方式:使用可编程器件和专用接口芯片。采用EPLD和FPGA等可编程逻辑器件的优点在于其灵活的可编程性。专用芯片可以实现完整的PCI主控模块和目标模块接口功能,将复杂的PCI总线接口转换为相对简单的接口。用户可以集中精力于应用设计,而不是调试PCI总线的接口,明显缩短了开发时间。本设计应用PLX公司的PCI9054 实现总线控制器。 

3 PCI 9054简介 

    PCI 9054是32位/33MHz的通用PCI总线控制器专用芯片。该芯片符合PCI总线规范2.2版,突发传输速率达到132MB/s。局部总线支持复用/非复用的32位地址/数据,可为M模式、C模式、J模式中的一种。PCI 9054内部有6种可编程的FIFO,以实现零等待突发传输及局部总线和PCI总线之间的异步操作。9054支持主模式、从模式、DMA传输方式,可用于适配卡和嵌入式系统。PCI 9054的结构框图如图2所示。 

 

 

    ·主模式操作 

    主模式操作就是允许本地的CPU访问PCI总线上的内存和I/O接口。模式选择必须在PCI命令寄存器中使能给出,如PCI主设备存储器和I/O范围寄存器、PCI基址寄存器、主设备配置和命令寄存器等。主模式操作包括PCI主设备存储器和I/O译码、PCI主设备存储器和I/O配置访问、PCI双地址周期访问、PCI主设备存储器写并无效等操作。 

    ·从模式操作 

    从模式就是允许PCI总线上的主控设备访问局部总线上的PCI 9054的配置寄存器或内存,支持突发和单周期动模式传输。PCI 9054通过16字长的PCI从设备读FIFO和32字长的PCI从设备写FIFO来支持从PCI总线到局部总线上的突发或单周期的存储器映射访问和I/O映射访问。PCI基址寄存器用来设定PCI存储器和I/O空间的地址。从模式操作包括延时读操作、提前读操作等。 

    ·DMA操作 

    PCI 9054有一个强大的双通道分散/收集 DMA控制器,支持PCI主机和适配器内存的高效突发传输。两个独立的DMA通道能从局部总线到PCI总线和从PCI总线到局部总线传输数据。每个通道包括一个DMA控制器和一个专用双向FIFO。两个通道都支持块传输、分散/收集传输、应用或者不用传输等。模式选择必须在PCI 9054 成为一个PCI总线主设备之前由主设备使能位(PCICR[2])使能。另外,两个DMA通道都能编程实现8、16或32bit局部总线带宽;使能/使无效内部等待周期;使能/使无效局部总线突发传输;执行PCI存储器写并无效操作;设置PCI中断或者是本地中断等。图3和图4分别描述了从PCI到局部总线和从局部总线到PCI总线的DMA数据传输操作逻辑。 

 

 

 

4 采样控制和驱动程序设计 

    基于开发周期和成本考虑,本设计采用DMA传输模式。启动采样后,采用1KB×8的双口SRAM  IDT7130作为数据采集前端与PCI总线的数据缓冲,PCI 9054 作为主控设备,利用其DMA通道进行数据传输。当双口SRAM采满1KB数据之后,通过EPLD(EPM7128)产生局部总线中断,PCI9054 获得局部总线的控制权后,根据DMA的起始位将1KB的数据读到DMA传输的专用FIFO中,PCI 9054申请占用PCI总线,获得PCI总线的控制权后,将数据写入PCI总线存储空间,从而实现一次采样和传输。 

    可编程逻辑器件(EPLD)用以实现PCI 9054 与双口SRAM的I/O逻辑、传输控制逻辑、中断逻辑以及主机对数据采集通道的前端控制。 

    PCI数据采集卡的另一关键问题是驱动程序的开发。设备驱动程序提供链接到PCI板卡的软件接口,文件扩展名为.SYS的动态链接库。在Windows98和Windows 2000中,设备驱动程序必须根据Windows驱动程序模型(WDM)设计。设备驱动程序的关键是如何完成硬件操作,基本功能是完成设备的初始化、对端口的读写操作、中断的设置和响应及中断的调用,以及对内存的直接读写。本设计应用 KRF-Tech公司的Windriver来编写设备驱动程序,Windriver 针对PLX和AMCC的专用接口芯片编写了API函数包,降低了开发难度。 

    PCI 9054以其强大的功能和简单的用户接口,为PCI总线接口的开发提供了一种简洁的方法。设计者只需设计局部总线接口控制电路,即可实现与PCI总线的高速数据传输。在高速数据采集系统中,利用PCI总线的高速特性实时传输和存储采集数据,有效地解决了数据传输和处理的实时性。随着PCI总线的普及应用,基于 PCI总线的采集系统设计有十分广阔的前景。 

参考文献 

1 PCI 9054 Data Book V2.1 (Plx Technology).2000 

2 Portland PCI SIG (PCI Special Interest Group). PCI local bus Specification Revision 2.2. 1998 

3 PCI总线接口技术及其在雷达数据采集通道中的应用.微处理机,2000;(2)

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。