查询触摸屏 | 工业触摸屏
登陆:用户 密码
网站首页 | 触摸屏资讯 | 触控一体机 | 触摸屏屏幕 | 触摸屏机柜 | 触摸显示器 |  触摸控制器 | 自助终端 | 呼叫系统 | 触摸屏论坛
电子大屏 | 触摸屏外设 | 考勤排队机 | 触摸屏新品 | 解决之方案 | 选购与维护 |  驱动与软件 | 数字城市 | POS 系统 | 触摸屏软件
触摸屏浏览器Toucher V4.1正式发   浙江杭州宏拓科技发展有限公司联   新疆诚信行商贸有限公司联系方式   福建省泉州卓远科技限公司联系方   Toucher触摸屏浏览器4.0正式发布   Toucher触摸屏浏览器4.0正式发布   广东省广州市3M誉思电子科技有限   欢迎加入中国触摸屏网群   广州市力麒贸易有限公司重庆分公   上海尚科信息技术有限公司    全国触摸屏销售热线:【请点击】
导航: 首页 >> 选购与维护 >> 触摸屏技术 >> 正文 全国触摸屏销售热线:(点击查看)
全国触摸屏经销商
【浙江杭州】杭州宏拓
【新疆乌市】新疆诚信行
【上 海 市】尚科触控
【贵州凯里】贵州易通
【福建泉州】泉州卓远
【广东广州】3M誉思触控
【重 庆 市】重庆力麒
【湖北武汉】武汉力麒
【北 京 市】北京联控
【江苏苏州】苏州名雅
基于事件—目标驱动的人机界面设计  
基于事件—目标驱动的人机界面设计
副标题:基于事件—目标驱动的人机界面设计
日期:2008-01-06 23:03:49     来源:网络   编辑:51Touch 

引 言

人机界面(human-computer interface),又称用户界面、人机交互、人机接口等,是人与机器之间传递、交换信息的媒介,是用户使用计算机系统的综合操作环境。在商品竞争中,一个应用系统的成功与否在某种程度上也取决于用户使用界面的感受好坏,因此,人机界面的设计在应用系统的设计中有着重要的作用。嵌入式系统强调人机界面操作的实时性,简单化,强调在特定平台上特定应用的时间空间效率。在传统的小系统设计中。程序设计一般采用前后台工作方式。应用程序是一个无限的循环,循环中调用相应的函数完成相应的操作,时间相关性很强的关键操作(crltical operation)是靠中断服务来保证的。因为中断服务提供的信息一直要等到后台程序走到该处理此信息这一步时才能得到处理.这种系统在处理信息的及时性上,比实际可以做到的要差。最坏情况下的任务级响应时间取决于整个循环的执行时间。因为循环的执行时间不是常数,程序经过某一特定部分的准确时间也是不能确定的。如果程序修改了,循环的时序也会受到影响。

实时操作系统将应用分解成多任务,简化了应用系统软件的设计。良好的多任务设计,有助于提高系统的稳定性和可靠性,并使系统的实时性得到保证。很多实时操作系统提供了专用函数,简化了程序的测试。

1、系统设计

如图l所示,人机界面系统采用小键盘操作的文本菜单方式,使用在嵌入式数字视频录像DVR(Digital Video Record)系统中。在MSP430F149上移植μC/OS—Ⅱ来独立实现人机界面的功能,用户通过键盘输入指令,经过单片机处理后发往主系统,同时把相应信息通过专用芯片的OSD(0n Screen Display)功能显示在监视器上;用户根据监视器上的信息进行菜单操作,形成人与机器的交互。

图1 人机界面系统

把人机界面部分从主系统中独立出来,用户所有输入的指令由单片机来处理,减少了主系统的工作量,使整个系统模块化,便于开发和调试,提高了可靠性和稳定性.另外,这种人机界面设计具有通用性,便于移植到各种嵌入式系统中。本系统选用MSP430nF149单片机,是基于以下三个方面的原因:
① OSD功能需要经常刷新,并且要处理与主机部分的数据交换,要求单片机的计算速度足够高,并且要求嵌入式系统能够长时间正常运转,且芯片功耗低。
② 实时操作系统本身要耗费一部分内存,同时0SD功能要求建立字库,要求内存空间足够大,否则要外接闪存,增加设计的复杂度及成本。
③ 要连接键盘电路,需较多I/O口。

