手机软件平台架构解析(txt+pdf+epub+mobi电子书下载)


发布时间:2020-08-06 09:59:45

点击下载

作者:和凌志,郭世平

出版社:电子工业出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

手机软件平台架构解析

手机软件平台架构解析试读:

前言

随着手机的日益普及,其质量问题越来越受到用户的普遍关注。在国家工商总局公布的2008年十大投诉热点中,手机问题最为突出,投诉量达到6.9万余件,主要问题集中在质量和性能不稳定,死机和无法正常开关机的现象比较严重。

手机的软件性能直接决定着手机的整体质量,而手机软件平台又直接影响手机的软件性能,因此选择一个合适的软件平台是保证手机软件质量的基础条件。手机的整体性能和稳定性在很大程度上取决于手机软件平台架构的设计是否合理。常有用户抱怨手机有时莫名其妙地死机或重启,其根本原因在于部分手机应用软件架构本身存在的固有缺陷,致使应用层的开发无论怎样努力弥补都无济于事。作为嵌入式平台的一个应用,手机的软件开发难度较大,应用程序管理和资源冲突管理显得尤为重要。不管手机当前处于什么状态,来电在任何时候都会发生,所有的应用(如音乐正在播放、SD卡正在插拔中)都要暂停(同时释放声音资源)去处理来电,等来电处理结束后,再恢复到原来的状态。类似的应用重叠和资源冲突问题很多,要想从根本上解决这些问题,必须设计一个合理的软件平台架构。

基于作者多年的手机软件开发经验,本书提出了一个典型的手机软件架构模型,一一解析了当前主流手机厂商的软件平台结构。对于影响手机性能的关键瓶颈,本书给出了具体的分析和方案建议,详细讲述了应用程序和资源冲突解决方案。

从前面的描述可以看出,本书的写作思路不是通常的“step by step”之类的图书,也不是为读者提供一种“照葫芦画瓢”的操作方法,而是尽量讲述作者对手机软件平台相关理论的研究以及作者将这些理论应用于项目实践中的经验和体会。由于作者对理论的学习还不够到位,对于实践还有待进一步深入,本书的谬误和不足在所难免,作者真心希望得到同行专家的批评、指导。此外,因为手机软件平台种类繁多,大多手机厂商为彰显个性而开发了属于自己特色的软件平台。当前的软件平台还在延续,新平台又在不断地诞生(如Android、iPhone)。作者虽然在多个平台上有过经验积累,但仍有部分平台涉取不够。因此书中肯定有不当之处,敬请海涵。

本书共分17章,全书由和凌志统稿。其中第14、15、16章由郭世平编写,其他章节由和凌志编写。王军、林之对本书的编写提供了热情的帮助。

本书在编写过程中,自始至终得到了电子工业出版社高买花女士的热情指导和帮助,在此表示衷心的感谢。

手机软件平台架构设计是一个复杂的系统工程,希望本书的出版能够起到一个抛砖引玉的作用,也恳请专家学者和广大读者不吝批评指正。

作 者

2009年7月于北京

一个关于手机软件架构的故事

曾经有那么两个月,公司因业务扩展,迫切需要招聘新人,我有幸地参与到手机软件招聘的队伍中,与前来应聘者互相切磋手机软件平台的架构设计。每一次对话,我都能从中学到很多自己未曾经历过的宝贵的经验,也帮着公司和个人促成了不少“姻缘”。

在众多的面试者中,有一个小伙子最让我“刻骨铭心”。他做了两年的手机应用软件开发,简历上的内容却略显“苍白”。我们之间进行了这么一段对话:

面试者:从简历上看,你做了两年的软件开发,为什么只涉及一个alarm(闹钟)模块呢?

应聘者:我就是在做一个alarm。

面试者:一直做alarm?(很吃惊的样子)

应聘者:对!(语气很肯定)

面试者:那你都做些什么呢?(迫切想知道)

应聘者:bug很多,其他模块的人总是改我的alarm,说是我的alarm影响了call的铃声,还说我的alarm影响了multimedia的播放。只要有声音的bug,他们就改我的alarm。他们的bug改好了,我的bug又冒出来了……(看似满肚子的委屈)

至此,我明白了几分,这个应聘的小伙子是无辜的,我很同情他。这一切都是手机声音资源冲突惹的祸!

小伙子的话让我铭记在心,看似一个小小的手机,其软件复杂度不可小觑。应用程序和资源冲突的管理是手机软件架构设计中至关重要的一部分。一个合理的软件平台架构在设计上应该遵循一定的原则!

第1章 移动通信技术

本章将介绍移动通信技术的发展历程,分析比较WCDMA、cdma2000和TD-SCDMA的技术优势。简述3G牌照的发放给我国移动通信产业带来的增值业务。

1.1 移动通信网络技术

1.1.1 概述

移动通信网络以手机作为主要的接入设备,网络建设一般采用蜂窝式解决方案。到目前为止,移动通信网络按照其发展可以分为第一代、第二代和第三代移动通信技术。第一代移动通信技术基于模拟的FDMA技术,已经被淘汰。随着移动通信技术的发展,又出现了2G、2.5G、3G,甚至4G移动通信技术。

其中,2G移动通信网络主要是指GSM技术,而2.5G移动通信网络主要是指GPRS移动通信技术,它是基于GSM系统的无线分组交换技术,是作为现有GSM网络向第三代移动通信演变的过渡技术。第三代移动通信技术也就是通常所说的3G,是指将无线通信与Internet等多媒体通信结合的新一代移动通信系统,它主要是基于CDMA技术的。第四代移动通信技术4G与3G相比,除了通信速率大大提高外,还可以借助IP进行通话。4G是为未来的无线通信提供服务的,国际电联的无线部门ITU-R负责4G的标准化工作。

由于人们对移动通信业务的追求已从单纯的语音业务扩展到多媒体业务,频谱资源显得日益紧张,因此追求尽可能高的频谱利用率已经成为一个充满挑战的课题。这种挑战促使人们努力开发高效的编码、调制及信号处理技术来提高无线频率的利用率。1.1.2 第三代移动通信技术

第三代移动通信系统是国际电信联盟(ITU)在1985年首先提出来的,当时被称为未来公众陆地移动通信系统(Future Public Land Mobile Telecommunication Systems,FPLMTS)。目前国际上承认的3G标准有三个:欧洲的WCDMA、美国的cdma2000和中国的TD-SCDMA。

