Loading
新闻中心库存中心价格中心PDF中心图片中心
ICGLE 电子技术支持中心,为电气人员和相关企业提供全面的信息(IC技术\IC库存\IC图片\PDF资料等)服务
总线设计PCB设计单片机DSPARM
JAVA驱动设计C/C++汇编J2EE网络协议中间件技术嵌入式系统无线通信通信网络模拟技术接口电路显示光电传感与控制EDA/PLD
气流体控制电子产品电机及工具通信设备仪器仪表电线电缆建筑电气低压电器高压电器电源工控自动化广电设备医疗器械More..
电源设计仪器仪表技术专递电路图片电子专栏储存技术汽车电子测量测试音响技术家用电器
成功方案市场分析行业标准应用前沿芯片应用综合专区
基于嵌入式Linux的智能手机系统设计
来源:电子技术应用   作者:谭 磊
字体大小:[大][中][小]

class=content style=display:block;padding:0px 10px>

随着手持通信设备市场的快速发展,手机的功能逐渐增多。现在手机已经不只是用于语音通话的手持设备,而成为集成了短信、彩信、上网以及移动办公等附加功能的嵌入式通信平台。集成了这些功能的手机被称为智能手机。近年,嵌入式处理器的运行速度和功能都有了很大的提高,使得许多以前只能在PC上实现的应用,现在都可以在手持设备上实现。目前,市面上的智能手机主要采用Microsoft公司的Pocket PC、Palm OS等商用操作系统,但这些操作系统开放的程度不够高,限制了许多第三方应用软件的移植。为使智能手机能够为第三方应用软件提供一个更为开放的嵌入式平台,笔者对智能手机系统做了比较深入的研究,提出一种以Linux作为嵌入式操作系统、Motorola的MX1作为微处理器、以Wavecom的Q2403A作为射频模块的智能手机系统的设计与实现。
1 智能手机系统的硬件设计
    智能手机系统的硬件设计如图1所示。该设计采用Motorola公司的MX1(MC9328)高性能的32位微处理器、Wavecom公司的Q2403A无线收发模块等实现智能手机的GSM通话、GPRS上网及其它PDA应用等功能。

 


1.1 微处理器
    系统采用的MC9328 MX1微处理器是最新推出的Motorola DragonBall系列微处理器。它采用先进节电的ARM920T 核心,速度最高可达200MHz。集成了LCD 控制器、SRAM、USB接口、一个A/D转换器(支持触摸屏控制)、一个MMC/SD主机端控制器。256-pin的MPPBGA封装[1]
1.2 无线收发模块
    系统采用WAVECOM公司的专用无线收发模块。它是双频GSM模块(EGSM900/1800MHz),其设计及开发符合ETSI GSM Phase 2+标准。具有话音、GSM电路数据/传真、GPRS分组数据、短消息等功能。该模块支持AT指令集,通过RS232与MX1通信[2]
1.3 其它外围设备
    智能手机的其它外围设备还有LCD、Touch panel、Audio CODEC等。
2 智能手机系统的软件设计
    系统分析和软件设计是智能手机系统实现的难点之一,设计的优劣关系到系统的稳定性、扩展性等。因为要兼顾到GSM语音控制与其它智能手机应用之间的互相切换及关联关系,智能手机软件系统的设计就变得相对复杂。系统设计将软件分为三层结构,如图2所示。最下面一层为操作系统层,主要实现对Linux操作系统的移植,其中包括Bootloader引导程序、LCD等设备的驱动程序。中间层为服务程序层,该层主要包括GUI服务器以及GSM/GPRS控制服务器。智能手机系统设计的关键在于各项功能应用的实现。对智能手机软件进行分层设计,有利于各个功能有机地协调运转,同时也便于软件的开发与调试。

 


2.1 嵌入式Linux操作系统
    Linux最初是由Linux Torvalds编写及发布的源代码公开、可免费使用的操作系统。后来,又通过Internet上成百上千的程序员的加入,使Linux成为一个几乎支持所有主流32位CPU的操作系统。其特点主要有:内核高效稳定、公开源代码、可移植性、可裁减、支持多任务等。
    本设计中采用的Linux内核是在ARM-Linux基础上,编写符合硬件设计的引导程序及电源管理控制程序;并针对本系统的硬件设计,编写了LCD、触摸屏等硬件设备驱动程序。
    智能手机基于Linux操作系统工作时,首先初始化CPU;然后加载各个设备驱动程序,初始化存储器及外围设备;最后启动各服务程序,进入待机状态[3]