MSP430系列单片机是由TI公司开发的16位单片机。其突出特点是强调超低功耗,适合于各种功率要求低的应用;有较高的处理速度,在8 MHz晶振的驱动下,指令周期为125ns;MSP430F149具有60 KB的Flash ROM和2 KB RAM,可满足系统程序量和数据量大的要求,可以解决因为加载实时操作系统而增加的内存需求,具有2个串行通信接口,其中一个串口用于跟主系统通信,另一个可用于控制其他外围模块;具有48个可独立编程的I/O口,其中有2个具有中断功能的8位并行端口,在设计按键电路时,可方便地采用中断方式识别键值。

2、软件设计与实现

2.1 实时操作系统

μC/OS—II是一个源码开放,拥有抢占式内核,支持多任务的实时操作系统;任务被分为休眠态、就绪态、运行态、挂起态和被中断态五种状态,内核根据任务所处的状态对任务作相应的处理,已经准备就绪的高优先级任务可以剥夺正在运行的低优先级任务对CPU的使用权。系统大部分代码采用C语言编写,与硬件相关的部分很集中,并给出了规范的接口说明,移植相当方便,可应用于目前大多数型号的8位、16位、32位CPU。μC/OS—II提供的仅仅是一个操作系统内核,对硬件系统要求很低,很适合在低端CPU上开发小系统。
将μC/OS—II移植在MSP430F149单片机上,对其进行裁减,只保留消息队列一种任务间通信方式,利用它的任务优先级抢占机制,使人机界面很好地满足嵌入式系统对实时性和可靠性的要求。下面详细介绍基于μC/0S—II操作系统的程序设计。

2.2 软件设计

本系统的软件部分设计基于E-O模型的思想,划分事件和目标。以有限状态机的方式,在实时操作系统μC/OS一Ⅱ中,用状态机把目标和事件联系起来,实现OA (Object-Action)行为模式完成人机交互的过程,使以小键盘操作的文本菜单方式设计更清晰。

(1)事件-目标驱动的用户界面模型
事件-目标驱动的用户界面模型,即E-O模型(E-vent-Object Drive User Interface Model),将人机交互活动归结为事件与目标的相互作用.事件是人机交互活动中传递的信息,目标是交互活动的对象;事件引发交互活动,目标是交互活动的承受者。E-O模型基于的基本行为模式是“目标-动作”(OA),以目标为核心,具有面向对象风格。

E-O模型由四个逻辑部件组成:①设备管理模块(device management module),提供与各种交互设备的接口,实现设备无关特性;②事件管理子系统(event Man-agement subsystem),它读取输入设备的输入信息形成事件并进行统一管理,将反馈信息的事件解释为适当的输出指令并传送给输出设备;③目标管理子系统(object Man-agement subsystem),创建、装载、保存用户界面中各类目标,并对目标进行管理,④事件-目标管理子系统(event-object management subsystem),主要职责是实现事件与目标的整合,按适当策略控制事件在各目标结点之间流动,以形成和维持交互的过程,是整个用户界面系统的核心。

(2)有限状态机的形式化描述
有限状态机FSM(Finite State Machine)由状态、事件、转换和活动组成。每个状态有1个状态进入动作(entryaction)和1个状态退出动作(exit action),每个转换有1个源状态和目标状态并且与1个事件相关联。当在源状态时,该事件发生且触发转换的监护条件为真,则顺序执行下列一些动作:①源状态的退出动作;②转换动作;③目标状态的进入动作。

FSM可以形式化表示为1个五元组:M=(0,I,λ,S,δ,S0)。
其中,S为有限状态集;
I为有穷的事件输入集;
0为有穷的输出集,
S0为初始状态集;
δ:S×I→S,进入下一个状态的过程;
λ:S×I→O,产生输出的过程。
T=δUλ。T中的每个元素又可以表示为1个五元组,T=(Soure-State,Target-State,Input-Event,Con-straint,Action)。其中“Source-State”和“Target-State”分别表示T的初始状态和目标状态,“Input-Event”表示来自于I的输入事件或为空,“Constramt”表示监护条件及输入事件参数等约束,Action表示转换执行的动作。

