4 软件设计
软件系统由操作系统、底层驱动以及应用软件组成。
操作系统采用Microc/OS-Ⅱ嵌入式实时多任务操作系统。Microc/OS-Ⅱ嵌入式实时多任务操作系统是一个基于抢占式的实时多任务内核,可固化、可剪裁,具有高稳定性和可靠性。除此以外,Microc/OS-Ⅱ的鲜明特点就是源码公开,便于移植和维护。底层驱动程序主要包括FPGA硬件部分,如显示驱动、A/D转换驱动、数字I/O驱动、串口通信驱动、485总线驱动、422总线驱动、CAN总线驱动、USB电路驱动、以太网接口驱动、Ic卡接口驱动、语音输出驱动、SDRAM接口驱动、FLASH接口驱动等。
应用软件是指为实现系统的特定功能所编制的信息采集、处理、输出、显示程序。这部分软件的开发是软件工作的主要内容。应用软件按照结构化、模块化、通用化的设计原则进行程序结构设计,整个程序从结构上分为几大模块:数据输入处理模块、事件捕获模块、事件处理模块、数据存储模块,它们主要由主程序在初始化时生成,在系统退出时结束。在4个模块之下可按照功能分为更细小的模块,以至于实现单一功能的子程序和函数,具体结构见图6所示。输入处理模块主要负责将外部的数据和信号处理与外部设备的数据连接;事件捕获模块主要监视、识别并报告各外部事件的发生,之后以消息的格式通知主控程序,激活事件处理模块中的相应过程,响应外部事件。该模块要求高可靠性、高实时性,以及保证不丢失任何外部事件;事件处理模块是软件功能实现的主体,它由许多松散耦合在一起的功能模块组成,在外部事件的触发下执行特定的流程,实现一定的功能;数据存储模块主要用于存储一些重要的运行数据,一方面作为事后分析,更重要的是存储一些有用的数据,这样在系统重新启动之后,可以保证有效的数据不至于丢失。对于这个复杂的系统,需要协调完成各方面的工作,采用2块ARM,以实现这个系统的控制,分别协调完成通信和采集方面的工作。