采用模块化的软件设计,将软件分成若干相对的独立的功能模块,并为各模块安排适当的入口和出口参数,使得模块之间的相互连接,组合灵活方便。该系统的软件主要由:图像采集模块、图像处理模块、数据发送模块和机车接收模块这四大部分组成。本系统是基于DSP的实时图像处理系统,DSP的主程序贯穿了整个系统的运行,包括对采集图像的搬移以及处理、与外部存储器SDRAM和Flash、移动硬盘和道口发送设备接口等等。为了程序实现方便,主框架用C实现,具体的算法实现中,对于一些关键代码,用嵌入汇编来实现,并作相应的软件优化,以提高程序运行效率。在C6202完成上电启动或复位以后,DSP程序加载与启动,完成系统的初始化以及各个参数的设置,即系统自举,随后开始等待外部中断。当触发采集图像外部中断工NT 1产生后,DSP启动摄像机内部采集芯片,图像采集模块开始运行。当FIFO半满的时候产生工 NT 3中断,通过编写的中断服务子程序,DSP开始搬移图像数据。当采集完一幅图像以后产生工NT 2中断,通过编写的中断服务子程序,DSP开始图像处理。当图像处理完成后,需要将处理结果通过McBSP接口发送到给道门发送设备接口,同时也通过EDMA接口将道口故障图像发送给移动硬盘。