刘敬辉,简献忠,肖儿良,姜冠祥,蔡留美,郑照平
(1.上海理工大学 光电信息与计算机工程学院,上海 200093;2.上海雄博精密仪器股份有限公司,上海 200444)
基于WinDriver的高速PCI卡驱动开发
刘敬辉1,简献忠1,肖儿良1,姜冠祥2,蔡留美2,郑照平2
(1.上海理工大学 光电信息与计算机工程学院,上海 200093;2.上海雄博精密仪器股份有限公司,上海 200444)
针对目前大数据背景下如何提高PCI卡高速传输稳定性的问题,文中提出了基于内核中断处理及DMA传输的PCI卡驱动程序设计方法。在WinDriver生成驱动框架的基础上,采取基于VC++6.0平台进行了DMA 数据传输的实现和中断响应处理的PCI驱动程序开发。将驱动程序封装为动态链接库,用户程序调用DLL驱动PCI卡,进行高速数据传输检测。实验发现,当数据传输速度达到131 MB/s时,驱动程序运行稳定可靠不丢帧不错帧,为高速稳定PCI卡驱动程序的设计供了一种思路。
WinDriver;PCI;驱动程序;DLL
目前大数据[1]越来越受到人们的重视,如何提高高速数据传输的稳定性具有重要意义。外设部件互联总线(PCI)标准是一种高速的传输协议,经过几年的发展已经替代ISA、MAC等总线成为PC机主流总线标准[2]。它是一种地址线和数据线复用的高性能的32/64总线[3];且支持DMA传输机制[4]。因此PCI得到了广泛的应用。
基于Windows环境下PCI驱动程序的开发工具主要包括DDK[5],DriverStudio[6]和WinDriver[7]。相较于前两者Jungo公司的WinDriver改变了传统驱动程序开发方法,整个程序都工作在用户态下,使开发者不需要掌握两者所需要的预备知识就可以开发出与之相媲美的程序,大幅降低了开发难度[8]。……