在移动通信技术中,cdma2000和WCDMA都采用FDD标准,而TD-SCDMA采用TDD标准。因此将cdma2000与WCDMA合为一类,TD-SCDMA单独列为一类。通常,FDD标准是移动通信的主流技术,但第三代移动通信技术将提供Internet接入等不对称业务,所以TDD标准有着明显的优势,也越来越受到广泛的重视。1.1.3 WCDMA与cdma2000的比较

WCDMA和cdma2000均满足IMT-2000提出的全部技术要求:支持高比特多媒体业务、分组数据和IP接入等。这两种系统的无线传输技术均基于DS-CDMA作为多用户接入技术。WCDMA和cdma2000在技术先进性和发展成熟度上各具优势:

① WCDMA使用的带宽和码片速率(3.84 Mc/s)是cdma2000 1X的3倍以上,因而能提供更大的多路径分集、更高的中继增益和更小的信号开销,也改善了接收机解决多路径效应的能力。

② WCDMA在小区站点使用异步基站,而cdma2000基站则通过GPS实现同步,这将造成室内和城区部署的困难。

③ 由于支持CDMA 1xEV-DO的TDM接入系统采用共享时分复用下行链路,它具有固定时隙,因此cdma2000物理层兼容性较差。

④ WCDMA较cdma2000能够更加灵活地处理语音和数据混合业务。

⑤ WCDMA进行功率控制的速度是cdma2000的2倍,因而能保证更好的信号质量,并能支持更多的用户。

⑥ cdma2000的导频信道大约占下行链路总传输功率的20%,WCDMA只需占10%,因而可以节省更多公用信道开销。

⑦ 在混合语音和数据流量方面,WCDMA的系统性能比cdma2000表现更加出色,从技术角度上讲,WCDMA具有一定的优势。GSM向3G过渡的最佳途径就是由GPRS过渡到WCDMA。1.1.4 TD-SCDMA与WCDMA和cdma2000的比较

TD-SCDMA(Time Division-Synchronous Code Division Multiple Access)的中文含义为时分同步码分多址接入。TD-SCDMA系统是TDMA和CDMA两种基本传输模式的灵活结合,是由中国无线通信标准化组织(China Wireless Telecommunications Standard group,CWTS)提出并得到ITU通过的3G无线通信标准。该标准采用时分双工(TDD)、TDMA/CDMA多址方式工作,并且采用了智能天线、软件无线电、联合检测、接力切换等一系列高新技术。TD-SCDMA具有以下优势:

① 频谱利用率高。TD-SCDMA采用TDD方式、CDMA和TDMA相结合的多址技术,在传输中很容易针对不同类型的业务设置上、下行链路转换点,因而可以使得频谱利用率更高。

② 支持多种通信接口。TD-SCDMA同时满足多种接口要求,基站子系统既可作为2G和2.5G的GSM基站的扩容,又可作为3G网中的基站子系统,能同时兼顾当前的需求和将来的发展。

③ 频谱灵活性强。TD-SCDMA通信系统频谱灵活性强,仅需单一1.6 MHz的频带就可提供速率高达2 MHz的3G业务需求,而且非常适合非对称业务的传输。

④ 系统性能稳定。TD-SCDMA收/发在同一频段上,上行链路和下行链路的无线环境一致性很好,更适合使用新兴的智能天线技术;利用CDMA和TDMA结合的多址方式,便于采用联合检测技术,能减少干扰并提高系统的稳定性。

⑤ 与传统系统兼容性好。TD-SCDMA支持现存的覆盖结构,信令协议可以后向兼容,网络不必引入新的呼叫模式,就能够实现从现有的通信系统到下一代移动通信系统的平滑过渡。

⑥ 系统设备成本低。TD-SCDMA上下行工作于同一频率,对称的电波传播特性便于智能天线的利用,可达到降低成本的目的;在无线基站方面,TD-SCDMA的设备成本比较低。

⑦ 支持与传统系统间的切换功能。TD-SCDMA支持多载波直接扩频系统,可以利用现有的框架设备、小区规划、操作系统、账单系统等,在所有环境下均支持对称或不对称的数据传输速率。

当然,与前两种标准相比,尤其是与WCDMA相比,TD-SCDMA也有略显不足的地方。比如,在对CDMA技术的利用方面,TD-SCDMA因要与GSM的小区兼容,小区复用系数为3,降低了频谱利用率;又因为TD-SCDMA频带宽度窄,不能充分利用多径,降低了系统效率,实现软切换和软容量能力较差;另外,TD-SCDMA系统要精确对时,小区间要严格保持同步,因此对时钟系统的精度要求高。而WCDMA则不需要小区间同步,可适应室内外,甚至地铁等不同的环境。另外,WCDMA对移动性的支持更加优越,适合宏蜂窝、蜂窝、微蜂窝组网,而TD-SCDMA只适合微蜂窝,对高速移动的支持也较差。尤其是在从GSM向3G的过渡过程中,WCDMA的优势更加明显。1.1.5 第四代移动通信技术

目前还没有第四代移动通信的准确定义,但比较认同的解释是:“第四代移动通信可以称为宽带接入和分布网络,具有非对称的和超过2 Mb/s的数据传输能力,它包括宽带无线固定接入、宽带无线局域网、移动宽带系统、互操作的广播网络和卫星系统等。”

一般认为第四代移动通信技术应该具有以下特点:

① 高速率:即从2 Mb/s提高到10 Mb/s。

② 兼容性好:应该可以为各系统之间提供无缝的业务支持,并提供全球无缝漫游。

③ 支持多重模式、支持对称/非对称业务。能根据网络的状况和变化的信道条件进行自适应处理。使低速与高速的用户和各种各样的用户设备能够并存与互通,从而满足系统多类型用户的需求。

④ 以IP为基础的无线接续,支持QoS。

第四代移动通信不仅是一个全新的系统,也是目前各种无线通信系统的统一和融合。

1.2 3G标准在中国的应用

