3系统软件设计
μCOS-II操作系统是一种具有可抢占内核的实时操作系统,并且开源、结构小巧。由于其内核提供任务调度与管理、时间管理、任务间同步与通信、内存管理和中断服务等功能,具有执行效率高、占用空间小、实时性能优良和扩展性强等特点,因此,本文在软件设计上移植了μCOS-II操作系统。经过bootloader启动阶段之后,首先完成时钟配置和GPIO, AD ,RTC ,SPI ,UART接口及中断的配置以及μCOS-II操作系统的初始化,然后根据系统功能需求建立了6个任务,分别为周期管理任务、GPRS数据传输任务、数据采集任务、智能决策任务、LCD显示任务和键盘任务,其优先级设置由高到低。μCOS-II任务设计流程如图2所示。
周期管理任务用于控制系统的采样周期,使用实时时钟RTC的ALARM中断机制来实现定时功能,属于中断级任务,优先级最高;GPRS数据传输任务受控于用户的选择模式,在功能开启时,利用UART1将数据传输至GPRS模块,其数据格式采用AT命令,为保证数据传输的可靠性,将其优先级设置为次高;数据采集任务首先控制继电器使传感器上电,然后任务挂起10s以保证传感器进人稳定工作状态,再启动A/D,转换完成之后,数据放入DMA缓冲区中,继而可选择中值滤波、平均值滤波等方式进行数据处理;智能决策任务根据采样数据,启动推理机,得到决策结论;LCD显示任务以消息邮箱(message mail boxes)机制接收传感器数据以及决策结果并实时显示输出;键盘任务可设置GPRS模块使能、采样周期、数据滤波方式等多种用户需求。
4智能决策在嵌入式系统中的实现
本文采用基于知识库的智能决策设计思想,分为知识库设计和推理机设计两部分,对现场采集数据进行决策判断。4.1嵌入式知识库设计
知识库是智能决策的重要组成部分,它的质量很大程度上影响了系统整体的决策水平。本文以SD卡为存储介质,在其上构建了农业知识库。SD卡的读写访问方式是扇区寻址,为了便捷、快速地构建知识库,本文移植实现了FATFS文件系统,而知识库则以TXT文件方式进行存储。
本文采用产生式规则表示法,其结构如下:
IF条件1,条件2, ……,THEN结论
以黄瓜为例,依据专家经验和相关文献,获知黄瓜的第K条知识规则如表1所示。通过进一步整理,可以向TXT文件中添加此规则。调用FATFS文件系统接口函数C open打开知识库TXT文件,通过f read读取相应的知识规则。