无线通信接口层在OPhone+OS平台上的软件实现

上传人:206****923 文档编号:46699345 上传时间:2018-06-27 格式:PDF 页数:62 大小:3.26MB
返回 下载 相关 举报
无线通信接口层在OPhone+OS平台上的软件实现_第1页
第1页 / 共62页
无线通信接口层在OPhone+OS平台上的软件实现_第2页
第2页 / 共62页
无线通信接口层在OPhone+OS平台上的软件实现_第3页
第3页 / 共62页
无线通信接口层在OPhone+OS平台上的软件实现_第4页
第4页 / 共62页
无线通信接口层在OPhone+OS平台上的软件实现_第5页
第5页 / 共62页
点击查看更多>>
资源描述

《无线通信接口层在OPhone+OS平台上的软件实现》由会员分享,可在线阅读,更多相关《无线通信接口层在OPhone+OS平台上的软件实现(62页珍藏版)》请在金锄头文库上搜索。

1、西安科技大学硕士学位论文无线通信接口层在OPhone OS平台上的软件实现姓名:王莹申请学位级别:硕士专业:通信与信息系统指导教师:李文峰论文题目:无线通信接口层在 OPhone OS 平台上的软件实现专业:通信与信息系统研 究 生:王莹(签名)指导老师:李文峰(签名)摘要本课题来源于中国移动通信集团(以下简称中国移动)OPhone OS 智能手机平台的研发项目, 主要的任务是进行 OPhone OS 智能手机操作系统无线通信接口层的软件开发和测试工作,包括 RIL Java 层、RIL 抽象层、RIL 实现层以及多分组数据协议连接的实现。该研发项目还是中国科技部核高基专项(软件类)分项目之一

2、。论文从分析 Android/OPhone OS 平台的框架以及中国移动数据业务需求入手,结合了 Marvell TavorP 硬件环境,确定出无线通信接口层的层次架构,并根据功能将无线通信接口层的软件流程划分为三大主要流程:守护进程 RILD 的初始化,请求分发流程和回应流程。最终目的是基于 Marvell TavorP 硬件环境完整实现无线通信接口层,使得运行在 OPhone OS 平台上的应用软件可以通过无线接口层无缝地与 GSM/GPRS/EDGE 和TD-SCDMA Modem 进行通信。另外,本课题在实现无线通信接口层的基础上,还研究了基于 Linux 系统的网络数据通信的原理和实

3、现方法, 并成功运用于 OPhone OS 平台上实现了多分组数据协议连接,解决了 Android 平台上两个应用不能同时使用不同网络配置进行数据通信的问题。经过严格缜密的系统测试,OPhone OS 平台无线通信接口层的软件实现能够成功地在 Marvell TavorP 硬件平台上完成初始化,完成 RIL 消息的分发和回应,并能很好地和不同厂家的 Modem 进行集成,完全达到了中国移动对其功能的需求。同时,除此之外,也具备了支持多分组数据协议连接通信的功能。产品上市时的 LPR 值均达到了各个厂商的要求。本文提出的无线通信接口层的方案已被成功应用于中国移动主导研发的 OPhoneOS 智能

4、手机平台,能大幅降低终端厂家开发 TD-SCDMA 智能手机的门槛,加速 TD-SCDMA 手机终端的产业化。 本课题所在的整个项目已于 2010 年 2 月获得了由 TD 产业联盟颁发的“TD 终端应用平台创新奖”。 关 键 词:软件实现;OPhone OS 平台;无线通信接口层;多分组数据协议连接;研究类型:应用研究SubjectSubjectSubjectSubject: : : : ImplementationImplementationImplementationImplementation of of of of RadioRadioRadioRadio InterfaceInte

5、rfaceInterfaceInterface LayerLayerLayerLayer inininin OPhoneOPhoneOPhoneOPhone OSOSOSOSSmartphoneSmartphoneSmartphoneSmartphone PlatformPlatformPlatformPlatformSpecialtySpecialtySpecialtySpecialty: : : : CommunicationCommunicationCommunicationCommunication andandandand InformationInformationInformat

6、ionInformation SystemSystemSystemSystemNameNameNameName: : : : WangWangWangWangYingYingYingYing(SignatureSignatureSignatureSignature)InstructorInstructorInstructorInstructor : : : : LiLiLiLiWenfengWenfengWenfengWenfeng(SignatureSignatureSignatureSignature)ABSTRACTABSTRACTABSTRACTABSTRACTThis dissert

7、ation is based on OPhone OS Smartphone Platform R显示拨号界面并且输入传入的电话号码,但是并不进行拨号。void call(String number);用传入的号码进行拨号。boolean showCallScreen();如果当前电话正在通话中,就显示通话界面。DTMF 拨号盘是否显示依赖于最后一次隐藏该界面时其是否显示。boolean showCallScreenWithDialpad(booleanshowDialpad);不同于 showCallScreen()方法,这个方法指定了当显示通话界面的时候是否显示DTMF 拨号盘。boole