2009年1月7日,工业和信息化部宣布,批准中国移动通信集团公司增加基于TD-SCDMA技术制式的第三代移动通信(3G)业务经营许可,中国电信集团公司增加基于cdma2000技术制式的3G业务经营许可,中国联合网络通信集团公司增加基于WCDMA技术制式的3G业务经营许可。人们期盼已久的3G牌照发放这一历史性时刻终于到来,这标志着我国从此进入了3G时代。

1.3 3G带来的增值业务

3G带来的全新的多媒体服务将创造巨大的收入新来源,为整个通信行业带来新的机遇和利润增长点,并催生移动通信新的价值链。3G价值链如图1-1所示,即网络设备制造商、内容供应商、内容集成商、服务供应商、网络运营商、终端应用软件商、终端制造商、终端用户。图1-1 3G价值链

3G时代给用户带来的最大变化就是数据业务的丰富,在手机运营商和众多内容服务商的合作下,辅以网络带宽及速率的支持,数据业务将显现种类繁多、内容丰富的趋势。

3G本身所固有的技术优势在带给用户新的体验的同时,也为运营商带来无限的增值业务。具体体现在以下几个方面:【手机上网】:国产3G标准TD-SCDMA实现的高速上网,打开网页时间基本控制在5 s内,下载一首2 MB的歌曲约1 min,传送22.6 KB的彩信约20 s;【移动IM】:3G时代的运用在手机上的飞信、QQ、MSN将同样能实现丰富的表情;【移动电邮】:目标市场将主要是企业级用户;【移动搜索】:在3G网络,移动搜索的位置搜索和视频搜索将具有广阔的市场;【手机电视】:随着数据业务资费下降,手机视频功能将在3G时代大放异彩;【手机游戏】:2G时代手机游戏通常难以开展,随着3G时代的到来,手机网游的应用环境将得到极大的改善,手机网游业务将成为游戏产业新的增长点。

1.4 移动应用平台

现有的移动应用平台主要有3种,分别是移动消息平台、移动网络接入平台以及IVR(互动式语音应答)业务平台。

① 移动消息平台:包括SMS和MMS两种,都可用于建立点对点的短信业务平台,在此基础上也可以开发各种增值业务。短信服务(Short Message Service,SMS)是指在在无线电话之间传递文本数据的一种业务,它是一种相对简单和可靠的技术。新的换代产品增强型信息服务(Enhanced Message Service,EMS)使用了SMS技术并新增了对二进制对象如声音、图像和动画等的支持。MMS(Multimedia Message Service)的缩写,主要是提供多媒体服务,通常又称为彩信,它最大的特色就是支持多媒体功能,尤其能够传递视频等更丰富的内容和信息。

② 移动网络接入平台:WAP平台是开展移动商务的核心平台之一。通过WAP平台,手机可以方便快捷地接入因特网,真正实现不受时间和地域约束的移动商务。WAP可以支持现有的绝大多数无线设备。在网络方面,WAP也可以支持现有的各种移动网络,如GSM、CDMA等,随着3G的逐渐推广,带宽已经不是主要问题,WAP的发展也将迎来良好的契机。

③ IVR业务平台:IVR(Interactive Voice Response)即互动式语音应答。互动式语音应答是自动与用户进行交互式操作的业务。用户可以通过电话等通信终端拨号呼叫IVR平台,根据IVR平台的语音提示进行互动操作,从而完成交易、娱乐等业务。手机能随时随地拨打IVR。移动IVR还能够利用手机终端独有的短信收/发功能,通过自动语音识别、语音合成等技术,实现语音和短信的互动。

随着移动通信技术的发展和商业的驱动,IVR将成为继移动消息平台和WAP平台之后的又一个能够提供综合业务服务的移动应用平台。

第2章 移动终端

移动终端是移动通信网络中至关重要的一部分,本章将结合移动通信理论对手机与网络、手机与SIM卡相关的协议进行全面阐述。

2.1 概述

移动终端设备的重要性在移动网络系统中是不言而喻的。典型的移动终端有以下几个特征:

① 显示屏很小。手机开发商不得不开发有别于手提电脑或PC的显示方式,而且大多数手机使用多义键盘,输入比较麻烦。

② 相对于PC,手机的内存容量有限,处理器的计算能力偏低。

③ 手机依靠电池提供的有限电量工作,电池的容量一直是手机发展的一个限制因素。

④ 相对于固定设备,手机的数据存储和进行交易的风险性更大,因为手机更容易被意外损坏、失窃或丢失等。

以上特征同时也是手机的主要局限。当然,这类问题自然也就成了手机厂商技术改造的方向。从功能角度看,手机更加注重与传统设备的互连互通的能力,为了更加灵活地操作手机存储的数据,手机提供了多种与PC连接的方式,如红外、蓝牙、USB数据线等。如果手机支持可插拔的存储卡(如MMC卡、SD卡),就可以从手机中取出存储卡通过读卡器与PC相连,直接对存储卡进行读/写操作。

有些多功能的手机融合了其他电子设备的功能并把它们与无线服务联系起来。但从总体上来说,手机的硬件配置方面的限制仍使得手机有别于传统的通信设备,各方面技术之间也存在着很大的相互依赖性。这些特性使得在传统固定网络中的协议栈、应用等都要经过改变才能适用于无线网络。

随着IT和无线技术的不断发展成熟,手机的处理能力、内存容量、电池容量都在不断地取得突破。同时,不断壮大的手机用户群也在要求手机能提供更多多样化的功能,手机开始融合了个人数字助理(PDA)、照相机、音乐视频播放器(如MP3、MP4)的功能。手机封闭式操作系统正在退出历史的舞台,取而代之的是开放式的操作系统。现有的主流智能手机普遍采用开放式操作系统。

2.2 移动通信网络结构

随着移动通信技术的发展,移动通信网络也在不断地演变,从2G、2.5G发展到今天的3G网络。2G网络和3G网络的主要区别在于空中接口部分(移动通信网络结构中的Um接口),而整个网络结构并为发生实质性的改变。为便于理解,本书仍以传统的2G网络结构为参考模型,介绍整个移动通信网路的结构组成。

GSM系统典型网络结构如图2-1所示。图2-1 GSM系统典型网络结构

从GSM系统的典型结构可以看出,GSM系统由若干子系统或功能实体组成,移动通信的网络部分由基站系统和交换机系统组成。

