首页 » 技术文章 » 基于CY7CO9449的高速PCI数据采集卡设计

基于CY7CO9449的高速PCI数据采集卡设计

作者:  时间:2010-09-14 09:38  来源:EDN

  4 驱动程序设计

  PC使用的操作系统是WindowsXP,软件设计开发环境使用的工具包括WindowsXP DDKDriver Studio27VC++60,以下着重讨论驱动程序设计。

   为了加快数据传输速度,驱动程序使用DMA的方式把CY7C09449共享存储区内的数据读取到主机的存储器内。

  使用DMA数据传输方式,要申请用于存放数据的物理地址连续的内存空间,然后要获取内存空间的物理地址和用户空间地址。

  首先在头文件中创建如下对象:

  KDmaAdapter m_Dma

  KCommonDmaBuffer m_Buffer

  然后在MyDriveDeviceOnStartDevice(Klrp I)函数创建设备描述符结构体m_MiydeviceDescript,设备描述符结构体各个域的设置如下:

  将UserSIpaceAddress传递给应用程序,则应用程序就可以访问存放数据的内存空间了。

  FPGA在每传送给CY7C09449一块2k双字的数据后就通过CY7C09449的引脚IRQ_IN向主机发送中断请求。在主机的中断服务程序中用m_Me-morjPhyPhysicalAddress设置CY7C09449DMA3E机物理基地址寄存器,然后设置DMA局部基地址寄存器、DMA长度寄存器来配置数据传输的源地址地址和数据长度,然后再写CY7C09449DMA控制寄存器来启动DMA传输。在所有数据块传输完毕,主机中断服务程序发送给应用程序一个消息,这时应用程序就可以通过UserSpaceAddress访问接收到的数据了。

  5 结论

  在高速数据采集卡的设计中FPGA对局部总线的控制逻辑由于采用了同步数据传输控制方式使得局部总线的最高传输速度可达200Mbs。在 WindowsXP下的驱动程序设计使用了DMA数据传输方式,提高了数据存储速度。高速数据采集卡可以达到80Mbs的数据采集速度,设备运行稳定,达到了设计要求。

相关推荐

基于Virtex5的PCI-Express总线接口设计

PCI  Virtex5  2011-08-16

外接PCI-E标准计划挑战Thunderbolt

PCI-E  hunderbolt  2011-06-24

力科公司启动第三届“精品工程”系列网络视频讲座会

力科在PCI-SIG开发者大会上展示PCI Express 3.0测试套件

LeCory  PCI-SIG  测试套件  2011-06-23

IDT推出PCI Express® Gen2产品,用于x86处理器

IDT  协议交换网桥  PCI Express  Gen2  2011-06-09

基于LabVIEW 语言的信号采集与处理

在线研讨会
焦点