2.2 服务程序的设计
    智能手机系统中的服务程序主要有GUI Server和GSM/GPRS Server,它们是上层应用赖以实现的基础。
2.2.1 GUI Server
    为使系统能够很好地支持浏览器及MMS等界面复杂的应用,具有良好的可扩展性,本系统中的GUI Server设计采用了客户机/服务器模式,并以动态链接库的形式对图形设备接口进行封装,具体如图3所示[4]

 


    服务进程与应用进程之间采用Linux提供的消息队列进行通信。服务进程保存系统GUI环境的描述信息,为应用进程提供注册及一些计算任务,如计算当前剪切域内容等。此外,还负责显示桌面。应用程序在启动后,首先与服务进程建立连接并进行交互,将自身的一些描述信息发送到服务进程。
    服务进程和应用进程通过调用动态库实现基本窗口显示功能。其中窗口树与剪切域都定义在动态库中,对于服务进程或应用程序而言,它们是透明的,不需要进行管理。因服务进程与客户进程分别运行在不同的进程空间中,所以虽然在动态库中定义了相同的数据,但它们之间不会产生任何冲突。
    设计对动态库中封装的函数进行了分层。其中直接针对Framebuffer进行输出的函数位于系统最低层,其上是设备上下文。因每次对一个窗口输出时都要首先建立设备上下文,所以设备上下文总可以引用窗体结构,自然也可以引用到窗口的剪切域。所以针对设备上下文的输出首先会参照窗口剪切域,在剪切域范围内才可以进行输出。
    图形设备接口建立在设备上下文之上,主要包括点、线、面、文本等。如上文所述,输出之前,首先建立设备上下文,即其输出的目标是设备上下文,而不是窗口。
    图形设备接口的上层是应用开发接口即API层,桌面进程与客户进程都通过调用API函数实现系统功能。
    另外,系统建立了输入的抽象层,屏蔽了不同输入设备。
2.2.2 GSM/GPRS Server多工通信服务器软件
    GSM/GPRS Server多工通信服务器软件是电话、短信及数据业务的守护进程,负责响应应用程序转发的用户操作事件及从串口获得的无线通信模块事件,是整个智能手机系统的核心。在这部分的工作中要实现多链路的数据通信、事件优先级判别,并在执行数据通信时,保证电话、短信的接入。具体程序设计结构如图4所示。

 


2.3 智能手机系统中的应用程序设计
    有了中间层的服务程序,上层应用程序可以根据GUI Server及GSM/GPRS Server提供的接口进行移植和开发。本设计中实现了电话控制程序、短信收发的管理及数据业务的应用等。下面以电话控制程序为例,介绍智能手机应用程序的设计与实现。
    笔者将电话控制程序设计分为三个运行态:Power-On State(上电态)、Idle State(空闲态)、Execution State(执行态)。图5表示了三个状态之间的关系和进入各个状态的条件。

 


    电话控制程序在智能手机系统上电复位、GSM/GPRS Server启动后,进入Power-on State(上电态)。在上电态,程序首先进行初始化工作,与GSM/GPRS Server通信,获得系统状态。初始化后,即进入Idle State(空闲态)。在空闲态,程序循环等待GSM/GPRS Server的呼入事件及来自键盘的呼出事件;当这些事件发生时,程序进入Execution State(执行态)。在执行态,用户进行语音通话,通话结束后,程序又回到空闲态。
    本系统设计成功地应用于实际工程项目中,其可行性和实用性已在实际应用环境中得到检验。下一步,可将系统的CPU主频进一步提高,无线通信模块也可换成符合3G标准的。这样,就可以在本系统设计的基础上,实现更为广泛的手持设备应用。
参考文献
1 Motorola. MC9328MX1 Integrated Portable System Processor Reference Manual
2 Wavecom. WISMO Quik Q2403 series Product Specifications
3 陈章龙,涂时亮. 嵌入式系统-Intel StrongARM结构与开发.北京:北京航空航天大学出版社,2002年10月第一版
4 Mobilesoft Technology (NanJing) Co., Ltd. MGUI2编程指南

