论山寨手机与Android 【1】MTK亮相的历史背景

Sina WeiboBaiduLinkedInQQGoogle+RedditEvernote分享




山寨手机的兴起,离不开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自有品牌手机,真正的Google手机,Nexus One,于2010年1月正式亮相。
Courtesy http://farm3.static.flickr.com/2708/4148369461_db9417013f_o.jpg

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

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

【1】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,

[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)
[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/)

(11个打分, 平均:4.45 / 5)

雁过留声

“论山寨手机与Android 【1】MTK亮相的历史背景”有7个回复

  1. 陈怀临 于 2010-02-17 9:09 上午

    谢谢小邓。非常好的文章。

  2. Merci 于 2010-02-17 11:01 上午

    等下文!

  3. afeiguo 于 2010-02-20 9:02 下午

    学习了!谢谢

  4. Richard 于 2010-03-13 7:17 下午

    赞!

  5. 天空 于 2011-11-05 7:18 上午

    学习了,感谢分享

  6. 自主中文定义的指令集 于 2011-11-05 12:06 下午

    谢谢LZ。好文章!

  7. 奔跑的小鸟 于 2012-03-03 1:43 上午

    非常好的文章。分析得很有道理。在smartphone,和移动互联网的时代,谁能为先,还未可知。但MTK确实很有方法,来进入和扩宽市场。值得学习与研究。