基站子系统(Base Station SubSystem,BSS)、移动台(Mobile Station,MS)和网络子系统(Network SubSystem,NSS)之间提供和管理传输通路,特别是包括了MS与GSM系统的功能实体之间的无线接口管理。NSS必须管理通信业务,保证MS与相关的公用通信网或与其他MS之间建立通信,也就是说NSS不直接与MS互通,BSS也不直接与公用通信网互通。MS、BSS和NSS组成GSM系统的实体部分。运行支持系统(Operation-Support System,OSS)则为运营部门提供一种手段来控制和维护这些实际运行部门。

为便于理解手机通话链路的建立过程,这里对NSS中的三个重要模块HLR、MSC和VLR的功能做一介绍。2.2.1 HLR的功能

HLR(Home Location Register)称为归属位置寄存器,是一个数据库,管理PLMN的用户数据。HLR可以理解为手机用户在移动通信网络中的“档案”所在地,它存储每个用户的特征数据,例如:

● IMSI——用户的国际身份;

● MSISDN——移动用户ISDN号码;

● 用户概况(如附加业务授权、国际呼叫授权等)。

HLR也是一个定位数据库,它为每个用户存储VLR(Visitor Location Register)的数据,甚至包含用户在接入国外PLMN网时的有关数据。这种定位是通过跨网手机发射的信息来实现的。移动通信网络通过MSISDN号码或IMSI号码来检索HLR。2.2.2 MSC和VLR的功能

MSC(Mobile-Services Switching Centre)称为移动通信交互中心或交互机,它管理移动用户和MSC间的通信设备,发送短信和执行有关的切换命令,它与VLR对话,以便管理用户的移动,鉴别访问用户的特征、传递定位信息等。

MSC有一个接口功能GMSC(Gateway MSC),把固定用户的呼叫传递给移动用户,MSC还有短信的传递功能。

VLR(Visitor Location Register)称为访问者位置寄存器,它也是一个数据库,存储本地区动态用户的用户数据。几个MSC可以连接同一个VLR,但一般来说,它们都是相互独立的。

VLR存储的数据与HLR的数据类似,但是它仅适用于位于搜索区的移动用户。2.2.3 移动台

在移动通信网络中,移动电话又被称为移动台(Mobile Station,MS),它由移动设备(Mobile Equipment,ME)和SIM(Subscriber Identity Module)卡组成。我们通常所说的手机是指移动设备(ME)。在中国,无论是GSM手机还是CDMA手机,甚至小灵通都是机卡分离的。

2.3 手机通信协议

既然GSM系统由多个子系统组成,那么多个子系统之间就应该遵循标准协议进行通信。在无线通信行业有SIM卡商、手机厂商、基站/基站控制器厂商和移动交换机厂商。为使各厂商的设备在整个网络系统中能够兼容,这些厂商都必须严格遵循3GPP协议开发相关设备。

GSM系统的各子系统之间的接口主要有:Sm接口、A接口和Um接口(Abis接口是不透明的)。这三种主要接口的定义和标准化能保证不同厂家生产的SIM卡、手机、基站子系统设备和网络子系统设备能够在同一个GSM网络中运行和使用。(1)Sm接口

Sm接口是用户与网络间的接口,主要包括用户对移动终端进行的操作程序,移动终端向用户提供显示、信号量等。此接口还包括用户识别卡(SIM)与移动终端(ME)间接口的内容。SIM卡与手机之间的通信协议是开放的,3GPP的GSM 11.11规范给出了具体的定义。(2)A接口

A接口定义为网络子系统(NSS)与基站子系统(BSS)之间的通信接口,从系统的功能实体来看,就是移动业务交换中心(Mobile Switching Centre,MSC)与基站控制器(BSC)之间的互连接口,此接口传递的信息包括手机管理、基站管理、移动性管理和接续管理等。3GPP的GSM 08.08给出了具体的定义。(3)Um接口(空中接口)

Um接口(空中接口)定义为手机与基站收/发器(BTS)之间的通信接口,用于手机与GSM系统的固定部分之间的互通,其物理链接通过无线链路实现。此接口传递的信息包括无线资源管理、移动性管理和接续管理。3GPP 的GSM 04.08给出了具体的定义。

2.4 第三代移动通信标准

第三代移动通信的标准化工作主要由3GPP和3GPP2统一制定。(1)3GPP

UMTS的标准化工作由3GPP负责。3GPP的标准分为不同版本(Release),采用整体推进的方式,各版本之间的发布时间间隔约为1年。3GPP制定的标准包括多个版本,如R98、R99、R4、R5、R6等。

GSM规范制定最初由ETSI制定,之后3GPP统一制定了无线通信协议标准。不同时期发布的版本标号不同,表2-1列出了版本标号之间的对应关系。该表便于我们根据版本标号查找相应的业务类型和范围。表2-1 无线通信协议版本对应关系(2)3GPP2

3GPP2主要负责制定cdma2000有关的技术标准。

目前制定移动业务相关技术规范的论坛和组织多达十几个,包括3GPP、3GPP2、WAP论坛、Parlay、LIF、M-service、Java Community Process等,所制定的技术规范种类和版本较多,再加上很多厂家自己也在制定标准(如Nokia 的Smart Message),目前还没有形成业界统一的、普遍共识的标准组织。

2.5 手机与无线网络

在移动通信网络中,手机是通过标准的空中接口(Um)与基站子系统相连的。2G和3G网络因采用不同的编码制式,其主要差异表现在空中接口上。在2G向3G过渡的过程中,手机的硬件平台尤其是数字信号处理(DSP)和协议栈模块会有较大的改动,而手机软件平台架构本身不会发生实质性的变化,但软件平台的移植工作仍是必不可少的。

2.6 手机与SIM卡

手机通过Sm接口与SIM相连。SIM卡在GSM网络中的唯一职责是保证只有授权的用户才能访问网络。为了做到这一点,SIM卡不仅要存储数据,而且要保护数据的安全。

手机和基站间经空中接口传送的数据都是加密的,以防止被未授权的用户窃听。从网络接收的短报文形式的文本信息也可以存储在SIM卡中,在用户需要时读出。

