论文部分内容阅读
超高速分幅相机作为一种光学测量工具,在宇航、测绘、高能粒子爆破实验、工业控制中均得到了广泛应用。分幅相机以多个相机对同一目标拍摄,每一路相机产生皮秒级的延时,能检测到目标的连续变化,对瞬间动态的拍摄具有良好的效果,在科研领域具有重大实用价值。高分辨率超高速分幅相机的图像数据量非常大,传统的接口技术已经难以满足图像传输的要求。本设计采用千兆以太网接口技术来解决数据传输的问题,与传统接口技术相比,网络传输具有抗干扰能力强,传输速率快,传输距离远等优点。本设计在论述网络传输的基础上,按网络分层逐层设计系统方案。物理层使用专用物理层芯片88E1111实现,数据链路层使用千兆以太网IP核,网络层直接使用实时操作系统Vxworks含有的UDP/IP协议,应用层在PC机上编写检测程序实现。物理层和数据链路层的网络接口采用GMII接口。整个设计在Virtex-4FPGA上实现一个嵌入式系统。在系统实现过程中,硬件部分着重描述了Virtex-4FPGA的DCM时钟产生单元和三态以太网IP核的功能。软件部分使用EDK平台的XPS构建整个系统框架后,选用PowerPC405处理器,将板级开发支持包BSP移植到实时操作系统Vxworks中,在Tornado中完成嵌入式软件的编写与调试。本设计的创新点是详细阐述了网络的最关键性能指标吞吐量主要跟IP核,处理器性能和内存性能有关。特别是在操作系统中详细分析了软件通过地址映射方式,也就是系统中的总线来访问硬件代码实现软硬件结合。分析总线访问各个模块时得出网络性能也跟内存有关系。内存的指令与处理器交互,数据与IP核交互,而电路板上使用的是SDRAM,因此换用高性能缓存DDR2或者DDR3能提高网络吞吐量。实际测试过程中,影响网络吞吐量的还有网卡和PC机端操作系统,Linux操作系统比Windows系统更适合做网络传输。本文的另一个特色是程序固化上,程序不是直接烧写在系统默认的块RAM内,而是编写启动驱动,将驱动烧写在平台flash上,应用程序和测试程序则烧写在CPLD flash中,上电时先执行启动驱动小段代码,由启动程序引导处理器指针指到应用程序并且开始执行应用程序,这样解决了操作系统本身RAM容量不够的问题,并且掉电时程序不丢失。最后系统验证方式采用Xilinx官方提供的网络检测方式Netperf来检测网络的吞吐量,并且编写应用程序来验证网络传输功能,两者结合保证了设计的正确性。