基于Windows系统的PCI-E设备驱动设计与实现毕业论文
2021-06-25 01:45:05
摘 要
在现代数据传输和存储应用中对数据的传输速率以及稳定性提出了越来越高的要求,高速率,海量数据的实时处理需要更高总线技术来支撑,传统的PCI总线技术已经难以满足需求。因此Intel公司联合多家其他单位提出了新一代的I/O互连技术PCI-E线技术。PCI-E设备的高效稳定运行需要相应的驱动程序支撑,随着现代通信以及电子行业的快速发展,硬件设备的发展愈发迅速,对于其驱动的研究变得越发重要。
本文首先对I/O总线技术的发展现状以及PCI-E总线的特点进行详细分析,并对hi3536编解码卡驱动程序开发中涉及到的PCI-E总线技术进行了详细的研究。在对windows驱动程序开发的深入学习的基础上,根据hi3536编解码器的功能需求,提出了驱动程序的设计要求。在搭建WDK和VS2013开发环境后,根据hi3536编解码卡和PCI-E总线的特点进行了WDF模型下的驱动程序的开发,其中包括驱动程序的初始化和I/O操作两大方面。最后针对hi3536编解码卡的特点,给出了设备驱动程序的调试,安装以及测试的方法和结果。
根据测试结果,本文所开展的PCI-E设备驱动开发的研究可以很好地配合hi3536编解码卡进行工作。设计的驱动程序可以稳定运行,具有很好的实际应用价值。
关键词:PCI-E Windows驱动程序 WDF驱动模型 编解码卡 DMA传输
Abstract
In modern data transfer and storage applications for the data transfer rate and the stability of the increasingly high demands, high speed real-time processing, massive data required to support the higher bus technology. The traditional PCI bus technology has been difficult to meet the demand. Therefore, Intel more than other units jointly presented a new generation of I/O interconnect technology PCI-E Line. Efficient and stable operation of the PCI-E devices requires appropriate driver support, with modern communications and the rapid development of the electronics industry, the increasingly rapid development of hardware devices, which drives more important for research to become.
This article first I/O bus technology development status and characteristics of PCI-E bus to conduct a detailed analysis, and related to the PCI-E bus driver development as well as its configuration space for a detailed study. In the windows of the driver development on the basis of in-depth study, based on hi3536 codec functional requirements, proposed design of the driver requirements. After building driver development environment, according to PCI-E device uses to run I/O technology, research and development to achieve a driver in WDF model PCI-E devices, containing driver initialization, I/O requests, interrupt handling method DMA transfer request. Finally, the characteristics hi3536 codec card, a method and results of device driver testing, installation and testing.
According to test results, the researchers PCI-E device driver development herein may be carried out well with hi3536 codec card to work. The driver can design and stable operation, has a good practical value.
Key Words: PCI-E;Windows Driver;WDF model;Codec card;DMA
目 录
摘 要 I
Abstract II
第一章 绪论 1
1.1课题背景及意义 1
1.2 主要工作 2
1.3 文章组织结构 2
第二章 PCI-E总线概述以及hi3536编解码卡介绍 4
2.1 PCI-E总线概述 4
2.1.1 PCI-E总线标准 4
2.1.2 PCI-E总线吞吐量 5
2.1.3 PCI-E接口的配置空间 5
2.2 hi3536编解码卡介绍 6
2.3 本章小结 7
第三章 WDF模型 8
3.1 Windows驱动程序概述 8
3.2 WDF模型 8
3.2.1 WDF驱动层次 9
3.2.2 WDF驱动对象 10
3.2.3 I/O请求及传输 12
3.2.4中断请求级 14
3.3 WDF驱动程序开发环境搭建 15
3.4 本章小结 17
第四章 hi3536编解码卡驱动程序的实现 18
4.1驱动程序初始化的实现 19
4.1.1 驱动对象创建 19
4.1.2 设备对象创建、物理地址映射的实现 21
4.1.3 I/O队列的初始化 22
4.1.4 DMA传输初始化 24
4.1.5 中断处理初始化 26
4.2 驱动程序的I/O处理实现 27
4.2.1 I/O请求处理的视线 27
4.2.2 DMA传输的实现 28
4.2.3 中断处理的实现 30
4.3 应用程序与驱动程序通讯的实现 31
4.4 本章小结 31
第五章 驱动程序的调试、安装 32
5.1 驱动程序的调试 32
5.2 驱动程序的安装 33
5.3本章小结 34
结 论 35
致 谢 36
参考文献 37
- 绪论
1.1课题背景及意义
Intel公司联合多家其他单位提出了第三代的I/O互连技术PCI-E总线技术。PCIe总线采用同全双工通信技术类似的双通道传输技术,具有极快的传输速度,支持点对点串行连接方式,不需要共享总线的带宽,每个设备都有独立的专用连线,有极高的带宽满足系统的要求。在体系结构上,PCIe总线采用了比PCI总线更加先进的传输方式设备与设备间通过交换机进行连接,在软件上他们是向后兼容的。
随着人们对于视频高清化的追求,数据吞吐量急剧升高,视频文件不经过大幅度的压缩是不可能在有限的带宽中进行传输。在工业控制中,工控机有着丰富的接口,在其高速背板中有PCI-E总线插槽。通过PCI-E总线以及相关的外接设备,可以完成将视频监控所得数据快速传输至工控机中,达到对于现场情况的监控。现下而言,工控机的操作系统多是windows操作系统,且比家用机的操作系统低一到两个版本。Hi3536编解码卡可以对视频进行编解码,将其插到工控机高速背板中的PCIe x16插槽中,通过相应的驱动程序可以实现驱动程序同硬件的交互,完成信息的交流,让操作人员可以快速看到工作现场的情况,达到监控的目的。
微软为Windows驱动定义一个标准模型WDM模型。WDM是Windows Driver Model的缩写,在Windows2000之后的驱动编写中都是用该模型。相对于之前的驱动开发WDM模型由于定义了不同设备的驱动模型,Windows驱动的开发变得简单。但是WDM驱动模型下的驱动开发也具有相当大的难度,并不能像应用程序开发那样简单。因此,微软再次提出一个新的模型改善这种状况,这个模型就是WDF模型。