上一章我们说到,智能手机 == 电脑 + 移动网卡,这个提法比较粗略,更精准的提法应当是,智能手机的硬件结构分为应用程序处理器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的通信机制的更多相关文章

  1. 论山寨手机与Android联姻 【2】手机OS成为核心

    手机凭借通话和短信这两项基本功能,积累了用户,开拓了市场.但是用户的需求是永无止境的,对于手机制造商来说,紧跟用户需求,拓展手机功能,是机会也是挑战. 1988年第一款数码相机,在日本上市.数码相机的 ...

  2. Android 进阶10:进程通信之 Messenger 使用与解析

    读完本文你将了解: Messenger 简介 Messenger 的使用 服务端 客户端 运行效果 使用小结 总结 代码地址 Thanks 前面我们介绍了 AIDL 的使用与原理,这篇文章来介绍下 A ...

  3. 论山寨手机与Android联姻 【9】SmartPhone的硬件结构

    如何区别智能手机(SmartPhone)与功能手机(FeaturePhone)? 有一种观点认为,智能手机本质上是功能手机与便携式电脑(Laptop PC)的结合.功能手机的功能受限于制造厂商的预制, ...

  4. 论山寨手机与Android联姻的技术基础 【序】

    山寨手机的兴起,离不开 MTK(联发科).MTK为手机制造提供了一揽子解决方案,其中既包括硬件,也包括软件.软件方面最重要的,是操作系统.MTK方案的软件的稳定性非常高,一方面是因为其硬件系统变化不大 ...

  5. 论山寨手机与Android联姻 【3】手机是怎样生产出来的

    要说清楚MTK在商业模式上有什么优势,以及Android对于MTK未来的手机开发会有什么影响,首先得了解手机从设计,开发到生产的整个过程.让我们先来看看手机的生产过程.在生产制造环节,山寨手机和正牌手 ...

  6. 论山寨手机与Android联姻 【8】 自己动手做XP手机

    2010年1月20日,ViewSonic在北京发布了一款真正意义的电脑手机VCP08.根据商家的宣传,VCP08之所以能够被称为真正的电脑手机,是因为“该机做到了把真正的WindowsXP操作系统嵌入 ...

  7. 论山寨手机与Android联姻 【7】 MTK手机软件系统

    MTK feature phone的基本功能是通话和短信,要了解MTK手机软件系统,首先需要简要回顾几个移动网络通讯的基本概念. Figure 38. GSM-GPRS Architecture Co ...

  8. 论山寨手机与Android联姻 【6】MTK手机的基带芯片

    MTK的硬件技术的核心,在于它的基带芯片.为了降低成本,同时缩减手机主板的面积,基带芯片中除了CPU以外,还集成了很多外设控制器.Feature Phone的功能,基本上取决于基带芯片所支持的外设功能 ...

  9. 论山寨手机与Android联姻 【4】手机产业链

    前文说到,生产手机以前,制造厂家需要预先得到软硬件的产品级设计方案,然后按照设计方案亦步亦趋地做,就可以制造出手机了.软硬件的产品级设计包括以下内容, 1. 主板设计,或者Gerber文件,或者PCB ...

随机推荐

  1. 入门指引 - PHP手册笔记

    曾经简单的学习过PHP,看的是<PHP和MySQL Web开发>,还有万能的搜索引擎的帮助.这次准备系统的学习一下,参考资料是PHP Manual. PHP能做什么 PHP主要用于服务端的 ...

  2. Seeding--zoj2100

    Seeding Time Limit: 2 Seconds      Memory Limit: 65536 KB It is spring time and farmers have to plan ...

  3. 1041. Be Unique (20)

    Being unique is so important to people on Mars that even their lottery is designed in a unique way. ...

  4. 关于Thread的Runnable和Callable接口

    其实非常简单:其实他们的区别就是Callable有返回值并且可以抛出异常. /** * Represents a command that can be executed. Often used to ...

  5. js的体会

    关于观察者模式的核心是: 回调函数, 传递函数名作为参数,或者是传递变量,然后调用其函数名. 关于闭包的核心是 闭包的函数是全局变量之下的函数, 而非闭包的函数是局部变量. <script> ...

  6. cf467A George and Accommodation

    A. George and Accommodation time limit per test 1 second memory limit per test 256 megabytes input s ...

  7. ALLEN-XIE

    ALLEN-XIE ABOUT   Allen Xie是一家坚持理念至上的西装定制店.我们的价值观渗透于我们所做的每一件事中,从而确保始终遵循自己的风格.我们坚持用最高标准要求自己,因此,在制衣过程中 ...

  8. jdbc详解(三)

    开源数据库连接池 l 现在很多 WEB 服务器 ( Weblogic , WebSphere , Tomcat) 都提供了 DataSoruce 的实现,即连接池的实现.通常我们把 DataSourc ...

  9. 乐酷工作室孙志伟:Testin云測试有广度有深度 省钱省力值得信赖

    乐酷工作室孙志伟:Testin云測试有广度有深度 省钱省力值得信赖 2014/10/16 · Testin · 开发人员訪谈 乐酷工作室是一个专业从事移动终端应用及游戏自主研发和运营的创业团队,眼下拥 ...

  10. URL传参中文乱码encodeURI、UrlDecode

    传递参数  encodeURI("url.aspx?str"+"汉字")-----------(是 URi  不是URL) 后台接收参数  Server.Url ...