山寨手机的兴起,离不开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的市场地位?
当然,“有没有意愿”这种问题,只有相关企业的高管才知道答案。我们这里只关注技术方面的可行性,以及利弊分析。
Hardware Engineer是硬件工程师,Software Engineer是软件工程师,那么桌上放着示波器和逻辑分析仪的Software Engineer是什么呢?是Firmware Engineer固件工程师,或者Embedded Engineer嵌入式工程师。最近有幸与一位有过数年市场经验的固件工程师讨论了以上问题,把讨论的内容整理成文,方便大家共同切磋。
【1】MTK亮相的历史背景
如果说1960年代是大型机(Mainframe)的时代,1970年代是小型机(Microcomputer)的时代,那么1980年代无疑是个人电脑(PC)的时代,而1990年代则是互联网的时代。2000年以后呢?或许是移动互联网的时代。
为什么传输模拟信号,会有耗电以及频段容量低的缺点?对比一下数字信号就清楚了。如果把语音转换成数字,就可以采取数据压缩的办法,减少传输语音时占用的带宽。同时由于数字信号容易处理,所以在传输数字语音信号时,可以使用复杂的传输协议与控制,以便在同一频段,同时容纳更多用户相互通话。而对于模拟信号, 很难使用类似的协议与控制。
第二代手机的核心,是数字信号处理器,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]。为了保证信息安全,以及提高系统效率,采取了分离控制流与数据流的做法,也就是说,七号信令系统是一套独立的系统,游离于承载语音数字信号的通话通道之外。
手机操作系统,例如Nucleus RTOS,负责处理如何开机/关机/锁机,屏幕显示,音量控制,响铃与震动等等外围动作。此外,还负责手机各个功能模块的运行调度 (Scheduling),以及不同进程间的数据交换(IPC)。虽然DSP在手机中的地位非常重要,但是DSP仍然接受手机操作系统的控制。
微控制器处理的数据,存放在Flash存储器中。
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/)