电子文章 | 电子资料下载 | 家电维修 | 维修资料下载 | 加入收藏 | 全站地图
您现在所在位置:电子爱好者电子文章接口定义基于PCI Express总线的数据采集设备实现

基于PCI Express总线的数据采集设备实现

11-20 14:47:12 | http://www.5idzw.com | 接口定义 | 人气:958
标签:接口技术,微机原理与接口技术,单片机原理与接口技术,http://www.5idzw.com 基于PCI Express总线的数据采集设备实现,http://www.5idzw.com

  4.2 数据传输模式与配置函数

  驱动程序得到从数据采集设备发送的数据,并存储在指定的内存空间,根据用户的选择可以实时显示或者存储在磁盘空间。使用WinDriver编写的驱动程序通过WinDriver内核模块与硬件进行通信,本驱动程序要实现的主要功能是从设备读取指定的数据到计算机,并根据要求发送命令到设备控制寄存器对设备的各种状态进行控制。


  设备与计算机进行数据传输有2种模式:PIO模式和DMA(直接内存访问)模式。PIO模式主要实现计算机和数据采集卡之间的命令传输;DMA模式主要针对大块数据传输,传输过程中不需要经过CPU,数据直接从设备传送到内存中,数据传输的速率快,可以充分利用PCIE数据带宽。

  为了能从设备中读到数据,首先应该获得设备的信息,设备信息主要包括厂家ID号,设备内存映射空间,设备所在插槽号以及其他设备专用配置信息。只有获得了设备信息才能实现对设备的访问,这些信息通过下面2个函数得到:

  void WD_PciScanCards函数用于检测安装于PCIE总线上的设备。Void WD_PciGetCardInfo函数获取PCI设备的资源信息,例如内存资源,I/O资源,中断资源等。对设备信息的登记是通过结构WD_CARD_REGISTER来实现,它包含了硬件的各项信息。这些信息可以通过第一步中的2个函数获得。在确定WD_CARD_REGISTER结构后调用函数WDCardRegister向Windriver Kernel登记设备。在得到了设备信息并且向WinDriver注册了此设备后就可以在设备和计算机之间传输数据。

  5 结 语

  采用PCI express总线实现数据采集设备可以有效地提高数据的传输带宽,解决总线带宽不足瓶颈带来的种种问题。文中的总线设计为1个通道的PCI express,双向的读写速度为250 MB/s。后面的设计中会不断提高Pcie总线的通道数,以满足更高的总线设计需求。


上一页  [1] [2] 

,基于PCI Express总线的数据采集设备实现