基于WinDriver的PCIe设备驱动开发套件及数据交互实现的方法

文档序号:9727144阅读:2313来源:国知局
基于WinDriver的PCIe设备驱动开发套件及数据交互实现的方法
【技术领域】
[OOO1 ] 本发明涉及一种WinDriver设备驱动开发套件,特别涉及一种基于WinDriver的PCIe设备驱动开发套件及数据交互实现的方法。
【背景技术】
[0002]随着通信技术的不断提高,高速信号通信成为越来越多人的需求。PCIe通信作为其中的一种,被广泛应用于互联网、多媒体、数字通信等行业中。在Windows操作系统下开发PCIe设备驱动,对很多设计人员都是一定难度的,WinDriver设备驱动开发组件正是为了方便设计人员快速开发PC1、PCIe、ISA等设备驱动程序而产生的。但由于WinDriver的框架层次较复杂,许多设计人员使用起来还是有一定困难的,因此PCIe设备驱动套件开发仍是困扰很多人的一项工作。

【发明内容】

[0003]本发明正是要解决上述问题,提供一种基于WinDriver进行PCIe设备驱动套件及数据交互实现的方法。本发明采取的技术方案是,一种基于WinDriver的PCIe设备驱动套件,由PC机和ZC706开发板构成,其特征在于:PC机和ZC706开发板具备PCIe2.0x4的接口,ZC706开发板插到PC机的PCIe接口上,PC机装有WinDriver驱动开发套件和Visual Stud12012软件开发环境。
[0004]一种基于WinDriver的PCIe设备驱动套件数据交互实现的方法,ZC706开发板作为主设备,PC机作为从设备,ZC706开发板会不断的给PC机发送数据,并且通信中采用DMA模式,具体步骤如下:步骤一、将ZC706开发板插入PC机的PCIe插槽后,PC机开机,至操作系统正常启动;步骤二、用WinDriver驱动开发套件,检测当前PC机下的所有PCIe设备,找到ZC706开发板对应的一项,并为其生成简单的后缀为.1nf的驱动文件;步骤三、给ZC706开发板安装后缀为.1nf的驱动文件,至设备管理器中可以正常识别ZC706开发板;步骤四、在Visual Stud1 2012软件开发环境下,进行应用程序设计,主要完成ZC706开发板的检测、初始化、识别工作,并可以进行正常的数据通信;步骤五、进行通信模块DMA通信设计,其中链表用块DMA传输,数据用链式DMA传输,链表只需要传送一次,即可进行多次的数据传输;步骤六、重复步骤五,一次或多次至通信结束。
[0005]本发明的有益效果是:PCIe设备驱动开发简单,简练、实用,占用系统资源少,实际通信性能高效。
【附图说明】
[0006]图1是本发明的模块连接图。
[0007]图2是本发明的实现流程图。
[0008]图3WinDriver的Select your device窗口不意图。
[0009]图4WinDriver的Enter Informat1n for INF file窗口不意图。
[0010]图5WinDrive的Save Your.1NF file窗口不意图。
[0011 ]图6设备管理器中ZC706开发板示意图。
[0012]图7地址空间信息转换成的表格示意图。
[0013]图8 PCIe测试例程运行开始示意图。
[0014]图9PCIe测试例程运行结束示意图。
【具体实施方式】
[0015]以下结合实施例和附图对本发明作进一步说明,如图1、2所示,一台装有Win7操作系统的PC机,其上提供PCIe2.0x4接口,并安装了WinDriver和Visual Stud1 2012开发环境,Xi Iinx公司具有PCIe2.0x4接口的ZC706开发板,ZC706开发板作为主设备,PC机作为从设备,进行PCIe2.0x4的带宽通信,ZC706开发板作为数据采集源,通过PCIe2.0X4接口,向PC机传输数据,每次传输数据量为128MB。
[0016]如图3、4、5、6、7、8、9所示,具体步骤如下:1.在PC关机状态下,将ZC706开发板插入PC机的PCIe2.0x4接口插槽,然后给PC机开机,至Win7操作系统正常启动;
2.运行WinDriver软件,在弹出的Choose your pro ject窗口中,选择 “New hostdriver pro ject”选项,即新建一个驱动工程,在接下来弹出的Select your device窗口中,显示出当前PC机检测到的所有设备,选中ZC706开发板对应的一项,然后单击Generate.1NF f i I e按钮,弹出Enter Informat1n for INF f i Ie窗口,保持默认配置,将“Automatically install the INF file”选项选中,然后单击Next按钮,在弹出的SaveYour.1NF file窗口中,输出驱动的名字,如HighPcie,点击保存按钮,在生成HighPcie.1nf后,会自动安装该驱动文件;
3.在设备管理窗口中,查看ZC706开发板相关信息,此时驱动已被正确安装,ZC706开发板已被正确识别可用了;
4.打开VisualStud1 2012开发环境,WinDriver开发套件提供了很多可用的库函数,如WDC_Pci ScanDevices,胃0(^:)(^1^&(10€8135^1(^32等,在¥;[1101';[¥61'的安装目录下,有例程,如Xi I inx公司vi tex5相关设备的PCIe例程位于:WinDri ver安装目文件夹中,可以用这些例程进行进一步的应用程序设计,也可以自己新建一个VisualStud1 2012的工程进行应用程序设计,不管采用哪种方式,都要完成PCIe设备扫描和PCIe设备初始化工作,检测到ZC706开发板,并且可以和其进行PCI e接口交互;
5.开始DMA数据通信,首先由PC机调用WDC_DMASGBufLock函数,以链式DMA模式申请到128M空闲可用的存储空间,然后将这些存储空间的信息转化成一个信息表格,之后,根据信息表格的大小,由PC机调用WDC_DMACont i gBuf Lock函数,通过块DMA方式申请到相应大小的空闲可用的存储空间,并通过块DMA方式将信息表格发送给ZC706开发板,同时启动MSI中断信号。当ZC706开发板收到信息表格后,会进行解读,分析出PC机可用的存储空间信息,并进行128M的数据传输,当传输完成时,发出MSI中断信号,通知PC机128M数据已经发送给你了,此时,PC机的MSI中断信号已是有效状态,PC机就开始接受数据了,即从相应的存储空间中读取出ZC706开发板发来的数据;
6.如果还需要进行PCIe通信,PC机就不需要再向ZC706开发板发送信息表格,因为已经发送过一次了,此时ZC706开发板已经知道信息表格是什么了,PC机只需要启动MSI中断信号,通知ZC706开发板可以发数据了,ZC706开发板就会进行128M的数据传输,当传输完成时,发出MSI中断信号,通知PC机128M数据已经发送给你了,此时,PC机的MSI中断信号已是有效状态,PC机就开始接受数据了,即从相应的存储空间中读取出ZC706开发板发来的数据;
7.步骤6的过程可以重复O次或多次。直至PC机与ZC706开发板完成数据通信时停止。
[0017]通过实测,PCIe的接口性能满足理论值,并且通信稳定高效。
【主权项】
1.一种基于WinDriver的PCIe设备驱动套件,由PC机和ZC706开发板构成,其特征在于:PC机和ZC706开发板具备PCIe2.0x4的接口,ZC706开发板插到PC机的PCIe接口上,PC机装有WinDriver驱动开发套件和Visual Stud1 2012软件开发环境。2.一种基于WinDriver的PCIe设备驱动套件数据交互实现的方法,其特征在于:ZC706开发板作为主设备,PC机作为从设备,ZC706开发板会不断的给PC机发送数据,并且通信中采用DMA模式,具体步骤如下: 步骤一、将ZC706开发板插入PC机的PCIe插槽后,PC机开机,至操作系统正常启动;步骤二、用WinDriver驱动开发套件,检测当前PC机下的所有PCIe设备,找到ZC706开发板对应的一项,并为其生成简单的后缀为.1nf的驱动文件; 步骤三、给ZC706开发板安装后缀为.1nf的驱动文件,至设备管理器中可以正常识别ZC706开发板; 步骤四、在Visual Stud1 2012软件开发环境下,进行应用程序设计,主要完成ZC706开发板的检测、初始化、识别工作,并可以进行正常的数据通信; 步骤五、进行通信模块DMA通信设计,其中链表用块DMA传输,数据用链式DMA传输,链表只需要传送一次,即可进行多次的数据传输; 步骤六、重复步骤五,一次或多次至通信结束。
【专利摘要】本发明涉及一种基于WinDriver的PCIe设备驱动开发套件及数据交互实现的方法,一种基于WinDriver的PCIe设备驱动套件,由PC机和ZC706开发板构成,PC机和ZC706开发板具备PCIe2.0x4的接口,ZC706开发板插到PC机的PCIe接口上,PC机装有WinDriver驱动开发套件和Visual?Studio?2012软件开发环境,ZC706开发板作为主设备,PC机作为从设备,ZC706开发板会不断的给PC机发送数据,并且通信中采用DMA模式,有益效果是:PCIe设备驱动开发简单,简练、实用,占用系统资源少,实际通信性能高效。
【IPC分类】G06F9/44
【公开号】CN105487866
【申请号】CN201510842950
【发明人】刘佳, 高海源, 王东锋, 张晓峰, 杨晓波, 孟祥坤, 李洋, 李响, 王文博, 吕海清
【申请人】天津光电通信技术有限公司
【公开日】2016年4月13日
【申请日】2015年11月27日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1