网站这么设置微信支付宝,高端网站制作软件,瑞安网站,上海网页制作设计营销目录 一、简介二、应用层(Application)三、框架层(Framework)四、本地 RIL 层(RIL)五、驱动层(Modem)六、整体框架 一、简介
无论手机发展到如何智能的程度#xff0c;最关键和重要的功能仍然是通讯#xff0c;具体来说就是打电话、发短信、上网功能的使用。而整个 Android … 目录 一、简介二、应用层(Application)三、框架层(Framework)四、本地 RIL 层(RIL)五、驱动层(Modem)六、整体框架 一、简介
无论手机发展到如何智能的程度最关键和重要的功能仍然是通讯具体来说就是打电话、发短信、上网功能的使用。而整个 Android 通讯的框架从下往上可以分为 4 个层次 1、 Modem ----这是整个通讯的硬件基础需要 Modem 芯片不同制式需要采用不同 的 Modem2、 RIL ----为了适配不同的 Modem 芯片而抽象出来的中间层用于将 Modem 指令 转换为 Java 可用的数据流3、 Framework 中的 Telephony ----这是在 Framework 层搭建的通讯框架面向开发 者提供操作通讯事务的能力4、 Application ----这是最上层的应用直接面向用户提供拨号、上网、发短信的界面 二、应用层(Application)
面向用户的应用层依赖于应用框架层通过访问 Telephony 应用框架层的业务模块来呈现给用户具体的功能主要包括 Phone、 Contacts、 SMS 等应用,Phone 比较特殊系统启动时就被运行起来了且 Phone 启动时会创建 Telephony 框架层并与之运行在同一个进程中。
三、框架层(Framework)
Telephony 应用框架层主要包括 RILJ、 Service、业务功能模块三个部分构成提供了电话短信联系人等所需的所有功能 代码路径是 /frameworks/base/telephony android.telephony外部应用可访问的 Phone 模块 com.android.internal.telephony Phone 应用和框架内部使用的 Phone 模块 1.RILJ /frameworks/opt/telephony/src/java/com/android/internal/telephony/RIL.java RIL.java 是 Telephony 和本地 RIL 的通信接口通过 Socket(rild)完成电话服务命令的收 发2.Service Telephony 基于 IBinder 提供了各种功能的 Service以便于业务功能模块的实现3.业务功能模块 Telephony 业务功能模块主要包括语音、短信、 ICC 卡、网络服务以及数据连接等这些功能模块是 Android 系统通话功能的核心和基础注整个 Framework 层的 Telephony框架运行在一个叫做 Phone(com.android.phone)的进程中。而这个进程是在 packages\services\Telephony 模块中被创建的 四、本地 RIL 层(RIL)
RIL(Radio Interface Layer)是 Telephony 框架层与 Modem 之间的接口层(属于 HAL 层)RIL 将 Modem 提供的各种服务进行了抽象以提供给 Framework 层统一的接口 RIL 架构 1.RIL 抽象层 实现 RIL 层框架包括 RILD 守护进程和 RIL 库定义了其与 Framework 层、 Vendor RIL 之间的接口2.RIL 实现层 基于不同 Modem 厂商的 RIL 功能实现(Vendor RIL),其主要功能是接受 RIL 层的主动Request,转发给 Modem,同时接受 Modem 返回的请求 Response 和主动上报事件,上报给 RIL 层 RILJRadio Interface Layer Java RILJ是Android系统中的一个Java库用于处理与手机基带Modem通信的高层接口。它提供了一组Java接口用于向基带发送命令、接收响应并处理与手机网络通信相关的功能。RILJ通常运行在Android系统的应用层与应用程序和系统服务进行交互将高层的通信请求转换成与基带通信的底层命令。 RILDRadio Interface Layer Daemon RILD是Android系统中的一个守护进程Daemon用于与手机基带进行底层通信。它负责管理与基带的通信通道接收来自RILJ的请求并将其转发给基带同时将基带的响应返回给RILJ。RILD通常运行在Android系统的底层与基带硬件进行直接通信实现手机网络功能的底层支持。 RILD 是一个可执行程序作为守护进程运行在系统中进程内配合 RIL Lib 和 Vendor RIL 实现了 RIL 的所有功能它通过 Socket 与应用框架层进行通信,守护进程内部会初始化 VendorRIL,同时管理所有的电话相关的请求、主动上报、请求 Response 等事件,其主要功能如下 1.Event 处理框架(通过 Select 机制实现)2.请求、数据下发 (将 RILJ 通过 Socket 传过来的数据解成 C 语言数据结构,然后和请求下发给 Vendor RIL 处理)3.Response、数据上报(将 Vendor RIL 上报的请求 Response 和主动上报事件打包通过Socket 转发给 RILJ 层)注 RIL 和 Modem 之间交互大部分厂商采用 AT 命令交互也有其他的交互方式例如高通使用了 ONCRPC、 QMI 接口 五、驱动层(Modem) RIL 驱动用于实现电话功能,主要硬件是通信模块(Modem),Modem 通过与通信网络进行沟通,传输语音及数据,完成呼叫、短信等相关电话功能。 目前的智能机在硬件上多采用双 cpu 的架构,一个是基带处理器,主要处理数字信号、语音信号的编码解码以及通信 3 协议,基带处理器、射频和其它外围芯片作为一个 Modem 模块,提供 AT 命令接口。 另一个是应用处理器,运行操作系统和各种应用程序。对于目前大部分的独立通信模块而言,无论是 2G 还是 3G 都已经非常成熟,模块化相当完善,硬件接口非常简单,也有着相对统一的软件接口。 一般 Modem 模块装上 SIM 卡,直接上电即可工作,自动完成初始的找网、网络注册等工作,完成之后即可打电话、发短信等。
六、整体框架 参考链接 Android telephony整体结构 初识telephony