Android I - 论山寨手机与 Android 联姻的技术基础


山寨手机的兴起,离不开 MTK(联发科)。MTK为手机制造提供了一揽子解决方案,其中既包括硬件,也包括软件。软件方面最重要的,是操作系统。MTK方案的软件的稳定性非常高,一方面是因为其硬件系统变化不大,另一方面,得益于MTK在系统软件上投入的巨额的资金和大量的人力。MTK采用的操作系统是Nucleus RTOS。Nucleus的优势主要在于占用CPU时间短,以及占用Memory空间少。随着手机硬件的发展,Nucleus的优势不再那么重要,而日益突出的问题,是需要功能更强大的手机操作系统。

2007年11月,Google发布Android OS,剑指手机操作系统市场,并开源免费。两年来,Android获得了相当热烈的市场回应。有没有可能用Android取代Nucleus,实现山寨手机的升级换代?

这个问题不容易回答,因为涉及到的方方面面比较多。

  1. MTK的下一代硬件[1],既能支持Android,也能支持Windows Mobile。为什么MTK没有选择人气正旺,而且免费开源的Android,反而选择联姻WinMobile呢[2]?
  2. 2009年3月,微软与MTK宣布结盟,共同开发针对中国TD-SCDMA手机市场的芯片[3]。时至今日,8个月过去了,为什么没有实际成果?
  3. MTK有没有意愿采用Android,替代Nucleus和WinMobile?
  4. MTK下一代软硬件系统,能不能重现今日风光?
  5. 其它公司有没有意愿利用Android的强势,为下一代手机制造提供一揽子解决方案,从而取代MTK的市场地位?
  6. Google免费提供Android的长远打算是什么?有没有雄心挺进硬件行业,甚至打造自有品牌的手机?


Figure 1. 传说中的Google自有品牌手机
Courtesy http://farm3.static.flickr.com/2708/4148369461_db9417013f_o.jpg

Hardware Engineer是硬件工程师,Software Engineer是软件工程师,那么桌上放着示波器和逻辑分析仪的Software Engineer是什么呢?是Firmware Engineer固件工程师,或者Embedded Engineer嵌入式工程师。最近有幸与一位有过数年市场经验的固件工程师讨论了以上问题,把讨论的内容整理成文,方便大家共同切磋。

当然,“有没有意愿”这种问题,只有相关企业的CEO才知道答案。我们这里只关注技术方面的可行性,以及利弊分析。

Reference,

