摘要 | 第5-7页 |
Abstract | 第7-8页 |
缩略语对照表 | 第12-17页 |
第一章 绪论 | 第17-25页 |
1.1 课题研究背景及意义 | 第17-18页 |
1.2 数据采集系统的发展现状 | 第18-20页 |
1.3 PCIE总线的研究背景 | 第20-21页 |
1.4 论文内容与结构安排 | 第21-25页 |
第二章 PCIE协议概述 | 第25-35页 |
2.1 PCIE协议体系简介 | 第25-27页 |
2.1.1 PCIE总线拓扑结构 | 第25页 |
2.1.2 PCIE总线协议分层 | 第25-27页 |
2.1.3 PCIE总线事务介绍 | 第27页 |
2.2 PCIE事务层概述 | 第27-31页 |
2.2.1 TLP格式 | 第27-30页 |
2.2.2 路由与寻址规则 | 第30-31页 |
2.3 PCIE中断方式 | 第31-33页 |
2.3.1 MSI中断 | 第32-33页 |
2.3.2 INTx中断 | 第33页 |
2.4 PCIE配置空间 | 第33-34页 |
2.4.1 与PCI兼容的配置空间 | 第33-34页 |
2.4.2 PCIE扩展配置空间 | 第34页 |
2.5 本章小结 | 第34-35页 |
第三章 PCIE DMA控制器的FPGA设计 | 第35-63页 |
3.1 Xilinx PCI-Express IP核 | 第35-40页 |
3.1.1 功能特点 | 第36页 |
3.1.2 PCIE IP参数设置 | 第36-37页 |
3.1.3 主要接口 | 第37-40页 |
3.2 DMA发送逻辑设计 | 第40-46页 |
3.2.1 发送引擎模块 | 第40-43页 |
3.2.2 发送DMA控制模块 | 第43-46页 |
3.3 DMA接收逻辑 | 第46-51页 |
3.3.1 接收引擎模块 | 第46-47页 |
3.3.2 接收DMA控制模块 | 第47-51页 |
3.4 DMA控制寄存器模块 | 第51-53页 |
3.5 DDR3接口模块设计 | 第53-62页 |
3.5.1 DDR3控制器设计 | 第54-58页 |
3.5.2 DDR3跨时钟域设计 | 第58-60页 |
3.5.3 DMA接口转换模块 | 第60-62页 |
3.6 本章小结 | 第62-63页 |
第四章 基于Linux上位机的PCIE驱动程序开发 | 第63-75页 |
4.1 PCIE驱动程序中定义的数据结构 | 第63-65页 |
4.2 与设备操作相关的驱动程序设计 | 第65-68页 |
4.2.1 驱动模块加载/卸载 | 第65-66页 |
4.2.2 probe成员函数 | 第66-67页 |
4.2.3 remove成员函数 | 第67-68页 |
4.3 与文件操作相关的驱动设计 | 第68-73页 |
4.3.1 打开/关闭设备函数 | 第69-70页 |
4.3.2 读/写设备函数 | 第70-72页 |
4.3.3 I/O控制函数XPCIe_Ioctl | 第72-73页 |
4.4 与中断操作相关的驱动设计 | 第73页 |
4.5 本章小结 | 第73-75页 |
第五章 系统测试与验证 | 第75-83页 |
5.1 系统测试平台 | 第75页 |
5.2 驱动程序调试 | 第75-79页 |
5.2.1 驱动程序的加载 | 第76-77页 |
5.2.2 驱动程序的功能测试 | 第77-78页 |
5.2.3 配置空间/基址寄存器空间测试 | 第78-79页 |
5.3 FPGA验证与调试 | 第79-82页 |
5.3.1 PCIE总线逻辑测试 | 第80-82页 |
5.3.2 PCIE总线速度测试 | 第82页 |
5.4 本章小结 | 第82-83页 |
第六章 总结与展望 | 第83-85页 |
6.1 论文总结 | 第83页 |
6.2 未来工作展望 | 第83-85页 |
参考文献 | 第85-87页 |
致谢 | 第87-89页 |
作者简介 | 第89页 |