pci总线接口技术及其在高速数据采集系统中的应用
一种基于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总线上的数据传输基本上由frame、irdy、trdy和debvsel 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。两个通道都支持块传输、分散/收集传输、应用或者不用eot传输等。模式选择必须在pci 9054成为一个pci总线主设备之间主设备使能位(pcicr[2])使能。另外,两个dma通道都能编程实现8、16或32bit局部总线带宽;使能/使无效内部等待周期;使能/使无效局部总线突发传输;执行pci存储器写并无效操作;设置pci中断(inta)或者是本地中断(lint)等。图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和windows2000中,设备驱动程序必须根据windows驱动程序模型(wdm)设计。设备驱动程序的关键是如何完成硬件操作,基本功能是完成设备的初始化、对端口的读写操作、中断的设备和响应及中断的调用,以及对内存的直接读写。本设计应用krf-tech公司的windriver来编写设备驱动程序,windriver针对plx和amcc的专用接口芯片编写了api函数包,降低了开发难度。
pci 9054以其强大的功能和简单的用户接口,为pci总线接口的开发提供了一种简法的方法。设计者只需设计局部总线接口控制电路,即可实现与pci总线的高速数据传。在高速数据采集系统中,利用pci总线的高速特性实时传输和存储采集数据,有效地解决了数据传输和处理的实时性。随着pci总线的普及应用,基于pci总线的采集系统设计有十分广阔的前景。
JAE成功开发对应FAKRA规格的防水同轴「MX66系列」连接器
四通道数字电源控制器
【CES ASIA 2018】华为正式宣布GPU Turbo技术在各终端产品的升级计划
触摸屏失灵修复小技巧
EtherNet/IP转CAN协议网关ENC-311在汽车行业的应用
PCI总线接口技术及其在高速数据采集系统中的应用
多字节BCD码加法
80C196KB单片机对灭菌器的控制设计方案
中国制造业的未来发展将如何实现逆势增长
英伟达新技术:将VR世界与真实世界结合,用VR远程驾驶真实汽车
由于市场供大于求,第四季整体DRAM价格走弱的机会逐渐升高
小瓦扫地机器人青春版体验 实际表现完全对得起999的售价
碳化硅二极管的区别和应用市场
车用芯片缺货现象警惕全球芯片短缺
音圈马达助力北京电科院无人机专业
哥伦比亚大学最新研究出了芯片级蓝光OPA
炬芯科技蓝牙语音遥控器芯片方案解析
【科普】GMII/RGMII/S3MII/SMII/RMII/MII以太网接口基础知识
波士顿动力展示了一款超乎想象的仓储搬运机器人Handle
电脑上的AVG是什么 怎样卸载