论文部分内容阅读
随着信息化、网络化、智能化技术的发展,嵌入式系统已广泛的应用到各个领域。由于嵌入式系统的复杂性不断增加,操作系统已经成为嵌入式系统中必不可少的平台。Linux作为一个优秀的操作系统,它支持多种CPU和I/O设备,源代码开放,并且能提供良好的网络支持,具有很好的可扩展性和剪裁性,非常适合作为嵌入式操作系统。
在新一代光电经纬仪中为了能够及时获取目标的变化特性和准确判断目标的位置,需要选择高帧频、大面阵的CCD像机,这样不可避免地产生了大量的高速图像数据。目标的特性和参数通常都是在事后处理中得到,所以对光电经纬仪采集到的高速图像数据进行记录就成为一项极其重要的工作,本文的主要研究内容就是根据这种应用需求开发高速图像记录软件系统。
随着高速图像记录系统的复杂化和小型化,嵌入式系统和高速图像记录系统的融合是发展的必然趋势,所以本文充分利用嵌入式Linux操作系统的优势,将嵌入式Linux应用到了高速图像记录系统中。在嵌入式Linux上实现高速图像记录软件系统需要涉及到U-Boot和Linux内核移植、文件系统建立、内核机制分析、驱动模块的设计和实现、应用程序开发等关键技术。研究工作中使用Linux底层驱动技术实现基于SCSI设备的高速记录驱动模块是研究工作的重点和难点。
首先介绍了Linux的内核结构和机制,对Linux的实时性进行了分析讨论,给出了一种基于Xenomai的Linux实时扩展方法。在充分研究了U-Boot和Linux内核的结构、功能和启动流程之后,将U-Boot和Linux内核移植到了以PowerPC为核心的记录单元硬件平台上,并使用了JFFS2文件系统构建了完整的嵌入式Linux软件平台,同时在该平台上支持了FTP、Telnet等应用服务。
为了设计和实现高速记录驱动模块,研究了Linux内核中SCSI设备操作机制,对SCSI设备操作的程序架构和流程进行了详细的分析。并对程序流程中所涉及到的内存管理和映射以及中断处理等主要部分给出了解释。然后根据内核的机制和结构,结合高速记录系统的专用需求,设计和实现了高速记录驱动模块。该模块打破了Linux内核中PCI设备数据传输模式,实现了将PCI设备采集到的图像数据以零拷贝的方式直接存储到硬盘阵列中,有效的提高了图像记录速度,满足了高帧频、大面阵CCD相机的高速图像记录需求。由于高速记录驱动模块在设计时引入了判断高速记录请求的抽象层,使得高速记录驱动模块可以支持使用SCSI、SAS、SATA和FC多种不同控制器的记录单兀。
对图像数据的管理和对记录单元的网络远程控制是记录系统的重要组成部分,本文在TCP/IP协议基础上开发了应用程序模块,实现了对图像数据的管理和网络远程控制功能,满足了高速记录软件系统的需求。在SAS记录单元硬件平台上通过对高速记录软件系统的测试证明基于嵌入式Linux的高速图像记录技术可实现242MB/s的记录速度,并且记录速度随着硬件系统的升级还可以进一步提高。该技术提高了记录速度,同时又为记录系统的小型化、专用化以及记录速度的进一步提高开拓了发展方向。
针对记录系统中对高速网络传输的需求,分析了PowerPC网络硬件驱动程序的结构和原理,研究了Linux内核中网络数据接收流程,通过数学模型分析了影响网络传输的因素,并对记录单元的网络传输性能进行了测试和分析,给出了优化网络传输速度方法。
研究了网络存储结构和协议,在记录单元硬件平台上实现了对NAS和IP SAN网络存储的支持,对两种存储方式进行了对比分析,给出了存储性能测试结果。提出并设计了基于Web的管理方式,支持Webmin和以Perl开发的专用管理页面。将嵌入式数据库Berkeley DB应用到数据管理中,并对其在记录单元硬件平台上的性能进行了测试。整个网络存储系统实现了对图像数据的网络化存储、管理、检索和共享,为记录系统的扩展应用奠定了基础。