基于PCI-E总线的高速数据传输与存储的系统设计
摘要 | 第4-5页 |
ABSTRACT | 第5-6页 |
目录 | 第7-9页 |
第一章 绪论 | 第9-16页 |
1.1 选题背景及意义 | 第9-12页 |
1.2 PCIe总线的应用领域 | 第12-13页 |
1.2.1 PCIe总线简介 | 第12页 |
1.2.2 PCIe总线的应用领域 | 第12-13页 |
1.2.3 PCIe总线的未来发展 | 第13页 |
1.3 存储技术的介绍 | 第13-14页 |
1.4 论文主要内容 | 第14-16页 |
第二章 基于FPGA的PCI-E接口设计 | 第16-45页 |
2.1 Xilinx的PCIe硬核简介 | 第17-20页 |
2.1.1 PCIe协议层浅析 | 第17-18页 |
2.1.2 PCIe IP核的总体框架 | 第18-20页 |
2.2 PCIe协议事物层分析 | 第20-24页 |
2.2.1 PCIe协议TLP的格式 | 第20-22页 |
2.2.2 PCIe协议TLP的分类及用途 | 第22-24页 |
2.3 基于PCIe IP核的接口设计 | 第24-31页 |
2.3.1 输入输出接口设计 | 第24-25页 |
2.3.2 事物层接口设 | 第25-29页 |
2.3.3 物理层接口设计 | 第29页 |
2.3.4 IP核的中断实现 | 第29-31页 |
2.4 PCIe的链路训练验证 | 第31-38页 |
2.4.1 PCIe链路训练简介 | 第32-33页 |
2.4.2 LTSSM链路状态验证及分析 | 第33-38页 |
2.5 PCIe接口的DMA传输设计 | 第38-44页 |
2.5.1 DMA介绍及选择 | 第39-41页 |
2.5.2 PCIe的DMA控制器设计 | 第41-44页 |
2.6 本章小结 | 第44-45页 |
第三章 Linux下的PCI-E设备的驱动设计 | 第45-60页 |
3.1 Linux下的字符设备驱动框架 | 第45-50页 |
3.1.1 设备的注册与注销 | 第46-47页 |
3.1.2 字符设备驱动的主要结构体 | 第47-48页 |
3.1.3 设备驱动文件的操作接口 | 第48-50页 |
3.2 PCIe驱动设计 | 第50-56页 |
3.2.1 PCIe设备驱动中重要的数据结构 | 第50-51页 |
3.2.2 PCIe设备驱动的加载与卸载 | 第51-52页 |
3.2.3 PCIe设备驱动的接口设计 | 第52-55页 |
3.2.4 PCIe设备配置空间 | 第55-56页 |
3.3 驱动软件接口 | 第56-59页 |
3.3.1 软件接口 | 第56-58页 |
3.3.2 MPrace软件框架 | 第58-59页 |
3.4 本章小结 | 第59-60页 |
第四章 存储子系统的设计 | 第60-64页 |
4.1 存储技术发展现状及选择 | 第60-61页 |
4.2 循环内存读写设计 | 第61-62页 |
4.3 系统的RAID扩展 | 第62-63页 |
4.4 本章小结 | 第63-64页 |
第五章 系统调试 | 第64-73页 |
5.1 系统环境搭建及驱动安装 | 第64-66页 |
5.1.1 内核头文件安装 | 第64页 |
5.1.2 源码编译工具安装 | 第64-65页 |
5.1.3 驱动程序安装 | 第65-66页 |
5.2 PCIe驱动程序调试 | 第66-67页 |
5.3 PCIe接口调试 | 第67-71页 |
5.3.0 PIO读写测试 | 第67-68页 |
5.3.1 DMA写测试 | 第68-70页 |
5.3.2 DMA读测试 | 第70-71页 |
5.4 本章小结 | 第71-73页 |
第六章 总结与展望 | 第73-75页 |
6.1 论文总结 | 第73页 |
6.2 未来研究展望 | 第73-75页 |
参考文献 | 第75-77页 |
致谢 | 第77-79页 |
硕士期间发表的学术成果目录 | 第79页 |