每一张SIM卡在全球GSM系统中有一个唯一编号,被称为国际移动用户身份(International Mobile Subscriber Identity,IMSI)。用户在世界上的每个地方的所有GSM网络中都可由号码识别,为了尽可能对用户身份保密,只要有可能,网络就用一个移动用户临时身份(Temporary Mobile Subscriber Identity,TMSI)来代替IMSI。在中国,GSM用户的鉴权认证是通过A3/A8算法实现的。

从GSM典型网络结构图中可以看出,SIM卡和手机是分离的,在无线运营商业活动中,有多家SIM卡提供商和多家手机提供商。用户在购买手机和SIM卡时,并不关心SIM卡是哪家生产的,手机是哪家生产的,把二者放在一起之所以能兼容工作,得益于手机和SIM卡的开发都严格遵循了GSM标准协议(GSM 11.11)。

GSM 11.11标准定义了22条SIM规定,手机和SIM卡都应严格遵循这22条规定。手机和SIM卡之间的通信使用T=0数据传输协议。

2.7 AT命令

手机与SIM卡、手机与网络之间的交互都是通过AT命令来实现的。AT命令的交互是一个串行、异步的收/发过程。手机开机后要通过AT命令读取SIM卡的电话本和短信,从而使得手机在初始化时需要花费一定的时间读取大容量的SIM卡。因此在手机软件架构设计中,需要优化设计AT通道的管理。频繁收/发AT命令会降低手机的软件性能。

AT命令在3GPP 规范中有详细的定义,具体可参考GSM 07.07(3GPP TS 27.007)。

2.8 手机开机过程

正常的手机开机过程包括系统初始化、网络初始化和手机终端初始化三个过程。(1)系统初始化

通常所说的手机开机需要完成的三件事是指:

● 时钟同步:GSM网络是时分多址系统,对时钟的精度有很高的要求。数字网的同步是指数字网中所有设备时钟之间的同步。数字网同步中所指的“同步”包括比特定时和帧定时两层含义。

● 频率校正:GSM网络也是频分系统,对频率的准确度也有很高的要求。

● 聆听广播信息:广播控制信道(BCCH)广播每个BTS的通用信息(小区特定信息)。(2)网络初始化

● 手机向移动交换中心(MSC)发送“位置变更请求(Location Update Request)”,把手机用户的当前位置通知MSC。

● 访问位置寄存器(Visitor Location Register,VLR)附着(Attached)SIM卡的IMSI号,并向手机发送LAI确认信息。

● 手机收到LAI(Location Information)后,把LAI确认信息存储到SIM卡中。(3)终端初始化

● 启动协议栈(Protocol Stack)。

● 读取SIM卡中的电话本和短信。

初始化成功之后,手机就附着(Attached)到网络上,也就是说,网络掌握了手机用户的当前状态和位置信息。

2.9 手机开机模式

在手机用户看来,手机开机就是按手机电源键(有的设有专用的开关机键,有的通过长按红键)进入主界面,但从技术角度来看,有三种开机模式:即正常开机、闹铃开机和充电开机。不同的开机模式,程序的启动过程也不同。2.9.1 正常开机

正常开机是指用户通过开机键进入手机的主界面。正常开机时,手机要经过一系列的初始化过程,最终显示空闲(Idle)主界面。MMI层的初始化过程主要包括以下几个部分:

● 内存初始化;

● 全局变量初始化;

● 电池电量的检查和电量指示;

● 检查网络信号并给出信号强度指示;

● 检查是否有未读短信,如果有,则给出未读短信指示;

● 获取系统日期和时间,并显示在屏幕上;

● 获取所搜索到的运营商网络,并将运营商名称显示在屏幕上。2.9.2 闹钟开机

闹钟开机是指手机当前处于关机的状态,而在关机前设置了闹钟。当闹钟醒来时,会自动启动手机,发出闹铃(闹钟铃声的风格取决于用户的设置)。

闹钟开机后,会提示用户是直接开机还是关闭手机,如果选择直接开机,之后的开机过程与正常的开机流程相同。2.9.3 充电开机

当插上充电器给手机充电时,手机的屏幕上会显示正在充电的图标,并指示电池的电量。应用程序检测到是充电开机后,要启动电源管理应用,并给出充电指示。

2.10 手机关机过程

正常的手机关机过程是指用户直接按电源键关机或因电池电量过低而引发的自动关机。正常的关机流程包括以下两步:

● 手机关机的同时发送“分离请求(Separated Request)”到移动交换中心(MSC);

● VLR(Visitor Location Register)分离用户的IMSI。

通过正常的关机流程,经过上述两个步骤后,网络可掌握手机用户的当前状态。这里需注意的是因人为直接拔电池而造成的关机没有经过上述的两个步骤,所以网络无法得知手机用户的状态。这样做的异常现象表现为当被呼叫时,网络端给出的回复是“您拨叫的用户无法接通”或“您拨叫的用户不在服务器区”。

2.11 空闲模式与待机状态

空闲模式与待机状态是移动通信专业术语,因字面意思相近很容易混淆,其实从技术角度上讲,二者之间存在着明显差异。(1)空闲模式(Idle Mode)

● 手机没有被分配任何专用信道(Dedicated Channel);

● 手机处于聆听公共控制信道(Common Control Channel,CCCH)和广播控制信道(Broadcast Control Channel,BCCH)的状态。(2)待机状态(Standby)

● 手机放在一个固定的位置不动;

● 周围的网络信号良好;

● 手机的按键保持不动,没有任何按键操作;

● 背光灭;

● 屏幕上没有动画显示;

● 手机的小区广播处于关闭状态;

● 红外、蓝牙等外设关闭。

在明确了待机状态后,手机的待机时间就很容易理解了。待机时间是指电池在手机待机状态下的连续使用时间,也可以解释为手机完全充满电量,在不通话、不关机的待机状态下,电池靠自身消耗一直到出现低电量警告之间所能维持的时间。所以说,待机时间是最理想状态下手机的使用时间,

2.12 手机通话过程的建立

通过手机建立一个通话涉及的环节很多,因此手机拨不通电话的原因也就很多,但总的来说,一个手机通话建立过程需要经过三步,如图2-2所示。图2-2 手机通话建立过程

从图2-2中可以看出,要建立一个通话链路,手机必须获取一个专用控制信道(Dedicated Control Channel,DCCH)。此外,手机要满足鉴权的要求(如是否合法的用户、是否拖欠话费等)。