Upload by 小刘(2008-8-13)
IC
·嵌入式网络智能控制系统的研究
·蜂窝/WLAN多模终端的设计考虑
·基于HMS30C7202嵌入式系统的..
·基于SEP3203的嵌入式以太网口的..
·利用CAN收发器提高CAN网络的安全..
·高性能T比特路由器高可用性的研究与实..
·Linux串口上网的简单实现
·从以太网供电中获取更多的电力
·串行ATA总线应用技术
·基于GPS的嵌入式公交自动报站系统的..
·基于USB2.0与FPGA技术的高速..
·SDH、同步以太网设备时钟的高效率实..
·基于嵌入式Linux的便携式RFID..
·基于PC/104的1553B总线测控..
·基于ARM的视频监控终端的设计与实现
·滑动相关法伪码捕获的FPGA实现
·基于Linux的SoPC应用系统设计
·一种基于ARM及FPGA的新型智能化..
·嵌入式设备上的 Linux 系统开发
·基于ARM的混合动力客车液晶显示系统..
·电源应用中场效应晶体管的崩溃效应
·基于AD7888的高稳定度激光器多路..
·一种高速低压低静态功耗欠压锁定电路
·MAX2140内部ESD二极管的保护..
·电流测量的原理和产品
·利用PCI1510实现PCI板卡的热..
·基于VC的USB接口通信程序设计
·基于I2C总线技术的USB接口设计
·LCD控制器驱动的24位TFT真彩屏..
·GPS99808模块在汽车防盗系统中..
·热插拔可靠性的新标准
·基于LT1641的双路热插拔电路设计
·四通道I2C多路复用器提供了地址扩展..
·基于PCI总线和DSP芯片的图像处理..
·Linux 2.6 内核中的最新电源..
·高功率以太网供电不再困难
·采用UCC28051的100W通用线..
·电压不足期间支持电信电源的小电容
·负载管理与负载开关的设计与实现
·交叉耦合门防止推挽驱动器交叠
IC
推荐技术文章:
·台式电源测试的革命..
·锂电池组的主动电荷平衡..
·绿色动力新潮流——燃料电池..
·输出电容器的等效串联电阻对滞环控制功....
·动态电源路径管理简化了太阳能板对电池....
·今天的绿色 POL DC/DC 转换....
·使用LXI加强汽车电子测试..
·针对无线宽带相位噪声的测试方案..
·在低成本测试夹具上实现对表面贴装射频....
·基于CC1100的无线手持终端的设计..
·核磁共振系统中微波射频开关的设计与应....
·基于无线传感器网络的电机运行状态监测....
·Zigbee无线传感器网络平台的设计....
·利用红外技术解决音频无线传输难题..
·温度传感器TMP275在家庭环境监控....
·CF+插槽宿主的供电及热插拔控制设计..
·一种新型的高压变频分布式控制系统..
·固定翼飞机竖直飞行控制系统的设计..
·霍尔效应技术提供紧凑型电流测量传感器..
·语音控制的智能小车设计..
·高精度超声波测距系统的设计与实现
·基于PLC的玩具整体燃烧自动测试仪的..
·用于各类摄像应用的高速CMOS图像传..
·设计下一代自动化测试系统
·基本电能质量测量方法和常见问题原因
·基于FPGA的通用开关电源控制器硬件..
·FPGA器件的设计实现、设计优化与模..
·ARM的位置无关程序设计在Bootl..
·基于OV6630图像传感器和DSP的..
·基于DSP和CPLD的软开关电源数字..
·解决DSP设计面临的终极挑战
·基于P89C52RD2和FPGA的可..
·单片机的图形化编程方法探讨
·单片机系统多串行口设计技术研究
·51单片机红外遥控解码程序
·基于16位单片机的无刷直流电动机控制..
·PIC单片机控制lcd12864液晶..
·用PIC单片机实现LCD显示单个B字
·AVR内部EEPROM读写范例
·AVR模拟比较器使用范例
IC
IC

©2007 版权归ICGLE所有   页面执行时间:62.500毫秒