>
首页 » 业界动态 » 嵌入式系统PDA智能手机设计方案

嵌入式系统PDA智能手机设计方案

作者:  时间:2008-10-15 22:07  来源:EDN China
智能手机(PDA)系统的软件设计

  系统分析和软件设计是智能手机系统实现的难点之一,设计的优劣关系到系统的稳定性、扩展性等。因为要兼顾到GSM语音控制与其它智能手机应用之间的互相切换及关联关系,智能手机软件系统的设计就变得相对复杂。系统设计将软件分为三层结构,如图2所示。最下面一层为操作系统层,主要实现对Linux操作系统的移植,其中包括Bootloader引导程序、LCD等设备的驱动程序。中间层为服务程序层,该层主要包括GUI服务器以及GSM/GPRS控制服务器。智能手机系统设计的关键在于各项功能应用的实现。对智能手机软件进行分层设计,有利于各个功能有机地协调运转,同时也便于软件的开发与调试。

智能手机

  1.嵌入式Linux操作系统

  Linux最初是由Linux Torvalds编写及发布的源代码公开、可免费使用的操作系统。后来,又通过Internet上成百上千的程序员的加入,使Linux成为一个几乎支持所有主流32位CPU的操作系统。其特点主要有:内核高效稳定、公开源代码、可移植性、可裁减、支持多任务等。

  本设计中采用的Linux内核是arm-Linux基础上,编写符合硬件设计的引导程序及电源管理控制程序;并针对本系统的硬件设计,编写了LCD、触摸屏等硬件设计驱动程序。

  智能手机基于Linux操作系统工作时,首先初始化CPU;然后加载各个设备驱动程序,初始化存储器及外围设备;最后启动各服务程序,进入待机状态。

  2.服务程序的设计

  智能手机系统中的服务程序主要有GUI Server和GSM/GPRS Server,它们是上层应用赖以实现的基础。

  GUI Server

  为使系统能够很好地支持浏览器及MMS等界面复杂的应用,具有良好的可扩展性,本系统中的GUI Server设计采用了客户机/服务器模式,并以动态链接库的形式对图形设备接口进行封装,具体如图3所示。

  服务进程与应用进程之间采用Linux提供的消息队列进行通信。服务进程保存系统GUI环境的描述信息,为应用进程提供注册及一些计算任务,如计算当前剪切域内容等。此外,还负责显示桌面。应用程序的启动后,首先与服务进程建立连接并进行交互,将自身的一些描述信息发送到服务进程。

  服务进程和应用进程通过调用动态库实现基本窗口显示功能。其中窗口树与剪切域都定义在动态库中,对于服务进程或应用程序而言,它们是透明的,不需要进行管理。因服务进程与客户进程分别运行在不同的进程空间中,所以虽然在动态库中定义了相同的数据,但它们之间不会产生任何冲突。

  设计对动态库中封装的函数进行了分层。其中直接针对Framebuffer进行输出的函数位于系统最低层,其上是设备上下文。因每次对一个窗口输出的时都要首先建立设计上下文,所以设备上下文总可以引用窗体结构,自然也可以引用到窗口剪切域,在剪切域范围内才可以进行输出。

 GUI Server

  图形设备接口建立在设备上下文之上,主要包括点、线、面、文本等。如上文所述,输出之前,首先建立设备上下文,即其输出的目标是设备上下文,而不是窗口。

  图形设备接口的上层是应用开发接口即API层,桌面进程与客户进程都通过调用API函数实现系统功能。

  另外,系统建立了输入的抽象层,屏蔽了不同输入设备。

  GSM/GPRS Server多工通信服务器软件

  GSM/GPRS Server多工通信服务器软件是电话、短信及数据业务的守护进程,负责响应应用程序转发的用户操作事件及从串口的获得的无线通信模块事件,是整个智能手机系统的核心。在这部分的工作中要实现多链路的数据通信、事件优先级判别,并在执行数据通信时,保证电话、短信的接入。具体程序设备结构如图所示。

  3.机系统中的应用程序设计

  有了中间层的服务程序,上层应用程序可以根据GUI Server及GSM/GPRS Server提供的接口进行移植和开发。本设计中实现了电话控制程序、短信收发的管理及数据精力的应用等。下面以电话控制程序为例,介绍智能手机应用程序的设计与实现。

  本人将电话控制程序设计分为三个运行态:PowerOn State(上电态)、Idle State(空闲态)、Execution State(执行态)。图5表示了三个状态之间的关系和进入各个状态的条件。

  电话控制程序在智能手机系统上电复位、GSM/GPRS Server启动后,进入Power-on State(上电态)。在上电态,程序首先进行初始化工作,与GSM/GPRS Server通信,获得系统状态。初始化后,即进入Idle State(空闲态)。在空闲态,程序循环等待GSM/GPRS Server的呼入事件及来自键盘的呼出事件;当这些事件发生时,程序进入Execution State(执行态)。在执行态,用户进行语音通信,通话结束后,程序又回到空闲态。

相关推荐

业界最小的u-blox SARA 3G模组荣获年度最佳产品奖

3G  u-blox  导航  2014-09-15

u-blox推出具备3G/2G向下相容性的4G LTE模组 TOBY-L2

u‑blox  TOBY-L2  LTE  3G  2014-01-15

4G宣传战铺天盖地 业内呼吁消费者理性对待

4G  3G  2013-12-24

u-blox发布业界尺寸最小的新款SARA 3G模组产品

u‑blox  SARA  3G  2013-12-16

LTE终端欲爆发 芯片需先行

3G  4G  2013-11-27

2G、3G及4G多网长时间共存,基站天线如何部署

2G  3G  4G  2013-08-23
在线研讨会
焦点