第3章 USIM卡管理

本章介绍USIM卡在3G网络中的作用,阐述了WCDMA/GSM双模终端在不同网络环境下的切换过程。通过SIM卡PC同步工具的设计和实现,详细解析了SMS数据包格式,并配有全部源代码。

3.1 UICC概述

在3GPP规范中,对3G终端中的卡做出了详细的定义,这种卡就是通用集成电路卡(Universal Integrated Circuit Card,UICC)。UICC卡是一种可移动的智能卡,它用于存储用户数据、鉴权密钥、电话本、短信等信息。

在GSM和3GPP规范中,用户要正常使用各种业务都必须依靠终端中的UICC卡。如果手机中没有UICC卡,那么用户只能使用紧急呼叫(110、119、120等)。

用户只需将UICC卡从一部终端取出并插入另一部终端中,便可以轻松地将用户的签约信息(包括电话本和短信)从一部终端转移到另一部终端中。

UICC是定义了物理特性的智能卡的总称,UICC和终端的接口都是标准的。UICC可以包括多种应用,例如用户标识模块(Subscriber Identity Module,SIM)、通用用户标识模块(Universal Subscriber Identity Module,USIM),UICC也可以包括其他应用(如电子钱包等)。

3.2 SIM卡

SIM卡是GSM网络中移动终端所使用的智能卡,它用于存储各种参数和相关用户信息。例如,用户签约信息、鉴权密钥、用户的优选信息以及短信、电话本等。需要注意的是,尽管经常把UICC和SIM这两个术语互换,其实UICC指的是物理卡,而SIM是指UICC卡上存储GSM用户签约信息的一个应用。SIM卡被广泛应用于GSM系统中。

SIM卡中主要包括下列信息:

● 国际移动用户标识(International Mobile Subscriber Identity,IMSI):用户身份标识,用于接入鉴权。

● 移动用户ISDN号码(Mobile Subscriber ISDN Number,MSISDN):移动用户的手机号码。

● 密钥Ki,加密算法A3/A8:用于GSM网络对手机用户的鉴权。

● 移动国家代码(Mobile Country Code,MCC)、PLMN 的移动网络码(Mobile Network Code,MNC),网络标识。

SIM应用在GSM的早期阶段就已经进行了标准化。3GPP继承了这些规范(参阅3GPP TS 11.11和3GPP TS 51.011)。

3.3 USIM卡

USIM(参阅3GPP TS 31.102)是UICC卡上的另一种应用。USIM提供了不同于SIM的另一种参数,它包括用户签约信息、鉴权信息、付费方式、用户短信和电话本等。USIM用于通用移动通信系统(Universal Mobile Telecommunication System,UMTS)网络中。

当终端(包括电路交换功能和分组交换功能)要使用UMTS业务时,必须使用USIM。很明显,SIM和USIM可以共存一张UICC卡中。

与SIM卡相比,USIM卡具有以下特点:

● 相对于SIM卡的单项鉴权(网络鉴权用户),USIM卡的鉴权机制采用双向鉴权(不但网络鉴权用户外,而且用户也要鉴权网络),有很高的安全性。

● 与SIM卡电话本相比,USIM卡电话本中的每个联系人可以对应多个号码或昵称。

● 相对SIM卡机卡接口速率,USIM卡机卡接口速率大大提高(230 kb/s)。

● 相对SIM卡对逻辑应用的支持,USIM可以同时支持4个并发逻辑应用。

SIM和USIM共存于一张UICC卡上,如图3-1所示。图3-1 SIM、USIM和UICC关系

目前UICC卡一般同时包括USIM和SIM两个模块,此时称为复合USIM卡(它可以兼容GSM终端和WCDMA终端),如果UICC中只包括USIM模块,那么称为纯USIM卡。

在当前的网络环境下,2G网络和3G网络并存,2G终端和3G终端共存,SIM卡和USIM卡共存。其复杂的组合关系表现如下:

● 3G终端在机卡接口上具备向后兼容性,兼容USIM卡(复合USIM卡和纯USIM卡)和GSM的SIM卡。

● GSM终端兼容GSM的SIM卡和WCDMA的复合USIM卡,不兼容纯USIM卡。

● 3G双模终端无论插入SIM卡还是USIM卡(复合USIM卡或纯USIM卡)都可以接入GSM无线网络或WCDMA无线网络。

● GSM终端插入SIM卡或复合USIM卡只能接入GSM无线网络。

● SIM卡可以应用于GSM、WCDMA、TD-SCDMA系统中。

3.4 3G环境中USIM卡的应用

作为3G系统的核心,通用移动通信系统(Universal Mobile Telecommunieation System,UMTS)中的用户服务识别模块(USIM)是实现通信服务最关键的因素。USIM是用户获得3G服务的关键,是安全性的保障,就如同个人身份识别模块SIM卡一样,能安全地存储用户私人信息,并执行加密算法。SIM卡和USIM卡都是防篡改的智能卡,可确保网络和私人数据的安全。加密算法则是提供了一种鉴权机制,只有鉴权之后的服务才能获得网络资源,并享受网络服务。

USIM卡功能特点是支持新的3GPP认证方案,包括双向认证、可定制算法、可变密钥长度,以及MILENAGE算法功能,这使运营商在实施安全策略中获得前所未有的灵活性,同时通过新文件系统设计实现了真正的多应用功能。因此,相同的卡可以同时运行在3G和2G网络环境中,并且有高级、灵活的安全性管理,可针对任何文件修改访问权限,甚至在发行卡后可有多个PIN码。另外高级电话本可以为最终用户提供能够与其他设备保持同步的个人数据库功能。最后它还提供一个开放式环境:USIM应用工具包(USAT)、WAP识别模块以及PKI密码功能,这些能够为一流电子服务的开发提供安全、全面的执行平台。

USIM卡拥有与SIM卡相同的物理特性,但是它最少支持一个USIM卡的网络应用,并且在3G系统里,一张USIM卡可以拥有用户的一套或多套信息。此外,对于特定的卡片信息可以实施安全的空中管理。

以往SIM卡的设计更多是作为手机功能的补充,而USIM卡的真正价值在于能够提供更多手机终端无法实现的功能,具体体现在以下几个方面:

