当前位置:主页 > 科技论文 > 电子信息论文 >

高速PCIe传输FPGA设计与KMDF驱动实现

发布时间:2020-10-28 16:57
   在大数据时代的背景下,数据传输及处理已是一个重中之重的话题。这其中涉及到三个重要点:数据传输速度必须快、数据处理方式需要灵活、数据传输过程需要稳定。在传输技术方面,PCIe总线凭借其超高的传输功率及良好的抗扰能力已处于行业的尖端地位。在保证传输速度的同时,数据的灵活处理和稳定交互也显得尤为重要。本文将PCIe总线技术结合到FPGA板卡与计算机的交互上,以FPGA板卡处理的灵活性为支撑,同时利用了微软最新的面向对象的驱动模型WDF为框架,设计并实现了内核模式下的KMDF驱动和FPGA板卡,以保证数据稳定、快速地传输并处理。本文首先进行了PCIe总线协议的理论研究,根据协议设计并实现了FPGA板卡的PCIe接口及相关模块。工作主要分为两个部分:其一是PCIe总线协议的研究,这里分别从PCIe的三个层次结构对协议标准进行了理论分析,掌握了各个层次数据包的格式及作用,同时列举了PCIe总线通信中常用的信号。其二是根据PCIe总线协议设计并实现了FPGA模块来进行数据传递和数据处理。这里的主要工作包含IP核实现、数据输入模块实现、数据输出模块实现以及FIFO队列模块的实现。IP核用于转换PCIe总线信号与FPGA板卡所用的AVALON-ST信号。数据的接收与发送工作分别由数据接收模块及数据发送模块来完成,其模块内包含转换逻辑,分别用于解析及封装AVALON信号。除此之外,本文针对FPGA模块间高耦合性导致的时间冗余设计并实现了FIFO队列模块,其平衡了各模块间的负载,有效增加了数据的传输及处理效率。在驱动设计与实现方面,本文通过对WDF框架的理论研究同时结合FPGA板卡的相关特性设计并实现了内核模式下的KMDF驱动程序。其中主要包含驱动程序的设计与实现和应用程序的设计与实现两部分工作。在驱动程序部分,首先编写了KMDF框架的相关功能,包含硬件资源分配函数、I/O回调处理函数、中断处理函数以及DMA处理函数等。由于传统DMA模块仅采用一块缓存用于映射上位机和硬件设备,这导致了接收数据会覆盖发送数据,从而无法验证发送数据并且无法实现重传。因此本文采用了两块缓存分别映射输入与输出两个空间来进行DMA传输,增加了容错率也实现了重传机制。在应用程序部分,本文利用内核API来与驱动程序进行交流,编写相关I/O控制码的处理函数来传输数据和接受数据,使数据能够直观展示。在最后的实验工作中,本文首先进行了应用程序与驱动程序间的数据传输验证,之后进行了驱动程序与FPGA板卡的通信验证,最后将三者结合并在FPGA板卡上加入简单计算逻辑以及FFT数据处理模块进行数据的传输及处理实验。经实验对比,两种方式均实现了数据的正确传输及处理,达到了实验的目的,验证上位机数据通过外设硬件进行数据处理的可行性,具有一定的应用价值及现实意义。
【学位单位】:重庆大学
【学位级别】:硕士
【学位年份】:2018
【中图分类】:TN919.1;TN791
【部分图文】:

开发板


之后是功能仿真与时序仿真。功能仿真就是对开发者设计好的电通过在仿真软件中观察各个仿真结果,来确定所设计的电路是有功能。功能仿真中不会引入具体某个 FPGA 的物理电气特性仅仅是完成逻辑功能验证。而时序仿真中会考虑到真实使用的性,它能很大程度的反映出该设计在真实应用中的功能特性硬件参数包含在仿真文件中,所以,时序仿真具有极高的精度计的实用性。最后,将仿真之后的 FPGA 程序下载并烧录之后便可进行硬件计能否在目标系统上正常工作,随后分析测试结果,进而排除发平台介绍计采用的硬件平台是深圳视飓芯微电子科技有限公司生产的 A该开发板使用的是 Altera 公司生产的 Cyclone IV 系列芯片,具75CF23C8N,其实物如图 4.2 所示

