首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

软件设计 - GPRS网络电能表的设计方案

软件设计 - GPRS网络电能表的设计方案

3 软件设计
  3.1 总体架构
  软件设计基于μC/OS-Ⅱ嵌入式操作系统的多任务设计,整体架构如图2所示。


  系统软件包括:主任务、上行任务、下行任务、模拟串口任务、事件处理任务和控制处理任务。
  3.1.1 主任务
  实现全局变量初始化,硬件环境初始化,信号量和消息队列的建立、其他任务的创建和启动、键盘扫描、系统时间和定时处理、复位处理等功能。
  3.1.2 上行任务
  上行任务实现GPRS通信链路的建立、维护及与主站的数据交换,包括链路维护、数据收发、协议解析等功能。
  3.1.3 下行任务
  实现对基表数据定时抄读、数据处理、数据存储、数据的转发等功能。
  3.1.4 模拟串口管理任务
  由于系统必须实现上行通信端口、下行通信端口、RS 485通信端口、RS 232通信端口和红外通信端口5个串行通信口,而LPC2138内部只有两个串行口,所以必须对串口进行扩展。在此,用软件来模拟串口通信,以实现串口扩展。建立一个模拟串口管理任务,专门管理下行抄表模拟串口、红外通信模拟串口和调试模拟串口。
  3.1.5 事件处理任务
  事件处理任务处理系统发生的各类事件,包括事件记录、事件上报等。
  3.1.6 控制任务
  控制任务执行一些控制操作,包括预购电控制、保电控制、告警控制等。
  3.1.7 任务间的通信
  任务与任务之间数据传递通过消息发送和接收来实现,消息结构为:


  消息传递函数定义为:


  3.2 软件模块实现流程
  软件采用模块化设计,每个任务包含不同的功能模块,由于系统包含模块较多,在此只给出主任务模块流程图及上行任务中的GPRS链路维护模块流程图。
  3.2.1 主任务流程
  主任务程序流程如图3所示。


  3.2.2 GPRS链路维护流程
  上行任务中的链路维护模块包括:GPRS网络登陆、链路状态检测以及心跳维护等。其中,GPRS网络登陆程序流程如图4所示。在GPRS通信链路建立后,如果长时间无数据传输,则GPRS网络连接将被断开,所以必须在一定时间间隔内发一个心跳帧至主站,确认主站应答后说明链路状态正常。不同品牌GPRS模块的AT指令集不同,因此在编程前须熟悉相关GPRS模块的指令集,以实现链路的建立和维护。


  4 结语
  介绍了GPRS网络电能表的功能和GPRS无线通信模块的软硬件设计,它是对GPRS网络电能表开发项目的总结。系统软件移植了μC/OS-Ⅱ嵌入式操作系统,采用多任务设计,提高了系统的实时性,对实现远程无线抄表具有积极意义,设计的产品已在国家电网公司成功应用,且运行稳定,应用效果良好。
继承事业,薪火相传
返回列表