摘要:Android是一款功能强大的智能手机开源平台,其能够搭载pushmail,兼容google所开发的map,mail,相册,日历等
软件,并且包含一组完备的面向移动设备的软件包,因模糊了硬件的区别而便于开发,相比现有的WindowsMobile,RIM,Symbian和IphoneOS具有较大的优势。介绍了android的基本框架,通过软件分层的方法分析了android
通信模块的
设计与实现。并阐明了android通信模块在不同的平台上的移植
问题。
关键词:Android;无线接口层;无线接口守护进程;调制解调器;
1.引言
伴随着通信产业的不断发展,智能手机向集通话,多媒体,上网,邮件多功能于一体的掌上电脑方向发展,android的出现让人耳目一新,Android支持Wifi,采用WebKit浏览器,拥有Pushmail,Google地图和
搜索等众多
网络应用,成为连接用户和互联网的重要纽带,手机和互联网的结合将成为一种必然的趋势。从Android
系统框架出发,基于Linux内核的Android系统通讯模块功能。
2.Android系统的结构
Android平台是一组面向移动设备的软件包,它包含了一个操作系统、中间和关键应用
程序。应用程序使用
Java语言编写并在Dalvik上运行,Dalvik是一款量身定制的虚拟机,它专为嵌入式应用设计,运行在Linux内核上层[1]。
下图显示了Android智能手机平台的主要组件图应用程序框架层,以及包括系统各式组件的库层,Android的核心类库提供Java类库提供的绝大部分功能,每个Android应用都运行在自己的进程上。最下面是提供安全、内存管理、进程管理、网络组、驱动模块的和硬件抽象层的内核层。
3.基于android通讯模块的框架设计
为了简化通讯模块设计的复杂性,Android的通信模块的设计采用分层的模式,这样使各层相互独立而又相互高效得协调
工作,各层更加灵活,当其中一层发生变化,其上下两层均不受影响。各层之间相互独立,各层只用提供标准化的接口,方便模块的替换,增强了Android代码的可移植性。
目前的智能机在硬件上多采用双CPU的架构,一个是基带处理器,主要处理数字信号、语音信号的编码解码以及GSM,WCDMA的通信协议,另一个是应用处理器,运行操作系统和各种应用程序。基带处理器、射频和其它外围芯片作为一个模块,成为GSM/GPRS,WCDMAmodem,提供AT命令接口。我们需要在AP系统中有一个负责数据的可靠传输、AT命令的发送以及response的解析的模块,Android系统提供了这样一个模块RIL(Radio Interface Layer)来满足我们的要求。通信系统的架构框图
3.1 电话应用层这里为电话,联系人,短信,以及上网等跟电话相关的应用,负责完成人机交互,以及通过调用framework的接口,实现引用的各个功能。
3.2 应用框架层应用框架层将电话应用层传下来的数据通过Phone相关接口封装,通过CommandInterface发送给RIL,RIL负责将数据打包,通过socket传送给下面的RILD(RadioInterfaceLayerDeamon)层,并且从RILD接收反馈信息传送给应用层。
3.3 库层RILD就出在库层,是一个独立的后台守护进程。在bootloader加载完Linuxkernel后,启动Initprocess,Init初始化4个daemons,其中就包括Rild这个守护进程。
他的功能是:初始化modem、接受android上层发送下来的通讯指令转换成at指令序列发送到modem,同时接受modem的反馈发送给android上层通讯模块。其跟modem通讯是非同步的。
3.4 内核层在通信框架中,内核含有软件与基带通信的驱动,作为硬件与软件之间的抽象层。
3.5 基带层其为独立的通讯模块,实现无线通讯功能。可以把它看作一个硬件设备,通过标准的RSR232串口连接,用标准的AT指