首页> 中文学位 >电子束曝光系统中高速数据传输卡的软件设计
【6h】

电子束曝光系统中高速数据传输卡的软件设计

代理获取

目录

文摘

英文文摘

声明

1 绪论

2 电子束曝光系统及高速数据传输卡的结构

3 高速数据传输卡的总线分析

4 高速数据传输卡基本驱动开发

5 高速数据传输的实现

6 总结

参考文献

附录:符号与标记

致 谢

攻读学位期间发表的学术论文目录

展开▼

摘要

在开发电子束曝光系统中控制部分的软硬件时,根据系统设计要求,需要数据处理速度达到300MB/s以上,由于实际数据处理单元都是由高速现场可编程门阵列(Field Programmable Gate Array, 简称FPGA)以硬件方式实现的,数据处理单元的速度足以满足系统要求。系统的速度瓶颈在于数据的传输部分,即从数据服务器传输到数据处理单元。为了解决这个问题,实际系统开发时,为数据服务器开发了一块专门用于高速数据传输的数据传输卡。该数据传输卡采用了PCI Express(Peripheral Component Interconnect Express)接口与主机进行数据通信,并利用FPGA的Aurora控制器通过光纤与数据处理单元进行高速数据传输。
   高速数据传输卡采用PCI Express接口与主机进行通信是由于PCI Express总线能提供足够的带宽。由于PCI Express一个通道能提供2.5Gbps的带宽[1],该高速数据传输卡采用了x4的方式,理论上可以达到1GB/s的有效带宽。在实际开发时并不能完全发挥总线的带宽,但达到40%的效率还是可以保证的,即该设备至少能达到400MB/s的速度,在硬件层该数据传输卡保证了系统设计的目标。
   在软件设计时,首先要为数据传输卡开发一个驱动程序。系统中数据服务器采用了x86_64的系统构架,并使用了64bit的Linux操作系统。因此就要在Linux系统下为数据传输卡开发驱动程序。驱动程序除了为应用程序提供访问硬件设备的接口之外,还要采用合适的驱动开发技术保证硬件设备的性能得以最大限度的发挥。
   高速数据传输卡是通过DMA(Direct Memory Access)方式与数据服务器主机进行大数据量的高速传输的。驱动程序在处理DMA操作时,最主要的就是为DMA数据传输分配物理地址连续的内存块,同时用于DMA传输的内存块还需要满足高速缓存的一致性。
   通常情况下,由于应用程序不能直接访问内核地址空间,应用程序对设备的访问采用双拷贝的方式,驱动程序需要在内核地址空间缓冲区与用户空间缓冲区之间进行数据拷贝,同时还需要在内核地址空间缓冲区与设备间进行数据拷贝。如果采用双拷贝方式,在DMA操作时,驱动程序先要将用户空间的数据拷贝到内核空间的DMA缓冲区,再通过DMA操作将DMA缓冲区的数据传输出去。虽然内存拷贝本身速度很快,但对于高速DMA传输而言,应用程序缓冲区与内核空间缓冲区的数据拷贝过程还是会很大程度上影响系统的性能。因此在驱动程序开发时采用了mmap方式。通过mmap方式可以将DMA缓冲区所对应的物理地址映射到用户进程空间,让用户程序通过用户空间的虚拟地址直接访问DMA缓冲区,即将数据直接存入内核DMA缓冲区中,将用户空间缓冲区与内核DMA缓冲区之间的拷贝过程去掉,从而提高系统性能。通过对系统的实际测试,采用双拷贝方式时的平均速度是224.26MB/s,采用mmap方式时的平均速度是358.88MB/s。采用mmap方式后数据传输速度比双拷贝方式提高了60%,并且达到了系统的性能要求。

著录项

  • 作者

    孙勤林;

  • 作者单位

    上海交通大学;

  • 授予单位 上海交通大学;
  • 学科 软件工程
  • 授予学位 硕士
  • 导师姓名 戚正伟,隋国荣;
  • 年度 2010
  • 页码
  • 总页数
  • 原文格式 PDF
  • 正文语种 中文
  • 中图分类 TP311.52;
  • 关键词

    电子束曝光系统; 高速数据传输卡; 软件设计;

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号