基于linux的双模智能手机实现方案
1、硬件平台设计 本文引用地址: //m.amcfsurvey.com/article/165027.htm
为设计与实现好整个智能手机,首先需要从用户的角度来考虑功能需求状况,同时注意其开发成本。一般而言,智能手机的硬件平台须从两部分考虑,即处理器和外设。
智能手机比普通手机有更高的性能,是因为所采用的核心处理器的不同。普通手机所选用的处理器的运行频率不过几十MHz、最多也只一百多MHz,这种处理器处理基本语音功能还可以,但在处理图像视频等多媒体数据时性能就远不够。可用于手机处理器有:三星的ARM系列、TI 的OMAP 系列、INTEL 的XSCAL系列等。
随着智能手机的发展,需要有更高性能的嵌入式微处理器。
本智能手机选用了Intel 公司的基于XScale 架构的PXA270 高性能嵌入式处理器,其最高主频可达624MHz,支持无线多媒体指令集扩展(Wireless MMX),允许PXA270 以较低的时钟频率实现增强的多媒体性能。该处理器提供了非常丰富的外设接口,如LCD、音频、USB、I2C、SD/MMC、CF、蓝牙、WiFi、数码相机、键盘等接口[7].PXA270 处理器中采用了Wireless MMX和SpeedStep 两项Intel专利技术,进一步将高性能计算和动态电源管理技术相结合,使得该处理器与其他同类芯片相比,在多媒体处理能力和功耗方面有着非常大的优势。
在选用传统通信模块也有多种选择,本智能手机系统选用了Philips 的Sysol- 3 通信模块,该模块包含了基带芯片、RF 射频芯片组、Combo Flash 芯片以及GSM/GPRS终端所需的全部软件功能。Sysol- 3 有着完善的功能和稳定的性能,此外还具有非常小的外形尺寸和非常轻的重量,能够满足智能手机、数码通信设备等无线终端设备的薄、轻、小巧的需求。
现在流行的无线网卡接口主要有两种,一种是基于标准PCMCIA接口,另一种是基于USB接口。因为Intel Xscale PXA270处理器内部集成了双通道16 位PCMCIA PC Card/CF 控制器,支持8 位/16 位I/O模式和Memory模式的访问。所以我们采用PCMCIA接口来扩展88W8686 无线网卡。
2、软件平台设计
在设计好智能手机的硬件开发平台后,下面需要根据硬件平台设计软件开发平台。系统的Bootloader 通过编译移植u- boot来实现,它对PXA270处理器有较好的支持。然后移植相应硬件设备的驱动程序,配置和裁减Linux内核,完成对Linux的交叉编译[8].至于根文件系统,采用Busybox工具进行编译生成,并使用mkfs.jffs2 工具创建JFFS2 类型的文件系统映象。最后逐一将u- boot、Linux内核及文件系统映象烧写到Flash 中进行测试运行。
3、DMS SKD层的设计
关于DMS(Dual Mode Services)SDK层,终端研发人员既可以自己设计实现,也可以通过购买使用第三方提供的SDK解决方案,诸如PicoMobile和Ecrio等公司就提供此类方案。SDK的设计既需要满足本系统的功能要求,同时也要满足模块化、简约化的要求,从而方便日后进行新功能的扩展与集成。SDK层的工作主要是基于SIP协议、IMS通信的信令流程、GSM通话信令来进行设计与实现。与通话有关的API的实现过程主要是基于SIP 协议通过发送或接收相应的SIP 信令来实现与服务器的交互,与硬件有关的API主要是通过调用相关驱动程序来实现。以上主要实现了与电话业务相关的功能,根据业务的需要,还可以在此基础上对SDK进行扩展。
4、DMS 后台服务设计
DMS Daemon Service,即DMS 后台服务程序,是与DMSSDK层(主要是VCC Engine)交互的主体部分,它的实现工作主要是基于Qtopia 把DMS SDK层提供的API 封装成可供上层应用调用的公共接口。
其中DMSDaemon 是整体后台服务类;DMSTelephonyService负责实现电话相关的功能接口;IMSControlService用于响应上层控制程序的IMS服务请求;一切与底层DMS SDK子系统有关的调用由DMSLayer来完成。
三、WIFI驱动程序设计
同有线网络一样,接入无线局域网需要网卡设备,目前WLAN网卡常用的接口有PCI、USB、PCMCIA和CF 卡接口,嵌入式系统常用的WLAN 网卡接口一般有PCMCIA、USB 和CF卡接口,其中PCMCIA和CF卡接口逻辑类似,在本系统的硬件设计中,采用PCMCIA接口扩展成WLAN接口,接入WiFi 无线网卡。因此如果想要使用无线网卡,需要实现Linux下PCMCIA接口的驱动程序和具体无线网卡设备的驱动程序。Linux内核对常用的无线局域网卡的支持都很好,通过内核配置时选择Networkdevice supportàWireless LAN,实现对无线网络的支持,因此无线网卡的驱动程序移植比较简单。
linux操作系统文章专题:linux操作系统详解(linux不再难懂)
评论