随着智能手机功能性和实用性的增强,使用者越来越多,尤其适合"移动"商务人士使用。目前智能手机市场的竞争也很激烈,一方面诺基亚、摩托罗拉、三星等传统巨头想牢牢把握市场份额,另一方微软、苹果、谷歌等国际新巨头也开始进入手机市场。未来的智能手机不仅在处理器速率上会有明显提高,操作系统也会越来越开放和智能化,为软件运行和内容服务提供了更好的平台。随着3G通信时代的到来和IMS技术的逐渐成熟,通信效率和带宽将得到很大改善,手机多模接入必将成为一种趋势,基于3G手机的应用服务也会越来越丰富,更多增值业务可以就此展开,如商品、天气、新闻、股票、交通、应用程序下载等,因此厂商不再只关注智能手机,而是更加关心通信软件和内容服务,因此通信软件和移动互联网领域具有强大的市场潜力,诸如手机电视、手机搜索、手机网络游戏等领域将具有广阔的市场前景。
一、IMS、VCC 和WIFI技术
1、IMS(IP 多媒体子系统)
IMS(IP Multimedia Subsystem,IP多媒体子系统)是第三代移动通信核心网络的重要组成部分。是基于IP技术,融合Internet、移动网络、数据、语音、视频的网络体系。IMS的目标是融合Internet和移动通信网络。现在IMS已被定义为支持所有IP 接入网的多媒体业务核心网,可以支持任何一种移动的或固定的、有线的或无线的IP- CAN(IP Connectivity Access Networks),包括W- CDMA,CDMA2000,TD- SCDMA,Ethernet,xDSL以及WirelessLAN等接入方式,从而实现其接入的无关性。
IMS核心网主要采用SIP(Session Initiation Protocol)协议进行会话控制。通过IMS,3G (3rd Generation Mobile CommunicationsSystem)网络可以为用户提供PoC(Push to talk over Cellular,一键通)、多媒体会议、即时消息、Presence 等多种业务。从网络架构上来看,IMS是叠加在原有电路域和分组域网络之上的网络,通过分组域实现信令和用户数据的承载,并可以实现和原有电路域的互通。
2、VCC(语音呼叫连续性)
无线局域网(WLAN)技术在近年来得到很大的发展,已经广泛用于办公区、家庭、通信热点地区等场合,用户完全可以通过WLAN接入IMS核心网,从而使用基于IMS的VoIP(Voiceover IP)电话服务。同时应该注意到以下两点:第一,CS域提供的话音业务是基本的收入来源,不可能立即停用,会与IMS网络共存较长的时间。第二,IMS虽然采用基于SIP的业务实现方式支持VoIP业务,但其语音质量难以得到保证。语音呼叫连续性(Voice Call Continuity,VCC)即是3GPP 针对IMS 域与CS 域间语音呼叫连续性的解决方案。基于VCC业务,通过引入支持GSM/CDMA/UMTS和WLAN接入方式的双模或多模移动终端设备,用户可以在有WLAN覆盖的地区,通过WLAN方式接入IMS进行语音通话,当用户移出WLAN服务区后,又会漫游到移动蜂窝网络上继续进行语音通话,并且可以在两者之间进行无缝切换。
3、WIFI(无线保真技术)
WIFI是IEEE 802.11 网络规范的一种,最高带宽可达11 Mbps,根据实际情况,带宽可自动调整三种不同的带宽,分别为5.5Mbps、2Mbps 和1Mbps.带宽的自动调整性有效地保障了网络的稳定性和可靠性。具有"速度快、可靠性高"等特性。在开放性区域,通讯距离可达305 米,在封闭性区域,通讯距离为76 米到122 米,方便与现有的有线以太网络整合,且组网的成本更低。
WLAN(无线局域网)是由AP(Access Point)和无线网卡组成的无线网络。AP称为网络桥接器或接入点,它是传统的有线局域网络与无线局域网络之间的桥梁或纽带,因此任何一台装有无线网卡的终端都可通过AP去分享有线局域网络或广域网络的资源,它的工作原理相当于一个内置无线发射器的HUB或者是路由,而无线网卡则是负责接收由AP 所发射信号的终端设备。
二、软硬件架构体系设计
为创建本智能手机的软硬件系统平台,需要基于IMS和VCC实现原理和具体功能需求来设计系统架构,下图是基于Linux和IMS的系统架构图。
图1 基于IMS 的系统架构图
在上图中,最上层是根据实际需求开发的一些应用程序,采用分层实现的机制,为每种业务设计实现了一个相应的业务引擎,这些业务引擎都是基于底层的一些网络协议栈(如SIP)和设备驱动程序来实现的具体业务模块。上图列举了三种业务引擎,可以根据具体需求进行调整。移动通信中的音频、视频等多媒体数据通过使用基于GStreamer(一个开源的多媒体框架库)的媒体播放工具来实现编解码工作。图中的IMS Core模块由一些公共的核心IMS API组成,以供具体业务引擎实现时进行调用。IMS SDK中的Driver 层是在硬件设备驱动层的基础上又进行了一次抽象,以达到与所用操作系统和具体硬件设备无关的目的。
1、硬件平台设计
为设计与实现好整个智能手机,首先需要从用户的角度来考虑功能需求状况,同时注意其开发成本。一般而言,智能手机的硬件平台须从两部分考虑,即处理器和外设。
智能手机比普通手机有更高的性能,是因为所采用的核心处理器的不同。普通手机所选用的处理器的运行频率不过几十MHz、最多也只一百多MHz,这种处理器处理基本语音功能还可以,但在处理图像视频等多媒体数据时性能就远不够。可用于手机处理器有:三星的ARM系列、TI 的OMAP 系列、INTEL 的XSCAL系列等。
随着智能手机的发展,需要有更高性能的嵌入式微处理器。
本智能手机选用了Intel 公司的基于XScale 架构的PXA270 高性能嵌入式处理器,其最高主频可达624MHz,支持无线多媒体指令集扩展(Wireless MMX),允许PXA270 以较低的时钟频率实现增强的多媒体性能。该处理器提供了非常丰富的外设接口,如LCD、音频、USB、I2C、SD/MMC、CF、蓝牙、WiFi、数码相机、键盘等接口.PXA270 处理器中采用了Wireless MMX和SpeedStep 两项Intel专利技术,进一步将高性能计算和动态电源管理技术相结合,使得该处理器与其他同类芯片相比,在多媒体处理能力和功耗方面有着非常大的优势。
在选用传统通信模块也有多种选择,本智能手机系统选用了Philips 的Sysol- 3 通信模块,该模块包含了基带芯片、RF 射频芯片组、Combo Flash 芯片以及GSM/GPRS终端所需的全部软件功能。Sysol- 3 有着完善的功能和稳定的性能,此外还具有非常小的外形尺寸和非常轻的重量,能够满足智能手机、数码通信设备等无线终端设备的薄、轻、小巧的需求。
现在流行的无线网卡接口主要有两种,一种是基于标准PCMCIA接口,另一种是基于USB接口。因为Intel Xscale PXA270处理器内部集成了双通道16 位PCMCIA PC Card/CF 控制器,支持8 位/16 位I/O模式和Memory模式的访问。所以我们采用PCMCIA接口来扩展88W8686 无线网卡。
2、软件平台设计
在设计好智能手机的硬件开发平台后,下面需要根据硬件平台设计软件开发平台。系统的Bootloader 通过编译移植u- boot来实现,它对PXA270处理器有较好的支持。然后移植相应硬件设备的驱动程序,配置和裁减Linux内核,完成对Linux的交叉编译.至于根文件系统,采用Busybox工具进行编译生成,并使用mkfs.jffs2 工具创建JFFS2 类型的文件系统映象。最后逐一将u- boot、Linux内核及文件系统映象烧写到Flash 中进行测试运行。
3、DMS SKD层的设计
关于DMS(Dual Mode Services)SDK层,终端研发人员既可以自己设计实现,也可以通过购买使用第三方提供的SDK解决方案,诸如PicoMobile和Ecrio等公司就提供此类方案。SDK的设计既需要满足本系统的功能要求,同时也要满足模块化、简约化的要求,从而方便日后进行新功能的扩展与集成。SDK层的工作主要是基于SIP协议、IMS通信的信令流程、GSM通话信令来进行设计与实现。与通话有关的API的实现过程主要是基于SIP 协议通过发送或接收相应的SIP 信令来实现与服务器的交互,与硬件有关的API主要是通过调用相关驱动程序来实现。以上主要实现了与电话业务相关的功能,根据业务的需要,还可以在此基础上对SDK进行扩展。
4、DMS 后台服务设计
DMS Daemon Service,即DMS 后台服务程序,是与DMSSDK层(主要是VCC Engine)交互的主体部分,它的实现工作主要是基于Qtopia 把DMS SDK层提供的API 封装成可供上层应用调用的公共接口。
其中DMSDaemon 是整体后台服务类;DMSTelephonyService负责实现电话相关的功能接口;IMSControlService用于响应上层控制程序的IMS服务请求;一切与底层DMS SDK子系统有关的调用由DMSLayer来完成。
三、WIFI驱动程序设计
同有线网络一样,接入无线局域网需要网卡设备,目前WLAN网卡常用的接口有PCI、USB、PCMCIA和CF 卡接口,嵌入式系统常用的WLAN 网卡接口一般有PCMCIA、USB 和CF卡接口,其中PCMCIA和CF卡接口逻辑类似,在本系统的硬件设计中,采用PCMCIA接口扩展成WLAN接口,接入WiFi 无线网卡。因此如果想要使用无线网卡,需要实现Linux下PCMCIA接口的驱动程序和具体无线网卡设备的驱动程序。Linux内核对常用的无线局域网卡的支持都很好,通过内核配置时选择Networkdevice supportàWireless LAN,实现对无线网络的支持,因此无线网卡的驱动程序移植比较简单。