APP下载

基于MSP430便携式掌机的设计与实现

2019-11-18张颖李忆昕

电子技术与软件工程 2019年18期
关键词:按键菜单模块化

文/张颖 李忆昕

手持掌机也被称作手持移动终端,一般具有无线传输数据的功能,主要优点是小巧、便捷。我国是在1985年后开始使用手持掌机,主要应用于电表的远程超收,手持掌机的应用改变了传统人工抄表的模式,节省了人力,在一定程度上推动了电力行业的发展。同时它对其它无线传输相关行业也产生了推波助澜的作用。

传统的无线设备测试,往往采用计算机及“USB—无线”转换器搭配使用的方式,这种方式一般在车间会受到地理条件限制,且计算机价格昂贵,耗电量高。而现场设备调试更是需要工程师携带繁重的笔记本电脑,由于其续航能力有限,无法满足全天调试需求。

1 硬件电路设计

选用16位超低功耗的MCU。经过性能、性价比、数据参数等比较,最后选取了MSP430F5418A。该单片机I/O端口充足,串口数量也足够当前应用。几个串口分别用作A7139无线通讯,RS232有线通讯,充电口。另外,增加红外接口作为以后通讯扩展使用。硬件电路可以分为人工交互部分(液晶显示及键盘输入)、通讯传输部分、实时时钟电路、变压稳压电路等。选用带有简体中文字库的点阵图形液晶显示模块12864LCD。硬件结构如图1所示。

图1:掌机硬件结构图

本项目采用蓄电锂电池,电池电压为3.7V,对于单片机3.3V工作电压需要进行降压电路转换。选用MC34063进行DC-DC转换,温升低且价格低廉,电路如图2。

由于通讯协议中有日期时间校对功能,本设计中使用DS1302低功耗实时时钟芯片进行计时,并可以通过键盘与液晶屏交互进行系统校时。选用MAX3232芯片构建RS232与TTL电平的转换电路。选用0.1uF电容去耦合,降低电源噪声,增加抗干扰能力。对于A7139无线收发电路,本设计配套使用弹簧天线,需要注意天线下方不要摆放其它原件,以免造成干扰。电路如图3所示。

图2:电源变压稳压电路

图3:RF无线通讯电路

2 软件设计与开发

2.1 模块化编程设计

本设计属于大中型单片机程序,为使程序结构清晰,便于程序调试及后续扩展,本设计采用模块化编程。本设计模块化编程主要体现在三方面:

2.1.1 文件模块化

不同的功能程序封装于不同的模块文件中,分块编写,分块调试,程序编写后也有利于今后相关程序的移植或复用。具体程序模块包括初始化、菜单模块、LCD显示模块、串口收发模块、按键输入模块、功能函数模块、通讯协议模块等。不同的模块文件都有着“.c”文件和“.h”头文件。

2.1.2 菜单结构模块化

菜单作为掌机人机互动的重要组成部分,将其做成模块化编程,可以对菜单进行更好的扩展或更改。

2.1.3 通讯协议模块化编程

掌机在整个网络系统中工作与数据链路层,数据以数据帧的格式进行半双工通讯。数据帧包括帧头、控制码、数据长度、主机地址、帧尾等,根据帧格式规则,使用模块化编程的方式,将一个帧封装为一个函数,将变化的字节作为参数,在通讯命令中调用该函数,可以简化编程,节约空间成本,随着通讯协议的扩展,也将低成本增加程序开销。

2.2 图形菜单与按键

设计三级菜单显示模式,主菜单为图形与文字结合,采用选中反白的形式,增加可视化操作的便利性。一级菜单为功能主菜单,见图4,二级菜单为功能选择子菜单或系统设置,三级菜单一般为通讯操作界面。实现菜单的树形结构,用指针是最佳的选择。

人机交互的重要手段是按键,操作者通过按键进行命令选择或数据输入。在主程序循环进行按键检测,Timer计时在长时间无按键按下可以进入休眠状态,再次按键唤醒。根据不同需求,对按键的键值进行更改,可以实现数字和字母切换输入。

另外,对于车间生产与现场调试,根据不同需求做出两个操作界面。车间生产要求界面简洁,通讯协议只需要设备部分通讯协议,按步骤流程化测试。而现场调试则需要基本所有协议,可按照使用频率在菜单中排列。

3 测试与应用

A7139无线模块通讯距离性能较好,根据车间现场情况,对掌机进行测试,跨楼层进行信号强度测试,穿越两个楼层的信号强度根据遮挡情况不同,信号强度在92dBm~108dBm范围内。现场测试,在高层楼宇中与已安装设备进行通讯,设备连接率达100%。由此可见,该设备满足车间生产及现场调试的需求。

模块检测需要注意的事项有:

(1)防静电。由于A7139模块为静电敏感器件,在对电路板进行参数测试时,需要工人佩戴防静电环,以防对模块造成损坏。

图4:图形主菜单

(2)天线悬空。掌机设计采用弹簧天线,悬空焊接有利于减少外部电路对无线信号的影响。

4 总结与展望

本文基于MSP430单片机设计了一款多功能掌机。该掌机便携小巧,功耗低,待机时间长,在很多场景中可以取代电脑和“USB-无线”转换设备。掌机该掌机已应用于企业车间无线仪表出厂测试、设备安装调试以及设备故障检测,大大提升了生产效率,为现场工程师调试提升了可操作性,提供了更多便利。该掌机硬件设计采用低功耗芯片,可实现有线通讯及无线通讯,采用模块化编程方法,降低了调试难度,提升了可扩展性,为掌机的升级做了坚实的基础。采用三级图形化菜单显示界面,一键自动化测试,交互性强,简化了操作流程。根据市场要求和产品更新,该掌机今后还可以更换Lora无线模块和NB-IoT模块以适应不同场合需求。

猜你喜欢

按键菜单模块化
模块化自主水下机器人开发与应用
基于有限状态机的按键检测程序设计
模块化住宅
中国新年菜单
ACP100模块化小型堆研发进展
模块化VS大型工厂
本月菜单
一种多方向导光按键结构设计
按键的多种状态检测及消抖处理方法
解析某型号手机按键检测程序的缺陷