EDN China > 设计实例 > 消费电子设计 > 手机设计 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

(多图) 基于Android平台的双网双待的设计方法

童承凤?? 胡庆 《计算机应用与软件》?? 2012年06月11日 ?? 收藏0
0 引言

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

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

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

1 Android 操作系统介绍

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

Android 平台由操作系统、中间件、用户界面和应用软件组成。Linux 内核层用来提供系统的底层服务,位于硬件和其他软件之间。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 Android 平台双网双待框架

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

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

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

图2 Android 系统架构
图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 程序的运行过程。

《电子设计技术》网站版权所有,谢绝转载


上一页123下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