3 低功耗系统软件部分设计
单片机应用系统的软件设计和一般的程序设计不同,既有各种计算程序、控制策略程序的设计,还要结合具体的硬件电路进行各种输入输出程序设计。本仪表系统软件采用模块化结构设计,将各功能模块设计为独立的编程调试程序块,这样有利于今后实现功能扩展,而且便于调试和连接,更有利于程序的移植和修改。
本系统的软件设计使用的是适用于MSP430系列的C语言,这种C语言与标准C语言兼容程度很高。开发平台使用的是IAR公司专为MSP430系列提供的集成调试环境Embedded Workbench和C语言调试器C-SPY。
3.1 基于时间触发的混合式调度介绍
调度器就像是一个简单的操作系统,可以周期的或单次的调用任务。实际上,调度器就是一个许多不同任务共享的定时中断服务程序,只要初始化一个定时器,就可以调度多个任务。任务的特征分为4部分:任务函数的指针,延迟时间,任务执行周期和任务可否执行标记。调度器通过定时器产生一定的时间间隔,根据任务可否执行标记来判断并调度要执行的任务。
本通用智能终端中,任务AD转换、开关量采集、LCD显示、输出控制等是合作式任务,按照延迟时间和周期来顺序执行;键盘扫描分解成短任务处理;485通信为中断式任务,执行上位机命令任务,实际上大部分命令任务都是根据命令要求,改变某些变量或寄存器的内容,执行速度很快,可以每来一次命令执行一次,属于单次任务。由系统任务和调度器设计原则,给出调度器任务的属性列表如表2所示。
表2 任务属性表
3.2 主程序设计
本设计采用时间触发的混合式调度器系统,调度器根据任务的执行周期和延迟时间来顺序调度并执行任务,保证一次只处理一个事件,降低了CPU的负荷,减少了存储器的使用量,从而增强了系统的可靠性和扩展性,并使得系统低功耗设计易于实现。系统主程序主要包括系统初始化子程序和任务函数调度子程序。系统主程序流程如图5所示
4 总结
通过对影响系统功耗的各种因素的分析,确定了要从硬件选择和软件设计两方面同时考虑、软硬结合来最大限度的降低功耗。本文研究的多用途低功耗仪表系统, 可作为我国的水表、燃气表、热量表、电能表以及各种检测仪、监控器等急需电子智能化的实现方案。
本文作者创新点: 本文以降低功耗作为主要目标,所研究的多用途低功耗仪表系统,是便携式、低功耗设备的一个比较具体的通用型实现方案。只要根据实际需要加上相应的传感器和修改一下具体软件,该系统能够方便的应用于需要电池供电的多种检测设备。