硬核,文件


计中的板卡支持 PCIe X4,在该板卡上,有 JTGA 和 AS 两个A 接口可以调试程序,使用 AS 接口来配置 EPCS 芯片从而发板上使用 27MHz 和 25MHz 有源时钟。在本设计中,采用的为了便于调试,开发板上有两个可编程按键和一个重配置按上还设计了 4 个独立的 LED 发光二极管。核设置Express IP 核是本设计的核心模块,也是整个设计的难点之I Express IP 核将直接决定整个工程能否正常运行。在 Quart的宏模块 MegaWizard Plug-In Manager 进行 IP 核的配置。ard Plug-In Manager 中创建 IP 核设计文件,并根据设计需要,然后在设计文件中例化 IP 核。,打开 MegaWizard Plug-In Manager,选择 IP Compile for PC件名,如图 4.3 所示。

硬核,寄存器,端点,兆赫兹


重庆大学硕士学位论文计使用的 FPGA 是 Cyclone IV GX 系列,且板卡支持 PCIE X4,择 Cyclone IV GX,Lanes 选择 X4,PCI Express version 选择 1性考虑,在端点设计时选择 Legacy Endpoint(老式端点)。至层时钟,在本设计中,分别将其设置为 100 兆赫兹和 125 兆赫
【参考文献】

相关期刊论文 前10条

1 张涛;牛伟颖;孟正;梅瑞;;基于Windows内核模式下进程监控的用户权限控制系统设计与实现[J];信息网络安全;2014年04期

2 李木国;黄影;刘于之;;基于FPGA的PCIe总线接口的DMA传输设计[J];计算机测量与控制;2013年01期

3 钱宇红;;USB数据传输卡WDF驱动程序开发[J];计算机应用与软件;2012年06期

4 黎绍秀;卫红;兰春嘉;;PCI-E图像采集系统的WDF驱动程序设计[J];科学技术与工程;2011年16期

5 邹敬轩;蔡皖东;;基于WDF过滤驱动的USB存储设备监控系统[J];计算机工程与科学;2010年03期

6 王兰英;居锦武;;基于IRP的Windows设备驱动程序文件操作的实现[J];四川理工学院学报(自然科学版);2010年01期

7 梁国龙;何昕;魏仲慧;王军;;PCIE数据采集系统的驱动程序开发[J];计算机工程与应用;2009年31期

8 石峰;吴建飞;刘凯;徐欣;;基于Xilinx FPGA的PCIE接口实现[J];微处理机;2008年06期

9 王兰英;居锦武;;Windows内核模式中断请求级的分析与应用[J];计算机工程与设计;2008年11期

10 史雪峰;傅华明;阿日贡巴彦尔;;基于Avalon总线TLC5628自定义IP核的开发[J];现代电子技术;2008年04期


相关硕士学位论文 前10条

1 谷亚男;基于FPGA的PCIe高速RS编解码数据传输系统的实现[D];哈尔滨工业大学;2013年

2 樊博;基于PCIe的高速图像采集处理关键技术研究[D];中国科学院研究生院(长春光学精密机械与物理研究所);2013年

3 孔朋;基于WDF的光纤传输卡PCIe接口驱动的研究和实现[D];西北大学;2013年

4 林坤;基于PCIe的高速数据采集卡的FPGA设计与实现[D];电子科技大学;2013年

5 魏芸;基于FPGA的PCIe总线DMA平台设计[D];武汉理工大学;2013年

6 关凯锋;PCIe事务层及数据链路层的实现与验证[D];西安电子科技大学;2013年

7 张亮;PCIe总线物理层的设计与验证[D];西安电子科技大学;2013年

8 李世建;基于FPGA的PCI Express接口设计及WDF驱动程序开发[D];西安电子科技大学;2013年

9 徐东;基于Avalon总线的以太网软核控制器设计[D];北京工业大学;2012年

10 李楚洲;基于PCIE总线的CCSDS标准卫星数据采集系统的设计与实现[D];华南理工大学;2011年



本文编号:2860358

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/dianzigongchenglunwen/2860358.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户d9904***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com