基于PCI Express总线的雷达数据记录器驱动程序开发

[09-13 16:53:20]   来源:http://www.88dzw.com  接口定义   阅读:8411

文章摘要:摘要:PCI Express是一种更高性能的第三代I/O总线。相对于传统的PCI总线,它具有高速、低引脚数、点对点传输的特点,使得该总线非常适合应用于高速数据采集系统。对于记录高速的合成孔径雷达原始数据,正适合用基于PCI Express总线的采集卡实现。针对Windows XP操作系统,利用驱动程序开发工具DDK,开发了PCI Express总线接口芯片PEX8311的WDM驱动程序并成功的应用于某雷达原始数据记录器中,可以通过驱动程序以DMA块传输方式从本地总线读取雷达数据,稳定的数据记录速度可达100MB/s以上。1 引言在数据采集系统中,大量的数据必须通过总线传到计算机内存中,传统的P

基于PCI Express总线的雷达数据记录器驱动程序开发,标签:接口技术,微机原理与接口技术,http://www.88dzw.com

  摘要:PCI Express是一种更高性能的第三代I/O总线。相对于传统的PCI总线,它具有高速、低引脚数、点对点传输的特点,使得该总线非常适合应用于高速数据采集系统。对于记录高速的合成孔径雷达原始数据,正适合用基于PCI Express总线的采集卡实现。针对Windows XP操作系统,利用驱动程序开发工具DDK,开发了PCI Express总线接口芯片PEX8311的WDM驱动程序并成功的应用于某雷达原始数据记录器中,可以通过驱动程序以DMA块传输方式从本地总线读取雷达数据,稳定的数据记录速度可达100MB/s以上。

  1 引言

  在数据采集系统中,大量的数据必须通过总线传到计算机内存中,传统的PCI总线越来越不能满足人们对带宽增长的需要。为解决这一矛盾,PC行业协会和外设厂商一起发布了PCI Express总线[1]规范,并且于2004年在标准台式机上得到应用。该技术可以有效地提高设备至计算机内存的数据传输速率。相对于PCI总线,它最大的特点是实现点到点的数据传输[2],每个设备有自己专用的双向数据通道,数据以包的形式串行传输,每个通道具有单方向250MB/S的数据传输速度。多个通道可以组合在一起形成x1(单通道)、x2、x4、x8、x12、x16和x32的信道以提高带宽。

  在合成孔径雷达系统中,大量的回波数据需要实时记录下来以便进行事后成像处理。而PCI Express总线高带宽的优点可以很好的满足高速雷达数据记录的需要,而要充分发挥PCI Express总线的作用,驱动程序设计是关键。本文介绍了在Windows XP系统下,雷达数据记录器中PCI Express总线接口芯片PEX8311的驱动程序开发。

  2 雷达数据记录器介绍

  雷达数据记录器由一台服务器计算机、PCI Express接口卡、SCSI卡和SCSI硬盘四部分组成,其中PCI Express接口卡的软硬件自行设计,其它部分采用标准的外购件。雷达数据通过PCI Express接口卡传入计算机内存,计算机再将数据通过SCSI卡写在SCSI硬盘上。

  PCI Express接口卡采用美国PLX公司推出的PEX8311作为本地总线和PCI Express总线的接口。PEX8311[3]是一款x1的PCI Express接口芯片,本地端总线频率最高可达66MHZ,数据位宽32bit。PEX8311含有4KB的配置空间,其中前256字节是和PCI设备功能上是兼容的,其余是PCI Express扩展配置空间。本文采用PEX8311的引脚LINTi#接收外部中断信号,使用DMA通道0进行块DMA方式读数据。

  接口卡的结构框图如图1所示,利用差分转换芯片先将外部差分信号转换成单端信号,两块FIFO的“乒乓”传输以实现数据的连续传输,单个FIFO容量为512KB。在CPLD的控制下,两块FIFO的数据轮流通过PEX8311的DMA通道0传入计算机。


  图1  PCI Express接口卡框图

  具体工作过程:当其中一个FIFO被写满数据后,在CPLD控制下,外部数据继续写入另一个FIFO,同时,CPLD使PEX8311的LINTi#输入为低电平,这会产生一个LINT#中断,驱动程序响应中断并启动DMA传输读取FIFO中的数据到DMA缓存中。读完后,驱动程序通知应用程序将DMA缓存的数据写到SCSI盘上。

  3  WDM驱动程序概述

  WDM是一种分层驱动程序模型[4],如图2所示。系统启动时,总线驱动程序枚举总线上的设备,并为每个设备创建一个物理设备对象(PDO);然后PnP管理器根据注册表中的信息查找与这个PDO相关的过滤驱动程序和功能驱动程序,建立的过滤设备对象(FIDO)


  图2 WDM分层驱动模型

  和功能设备对象(FDO),最终,系统完成设备驱动的装入过程。设备扩展对象是与设备对象关联的另一种重要的数据结构,它是一块未分页的内存,I/O管理器自动把它分配给已建立的任何设备扩展对象,可以用它来保存与设备关联的任何信息,驱动程序需要时,只要在设备扩展对象中取出这些资源使用即可。

[1] [2] [3]  下一页


Tag:接口定义接口技术,微机原理与接口技术接口定义
分类导航
最新更新
热门排行