Android电话系统.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Android 电话系统 Android 电话系统之概述篇 首先抛开Android 的一切概念来研究一下电话系统的最基本的描述。我们的手机首先用来打电话的,随后 是需要一个电话本,随后是PIM ,随后是网络应用,随后是云计算,随后是想我们的手机无所不能,替代PC 。 但是作为一个电话的基本功能如下: 0)拨叫电话,接听电话,挂断电话,发送短信,网络连接,PIM 管理 1)由于电话运营商为我们提供了呼叫等待,电话会议等补充业务,所以我们的手机需要管理多路通话,如何管 理? 2)来电时,我们要播出来电铃声,接通时我们需要切换语音通道,这个又跟多媒体系统打上了交道,例如有耳 机插上了,有蓝牙耳机连上了,系统该做如何的管理和切换? 3 )上网的网络通路建立(例如GSM GPRS ),如何PPP 连接并连接到LinuxSocket 通道上的?系统如何管理数 据连接? 4 )AP 跟Modem 通讯时通过AT 指令的,如何将AT 指令变成一个个具体的操作函数,如何管理Modem 发给 我们的回应,AT 命令通道,数据通道如何管理? 5 )sim 卡的电话本如何管理? 上面的关于手机的基本问题,Android 电话系统设计者必须要解答的问题。该设计如何的管理框架,提出什么 概念来表达?所以要分析Android 的电话部分,还是需要理解电话实现的背景知识,通讯协议,大体框架。 我们回到电话系统基本构成上,先从整体上去把握一下电话模块的大体框架,先从空中俯瞰。我给出的图 是一般的智能手机的框架图,该框架基本能够概括所有手机电话模块的构成,当然也包括Android 的电话系统 构成。 智能机架构一般是应用处理器+Modem 。应用处理器与Modem 的连接使用串口或者USB 。在一个硬件串口 通路上实现为了要同时实现数据传输并同时实现控制Modem,就需要实现多路复用协议(GSM TS07.10 ),在底 层我们在多路复用的基础上虚拟了两个串口,一个用于CMD 通道,一个用于DATA 通道。电话的所有控制通 路都是在这连个通道上。 RIL,Radio Interface Layer 。本层为一个协议转换层,手机框架需要适应多类型的Modem 接入到系统中,而 对于不同的Modem 有不同的特性,AT 指令的格式或者回应有所不同,但是这种特性在设计应用时不可能完全 考虑和兼容。所以设计者在设计电话系统时,建立了一个虚拟电话系统,为该虚拟电话系统规定了标准的功能, 上层的电话管理都是建立在这些标准的功能基础之上。而RIL 则是将虚拟电话系统的标准功能转换成实际的所 使用的Modem 的AT 指令。 Android 设计者将电话系统设计成了三部分。 Andoird 的Phone Service 其实是PhoneApp 。GSMPhone (CDMAPhone)是Phone Service 核心的对象,他包 含了如下的相关对象。 我们的分析任务就是要把这些对象的相互关系,及其对象间数据传递关系弄清楚。首先我们给出以下的 Android 电话系统的框架,以便对Android 电话系统有个概要的认识,然后从数据流的角度,以及对象的引用关 系来分析系统。下面是android 电话系统整体框架图。 Android 电话系统之-rild Rild 是Init 进程启动的一个本地服务,这个本地服务并没有使用Binder 之类的通讯手段,而是采用了socket 通 讯这种方式。RIL(Radio Interface Layer) Android 给出了一个ril 实现框架。由于Android 开发者使用的Modem 是不一样的,各种指令格式,初始化序列 都可能不一样,GSM 和CDMA 就差别更大了,所以为了消除这些差别,Android 设计者将ril 做了一个抽象, 使用一个虚拟电话的概念。这个虚拟电话对象就是GSMPhone (CDMAPhone),Phon 对象所提供的功能协议,以 及要求下层的支撑环境都有一个统一的描述,这个底层描述的实现就是靠RIL 来完成适配。 Andoid 将RIL 层分为两个代码空间:RILD 管理框架,AT 相关的xxxril.so 动态链接库。将RIL独立成一个动 态链接库的好处就是Android系统适应不同的Modem,不同的 Mode 可以有一个独立的Ril 与之对 应。从这个层面上看,Rild 更多是一个管理框架。 而ril 是具体的AT 指令合成者和应答解析者。从最基本的功能来讲,ril 建立了一个侦听Socket,等待客户 端的连接,然后从该连接上读

文档评论(0)

智慧书苑 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档