手机软件开发入门Word格式文档下载.docx
《手机软件开发入门Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《手机软件开发入门Word格式文档下载.docx(10页珍藏版)》请在冰豆网上搜索。
市场上那些智能手机基本上全是双CPU方案,什么WindowsCE、SmartPhone、WindowsMobile、Symbian、嵌入式Linux全是运行在第二块CPU上的。
这些商业操作系统无法和无线通信协议软件集成到一块CPU上。
双CPU的手机功能丰富,但它们一般体积大,耗电多,成本高。
现在市场上的大部分手机还是单CPU的。
目前的大部分手机应用,例如Java、BREW、WAP、邮件、摄像头、闪存、MP3、蓝牙,在单CPU方案里都能实现。
我认为不管3G、4G如何发展,小巧、实用、低成本的单CPU方案总会占据较大的市场份额。
微软在单CPU方案的手机市场还没有立足之地,又怎么谈得上引领方向呢?
本文主要介绍单CPU手机,大多数论述也适用于双CPU方案的通信部分。
1.33G和4G
3G和4G是指第三代、第四代无线通信技术,对手机而言,它们改进的是空中接口的效率,空中接口能以更大的带宽传送数据。
通过手机无线上网的速度会更快。
这和话音业务、手机应用软件没有直接的联系。
当然,手机的嵌入式数据业务由于更高的带宽,会产生更多的可能。
不过这些可能性的实现还是会受到手机输入慢、显示屏小等条件的制约。
2手机软件的组成
2.1概述
手机软件和PC机软件一样从中断向量表开始,因为比较小,看上去更加清晰。
中断向量表的第一个跳转指令当然是跳到复位的处理程序,后面是中断处理、错误处理的跳转指令。
一上电,手机就跳转到复位的处理程序,开始检查内存、初始化C运行环境,然后创建第一个任务。
这个任务会按顺序创建、启动其它任务。
绝大多数手机程序都是多任务的,但也有一些小灵通的协议栈是单任务的,没有操作系统,它们的主程序轮流调用各个软件模块的处理程序,模拟多任务环境。
手机软件可以粗略地分成启动模块、操作系统、协议栈、数据业务、本地存储、驱动程序、用户界面和其它应用。
启动模块前面已经说过了,下面简单介绍其它部分。
2.2操作系统
操作系统在手机软件只占很小一部分。
它的主要功能就是提供多任务调度、通信机制。
有的操作系统会提供动态内存分配,定时函数,但这些都不是必须的。
例如需要动态内存分配的模块,可以自己管理一个内存池,这样更易于隔离模块和预测内存需求。
大多数手机的操作系统都是一个很小的内核,例如REX、HIOS等。
高通REX的源代码连C代码加汇编也不过一千多行,编译后不过是2、3K的代码量。
而完整的手机程序一般总有3、4百个C文件,超过一百万行的代码。
2.3协议栈
协议栈是手机软件最复杂的部分,它的复杂性在于它和基带处理芯片的设计密切相关。
只有具备芯片设计能力的企业才可能开发协议栈。
协议栈会使用基带处理芯片的所有资源、包括DSP核。
2.4数据业务
数据业务主要有两种:
在前一种,手机相当于一个调制解调器,PC机通过手机上网,网络协议全在PC机上,手机提供数据链路。
另一种是嵌入式数据业务,手机内部包含TCP/IP/PPP等协议,有时还要实现HTTP和嵌入式浏览器,不需要PC机就可以接入web或wap网络。
2.5本地存储
手机都有本地存储功能,存储电话本、短消息、用户设定等。
一般手机都有一个基于flash的文件系统。
早期的手机存储是基于EEPROM的。
2.6驱动程序
硬件驱动一般是指外设驱动,但也有一些设备是集成在基带处理芯片中的。
驱动程序包括:
键盘、电源管理模块、LCD、flash、RTC、串口、USB、SIM卡或UIM卡、射频驱动等。
2.7用户界面
用户界面(UI)又称作人机界面(MMI),它负责和用户的交互,在必要的时候调用其它模块的功能。
用户界面处理手机必备功能外,也包含一些相对独立的应用程序,例如日程表、游戏等。
美工设计也是用户界面设计的重要环节。
2.8其它应用
其它应用包括Java虚拟机、WAP浏览器、邮件软件等,是一些比较大,又相对独立的应用模块。
基本上讲完了。
大家肯定看得挺没意思吧。
这些程序和微软的longhorn、metedata有什么关系呢?
手机程序绝大部分是用C语言写的,有很少的汇编。
对于做应用软件的程序员,要求具备面向对象、设计模式的思维能力,然后用C语言实现出来
高通的BREW就是用C语言硬生生地模仿C++,弄出很多奇怪的宏来。
一般应用软件的开发不用这么死板,但对各种软件设计方法的了解还是必要的。
3手机的核心技术
手机的核心技术是芯片和协议栈,两者是密不可分的。
芯片设计需要协议栈来验证,协议栈必须充分发挥出芯片的功能。
芯片的CPU核、DSP核都可以买到现成的单元,但通信协议部分就需要自己设计了。
手机比较难做好的是耗电量、恶劣信号环境的性能等。
4第三方软件
4.1介绍
前面讲到的软件是一个完整程序的各个部分。
这些部分被放到一起编译,产生一个二进制文件,通过JTAG口(升级时可以用串口)下载到手机的flash中。
手机一上电,就会从指定地址开始运行。
这个地址的内容就是跳转到复位处理程序的跳转指令。
哈哈,又讲回头了。
第三方软件是指手机可以通过数据线或者网络下载一些可执行文件到文件系统中。
然后有一个装载器可以装载、执行这些文件。
这样第三方就可以开发一些应用程序,下载到手机中来扩充手机功能。
这些可执行文件现在主要有两种格式:
java程序和BREW程序。
java程序需要java虚拟机装载运行。
BREW程序是一个很奇怪的东西,它实际就是用与编译手机程序相同的编译器编译出来的目标代码。
这些目标代码必须是可以重新定位的,即不能包含全局和静态变量。
装载器将程序将执行权传给给BREW程序,一种听上去更安全的说法是调用BREW程序的入口函数。
这个入口函数的位置在BREW程序中是固定的。
装载器在调用BREW程序的入口函数时会传入一个地址。
通过这个地址,BREW程序能够顺藤摸瓜,找到系统提供的各种API的地址,它通过这些API访问手机的显示、通信等功能。
java程序基本上是平台无关的,针对各种平台设计的java虚拟机隔离了平台的大部分特性,厂家特意提供的一些OEM功能除外。
BREW程序显然是平台相关,换一个CPU,就不认识原来的目标码了。
4.2其它
除了java、BREW外,WindowsCE、SmartPhone、WindowsMobile、Symbian、嵌入式Linux这些商业操作系统当然可以提供各种创建第三方程序的方法。
在这些环境写程序和在PC平台写程序是很相近的,基本上体会不到嵌入式编程的特点,只是屏幕小一些,输入麻烦一些。
这些第三方软件不是必需的。
手机在3G的市场中只占了一个较小的部分,网络是大头。
而第三方软件相对于手机来说,所占的份额就更小了
手机软件主要包括两个部分:
应用层软件和底层软件,应用层软件主要完成人机界面的交互功能,目前包括中兴通讯在内已有少数国内厂商掌握此技术;
底层软件即通常称的核心软件,包括Layer2/3层协议栈软件和Layer1层软件。
从国际上来看,所有手机生产厂商中能够掌握协议软件的也不过七、八家。
此前,中兴通讯在1999年已经完全掌握了应用层软件技术、射频电路和基带电路的开发。
手机研发从拥有自主知识产权的程度来看,大体可以分为四个阶段:
第一阶段是完全的0EM,包括SKD(引进部件组装)或CKD(引进零件组装);
第二阶段,能独立完成结构外观设计、应用层软件设计和大批量生产技术;
第三阶段,在第二阶段的基础上能完成射频电路、基带电路和Layer2/3层协议栈软件开发;
第四阶段,在第三阶段的基础上能完成射频芯片、基带芯片和Layer1层软件开发,标志着手机完全实现自主开发。
其中,射频电路、基带电路、Layer2/3层协议栈软件、Layer1层软件、射频芯片、基带芯片是手机生产的核心技术。
2.5G手机;
整机设计
1引言
22.5GGSM手机硬件结构
2.1整机特征
2.2GSM手机电路原理
GSM手机电路由无线收发信机、基带信号处理电路、基带控制电路、存储电路、键盘、显示器、外部接口等部分组成。
(1)射频单元
射频单元的发信通路将基带单元产生的270.833kbit/s的TDMA帧数据流信号接GMSK调制方法形成I、Q信号,再调制到900MHz或1800MHz射频信号,经射频开关,由天线发射出去,收信通路将天线接收的信号经低噪声放大、解调,产生基带I、Q信号,通过解调和均衡将模拟的I、Q信号进行数字化,恢复出数字基带信号,送基带电路处理。
射频单元的本振信号通常从时基电路获得基准频率,然后采用锁相环技术实现频率合成。
(2)基带芯片与基带信号处理电路
移动通信的迅猛发展,从模拟移动终端到数字GSM,再到GPRS、3G,系统越趋复杂化。
同时电子系统小型化、芯片化正成为系统设计者追求的主要目标,“系统的硅片化,硅片的系统化”(Systemonchip,Siliconinsystem)已成为趋势,因此给设计者提出了前所未有的难题。
GSM基带芯片是通信终端产品的关键部件,现在比较流行的一般有单IC封装和双IC封装两种形式。
多家公司可以大量供应成套的芯片组,如TI、ADL/TIP、Lucent、VLSI等。
这为国产手机基带芯片设计提供了有益的参考。
基带电路包括信道编/译码,加密/解密、TDMA帧形成/信道分离及基准时钟电路、话音编/译码、码速适配器等。
送话器的话音信号经过8kHz抽样及A/D变换,成为均匀量化的数据流,经话音编码、信道编码、交织、加密等处理,形成270.833kbit/s的TDMA帧数据流,送调制器发送。
在接收通道执行与发信通道相反的过程。
帧及信令控制以时钟基准部分提供统一帧号、时隙号、1/8bits时钟等基础,实现同步。
(3)控制器
控制器实现对手机系统的控制,包括协议处理、射频电路控制、基带电路控制、键盘输入、显示器输出、SIM卡接口及数据接口等功能。
32.5GGSM手机软件结构与功能
协议软件体系包括:
•人机界面(MMI)软件
•GSM第一层软件(LI层软件)
•GSM第二层软件(L2层软件)
•GSM第三层软件(L3层软件)
•数据/传真服务软件
•GPRS协议软件
•WAP应用协议软件
3.1MMI
随着社会的发展,人们对手机的要求越来越高,良好的通话质量,美观的外形,友好的人机界面,已成为人们追求的目标。
因此,手机人机界面的设计和开发无论对用户还是对公司,都日益重要。
其主要提供移动台(手机)的全面控制和手机与用户之间的接口,功能包括:
用户键盘输入、手机状态和呼叫处理过程显示、SIM卡和电子簿的管理、PIN码的控制、缩位拨号等。
3.2L1层软件
按照OSI参考模型的定义,L1层软件支持在物理介质上传输bit数据流所要求的所有功能,是上层协议软件和硬件之间的接口。
L1软件结合上层软件执行小区选择、帧同步、发送功率、接收功率、跳频等低层功能。
L1层与L2层的接口用以支持控制信道信息的传递;
与无线资源管理(RR)的接口用以支持信道的分配以及物理层系统信息的传递;
与无线链路控制/介质访问控制层(RLC/MAC)的接口用以支持分组数据业务等。
另外,L1还提供对射频硬件和DSP接口的驱动,但不包含信号处理功能。
通过完成对DSP的驱动控制,还可完成语音编解码、解调/均衡算法、数据交织/解交织算法、噪声抑制、信道编码等功能。
3.3L2层软件
数据链路层是OSI参考模型的次低层,它包括各种数据传输结构,对数据传输进行控制。
其主要功能包括:
数据链路上的格式和操作错误的检测。
流量控制、随机接入信道在有接人请求后建立数据链路时的争抢判决等。
3.4L3层软件
第三层是GSM协议的核心,它分为无线资源管理子层(RR)、移动管理子层(MM)、连接管理子层(CM)。
CM子层又有呼叫控制(CC)、补充业务(SS)和短信息管理(SMS)等实体。
RR子层负责对无线链路连接(物理的)和数据链路连接(逻辑的)的建立、保持和释放。
在空闲模式下,RR子层负责协调进行小区的选择和重选。
在专用模式下,RR子层负责协调从报告监测结果到信道重新配置的整个切换过程。
MM子层主要考虑移动站在空闲模式下如何向网络通报它的地理位置。
一个大的PLMN服务区域被划分为许多个小的定位区域LA,MM子层的任务就是当移动站进入一个新的定位区域时通知网络,以便能够继续跟踪移动站。
此外,MM子层还将所有其它上层协议实体的呼叫多路复用到一个单一的无线信道,也就是SDCCH;
同时MM子层完成呼叫重建任务的过程相对于用户是透明的。
CC子层负责移动终端与网络一方的MSC之间的操作,它管理与呼叫建立和保持相关的任务,这些任务对用户来说是不可见的。
CC子层要为呼叫议定一条合适的通路,并告知用户呼叫进行的情况(即是否被叫已经振铃、占线或号码无效等)。
每个呼叫,不管呼人还是呼出,都有自己专用的CC呼叫实体与之对应。
CC使得用户不必面对网络或无线接口的出错信息,保证呼叫双方的控制信息按照正确的顺序进行。
SS子层是一个简单的状态机,它支持呼叫无关补充服务信息以简单的信息格式(FIE)传送,这种简易的信息格式主要承载了简易无线接口消息。
向FIE信息格式的转换由内核的用户层来完成。
3.5数据通信服务软件
数据通信软件包主要是用来为异步数据传输的透明模式/非透明模式提供终端适配功能,它包括了相关的AT命令模块。
传真软件包提供了GSM第62号电信业务(自动传真组3),即传真业务功能。
传真软件包使用了数据服务提供的在R接口上进行的物理层数据传输的数据传输功能,以及基带DSP和速率适配功能。
AT命令软件包提供了一个从终端设备(如PC)通过V.24接口控制移动终端的各项功能和GSM网络服务的功能。
3.6测试及维护
测试及维护软件包负责监管系统启动运行、检查电池电量、支持型号认证测试、生产线上校准和整机测试等功能。
它由用户应用程序或L3层软件激活,在低层用户的专用硬件为其提供驱动接口。
3.7GPRS协议软件
GPRS协议软件应用于GPRS(12级)CLASS。
B移动电话。
除了对原有GSM协议软件的扩充外,我们设计的GPRS协议软件主要包括:
介质访问控制层(MAC)、无线链路控制居(AIL)、逻辑链路控制层(LLC)、子网相关结合层(SNDCP)。
3.8WAP协议软件
WAP协议软件建立在基于UDP/IP的承载业务(如GSMCSD和GPRS)和其它承载业务(如GSMSMS和USSD)之上,通过实现一组——协议栈,提供一个基于WWW和移动电话技术的通用无线应用环境(WAE),以便运营商、服务提供商和设备制造商在不同的无线平台上有效地开展应用和业务。
WAP1.2通信协议包括以下几个部分:
•无线数据报协议(WDP)
•无线事务协议(WTP)
•无线传输安全层协议(WTLS)
•无线会话层协议(WSP)
•无线应用环境(WAE)
WSP为WAP应用层在两个会话服务间提供了一致的接口,它可以提供运行WTP上的面向连接的服务或运行在WDP上的无连接服务。
目前在WSP协议系列中,WSP/B(Browse)支持洲览型的应用。
WTP运行在数据报服务(WTLS或WDP)之上,提供了轻型的面向事务的协议,实现简单,适合在客户机(如手机)上实现,完成数据包拼接及延迟响应功能,以减少消息数。
WTLS是建立在工业标准TLS(传输层安全)协议上的安全协议,以前简称为SSL。
实现对移动终端与应用服务器的鉴权,保证在移动终端与应用服务器之间传送数据的完整性和保密性,并提供对拒绝服务的保护,可用于支持电子商务中的鉴权等应用,使信息不被任何可能破坏数据流的第三方的破译。
WAP协议的传输层由WTP和WDP组成。
WDP运行在数据承载服务上,支持不同的网络类型,作为WAP的通用传输层,在不同的承载网络实现透明传送,对上层提供一致的服务。
由于短消息服务、交换式数据服务和分组数据服务等各种承载网络提供不同的服务质量,包括带宽、吞吐量、误码率、时延等参数,WDP能够补偿这些差异的影响,并通过协议优化来提高服务质量。
WAE是结合WWW技术和移动电话技术,为网络运营者和服务提供商提供一个通用的应用平台,可以方便地生成新业务,并支持各种应用和服务之间的互操作。
WAE包含了一个微型浏览器,支持无线标记语言规范(WAPWMLVersion1999-11-4),能够正确解析无线标记语言,并能与WMLScript进行交互。
实现能够正确解释并执行符合WAPWMLScript规范的WMLScript虚拟机以及WAPWMDScriptStandardLibraries规范描述的WMLScript库函数。
在移动电话用户界面之下,提供一个标准的接口,做到与移动电话硬件无关。
支持WAP所要求的内容格式,包括IMvCARD和vCALENDAR、WBMP。
实现WAPPushOTA协议,支持推(PUSH)技术。
支持WAGUAPROF规范描述的用户配置信息。
支持WAPCachingMedel规范描述的客户端缓冲功能。
支持多国语言,允许嵌入第三方的输入法。
4手机产品研发实施方案
4.1技术路线
(1)射频设计研发路线
对于射频技术研发方面,为了较快的满足手机项目的研发需要,通过对不同的射频方案进行技术性能、可靠性、生成成本、生产可行性进行评估的基础上,根据手机方案的要求,确定包括分离器件及射频集成电路等的射频系统方案。
同时,利用ADS等微波EDS工具,完善测试手段及开发手段,提供综合设计能力。
(2)基带芯片开发路线
在基带芯片开发方面,科健公司已经同ComQuest公司、ADI、T1等公司进行了广泛的接触和合作。
利用它们在芯片设计方面的成熟技术,通过购买成熟的内核模块,利用世界上先进的设计仿真工具,采用先进的设计方法,共同开发完成符合GSM2.5G规范的基带芯片。
(3)协议软件开发路线
对于协议软件研发方面,科健公司已经完成掌握MMI软件的开发,并即将应用到今后科健推出的手机中去。
已经完成L1、L2、L3、GPRS、WAP等协议的消化工作,并进行了部分的编程仿真工作,现正同国外公司进行全面的协议编程合作工作。
(4)开发验证平台
在软件设计、基带芯片和基带电路的设计以及射频部分的设计过程中,都需要通过实际的硬件环境加以仿真的验证。
因此,在设计软件、基带芯片和射频电路的同时,也必须进行开发验证平台的设计工作。
该验证平台将采用模块化的结构,利于升级和扩展。
5整机系统集成与FTA型号认证
5.1整机系统集成
在完成基带芯片的设计及实现的基础上,通过整机验证平台的测试,实现各模块功能及接口。
同时在验证平台上实现软件功能测试及射频模块的初步测试。
在验证平台测试的基础上,根据整机系统方案的要求及总体设计方案,完成整机系统集成。
硬件设计中除基本功能实现及较好的整机性能指标要求以外,重点考虑好电源管理、射频单元屏蔽、可*性、安全性、电磁兼容性等方面的设计,同时考虑整机器件成本、生产工艺、大规模生产可行性方面等内容。
软件按照总体设计要求完成各项业务功能,包括基本功能、补充功能和附加功能以及规定的强制功能。
具有中文界面及中文输入、短消息服务、数据/传真、GPRS、STK功能以及WAP功能等。
同时为了满足消费者的需要,设计较为便捷实用的人机界面。
注重手机的工业造型与结构设计,设计出外观新颖大方、别致轻巧、经久耐用的产品,针对市场需求,创造良好的社会效益及企业效益。
5.2FTA型号认证
FTA型号认证测试是国际通行GSM手机入网测试,通常由经国际测试认证的测试中心进行。
国内针对国产手机的入网要求,除了提供样机测试。
具有品质保障体系以外,明确需要厂家提供通过FTA测试证书。
通过FTA测试是检验手机设计的基本要求,也是在国内及国际市场销售的通行证。
FTA测试主要分为射频、软件、音频等,测试内容及方法在GSM11.10协议中有较为明确的定义
L1软件负责基带部分的语音编解码、信道编解码、交织/反交织、加密解密等功能,向L2/3协议软件提供底层支持;
提供人机交互有关的硬件驱动:
键盘驱动、LCD驱动、声音驱动等,并提供接口。
L2/3软件完成GSM手机侧通讯协议,其中Layer3分为三个子层,它们分别是:
RR、MM和CM。
RR模块主要是对无线资源进行管理,建立移动台到网络端的稳定连接,负责控制信道的加密、功率测量报告等。
MM模块主要负责移动性管理和安全性管理,如位置更新、鉴权、IMSI附着和分离等功能