论山寨手机与Android联姻 【10】SmartPhone的通信机制
上一章我们说到,智能手机 == 电脑 + 移动网卡,这个提法比较粗略,更精准的提法应当是,智能手机的硬件结构分为应用程序处理器AP,和基带处理器BP两个部分。虽然AP部分的功能与电脑主板基本类似,但是硬件结构有很大不同,不同之处体现在CPU的选择,以及整个主板的布局连线。
BP负责所有通讯软件的执行,它的硬件结构,也并非如网卡那么简单。基带处理器BP的实现,有三种方式。
1. 分立器件(Discrete Components)。
把BP部分的CPU,内存,电源管理,无线收发器,功率放大器等等器件,作为散装器件组装起来的做法,称为分立器件。如Figure 10.1所示,Palm Pre的BP部分,采用的就是分立器件的做法[1]。有趣的是,Palm Pre把BP部分与AP部分,分别组装在不同的电路板上。这个做法,不同于Moto Droid和iPhone 3GS,参见上一章中Figure 9.6的手机实体图,和Figure 9.5的逻辑结构图。Moto Droid把逻辑上属于BP的器件,以及属于AP的器件,统统组装在同一块电路板上。而iPhone 3GS,虽然也把AP和BP的器件组装在同一块电路板上,但是隔离成了不同屏蔽区域。
不同的分立器件的组装方式,对于散热,抗震,重量和外观会有一定影响。各个厂商考虑这些因素时的侧重点不同,导致各自选择了不同的组装方式。
Figure 10.1 Palm Pre teardown and analysis [1]. Courtesy http://farm5.static.flickr.com/4030/4359122164_0f0e8be100_b.jpg
2. BP模块。
最接近网卡的方式,是BP模块。使用BP模块很方便。在设计电路板时,设计好相应的接口,大部分情况下是miniPCI接口。在制造时,只需要把外购来的完整BP模块,插入相应接口即可。这个做法很方便,但是方便的代价是成本,通常3G BP模块的单价超过100美元。所以,熟悉BP内部结构,技术积累厚实的手机制造厂商,多半不用BP模块,而是选择了成本低,但是技术难度大的分立器件方式。
但是,对于其它移动设备,例如电子书(eBook),考虑到作为新产品,抢先进入市场的时间,比成本更重要。而且作为投石问路的尝试阶段,对销量的期望不高。另外,eBook的赚钱法门在于销售内容,而不是设备本身。或许是考虑到这三个因素,Amazon的电子书,Kindle 1&2,Barns&Noble的电子书,Nook,采用的都是BP模块的做法,来解决移动上网的需求[2,3,4]。
Amazon Kindle 2有两个版本,美国国内版用的是Novatel出品的E725 miniPCI模块。国际版用的是AnyDATA的DTP600W miniPCI模块。由于两个模块都是miniPCI接口,它们可以很容易互换。
Figure 10.2中,上排左边的照片是Amazon Kindle 2国际版的外观。上排中间和上排右边的照片是打开后盖时,看到的AnyDATA DTP600W BP模块的外观照片。下排左边的照片是拆解了BP模块以后,看到的内部实物照片,下排右边的逻辑图,是Kindle 2国际版的逻辑结构图,红线标识的部分,是BP模块所包括的构件。
Figure 10.2 Amazon Kindle 2 and its BP module [3,5]. Courtesy http://farm5.static.flickr.com/4007/4364813490_3c6c69de64_o.png
3. SoC(System on Chip)AP+BP二合一芯片。
不管是前面提到的分立器件的做法,还是BP模块的做法,AP部分与BP部分都是分开的,两者之间通过AT命令通信 [6]。拨打电话时,AP通过AT命令控制BP,而有来电时,BP通过AT命令通知AP。
早期的手机,AP与BP的物理联系,通过串口(UART)来实现,不仅需要串口,而且通常还需要通用输入输出控制线(General Purpose Input/Outpu, GPIO),来协调AP与BP之间的电源管理等等。在手机闲置时,AP和BP部分都处于睡眠状态,以便省电。拨打电话时,AP通过GPIO唤醒BP,然后通过串口给BP发送AT命令。有来电时,BP也通过GPIO唤醒AP,然后也通过串口发送AT命令,通知AP启动振铃,接换手机界面等等。
很显然,用串口(UART),GPIO,加AT命令的方式,来协调AP与BP的工作,效率不太高。虽然后期手机,用USB或SPI取代了UART,效率有所提高,但是总体上来说,AP与BP的协调,仍然是整个手机工作效率的瓶颈。
AP和BP各自有一块彼此独立的CPU芯片,不仅相互之间的通信效率差,而且购置芯片的成本高,占用手机电路板的面积大,同时还耗电。为了克服这些缺点,SoC二合一芯片的出现,是大势所趋,困难在于SoC芯片的设计和制造难度较大[7]。例如,在SoC内部,AP和BP分工依然明确,两者之间的通信,通常依靠内存共享(Shared Memory)。但是实现内存共享的技术难度,要比AT命令的方式要复杂得多[8]。
GPhone,是指内置Google Android操作系统的手机。例如2008年10月上市的G1,2009年4月上市的G2,以及2010年1月份新鲜出炉的Nexus One[9],都是HTC的产品[10]。Nexus One的CPU配置,是Qualcomm的QSD8250 1GHz芯片[11],而G1和G2,都使用了Qualcomm的MSM7200系列芯片,见Figure 10.3[12]。
Figure 10.3 HTC Android G1 teardown and analysis [12]. Courtesy http://farm5.static.flickr.com/4004/4358377359_03420dd1a7_o.png
GPhone Nexus One所使用的Qualcomm的QSD8250,以及G1和G2所使用的Qualcomm的MSM7200芯片,都是AP和BP二合一的SoC芯片。以MSM7200芯片为例,它的AP部分内置两枚CPU内核,一个是ARM11,另一个是DSP专用内核QDSP5,BP部分也有两个CPU内核,分别是ARM926和DSP专用内核QDSP4,参见Figure 10.4左侧,以及参考文献[13]。
Qualcomm的MSM7xxx系列AP+BP SoC芯片,于2006年左右陆续上市。其实,早在2001年,TI就推出了AP+BP SoC芯片,OMAP710。此后,TI又陆续推出了OMAP730,733,750,850,1030, 1035 SoC芯片。TI OMAP710和OMAP850的内部结构图,参见Figure 10.4右侧。从OMAP710到OMAP850,速度提高了,内存加大了,功能也有所增强[14]。
但是Qualcomm的SoC芯片系列的特色,在于积极支持Android手机操作系统,其用意或许类似Intel绑定Windows电脑操作系统,两者结盟形成Wintel软硬件共生体,共存共荣占据PC领域霸主地位[15]。Qualcomm是否能够与Google结盟,形成MSM与Android软硬件共生体,谋求智能手机领域霸主地位,大家拭目以待。
Figure 10.4 Qualcomm MSM vs TI OMAP [10,11]. Courtesy http://farm5.static.flickr.com/4054/4358401341_5b51b0037f_o.png
总结一下,智能手机的BP部分,功能上基本等同于功能手机,所以实际上智能手机等同于,功能手机(BP)外加新增的AP部分。BP的做法有三种方式,1. 分立器件,这是早期智能手机的BP部分的主要实现方式,例如以Intel PXA系列芯片为CPU的手机。眼下iPhone,PalmPre, Moto Droid也沿袭了分立器件的结构。2. BP模块,这个方式使用简单,但是成本较高。非手机类的移动设备,常用这种设计。3. AP+BP二合一SoC芯片,技术难度最大,但利润率也最高,是目前手机最普遍使用的BP实现方式,例如HTC手机既用TI的SoC芯片,使用的是Qualcomm的SoC芯片,而Nokia智能手机大部分使用TI的SoC。
通吃AP和BP,利用SoC芯片的高额利润,在每一部手机上获取最大利润,是每一个芯片厂商的梦想。由于SoC芯片开发成本较高,为了维持经济效益,芯片厂商就必须实现大批量生产。因此芯片厂商投入很大力量来帮助手机制造厂商设计基于自己芯片的手机产 。从手机制造厂商立场出发,由于芯片厂商的大力支持,使用SoC芯片可以降低自己的开发难度,缩短开发周期,增加市场机会。正因为如此,SoC成为当前手机的硬件结构的主流。
2G 到3G,AP+BP二合一SoC芯片的竞争异常激烈。参与竞争的有TI,ADI,西门子,Sagem, NXP,Marvell,Qualcomm和英飞凌(Infineon)等等这些大厂商[16],谁更有希望胜出,成为行业领袖?中小厂商芯片厂商如展讯和MTK 以及手机设备厂商HTC,Motorola等等,是否能够乱世出英雄,参与分工合作,不断壮大自己?这些问题,留给后续章节讨论。
Reference,
[1] Palm Pre with WebOS teardown and analysis. (http://www.phonewreck.com/2009/06/07/palm-pre-teardown-and-analysis-review-coming-soon/)
[2] Amazon Kindle1 teardown and analysis. (http://www.rapidrepair.com/guides/amazonkindleguide/amazon-kindle-Take-Apart-Guide.htm)
[3] Amazon Kindle2 teardown and analysis. (http://www.phonewreck.com/2010/01/27/amazon-kindle-2-global-wireless-teardownin-depth-analysis/)
[4] Barns&Noble Nook teardown and analysis. (http://androidandme.com/2009/12/hacks/nook-rooted-how-to-and-teardown-pics/)
[5] Amazon Kindle2 network card teardown. (http://www.ifixit.com/Teardown/Kindle-2/624/1)
[6] Introduction to AT commands. (http://en.wikipedia.org/wiki/AT_commands)
[7] Design an optimal wireless SoC. (http://www.eetimes.com/showArticle.jhtml?articleID=49900397)
[8] Solving SoC shared memory resource challenges. (http://www.design-reuse.com/articles/5816/solving-soc-shared-memory-resource-challenges.html)
[9] Google Nexus One评测。(http://chinese.engadget.com/2010/01/05/nexus-one-review/)
[10] A List of Android Devices. (http://en.wikipedia.org/wiki/List_of_Android_devices)
[11] Google Nexus One teardown and analysis. (http://www.ifixit.com/Teardown/Nexus-One-Teardown/1654/2)
[12] HTC T1 teardown and analysis. (http://www.phonewreck.com/2008/12/09/t-mobile-g1-review-and-teardown/)
[13] Android OS与Qualcomm MSM7200芯片. (http://mobile.onegreen.org/Article/HTML/15203.html)
[14] TI的OMAP750与OMAP850两款CPU的比较. (http://hi.baidu.com/sl1987/blog/item/0afb5a663d663f23ab184c1a.html)
[15] The silicon behind Android. (http://www.engadget.com/2009/10/14/core-values-the-silicon-behind-android/)
论山寨手机与Android联姻 【10】SmartPhone的通信机制的更多相关文章
- 论山寨手机与Android联姻 【2】手机OS成为核心
手机凭借通话和短信这两项基本功能,积累了用户,开拓了市场.但是用户的需求是永无止境的,对于手机制造商来说,紧跟用户需求,拓展手机功能,是机会也是挑战. 1988年第一款数码相机,在日本上市.数码相机的 ...
- Android 进阶10:进程通信之 Messenger 使用与解析
读完本文你将了解: Messenger 简介 Messenger 的使用 服务端 客户端 运行效果 使用小结 总结 代码地址 Thanks 前面我们介绍了 AIDL 的使用与原理,这篇文章来介绍下 A ...
- 论山寨手机与Android联姻 【9】SmartPhone的硬件结构
如何区别智能手机(SmartPhone)与功能手机(FeaturePhone)? 有一种观点认为,智能手机本质上是功能手机与便携式电脑(Laptop PC)的结合.功能手机的功能受限于制造厂商的预制, ...
- 论山寨手机与Android联姻的技术基础 【序】
山寨手机的兴起,离不开 MTK(联发科).MTK为手机制造提供了一揽子解决方案,其中既包括硬件,也包括软件.软件方面最重要的,是操作系统.MTK方案的软件的稳定性非常高,一方面是因为其硬件系统变化不大 ...
- 论山寨手机与Android联姻 【3】手机是怎样生产出来的
要说清楚MTK在商业模式上有什么优势,以及Android对于MTK未来的手机开发会有什么影响,首先得了解手机从设计,开发到生产的整个过程.让我们先来看看手机的生产过程.在生产制造环节,山寨手机和正牌手 ...
- 论山寨手机与Android联姻 【8】 自己动手做XP手机
2010年1月20日,ViewSonic在北京发布了一款真正意义的电脑手机VCP08.根据商家的宣传,VCP08之所以能够被称为真正的电脑手机,是因为“该机做到了把真正的WindowsXP操作系统嵌入 ...
- 论山寨手机与Android联姻 【7】 MTK手机软件系统
MTK feature phone的基本功能是通话和短信,要了解MTK手机软件系统,首先需要简要回顾几个移动网络通讯的基本概念. Figure 38. GSM-GPRS Architecture Co ...
- 论山寨手机与Android联姻 【6】MTK手机的基带芯片
MTK的硬件技术的核心,在于它的基带芯片.为了降低成本,同时缩减手机主板的面积,基带芯片中除了CPU以外,还集成了很多外设控制器.Feature Phone的功能,基本上取决于基带芯片所支持的外设功能 ...
- 论山寨手机与Android联姻 【4】手机产业链
前文说到,生产手机以前,制造厂家需要预先得到软硬件的产品级设计方案,然后按照设计方案亦步亦趋地做,就可以制造出手机了.软硬件的产品级设计包括以下内容, 1. 主板设计,或者Gerber文件,或者PCB ...
随机推荐
- 移动网页版Meta 标签
viewport 大部分移动浏览器都接受,比如 Opera Mobile, iPhone, Android, Iris, IE, BlackBerry, Obigo, Firefox 最基本的例子,在 ...
- QListWidget与QTableWidget的使用以及样式设置
QListWidget和QTableWidget的使用和属性,QTableWidget和QListWidget样式表的设置,滚动条的样式设置 一.QListWidget的使用 //一.QListWid ...
- Qt之QTemporaryFile(文件名唯一,且可以自动删除)
简述 QTemporaryFile类是操作临时文件的I/O设备. QTemporaryFile用于安全地创建一个独一无二的临时文件.临时文件通过调用open()来创建,并且名称是唯一的(即:保证不覆盖 ...
- linux下so动态库一些不为人知的秘密(中)
上一篇(linux下so动态库一些不为人知的秘密(上))介绍了linux下so一些依赖问题,本篇将介绍linux的so路径搜索问题. 我们知道linux链接so有两种途径:显示和隐式.所谓显示就是程序 ...
- poj 1603 Risk_spfa向前星
poj终于到100题,贴个代码纪念一下,hdu 到400题再贴 题意:有20个城市,接下来有19行告诉你,i城市与n个城市相连,图是双向的,然后叫你求x到y的最小经过几个城市 #include < ...
- #include <list>
clear();删除向量中的所有对象 erase(iterator it);删除it所指向的容器对象 insert(iterator it,const T&);向it所指的向量位置前插入一个对 ...
- eclipse/myeclipse使用技巧
热键篇: Template:Alt + / 修改处:Window->Preference->Workbench->Keys->Command->Edit->Cont ...
- VB读写Excel
近期用excel和VB比較多,就简单的学习了一下VB中对Excel的处理.今天就介绍一些吧. 在VB中要想调用Excel,须要打开VB编程环境“project”菜单中的“引用”项目 ...
- git 在苹果系统中的一些命令
下面是在mac下使用git的一些命令的使用,如果想参看原文使用xcode来处理git,可以进入下面的链接,不过是英文的. 使用终端命令终端: cd /Users/Malek/desktop/GitUs ...
- HDU 3081Marriage Match II(二分法+并检查集合+网络流量的最大流量)
职务地址:http://acm.hdu.edu.cn/showproblem.php? pid=3081 有一段时间没写最大流的题了,这题建图竟然想了好长时间... 刚開始是按着终于的最大流即是做多轮 ...