新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于Android平台的双网双待的设计方法

基于Android平台的双网双待的设计方法

作者:时间:2015-03-11来源:网络收藏

  0 引言

本文引用地址:http://www.eepw.com.cn/article/270832.htm

  随着移动通信技术的快速发展以及人们对手机功能需求的不断提高,智能手机逐渐成为人们的日常消费品,智能手机的用户也与日俱增。为了方便人们的生活,追求双网双待已成为手机研发的一种普遍现象。双网双待解决了一部手机可以同时接入两个网络的难题,最大的优点是保证了GSM 与CDMA 两种网络在同一手机中同时工作,真正实现了两网自由连通。双网的连通还具有差异化优势,可以将CDMA 较高的接入速度和通信保密等强大功能体现在终端方面,使双网双待手机用户能够尽享CDMA 网络支持的丰富多彩的数据增值业务。同时GSM 与CDMA 两网的和谐整合将为手机厂商带来巨大的市场价值。

   作为当前众多智能手机系统平台的后起之秀,以其优势正逐渐获得广大手机开发人员和手机消费者的青睐。实现双网双待也必将成为 不断创新和发展的重要因素。

   系统由嵌入式和Java 构成,因此基于Android 系统平台的双网双待设计区别于其他手机对双网双待的实现,它充分地利用了Android 平台清晰的系统架构、简易的工作原理和已经实现的部分Phone 核心应用程序进行双网双待的功能扩展,提高了Android 平台双网双待设计的效率。

  1 Android 操作系统介绍

  Android 是Google 于2007 年11 月份宣布的基于2. 6. 23平台的开源手机操作系统,号称是首个为移动终端打造的真正开放和完整的移动软件。Google 重新设计了Android Java 虚拟机和系统,使得Android 的Java 应用更接近于底层系统,效率更高; 另外使用虚拟机技术使得Android 的应用在被监控的情况下运行,安全性更高。Android 包括移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍,具有平台标准化、用户可定制以及服务免费等特色,是一个对第三方软件完全开放的平台,突破了iPhone 等只能添加为数不多的固定软件的枷锁; 同时与Windows Mobile、Symbian、iPhone OS 等厂商不同,Android 操作系统免费向开发人员提供,大大节省了开发成本。

  Android 平台由操作系统、中间件、用户界面和应用软件组成。内核层用来提供系统的底层服务,位于硬件和其他软件之间。Android 运行库包含一组核心库和Dalvik 虚拟机,Android 提供丰富的类库支持且大部分为开源代码,如采用嵌入式数据库SQLite.应用框架层为Android 开发人员提供了访问框架应用程序接口的全部权限,采用结构化设计简化了组件间的重用。在应用程序层,Android 本身附带了一些核心的应用程序,大大简化了Android 应用程序的开发。

  因此,利用Android 平台更易于开发具有双网双待功能的智能手机系统,同时也便于在原有系统的基础上进行不断的完善和功能扩展。

  2 Android 平台双网双待框架设计

  Android 平台上实现的双网双待手机是将GSM 网络和CDMA网络相结合,使得一部手机可同时插入两张不同网络的号卡,并同时处于开机状态,用户无需切换网络,即可任意拨打、接听和收发短信,且这些手机均可支持中国电信自有的增值业务,使商务人士尽享移动办公的自由以及休息娱乐的乐趣。此外,用户还可预设接听和拨打电话的顺序,使用起来非常方便。

  基于Android 系统平台的双网双待的设计,充分结合了Android2. 1 版本之后在framework 层上已经实现的双卡处理机制,设计方案主要侧重于RIL 及ARM(modem)侧的实现机制。通过在RIL 上依样建立一套新的处理机制,将双卡分别进行处理。

  比如,打电话的时候,发送哪套请求就先选择向哪套机制发送请求,然后还在这套机制中等待消息的返回。Android 平台双网双待框架如图1 所示。



  图1 Android 平台双网双待框架

  图1 中GSM 网络和CDMA 网络分别拥有一套独立的RIL处理机制,从而可以根据上层不同的Phone 服务执行framework层以及RIL 层的相应处理,真正实现双网的协同工作,达到同一手机中双网双卡之间互不干扰的效果。

  3 Android 平台双网双待软件设计

  Android 平台双网双待功能设计主要涉及到Android 软件平台的四大功能模块,分别是Linux 内核层、本机库/运行时、应用程序框架层以及应用程序层。其中在应用程序层利用Android的各种组件API 实现PhoneApp 并在Linux 内核层提供相应的底层驱动。Android 系统架构如图2 所示。



  图2 Android 系统架构

  (1)Linux 内核。

  Android 系统平台是基于优化的Linux 内核来开发的,主要添加了一个名为Goldfish 的虚拟CPU 以及Android 运行所需的特定驱动代码。该层用来提供系统的底层服务,提供诸如内存管理、进程管理、设备驱动、安全管理、电源管理等驱动模块,作为一个虚拟的中间层,该层位于硬件与其他软件层之间,采用YAFFS2 文件系统,同时也是手机软硬件的连接层。在系统开发中,也需要针对自身的硬件模块添加对应的驱动,如Phone 驱动、GPRS 驱动、GPS 驱动、液晶和触摸板驱动等。

  (2)本机库/Android 运行时。

  这些共享库都是利用C 和C + + 语言编写的,且针对电话使用的特定的硬件架构进行了编译,并已由手机制造商预先安装到手机上。本机库主要包含: 标准C 函数库、媒体功能库、浏览器引擎、2D 和3D 图形库及SQLite 引擎等。开发者利用这些功能可以方便地开发出人机界面友好的应用程序接口,极大地缩短了开发过程。

  Android 运行时包含一组Java 内核库和Dalvik 虚拟机,它们有效地优化了Java 程序的运行过程。

  (3)应用程序框架层。

  Android 应用程序开发是基于框架和组件的,该层提供了在创建应用程序时需要使用的各种高级构建块,因此在该层中,开发人员拥有访问框架API 的全部权限,在开发应用程序时调用Android 本身自带的许多组件,也可以开发新的组件,并将该组件放入应用程序框架中,以供自己和其它应用程序调用,这样的模块大大提高了应用程序的开发效率。

  (4)应用程序层。

  Android 本身包含一些由Java 开发的核心应用程序,如桌面、短信收发程序、日历、电话通讯录、浏览器、E-mail 客户端等,开发者还可以在此基础上开发出更多具有特色的Android 应用程序,如特效相机、播放器、充电相框等。

  3. 1 Android 双网双待实现方案

  在GSM 单模状态下通过添加一套支持CDMA 的无线接口层RIL 来实现双网双待机制的方案如图3 所示。



  图3 Android 双网双待电话部分结构

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

linux相关文章:linux教程


cdma相关文章:cdma原理



上一页 1 2 3 下一页

关键词: Android Linux

评论


相关推荐

技术专区

关闭