① 多应用平台。在3G环境中USIM卡不仅是向3G迁移时确保服务连续性的手段,也是支持实现一系列新数据服务的途径。USIM卡上的应用可能来自不同的供应商,从而构成了一个真正的多应用平台。常见的例子包括移动银行和支付、票务、访问控制、数字权限管理和漫游管理等。

② 统一的个人信息平台。USIM卡提供了更大的内存,因此也可作为用户的个人伴侣,它能够以安全、保密的方式存储用户文件(如大电话本、图像、游戏、多媒体消息、音乐等),而且允许在用户购买新手机时将USIM上的多媒体内容保留下来。

③ 由运营商控制的开放网络要素。一个全面互操作的USIM卡意味着任何用户都将能够下载数量随时都在增加的创新移动服务,它允许电信运营商实现更多的安全服务,并加快应用投放市场的速度。

通过创建客户特征文件,运营商可以制订各种定向服务计划并使用USIM卡作为直接营销通道。USIM卡可以帮助运营商分发多媒体内容,这些内容包括数字权限管理(Digital Right Management,DRM)、运营商预置的菜单和应用。

在3G时代,USIM卡并不是只能做单纯的认证功能,事实证明它正逐步向移动商务平台,乃至最后的多应用平台过渡,在手机上实现电子钱包、电子信用卡、电子票据等其他应用已不再是难事。这一特点使USIM卡成为了不同行业跨领域合作、相互渗透经营的媒介。

3.5 USAT

USAT即USIM卡应用工具包,是基于客户端/服务器模式工作的。在USAT相关规范中,短信服务(SMS)是一个关键。网络运营商或业务提供商可以随时在服务器中发送内嵌于短信中的程序,从而改变移动终端中的USIM信息。

USAT具有很强的灵活性,允许随时对USIM卡信息进行更新,以便修改服务,并且可以通过无线方式下载新的服务。例如,网络运营商可以通过从服务器中发送嵌入在短信中的代码来远程修改用户无线终端中的USIM信息,并且终端可以通过无线方式下载新的服务。另外因为USIM卡中存有个人化的信息,可以应用于那些安全级别要求较高的服务,如电子商务、银行业务等,可以实现与安全相关的身份认证。

USAT提供的一套标准运行环境存储在USIM卡上,通过定义USIM卡和终端之间的应用编程接口,可以在USIM卡上直接开发小的业务应用程序。同时USAT被许多移动终端制造商集成到手机中。

USIM卡的USAT具体应用,充分利用现有移动设备支持的功能,提供一种允许应用存储到USIM卡上,与移动设备ME进行交互操作的机制。重要的是,USIM与ME之间的互操作性独立于厂商和操作者,并且USAT还提供一种允许应用下载及修改的机制。

3.6 WCDMA和GSM的空中接口

WCDMA是从GSM系统中演进而来的,它们使用相同的核心网。表3-1列出了WCDMA与GSM网络在空中接口上的一些最主要的差别。表3-1 WCDMA和GSM网络在空中接口关键参数对比

从表3-1中可以看出,WCDMA采用码分多址的方式,用户和信道都是通过不同的码字来区分的,也就是说不同的用户可以在相同的频率、相同的时隙中同时进行通信。而GSM系统采用时分多址方式,用户和信道是通过不同的时隙来区分的,也就是说在某一时刻,一个时隙只能分配给一个用户使用。下面对WCDMA与GSM网络的空中接口部分主要不同点进行介绍。(1)载波带宽

WCDMA的扩频码片速率是3.84 Mb/s,所以经过调制后其信号带宽为5 MHz。WCDMA是码分多址(Code Division Multiple Access,CDMA)频分双工(Frequency Division Duplex,FDD)系统,所以上下行总共占用10 MHz带宽。这也就是WCDMA成为宽带CDMA的原因。(2)语音编码和信道编码

语音编码就是在可以听懂的基础上编出尽可能低的比特率,而信道编码通过增加冗余比特从而保证信息传输的可靠性。

WCDMA系统中的语音编码器采用的是自适应多速率(Adaptive Multi Rate,AMR)编码技术。WCDMA系统中的信道编码包括卷积码和Turbo码。Turbo码由于具有较大的交织深度(导致传输延时增加)和超强纠错能力,所以通常用在数据通信环境下。

通过上面的叙述,可以得出简单的结论,即当终端处于某种蜂窝的覆盖范围内时,终端要想正常工作,其前提条件就是终端必须跟基站使用同一制式,也就是说当终端处于WCDMA基站覆盖时,该终端必须是WCDMA终端(WCDMA/GSM双模终端当然没有问题);当处于GSM基站覆盖时,该终端必须是GSM终端(WCDMA/GSM双模终端当然没有问题)。

3.7 手机和SIM卡的存储空间

SIM卡本身提供了存储空间,具有存储功能。SIM卡有两个文件专用于存储电话本和短信:EFadn用于存储电话号码和姓名,EFsms 用于存储短信(如草稿箱、收件箱、发件箱)。

手机具有更强大的存储空间,现有的大部分手机,尤其是智能手机出厂时都为用户预留了几MB到几十MB,甚至上GB的空间。这就是说,手机拥有比SIM卡更强大的存储功能。手机也同样能够存储电话号码和短信,其存储量容量远远超出SIM卡。

3.8 SIM卡电话本管理

SIM卡的电话本存储在EFadn中,需要清楚EFadn和EFfdn的功能。EFadn所存储的就是常用的电话号码。EFadn是指简化拨号号码,EFfdn存储的是固定拨号号码,在手机应用设置中,如果激活了固定拨号功能,则只有存储在EFfdn中的号码才能被拨出,其他所有号码均被锁死。因为EFfdn的读权限是PIN2,所以只有输入正确的PIN2后,才能激活该功能。固定拨号功能适合于儿童和中小学生手机用户,家长可以通过设置这项功能控制孩子的手机只能拨打有限的几个电话号码。

从用户的角度看,用户似乎觉察不到哪些电话号码存在了SIM卡上,哪些号码存在了手机上,以致于无法区分SIM卡和手机上的电话号码。当然对用户而言,这些并不重要。但对手机应用开发者来说,清楚这一点是很重要的。