[1] 联发科MT6516智能手机芯片。(http://www.shanzhaiji.cn/news/20090220/7579.html)
[2] 联发科MT6516为何不支持Android。(http://www.free-voip-china.com/tag/mt6516/)
[3] Microsoft and MediaTek to develop smartphone chipsets. (http://www.cn-c114.net/583/a395734.html)


MTK亮相的历史背景


如果说1960年代是大型机(Mainframe)的时代,1970年代是小型机(Microcomputer)的时代,那么1980年代无疑是个人电脑(PC)的时代,而1990年代则是互联网的时代。2000年以后呢?或许是移动互联网的时代。

与电脑的发展历程类似,移动互联网的发展轨迹,看来也同样是以硬件的改进为先导,软件的繁荣紧随其后,带动整个行业的井喷式的爆发性增长。


Figure 2. 第一代手机,俗称大哥大。
Courtesy http://farm3.static.flickr.com/2711/4149584622_1338223724_o.jpg

1980年代,手机开始商用。第一代手机俗称大哥大,特点是无线网络通讯信道中传输的是模拟信号。传输模拟信号有两个缺点,一是耗电,二是同一频段能够同时容纳的用户数量少。因为耗电,所以手机必须携带大块的电池,导致体积庞大,形如板砖。街头流氓打架时,常常捡起地上的板砖砸人,如果随身携带着大哥大,情急之时也可以把大哥大当板砖用。


Figure 3. 以DSP为核心的第二代手机的硬件架构 [4]。
Courtesy http://farm3.static.flickr.com/2751/4146507443_9601fd7d08_o.png

为什么传输模拟信号,会有耗电以及频段容量低的缺点?对比一下数字信号就清楚了。如果把语音转换成数字,就可以采取数据压缩的办法,减少传输语音时占用的带宽。同时由于数字信号容易处理,所以在传输数字语音信号时,可以使用复杂的传输协议与控制,以便在同一频段,同时容纳更多用户相互通话。而对于模拟信号,很难使用类似的协议与控制。

第二代手机的核心,是数字信号处理器,DSP(Digital Signal Processor)。第二代手机的硬件架构,如Figure 3 所示,分为三部分。

1. 射频芯片组 (Radio Subsystem)。它负责调制-发送,以及接收-解调无线信号。无论是发送还是接收,射频芯片组只处理模拟信号。

2. 模拟基带芯片组 (Analog Baseband)。这个芯片组中,主要包括两个功能块,射频接口(RF Interface),以及音频接口(Audio Interface)。

射频接口负责把从射频芯片组接收来的模拟信号,转换成数字信号,转发给数字信号处理器(DSP),以及把DSP输出的数字信号,转换成模拟信号,转发给射频芯片组以便发送。

音频接口负责把从麦克风接收来的模拟信号,转换成数字信号,然后转发给DSP做进一步处理。同时,它也负责把DSP输出的数字信号,转换成模拟信号,然后转发给喇叭以便播放。

3. 数字基带芯片组 (Digital Baseband)。这个芯片组主要由两部分构成,数字信号处理器(DSP),以及微控制器(Microcontroller)。

DSP的主要任务是进行语音处理,例如去除噪音和语音矫正等等。此外DSP还负责,对语音数据流的压缩解压,不同格式之间的编码解码和转换,还有加密解密等等。如果单块DSP芯片的功能不够,还可以借助于其它专用芯片(ASIC)。

微处理器负责两个任务,1. 处理无线通信协议,2. 运行手机操作系统。

当一位用户拨号呼叫另一位用户时,首先要建立一个通话通道,连接主叫方与被叫方。双方对话的语音数字信号,在这个通话通道里传输。七号信令系统负责建立这个通话通道[5]。为了保证信息安全,以及提高系统效率,采取了分离控制流与数据流的做法,也就是说,七号信令系统是一套独立的系统,游离于承载语音数字信号的通话通道之外。

七号信令由一系列协议组成,与有线网络协议的ISO七层模型大致对应,参见Figure 4。微处理器负责处理七号信令的第一层到第三层协议,MTP1,MTP2,MTP3。


Figure 4. Comparison SS7 Protocol Suite and ISO Protocol Model [6]
Courtesy http://farm3.static.flickr.com/2742/4152165133_959a2cb7a3_o.jpg

手机操作系统,例如Nucleus RTOS,负责处理如何开机/关机/锁机,屏幕显示,音量控制,响铃与震动等等外围动作。此外,还负责手机各个功能模块的运行调度 (Scheduling),以及不同进程间的数据交换(IPC)。虽然DSP在手机中的地位非常重要,但是DSP仍然接受手机操作系统的控制。

微控制器处理的数据,存放在Flash存储器中。

第二代手机的核心任务是实时通讯,表现为通话与短信两种功能。围绕实时通讯这个核心,操作系统具体协调各部分的工作。与用户的交互手段,依赖于十几个按键,以及一小块单色液晶显示屏。1998年开始销售的Nokia 5165,是第二代手机的一个经典,参见Figure 5。


Figure 5. 第二代手机,Nokia 5165,1998年
Courtesy http://i1.phonearena.com/showimage.php?m=Phones.Images&f=image&id=7252&v=default


Reference,

[4] Trends in Hardware Architecture for Mobile Devices. (http://www.inf.fu-berlin.de/inst/pubs/tr-b-04-17.abstract.html)
[5] Signaling System 7, SS7. (http://en.wikipedia.org/wiki/Signaling_System_7)
[6] Comparison SS7 Protocol Suite and ISO Protocol Model. (http://www.kenneyjacob.com/2007/06/05/ss7-backbone-of-mobile-networks/)


手机OS成为核心


手机凭借通话和短信这两项基本功能,积累了用户,开拓了市场。但是用户的需求是永无止境的,对于手机制造商来说,紧跟用户需求,拓展手机功能,是机会也是挑战。

1988年第一款数码相机,在日本上市。数码相机的关键是感光芯片。最初的数据相机,使用的是CCD芯片。1990年代初,美国宇航局的科学家Eric Fossum发明了CMOS感光芯片,体积更小,感光效果更好。如果把CMOS感光芯片集成到手机上去,那么手机就可以兼具照相机和摄像机的功能。

但是事情没有那么简单,给手机配上镜头以及CMOS感光芯片只是起步,接下去还有其它问题需要解决。1. 微控制器的处理能力需要加强。2. 操作系统需要增添相应的驱动程序,同时改进任务调度的机制。3. 多媒体播放器,在液晶显示屏上(LCD)显示照片,播放视频,同时协调扬声器同步播放视频的声音。4. 不仅可以在手机本地存储并显示照片和视频,还要支持连网,支持用户上传和下载多媒体文件。

1997年,硅谷工程师Philippe Kahn制成了世界第一台具有摄像功能的手机。与相机手机同时出生的,是他的女儿。Philippe用手机给襁褓中的女儿拍了照片,并转发给2000多名亲友,这是人类历史上,第一次用手机拍摄,并通过移动网络散发的照片[7]。

从此,多媒体成为手机不可或缺的功能。此外,手机还添加了日历,记事本,计算器,音乐播放器等等功能。以及Java VM,以便运行用J2ME编写的程序。还有WAP,用于访问互联网。

第二代手机的使命结束了,取而代之的是第三代手机,也就是所谓功能手机(Feature Phone)。如果说,对于第二代手机而言,DSP是核心,操作系统是配角。那么自从Feature Phone以来,操作系统的功能大大强化了,地位也上升了,由配角熬成了主角。

Feature Phone的OS有多种选择。其中,Symbian长期占据Feature Phone OS市场的半壁江山[8]。曾几何时,Symbian OS叱诧风云,一言九鼎,俨然是手机操作系统领域的霸主。举个例子,从严格意义上来说,Symbian OS是操作系统内核(Kernel)。同一套内核可以支持多种GUI图形界面,当年曾经出现S60,MOAP和UIQ三种GUIs,其中UIQ被索爱(SonyEricsson)热捧。作为手机制造商,索爱是Nokia的竞争对手。坊间传说,Nokia因为恨屋及乌,决定打压UIQ。2008年,Nokia指使Symbian Fundation出面宣布,今后Symbian OS只支持S60一款GUI。被冷落的UIQ别无选择,只好关门大吉[9]。


Figure 6. Mobile OS marketshare recent history [10]
Courtesy http://farm3.static.flickr.com/2568/4153933833_bdd657cde7_o.png

但是近年来,手机操作系统市场急剧动荡。带头造反的是Apple的iPhone OS,第二冲击波来自Google的Android,此外还有Palm的WebOS凑热闹,参见Figure 6。有评论认为,

1. Symbian老矣,很难逃脱日薄西山的命运。

2. iPhone特立独行,走精品路线,成为时尚风向标。

3. Android稳扎稳打,免费开源,走群众路线,将来最有可能成为手机OS的主流,取代Symbian的盟主地位。

4. WinMobile偏安一隅,虽不大富,却也小康。

5. WebOS喧嚣一时,如昙花一现。

6. RIM的未来在于投靠强人门下。假如自立山头,则前途暗淡。不仅自毙,而且有可能殃及热销中的黑莓手机(BlackBerry)。

Nucleus OS在哪里?这是一个被市场遗忘的角落。


Figure 7. Nucleus OS Functional Modules [11]
Courtesy http://farm3.static.flickr.com/2560/4152533296_eceecd1965_o.gif

是什么原因,使Nucleau OS成为昨日黄花?Figure 7 描述了Nucleus内部的各个功能块。Nucleus本身有不可回避的技术限制,比如没有虚拟内存,而且不分Kernel Space和User Space,系统和应用程序运行在同一个空间中。这对于Feature Phone来说,问题还不是很大,但是对于Smart Phone来说就非常致命了。因为如果应用程序不受限制,那么恶意程序就可以钻空子,获取整个操作系统的控制权,为非作歹。典型的案例就是死机短信,恶意操作致使整个操作系统崩溃。

但是在2000年,MTK借力Nucleus OS,从一家默默无名的IC Design House,发展成为2009年一季度世界第20名芯片销售大户,参见Figure 8。更重要的是,MTK颠覆了传统的手机制造产业链。

MTK最初靠什么发家?技术上有什么优势?商业模式上有什么优势?且听下回分解。


Figure 8. Top 20 Semiconductor Sales Leaders, Q1, 2009 [12]
Courtesy http://farm3.static.flickr.com/2752/4154795958_eda5f2f9d0_o.jpg


Reference,

[7] Philippe Kahn created the first camera phone in 1997. (http://en.wikipedia.org/wiki/Philippe_Kahn)
[8] Mobile OS market share.(http://en.wikipedia.org/wiki/Mobile_operating_system)
[9] UIQ history. (http://en.wikipedia.org/wiki/UIQ, http://en.wikipedia.org/wiki/Symbian_Foundation)
[10] iPhone and Android in two-horse smartphone OS race. (http://arstechnica.com/apple/news/2009/11/admob-iphone-and-android-in-two-horse-smartphone-os-race.ars)
[11] Nucleus OS modules. (http://www.mentorg.co.jp/products/embedded_software/nucleus_rtos/mainColumnParagraphs/2/content_files/file/ill-nucleus.gif)
[12] Chaos reigns in top 20 semiconductor company ranking. (http://www.evertiq.com/news/14176)



手机是怎样生产出来的?


要说清楚MTK在商业模式上有什么优势,以及Android对于MTK未来的手机开发会有什么影响,首先得了解手机从设计,开发到生产的整个过程。

让我们先来看看手机的生产过程。在生产制造环节,山寨手机和正牌手机的区别其实不大。


1. 装配主板

大多数电子设备的制造过程,实际上就是按照设计图纸把各部分部件组合在一起,手机也不例外。手机的主要部件有:1. 硬件主板,目前大部分的手机是单板结构,2. 天线,3. 键盘,4. 显示屏,5. 外壳。其中主板是关键部件。各个手机制造商的技术能力不同,在手机制造产业链中的定位也不同。有实力的厂家会从Gerber文件开始,自己生产PCB板。而不具备PCB生产能力的小厂,可以向其它厂家订购已经生产好的PCB板。Figure 9 是一款MTK出品的PCB板。
 


Figure 9. 一款MTK出品的PCB板 [13]
Courtesy http://farm3.static.flickr.com/2638/4165315089_04cccc5383_o.jpg

有了PCB板以后,就可以着手印刷和贴片。随着技术发展,老式的过孔型的PCB板已经几乎绝迹,现代PCB板大部分采用表面贴装技术。贴装工序分三步。

1. 把PCB板送入印刷机,印刷机把焊锡(Solder Paste)通过模板印刷在需要焊接的部位,参见Figure 10。

2. 把印刷好焊锡的PCB板送入贴片机,贴片机把元器件贴装在PCB板上,Figure 11。小的元器件是装在大盘上,大一些的从塑料管中送进贴片机的,Figure 12。

3. 把贴好的板子送入回流焊机,经预热,加热后,元器件就焊装在PCB板上了。Figure 13显示的是焊接好的主板。


Figure 10. 印刷机把焊锡通过模板印刷在PCB板需要焊接的部位 [13]
Courtesy http://farm3.static.flickr.com/2642/4166073144_858c9b9df6_o.jpg
 

Figure 11. 贴片机把元器件贴装在PCB板 [13]
Courtesy http://farm3.static.flickr.com/2738/4166074266_048dae75b2_o.jpg
 

Figure 12. 贴片机近景,小的元器件装在大盘上,大一些的从塑料管中送入贴片机 [13]
Courtesy http://farm3.static.flickr.com/2661/4169062298_565433bd94_o.jpg
 

Figure 13. 焊接好的手机主板 [13]
Courtesy http://farm3.static.flickr.com/2660/4166077558_91bc66bf8e_o.jpg


制造过程强调质量控制,质量控制体现在多个环节。

1. 生产线上配备多种自动设备,检测各个工序是否工作正常。Figure 14 显示的是手机生产线上的一个产品质量显示器。

2. 焊接好的手机主板被送入测试台,测试台给手机主板加电测试,Figure 15。

3. 如果各项指标合格,就可以进入下一工序,安装系统软件。没通过的就需要手工检验和修复,Figure 16。举个例子,有的IC是正方形的,贴的时候有可能被转了90度。
 

Figure 14. 手机生产线上的一个产品质量显示器 [13]
Courtesy http://farm3.static.flickr.com/2670/4165330751_b326843496_o.jpg
 

Figure 15. 测试台给手机主板加电测试 [13]
Courtesy http://farm3.static.flickr.com/2562/4165321507_de2b35349f_o.jpg
 

Figure 16. 手工检验和修复 [13]
Courtesy http://farm3.static.flickr.com/2572/4166083106_e63709dcb5_o.jpg


2. 烧录系统软件

硬件制造结束并检验合格后,下一步是烧录手机系统软件。手机系统软件是以Flash Image的形式,存放在工作站里面。把手机主板,通过串口或者USB口,与工作站相连。然后启动工作站里的安装程序,把系统软件烧到手机主板上的闪存里,Figure 17。一台工作站可以同时烧录几十台手机裸板。


Figure 17. 手机系统软件安装工作台 [15]
Courtesy http://farm3.static.flickr.com/2543/4168191161_f66d9740ce_o.jpg


3. 装配外围设备

有一些部件,是无法使用回流焊机这样的自动设备,需要手工处理。Figure 18 显示的是在主板上手工焊接手机话筒。有些零部件不需要焊接,手工装配,或者拧螺丝即可。Figure 19,装配无须焊接和螺丝的手机部件。Figure 20,装外壳。Figure 21,手工贴手机编码串号。
 

Figure 18. 手工焊接手机话筒 [14]
Courtesy http://farm3.static.flickr.com/2640/4168962000_7b8b2cf9a0_o.jpg
 

Figure 19. 手工装配无须焊接和螺丝的手机部件 [14]
Courtesy http://farm3.static.flickr.com/2544/4168985040_f7f4ddb504_o.jpg
 

Figure 20. 手工装配手机外壳 [14]
Courtesy http://farm3.static.flickr.com/2517/4168217589_ac6c4594de_o.jpg
 

Figure 21. 手工贴手机编码串号 [14]
Courtesy http://farm3.static.flickr.com/2546/4168228041_ab02af61db_o.jpg

4. 校准和检测

手机组装结束以后,还需要检测辐射量,发射功率,待机时间等等,另外还有一些部件校准,例如天线。Figure 22 估计是在校准天线。Figure 23 在测试声音。大厂会用更专业的检测仪器,Figure 24.
 

Figure 22. 可能是在校准天线 [14]
Courtesy http://farm3.static.flickr.com/2606/4168243487_9b4b9841db_o.jpg
 

Figure 23. 测试声音 [14]
Courtesy http://farm3.static.flickr.com/2785/4169007364_43fdd90aee_o.jpg



 
Figure 24 更专业的检测仪器 [16]
Courtesy http://farm3.static.flickr.com/2623/4170586975_4bbbe14b62_o.jpg, http://farm3.static.flickr.com/2577/4171352084_c49427bdbb_o.jpg, http://farm3.static.flickr.com/2560/4171357448_f740bf3a91_o.jpg


5. 打包出厂

前叙工序都完成以后,就可以打包出货了,Figure 25。


Figure 25. 打包准备出厂的山寨机 [14]
Courtesy http://farm3.static.flickr.com/2702/4168249409_348a63a654_o.jpg

由此,我们可以明白手机的生产过程和其它所有电子设备的生产几乎相同。能不能生产手机,一方面离不开必要的资金,去购置生产设备和培训员工。另一方面,需要得到软硬件的设计方案。而后者可能更重要。软硬件的设计包括以下内容。

1. 主板设计,或者Gerber文件,或者PCB板。

2. 系统软件。

3. 需要组装的全部元器件的清单(BOM List)。

4. 配套的外壳。

1. 2.属于设计,3. 4. 属于采购。一旦得到了软硬件的设计方案,以及BOM List,就可以从市场上采购,备料,然后就可以开始制造了。问题是,谁提供软硬件的设计方案以及BOM List呢?


Reference,

[13] 山寨手机制造大揭秘。(http://news.xinhuanet.com/it/2009-02/02/content_10749450.htm
[14] 山寨新闻调查。(http://laiba.tianya.cn/laiba/CommMsgs?cmm=34721&tid=2645440990215816570&ref=commmsgs-paging&na=3&nst=501&pno=11&cpno=9&nid=34721-2645440990215816570-2655961375168415098
[15] 友利通手机高层领导访谈记实。(http://www.unitone.com.cn/newsshow.asp?id=76
[16] Metrico for mobile device performance assessment。(http://www.metricowireless.com/services/index.php