Board logo

标题: 基于MSP430F413的新型智能水表的设计(2) [打印本页]

作者: yuyang911220    时间: 2016-12-25 15:45     标题: 基于MSP430F413的新型智能水表的设计(2)

本帖最后由 yuyang911220 于 2017-1-3 16:26 编辑

2 系统软件的设计
  图4是主程序流程图。单片机上电复位后主程序采用顺序执行的方法,逐个扫描各个自定义标志位,检查是否有动作发生,若有发生则转入相应子程序处理,处理完后回到主程序,继续扫描其后的标志位,最后进入低功耗状态,等待下一次中断唤醒,唤醒后同样循环一遍,又进入低功耗状态。由于各信号以中断的方式进入的,所以要特别注意中断的优先级及中断的嵌套问题。采用模块化方法设计各个子程序。根据不同功能,定义了不同的功能模块。明确入口出口,相互之间的调用关系,以供调用。主要软件模块有:IC卡读写模块,液晶显示模块,计量模块,FLASH读写模块,低电压保护模块等。上电后首先对系统进行初始化。初始化包括对内部存储器单元清零、特殊功能寄存器置初值、液晶显示的设置等。接着进入主循环,判断故障、电源电压是否正常等,若一切正常则开阀供水。无论在什么情况下只要有低电压信号出现,系统就提示欠压,蜂鸣器报警,液晶显示,提示用户更换电池:当剩余水量低于设定值时,系统液晶显示提醒用户“请购水”,如果用户没有及时购水重新插卡充值,当剩余水量为负时,系统控制阀门关闭,停止供水。


  图4 系统软件设计流程图
  3 系统低功耗的设计
  在单片机控制系统中,系统的功耗往往和电源电压的大小成一定比例关系,电源电压高,系统的功耗相应的也会增大,因此在功耗要求很严格的智能水表控制系统中,在保证功能的前提下,尽量选择低的电源电压。本系统中选用三节碱性干电池4.5V供电。本文所设计的智能水表的能耗主要由三部分构成:第一部分是控制器中单片机(CPU)液晶正常运行时的持续性能耗,这是主要的功耗;第二部分是IC卡水表执行机构(电阀)动作时的瞬时能耗;第三部分是IC卡水表一些辅助功能如声音报警等的能耗。上述智能水表能耗的第一、二部分占了总能耗的95%以上。因此,在设计时主要考虑:选择低功耗电动阀;选择低功耗器件(CMOS型);选择低的工作电压和低的工作频率;软件设计时选择低功耗的系统运行模式。
  4 系统抗干扰的设计
  本系统中抗干扰设计从两方面来考虑,一是在硬件设计上采取适当的措施来抑制和消除干扰,例如采用电磁干扰滤波器,如图5所示。另一方面是从系统软件设计上采取一定措施来提高系统的抗干扰能力,即使系统受到干扰,也能自动地快速恢复正常上作。如:尽量减少中断源,采用中断与查询相结合的方法,保持尽.可能短的中断开放时间,随开随关;在程序关键的地方人为地插入空操作指令,保护CPU在受到干扰,程序“弹飞”时指令不被拆散等软件措施。
  图5 电磁干扰滤波器在系统中的应用
  结束语
  实践证明:本文所设计的智能水表从管理上讲对用户实行“先买水后用水”的预付费管理方式,在一定程度上改善传统管理模式的种种弊端,符合我国的基本国情,有很强的适用价值。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0