我们先来了解SIM卡电话本的存储结构。根据GSM 11.11协议,SIM卡最多能存储255个电话姓名/号码记录。我们来分析这255个电话号码的来由。SIM卡的容量可高达64 KB或128 KB,为什么仅能存储255个电话号码呢?还是从GSM协议中寻找答案。

EFadn文件是线性定长结构,它的记录号用一个字节来表示。1 B能表示的范围为(00~FF),也就是(0~255)。线性定长结构的文件记录是从1开始的。所以,SIM卡的EFadn最多只能存储255条记录,也就是说SIM卡最多能存储255个联系人电话和号码。

3.9 SIM卡短信管理

SIM卡的短信存储在 EFsms中,与EFadn 类似,EFsms 文件也是线性定长结构,记录长度为176 B,其最大记录条数也是255条。在手机初始化过程中讲过,手机对SIM卡读取操作是通过AT命令进行的,因为AT通道是异步、串行通道,手机读取SIM卡所用时间较长。手机不仅仅读取卡上的数据,还要对SIM卡的数据进行处理。对于电话本和短信,手机还要开辟缓存区域并进行排序、归类等操作。所有的这些操作都会影响手机开机的速度。

手机读取和处理SIM卡短信所用的时间远多于电话本的处理时间,这是因为短信的TPDU结构比较复杂,而且还需要通过匹配电话本查询短信发送者的号码。这里对短信编码格式进行介绍。

用户在编辑短信时,既可以输入中文,也可以输入英文,也可中英文混合输入。如果输入的是中文,编码格式就是Unicode码;如果输入的是纯英文,编码格式就是ASCII码;对于中英文混排,编码格式同样是Unicode,也就是说,只要输入文本中有一个Unicode的字符,即使其他的输入字符都是ASCII字符,整条短信的编码格式都按Unicode编码处理。

3.10 SIM卡PC同步的设计与实现

在清楚了解SIM卡的电话本和短信结构及其编码后,就完全能够开发一个PC工具导出SIM卡的电话本和短信。SIM卡电话本和短信的导入/导出称为SIM卡的PC同步。通过PC同步工具,可以把SIM卡的短信和电话本导出到PC的Excel表中,并显示出电话本的姓名、电话号码,也能直接显示短信的内容和短信发送者的电话号码。

这里介绍一个SIM卡PC同步工具的设计和实现。该SIM卡PC同步工具是在Visual C++2005环境下开发的。支持USB2.0读卡器的读/写操作。其全部源代码可从www.mSoftEase.com 网站免费下载。

SIM卡PC同步工具的实现需要解决三个问题,即USB读卡器操作、短信编/解码和Excel操作。(1)USB读卡器的连接及其实现

这里所说的USB读卡器是专用于SIM卡、通过USB接口与PC相连的读卡器。通过调用Windows标准的PC/SC库,用户使用时无需再安装驱动。具体实现代码如下:(2)电话本和短信编/解码的实现(ASCII 编码、Unicode 编码)

SIM卡存储的短信分为三类:接收短信、已发送短信和草稿短信。接收短信和已发短信的TPDU结构基本相同,草稿短信TPDU结构相对较为简单。

TPDU解析算法具体参考源代码。(3)Excel表的读/写

SIM卡的电话本和短信最终要导入PC的Excel表中,所以需要清楚如何操作Excel表的读/写。

这里选取几个关键的部分:

第4章 手机常用操作系统

本章讲述手机软件平台常用的操作系统。这些操作系统属于嵌入式范畴,因为手机也属于嵌入式设备,所以这些操作系统也可用于手机软件开发。对于手机软件专用操作系统会在后面的章节中专门讲述。

从操作系统的实时性角度来看,操作系统可分为分时操作系统和实时操作系统。(1)分时操作系统

分时操作系统是按照相等的时间片去调度进程轮流运行,分时操作系统由调度程序自动计算进程的优先级,而不是由用户控制进程的优先级。这样的系统无法实时响应外部异步事件。(2)实时操作系统

实时操作系统能够在限定的时间内完成所规定的功能,并能在限定的时间内对外部异步事件进行响应。分时操作系统主要应用于科学计算和实时性要求不高的场合,而实时操作系统则主要应用于过程控制、数据采集、通信、多媒体信息处理等对时间敏感的场合。

内核是大多数操作系统的核心部分,用于管理存储器、文件、外设和系统资源。操作系统内核通常运行进程,并提供进程间的通信。微内核是内核的精简版本,内核运行在很小的内存空间内,通过模块化设计增加了可移植性,以使用户安装不同的接口。使用微内核设计思想,如果系统需要升级,只需用新模块替换旧模块,而不需要改变整个操作系统。

下面要讲述的操作系统属于嵌入式操作系统范畴,因为手机也属于嵌入式设备,所以这些操作系统也可用于手机软件开发。对于手机专用操作系统,如Symbian、Android、iPhone OS等,将会在后面的章节中专门讲述。

4.1 VxWorks操作系统

VxWorks是美国WindRiver System公司开发的一款嵌入式实时操作系统,具有良好的可靠性和卓越的实时性。VxWorks支持各种主流的32位处理器。它基于微内核的体系结构,整个系统由400多个相对独立、短小精炼的目标模块组成,用户可以进行裁减和配置,根据自己的需要来选择适当的模块。VxWorks采用GNU类型的编译和调试器,它的大多数API函数都是专有的。

VxWorks操作系统主要由以下几个功能模块组成:

● 高效的实时微内核Wind:这是VxWorks的核心,它包括基于优先级的任务调度、任务间的通信、同步和互斥、中断处理、定时器和内存管理机制等。

● I/O处理系统:VxWorks提供了一个快速灵活的、与ANSI C兼容的I/O系统,包括UNIX标准的缓冲I/O和POSIX标准的异步I/O。

● 文件系统:VxWorks提供了适合于实时应用的文件系统,主要包括与MS-DOS兼容的文件系统、与RT-11兼容的文件系统等。

● 网络处理模块:能与许多运行其他协议的网络进行通信,如TCP/IP、NFS、UDP、SNMP、FTP等。

● 虚拟内存模块VxVMI:主要用于对指定内存区的保护,以加强系统的安全性。

● 板级支持包BSP:是系统用来管理硬件的功能模块,对各种板卡的硬件功能提供了统一的接口,它由初始化和驱动程序两部分组成。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载