adroid通信模块ril解析精选.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
adroid通信模块ril解析精选

第一部分 简介 简单介绍性部分: Android电话系统围绕底层使用Modem硬件来搭建,提供呼叫、短信和网络连接功能,其中modem也称为基带。 Modem驱动程序包含在Linux内核层中,所以3G/4G模块的搭建其实就是电话系统的搭建 主流3G/4G模块:主要分有 内置(集成在处理器中如高通等,高通拥有相关基带的专利,内置模块主要通过共享内存与处理器通信), 外置(较常见,大多通过usb转串口接口并利用AT命令与处理器通信,usb串口一般使用标准的驱动,AT命令由Hayes公司发明,一种是调制解调器命令语言每条命令以AT (也有一些笔记本专用的接口类型如PCIE和NGFF,手机上的LGA,工业用B2B等等) 对与目前的通信模块来说,都已经非常成熟,有有着接口简单和统一的软件接口一般大多数模块装上SIM卡直接上电即可完成初始找网、 网络注册等工作。 框架部分主要是Android: 1 电话系统大体框架(图1):分三大层,硬件(连接modem设备),Android系统(主要包括了Linux内核层,运行库层和Framework层),平台API(即再往上为应用层) 图(1)电话系统大体框架 2.电话系统部分结构图(2):具体实现自下到上:Modem驱动,RIL库 、RIL守护进程,电话JAVA框架和电话应用(其中电话系统部分无JNI) Kernel Space 属于驱动层在内核中实现,一般分为AT命令通道和数据通道两路接口。 RIL层:贯穿Android的内核层至应用层,由三部分组成:RIL守护进程(本质是rild可执行程序,开机通过init启动,与framework层主要通过socket来进行)、 libril库和ril实现库(电话层硬件抽象层)。主要负责负责数据的可靠传输、AT命令的发送以及response(来自modem)的解析 图(2)电话系统部分结构图 3.RIL接口下层结构(图3)(更细化的下层) ril实现库的接口非常复杂,需要处理的命令,相关结构体比较多,其接口主要定义在 hardware/ril/include/telephony 目录的ri.h中。 rild socket:与框架层进行通信 RIL_Env: 主要用于请求完成函数、上报消息响应函数和周期行处理函数三个功能。 RIL_RadioFunctions: RIL_REQUEST: RequestCompete: UnsolicitedResponse: RIL_UNSOL: (ril硬件抽象层主要实现 ril命令与AT命令的转换。) (电话功能移植的两大部分:Modem驱动和ril硬件抽象层,移植需要注意的问题是省电,因为Modem省电策略复杂,低功耗模式下还要处理来电或短信等唤醒操作。) 图(3)RIL接口下层结构 Linux部分(具体实现部分): Linux部分(部分与Android相同): 1.drivers/usb/serial/option.c #define XXXX_OPTION_VENDOR_ID XXX (添加PID和VID) #define XXXX_OPTION_PRODUCT_COLT XXX 2.(外置插在usb上的话)usb_modeswitch 插入的3G/4G模块被识别成存储设备,用usb_modeswitch转成串口 3.在static struct usb_device_id option_ids[] = {… … }; (结构结构体中加入加入ID) {USB_DEVICE(OPTION_VENDOR_ID,OPTION_PRODUCT_COLT) }, … {USB_DEVICE(XXXX_OPTION_VENDOR_ID ,XXXX_ OPTION_PRODUCT_COLT) }, (插上3G/4G模块上电后会出现两个端口:/dev/ttyusb0 和/dev/ttyusb1 一个用于数据一个用于命令.)

文档评论(0)

pfenejiarz + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档