论文部分内容阅读
随着光电跟踪测量技术以及遥感遥测的飞速发展,为提高系统的测量精度,高分辨率、高帧频图像传感器被广泛采用,以提高空间和时间分辨力。另外,为了提高对特定波段的探测能力,常常会将多个不同波段的图像传感器部署在同一设备上。高速、海量的图像数据实时传输和存储成为一个急需解决的问题。在恶劣应用环境中,系统需要耐高低温、抗强震。在航空航天以及快速机动应用中还必须实现设备的小型化,轻量化和模块化。因此在满足性能要求的前提下,设计出体积小、重量轻、标准化、环境特性好、容量大并且速度快的数据存储系统是当前的研究热点之一,也是本文的研究重点。对现阶段常用高速存储系统实现原理及其优缺点进行了深入的分析和研究。工控机中实现的高速存储系统,它的速度较快、容量大、但体积大、较沉重。DDR实现的存储系统,它的速度达到1000MB/s以上,但容量过小,掉电数据丢失。FPGA外挂SSD或NAND FLASH控制芯片实现的存储系统,它的速度一般、使用不便。FPGA直接控制的NAND FLASH阵列存储系统,开发难度较大,任何FLASH芯片的改变都需要重新开发,速度较快,使用自定义的简单文件系统,导出速度较慢,简单串口通信,操控较麻烦,易用性差。针对上述问题本文提出并实现了基于Power PC+FPGA+SSD的小型化的高速图像存储系统。完成了高速存储系统硬件平台的设计,建立了交叉编译环境,搭建了Linux系统平台。在FPGA中实现了基于PCIe的高速数据传输DMA控制器,在Linux下开发的驱动完成了对高速数据DMA传输的控制,配合应用程序将图像数据以ext3格式存入m SATA接口的SSD中。系统大小为22CM*10.9CM*4.1CM,重量仅为303克,实现了高速图像存储系统小型化、轻量化、标准化和模块化,各模块技术可快速复用到其它工程中。而且本系统抗震性好,非常适用于运动载体图像采集存储应用。Micro SD相对于NAND FLASH和NOR FLASH容量大、写入速度快、操作系统和应用程序更新方便。因此研究Micro SD卡的启动有重在意义,针对Power PC Micro SD卡启动问题,深入分析和研究了Micro SD MBR数据结构、启动原理和过程,提出了由shell直接读写Micro SD卡MBR的方法,提高了可启动Micro SD卡格式化的可靠性和效率。PCIe接口DMA驱动实现了对高速图像数据DMA传输的控制和数据存储的控制。针对传统驱动方法需将大量数据从内核空间拷贝到用户空间导致速度较低、波动大的问题,提出了内核多线程多级双缓存的驱动实现方法,驱动中开辟的多线程直接完成数据乒乓缓存和文件读写,所有数据操作均在内核空间中完成,提高了硬盘写入速度和速度稳定性,稳定存储速度由60MB/s,提高到100MB/s,接近硬盘的最大写速度。图像的实时显示和快速导出都非常有利于现场的调试和实验数据确认。针对此需求,使用跨平台的QT实现了用户操控程序的设计,只需重新编译即可运行在Windows和Linux下。所有数据均通过千兆网进行传输,在同一操控平台上实现控制、状态读取、显示和FTP快速导出等功能。通过提出的子类化QObject方法,将耗时的通信线程运行在独立线程中,提高了响应的实时性。经测试,控制程序响应及时,FTP速度达到75MB/s以上,显示能稳定达到30帧每秒。有的应用场合,高速相机输出的图像码率较高。为提高系统的最大记录速度,可在FPGA内集成基于改进JPEG2000的高速实时图像压缩专利IP核,当压缩比为10时的图像PSNR仍可达35d B以上,能够满足高精度定位的压缩要求。系统最大记录速度可达1000MB/s以上,能够满足绝大多数高速存储应用。