在嵌入式系统中,人机界面的设计关系着整个系统的性能。本文以模块化的思想把嵌入式系统人机界面部分独立出来,设计一种通用的人机界面系统。为满足嵌入式系统对实时性、稳定性的要求,抛开传统的小系统开发中使用的前后台程序设计方式,采用在单片机MSP430F149上移植实时操作系统μC/OSII,进行实时多任务系统的开发。系统采用行列式键盘进行命令的输入,程序设计基于事件目标驱动的用户界面模型,使用有限状态机的设计思想,开发符合嵌入式系统要求的人机界面。
引 言
人机界面(human-computer interface),又称用户界面、人机交互、人机接口等,是人与机器之间传递、交换信息的媒介,是用户使用计算机系统的综合操作环境。在商品竞争中,一个应用系统的成功与否在某种程度上也取决于用户使用界面的感受好坏,因此,人机界面的设计在应用系统的设计中有着重要的作用。嵌入式系统强调人机界面操作的实时性,简单化,强调在特定平台上特定应用的时间空间效率。在传统的小系统设计中。程序设计一般
实时操作系统将应用分解成多任务,简化了应用系统软件的设计。良好的多任务设计,有助于提高系统的稳定性和可靠性,并使系统的实时性得到保证。很多实时操作系统提供了专用函数,简化了程序的测试。
1、系统设计
如图l所示,人机界面系统采用小键盘操作的文本菜单方式,使用在嵌入式数字视频录像DVR(Digital Video Record)系统中。在MSP430F149上移植μC/OS—Ⅱ来独立实现人机界面的功能,用户通过键盘输入指令,经过单片机处理后发往主系统,同时把相应信息通过专用芯片的OSD(0n Screen Display)功能显示在监视器上;用户根据监视器上的信息进行菜单操作,形成人与机器的交互。
图1 人机界面系统
把人机界面部分从主系统中独立出来,用户所有输入的指令由单片机来处理,减少了主系统的工作量,使整个系统模块化,便于开发和调试,提高了可靠性和稳定性.另外,这种人机界面设计具有通用性,便于移植到各种嵌入式系统中。本系统选用MSP430nF149单片机,是基于以下三个方面的原因:
① OSD功能需要经常刷新,并且要处理与主机部分的数据交换,要求单片机的计算速度足够高CONTROL ENGINEERING China版权所有,并且要求嵌入式系统能够长时间正常运转,且芯片功耗低。
② 实时操作系统本身要耗费一部分内存控制工程网版权所有,同时0SD功能要求建立字库,要求内存空间足够大,否则要外接闪存,增加设计的复杂度及成本。
③ 要连接键盘电路,需较多I/O口。
MSP430系列单片机是由TI公司开发的16位单片机。其突出特点是强调超低功耗,适合于各种功率要求低的应用;有较高的处理速度,在8 MHz晶振的驱动下www.cechina.cn,指令周期为125ns;MSP430F149具有60 KB的Flash ROM和2 KB RAM,可满足系统程序量和数据量大的要求控制工程网版权所有,可以解决因为加载实时操作系统而增加的内存需求,具有2个串行通信接口,其中一个串口用于跟主系统通信,另一个可用于控制其他外围模块;具有48个可独立编程的I/O口,其中有2个具有中断功能的8位并行端口,在设计按键电路时,可方便地采用中断方式识别键值。
2、软件设计与实现
2.1 实时操作系统
μC/OS—II是一个源码开放,拥有抢占式内核,支持多任务的实时操作系统;任务被分为休眠态、就绪态、运行态、挂起态和被中断态五种状态,内核根据任务所处的状态对任务作相应的处理,已经准备就绪的高优先级任务可以剥夺正在运行的低优先级任务对CPU的使用权。系统大