随着高分辨率、高帧率CCD图像传感器的发展和应用,对图像采集系统的速度提出了更高的要求。目前,基于STM32的线阵CCD采集系统实时存储高速动态图像的时间过长,导致系统速度慢。因此,优化基于STM32的线阵CCD图像采集系统的速度具有重要意义。论文针对基于STM32的线阵CCD图像采集系统实时存储高速动态图像速度慢的问题,开展CCD采集系统系统速度优化方法及软件实现的研究。主要内容如下:首先,搭建基于STM32的线阵CCD图像采集系统。采用STM32F103ZET6作为主控芯片,负责图像的采集、存储以及传输;STM32F103C8T6作为驱动芯片,负责CCD与A/D驱动时序的生成以及与上位机交互;TCD1209D作为图像传感器,AD9945作为A/D转换芯片。其次,通过缩短一帧CCD图像从产生、采集到存储过程的时间来优化系统速度。本文分别在采集方式、存储方式以及存储流程进行如下优化:用DMA双缓冲采集取代DMA单缓冲采集,使图像采集与存储同时进行,从而缩短图像采集存储时间;在双缓冲的基础上,用多帧采集存储方式取代单帧采集存储方式,缩短图像存储时间;通过减少数据存储流程中非必要的存储环节来缩短图像存储时间。最后,软件设计。完成多帧采集存储下的CCD积分时间可调驱动及A/D驱动设计、基于DMA双缓冲的采集设计、存储流程优化设计、上位机与STM32交互设计等工作。测试实验结果表明DMA双缓冲采集、多帧采集存储、存储流程优化这三种方法均能提高系统速度及帧率,三种优化方法同时使用时能显著提高系统速度及帧率,且系统速度及帧率随着多帧采集存储的帧数的增加而提高。在一帧CCD图像中像元个数为2100的情况下,系统未优化时的速度为58KB/s,系统帧率最大为27帧/s,在同时使用三种优化方法且多帧采集存储采用三帧采集存储时的系统速度达到485KB/s,较未优化时的系统速度提升736%,此时系统帧率达到232帧/s。
|