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

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

PCI总线接口技术及其在高速数据采集系统中的应用摘要:一种基于PCI总线的高速数据采集传输系统的实现,讨论了PCI总线控制器9054的性能及三种传输模式,提供了该系统的硬件实现和采用DMA传输方式实现数据传输的设计。关键词:PCI总线PCI9054总线控制器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所示。2PCI总线控制器的实现PCI总线是一个地址/数据、命令/字节选择信号复用的总线。它采用主从信号双向握手的方式来控制数据的传输,其接口电路设计与传统总线接口电路设计没有大的区别。一般来说,一个PCI接口电路应当完成以下几种功能:(1)地址译码及命令译码,由于PCI总线可以采用正向方式和负向方式进行译码。因此用户应视应用情况选择适当的译码方式。一般选择正向译码;为保证不会出现地址冲突,最好采用全地址译码;命令信号线C/BE[0~3]必须能加译码。(2)地址产生电路。PCI的突发传输方式包括一个地址周期和若干个数据周期,因此在PCI接口电路中必须包含高速的地址产生部件,用于向后级应用电路提供连接的地址。(3)控制信号的产生。PCI总线上的数据传输基本上由FRAME、IRDY、TRDY和DEBVSEL4根信号线控制,因此必须根据主从设备的忙闲情况相应产生这些控制信号。另外,PCI接口电路还应完成地址锁存及数据分离、命令锁存及字节选择信号分离的功能。值得注意的是:在设计这个功能时必须考虑到PCI规范中信号的负载能力。实现PCI总线控制器大体有两种方式:使用可编程器件和专用接口芯片。采用EPLD和FPGA等编程逻辑器件的优点在于其灵活的可编程性。专用芯片可以实现完整的PCI主控模块和目标模块接口功能,将复杂的PCI总线接口转换为相对简单的接口。用户可以集中精力于应用设计,而不是调试PCI总线的接口,明显缩短了开发时间。本设计应用PLX公司的PCI9054实现总线控制器。3PCI9054简介PCI9054是32位/33MHz的通用PCI总线控制器专用芯片。该芯片符合PCI总线规范2.2版,突发传输速率达到132MB/s。局部总线支持复用/非复用的32位地址/数据,可为M模式、C模式、J模式中的一种。PCI9054内部有6种可编程的FIFO,以实现零等待突发传输及局部总线和PCI总线之间的异步操作。9054支持主模式、从模式、DMA传输方式,可用于适配卡和嵌入式系统。PCI9054的结构框图如图2所示。*主模式操作主模式操作就是允许本地的CPU访问PCI总线上的内存和I/O接口。模式选择必须在PCI命令寄存器中使能给出,如PCI主设备存储器和I/O范围寄存器、PCI基址寄存器、主设备配置和命令寄存器等。主模式操作包括PCI主设备存储器和I/O译码、PCI主设备存储器和I/O配置访问、PCI双地址周期访问、PCI主设备存储器写并无效等操作。*从模式操作从模式就是允许PCI总线上的主控设备访问局部总线上的PCI9054的配置寄存器或内存,支持突发和单周期动模式传输。PCI9054通过16字长的PCI从设备读FIFO和32字长的PCI从设备写FIFO来支持从PCI总线到局部总线上的突发或单周期的存储器映射访问和I/O映射访问。PCI基址寄存器用来设定PCI存储器和I/O空间的地址。从模式操作包括延时读操作、提前读操作等。*DMA操作PCI9054有一个强大的双通道分散/收集DMA控制器,支持PCI主机和适配器内存的高铲公安厅发传输。两个独立的DMA通道能从局部总线到PCI总线和从PCI总线到局部总线传输数据。每个通道包括一个DMA控制器和一个专用双向FIFO。两个通道都支持块传输、分散/收集传输、应用或者不用EOT传输等。模式选择必须在PCI9054成为一个PCI总线主设备之间主设备使能位(PCICR[2])使能。另外,两个DMA通道都能编程实现8、16或32bit局部总线带宽;使能/使无效内部等待周期;使能/使无效局部总线突发传输;执行PCI存储器写并无效操作;设置PCI中断(INTA)或者是本地中断(LINT)等。图3和图4分别描述了从PCI到局部总一和从局总总线到PCI总线的DMA数据传输操作逻辑。4采样控制和驱动程序设计基于开发周期和成本考虑,本设计采用DMA传输模式。启动采样后,采和1KB×8的双口SRAMIDT7130作为数据采集前端与PCI总线的数据缓冲,PCI9054作为主控设备,利用其DMA通道进行数据传输。当双口SRAM采满1KB数据之后,通过EPLD(EPM7128)产生局部总线中断,PCI9054获得局部总线的控制权后,根据DMA的起始位将1KB的数据读到DMA传输的专用FIFO中,PCI9054申请占用PCI总线,获得PCI总线的控制权后,将数据写入PCI总线存储空间,从而实现一次采样和传输。可编程逻辑器件(EPLD)用以实现PCI9054与双口SRAM的I/O逻辑、传输控制逻辑、中断逻辑以及主机对数据采集通道的前端控制。PCI数据采集卡另一关键问题是驱动程序的开发。设备驱动程序提供链接到PCI板卡的软件接口,文件扩展名为.SYS的动态链接库。在Windows98和Windows2000中,设备驱动程序必须根据Windows驱动程序模型(WDM)设计。设备驱动程序的关键是如何完成硬件操作,基本功能是完成设备的初始化、对端口的读写操作、中断的设备和响应及中断的调用,以及对内存的直接读写。本设计应用KRF-Tech公司的Windriver来编写设备驱动程序,Windriver针对PLX和AMCC的专用接口芯片编写了API函数包,降低了开发难度。PCI9054以其强大的功能和简单的用户接口,为PCI总线接口的开发提供了一种简法的方法。设计者只需设计局部总线接口控制电路,即可实现与PCI总线的高速数据传。在高速数据采集系统中,利用PCI总线的高速特性实时传输和存储采集数据,有效地解决了数据传输和处理的实时性。随着PCI总线的普及应用,基于PCI总线的采集系统设计有十分广阔的前景

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功