μCOS系统的预定义UI交互设计应用案例

    嵌入式设备的飞速发展大大丰富了人们的生活,无论在工业控制、仪器仪表、通信设备或是娱乐工具等各个方面都有嵌入式微处理器在工作,然而,人们要想实现对这些设备的控制就必须通过用户界面(User Interface,UI),所以人们越来越关注UI界面的可用性和用户使用效率的提高。
    1 电能计量终端系统简介
    为实现配电自动化,需要使用电能计量终端来对多种电源的接入进行监控,包括直流电和单相、三相交流电。图1为电能计量终端的硬件系统结构框图。它以S3C44BOX微控制器为核心,配有通信电路、LCD显示电路、按键、RS 232和RS 485通信接口以及直流电和单相、三相交流电测量电路。
    电能计量终端除了具有普通智能仪表所具有的测量功能、数据处理功能和通信功能外,还为用户提供了友好的UI。通过UI交互,用户可灵活地切换和查看以下信息:供电电流、供电电压、累计供电量、有功功率、停电时间/来电时间、交流负载的总功率因数、缺相告警及
    电压值超标告警等。另外,还设有掉电保护和防雷功能。
    2 UI交互电路
    图2为电能计量终端的UI交互电路框图,电路中有1个128×64点阵的LCD显示器(QC12864B)和6个按键。LCD显示器每行能显示16个英文或8个中文符号,共4行。微控制器通过IO来控制LCD的显示。因为LCD外部接口信号需要5 V的驱动电平,而微控制器的IO管脚输出只有3.3 V,不能直接控制,在此使用74LVx245电平转换芯片来驱动LCD。6个按键分别为上(up)、下(down)、左(left)、右(right)、确定(enter)和取消(esc)键,微控制器通过扫描按键IO,可得到各个键值。为节省中断开销,6个按键通过与门连接到微控制器的同一个外部中断上。利用这6个按键,用户可以在菜单窗口和监控界面之间随意切换。
    3 预定义UI交互设计
    UI的设计目标是实现中文窗口界面,用户可以在菜单方式下进行交互。窗口分为2类:对话框和菜单,也包括两者的混合。对话框用于参数的输入输出显示;菜单用于响应用户的选择,根据用户的选择运行程序。预定义的UI。简单的说,就是预定义一个菜单数组,由程序解析菜单定义形式。改变菜单数组中对应项的内容,就能设定菜单显示的坐标、尺寸和内容等等性能参数,而无需修改解析函数,因此具有很高的可移植性。
    3.1 操作界面
    根据电能计量终端的监控内容,设计菜单窗口和各菜单项对应的监控界面。电路板克隆设备上电后,将显示版本号,接着进入菜单窗口。菜单窗口有4行,其中前2行显示菜单项,后2行显示实时时间。菜单项共有4个,分别为交流电(包括市电和油电)、风电和光电参数。通过上下按键在主窗口的前两行进行菜单项切换。菜单窗口设计如图3所示。
    在选择的菜单项上点击enter键进入该菜单项对应的监控界面,监控内容分屏显示。交流电子菜单分7屏来显示交流电接入类型(市电/油电)、交流电压、交流电量、有功功率、市电/油电停电时间、市电/油电来电时间、功率因数等,图4(a)为其中一屏;光电/风电子菜单分2屏来显示光电/风电电压、光电/风电电流、光电/风电电量、光电/风电功率等,图4(b)为其中一屏。用户可通过up,down键和esc键来切屏和返回至菜单窗口。
    3.2 预定义菜单设计
    μCOS是一个源码公开、可移植、可固化、可裁剪、抢占式、pcb抄板支持多任务的实时操作系统,运行于没有MMU的嵌入式微处理器上,采用可剥夺型内核进行任务调度,实时性好,小巧且移植方便,适合工业控制领域使用。在μCOS中,设置一个UI任务,完成响应用户的键盘输入、选择菜单和根据用户选择的菜单执行相应操作。菜单设计成多层次形式。菜单设计采用预定义的集中描述,由程序解析菜单定义形式。可响应的按键集也以数组的形式在菜单数组中定义。键盘服务设计成中断级任务,通过专用的消息队列发送键值到UI任务,实现实时信息显示。

相关