8、an endCall();结束当前通话,并返回主界面。void answerRingingCall();3 OPhone OS 平台 RIL 模块的软件实现17回答当前振铃的电话。如果当前已经有一个接通的电话,则那个电话会被置于暂停状态;如果电话的两条线都已经被占用了,则当前的接通电话会被挂断。void silenceRinger();当有呼入电话时,静音当前的振铃(如果震动状态,同样也停止震动) 。如果当前振铃已经是静音状态,则没任何影响。boolean isOffhook();检查是否当前电话在接通状态,包括通话状态和暂停状态。boolean isRinging();检查是否有个一呼入电话

9、在振铃状态或者呼叫等待状态。boolean isIdle();检查电话是否在闲状态。boolean isRadioOn();检查是否天线打开。boolean isSimPinEnabled();检查是否 SIM 卡 pin 锁是否打开状态。void cancelMissedCallsNotification();取消未接电话通知。boolean supplyPin(String pin);提供一个 pin 码解锁 SIM 卡boolean handlePinMmi(String dialString);处理 PIN MMI 命令(PIN/PIN2/PUK/PUK2) 。void toggleR

10、adioOnOff();切换天线状态。boolean setRadio(booleanturnOn);设置天线状态。void updateServiceLocation();请求更新位置信息。void enableLocationUpdates();启用位置更新。void disableLocationUpdates();禁用位置更新。int enableApnType(String type);启用指定类型的 APN(access point name) 。int disableApnType(String type);西安科技大学硕士学位论文18禁用指定类型的 APN。boolean en

11、ableDataConnectivity();启用数据连接。boolean disableDataConnectivity();禁用数据连接。boolean isDataConnectivityPossible();判断是否数据连接可用。List getNeighboringCellInfo();得到临近的蜂窝基站信息。int getActivePhoneType();得到当前电话的类型:GSM,CDMA,或者 TD-SCDMAboolean getCdmaNeedsProvisioning();和 CDMA 相关的函数。int getVoiceMessageCount();得到未读语音信息的

12、条数。int getNetworkType();得到当前网络类型。void shutDownRadioPower();关闭射频电源。String sendSimIoExtCmd(int len, String command);发送 SIM 卡命令。2)接口 com.android.internal.telephony.Phone接口 com.android.internal.telephony.Phone 是内部用来控制电话的接口。接口com.android.internal.telephony.ITelephony 的方法基本上都是通过这个接口来实现的。跟接口 com.android.in

13、ternal.telephony.ITelephony 不一样的是,这个接口的方法不涉及到界面的操作。由于篇幅有限,这里仅对它的实现作扼要的说明:enum State IDLE, RINGING, OFFHOOK;电话状态枚举:IDLE 空闲;RINGING 振铃或者呼叫等待状态;OFFHOOK 至少有一路电话在拨号、通话或者暂停状态,并且没有呼入电话在振铃或者呼叫等待状态。enum DataState CONNECTED, CONNECTING, DISCONNECTED, SUSPENDED;数据状态枚举:CONNECTED 已连接状态,能发送 IP 包;CONNECTING 数据连接进行

14、中;DISCONNECTED 数据连接断开状态;SUSPENDED 数据连接挂起状态。enumDataActivityStateNONE,DATAIN,DATAOUT,DATAINANDOUT,3 OPhone OS 平台 RIL 模块的软件实现19DORMANT;数据活动状态:NONE 没有数据传输;DATAIN 数据传入中;DATAOUT 数据发送中;DATAINANDOUT 数据发送并且接收中;DORMANT 数据连接激活,但是物理连接已断。State getState();获得电话状态,返回枚举类型 State。DataState getDataConnectionState();获得

15、当前数据连接状态,返回枚举类型 DataState。DataActivityState getDataActivityState();获得活动数据连接状态,返回枚举类型 DataActivityState。String getActiveApn();获得活动状态的 APN(access point name) 。SignalStrength getSignalStrength();得获信号强度。Connection dial(String dialString) throws CallStateException;发起一个新的语言通话连接,这是一个异步调用,所以该调用返回时并不能确保语言通话已

16、经建立。Connection dialVideoCall (String dialString) throws CallStateException;发起一个视频电话,这是一个异步调用,所以该调用返回时并不能确保语言/视频通话连接已经建立。3)类 com.android.internal.telephony.RIL这是 Android Java 层里处理射频通信的核心类,Java 层所有和 RIL 相关的函数调用最终都是通过这个类转化为 RIL 命令,然后发送到到 RILD 中去的。下面对该类实现的主要方法的重点作以介绍:void setupDefaultPDP(String apn, String user, String password, Message result);建立缺省的 PDP 连接。void deactiveDefaultPDP(int cid, Message result);挂断缺省的 PDP 连接。voidsetupDataCall(StringradioTechnology,Stringprofile,Stringapn,Stri

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号