用软件实现有限状态机有两种方法:表格法和过程驱动法。表格驱动法利用一个二维数组。该数组中的短一行与一个状态相对应,每一列与一个输入事件相对应,每一项则与某一状态下对事件的处理相对应。表格驱动法适用于具有结构规则、操作简单的有限状态机。

过程驱动法为每一个状态都定义一个处理过程,处理过程实现在此状态时对事件的响应,包括输出处理及对当前状态值的转换。这个过程可以用case语句区分事件,并采用相应的处理。无论采用何种方法实现FSM,当FSM收到一条消息时必须知道当前的状态。为此,对应每一个状态机必须能够保存当前所处的状态。过程法适用于实现一个具有几种转换和复杂操作的有限状态机。

2.3 程序设计与实现

基于消息驱动的程序设计思想,为了保证系统的实时性,在中断中只负责发送消息到相应的任务的消息队列,由应用级的任务来处理,保证各个处理的时间是可确定的.主程序在消息循环中不断地判断各个任务的状态,执行进入就绪态的任务。这就允许采用异步方式处理各种中断及任务。

本系统程序中采用了两组有限状态机,运用消息驱动的方式来驱动状态的变更。一组是通信任务中以串口接收数据驱动为事件对象的有限状态机,另一组是以用户按键和命令码驱动为事件对象的有限状态机.在实时操作系统μC/OS一Ⅱ下,整个人机界面分为三个模块,即三个任务来实现,分别是键值处理模块、与主机通信模块和时钟模块。

● 键值处理模块

OSTaskCreate(KEYTaskStart,(void*)O,&TaskKey-Stk[],7);
先初始化所有的模块,然后在循环中接收并处理键盘的输入,Key-Process(char KeyValue)根据相应的输入键值和系统所处的状态,对菜单进行相应的操作。

State_Trans(char RxData)根据键值输入事件负责调度系统的状态,并在相应的状态下,根据从主系统收到的信息显示菜单。

对这篇文章您有更多的想法? 请去论坛发表意见吧   
“基于事件—目标驱动的人机界面设计” 的相关新闻
如何在触摸屏人机界面设计中集成触觉反馈功能
【江苏南京】维达前线
【四川成都】东骏博锐
【山西太原】鑫 远 望
【云南昆明】昆明德添
【福建厦门】厦门卓远
【福建福州】首钢环星
【山东济南】鸿飞触控
站内搜索 站内搜索
选择搜索类别:
软件开发 软件开发
Toucher2.2在线演示
时代广场软件首页
成都市勘察测绘研究院软件首页
眉山经济贸易委员会软件首页
推荐新闻 推荐新闻
友达、华映将推新品,电
Toucher触摸屏浏览器4.0
Toucher触摸屏浏览器V4.
Toucher触摸屏浏览器4.0
在便携设备中应用电容式
KTV市场触摸屏 又掀娱乐
山东青岛触摸屏项目招标
设为首页加入收藏网站地图友情链接联系我们  |  广告联系 |
网站广告、经销商加盟、触摸屏软件销售:13183843395 028-85582323 联系人:张小姐 杜先生 传真:028-85582323
   四 川   028-81934978 云 南   0871-5109466 南 京   025-83610010
   上 海   13816713998 山 西   0351-7321227 苏 州   0512-65581867
   厦 门   0592-5615268 福州    0591-87611230 北 京   010-62631382
   山 东   13396407999 重 庆   023-68609756 武 汉   027-87851201
   广 东   020-87507489 泉 州  0595-88150378 凯 里  0855-8220226
   贵 阳  0851-5566120 浙 江  13805704917 其 他… 028-85582323
电子邮件: 51touch(A)126.com 请将地址中的"(A)"改成"@",避免垃圾邮件出此下策,望谅
版权所有 Copyright© 2003-2006 触摸屏在线 地址:成都市倪家桥8号 邮编:610041

在线咨询QQ: 43361182   

触摸屏、触摸屏软件、触控一体机咨询