# 论山寨手机与Android 【12】3G时代的SmartPhone BP部分软件系统

- 作者：邓侃
- 发布时间：2010-03-12 15:04
- 分类：公司
- 原文：https://www.ifanr.com/18811

最成熟的3G网络系统，是3GPP项目组制订的WCDMA。WCDMA的网络结构，可参考Figure 12.1，其中有几个特点。

1\. 反向兼容GSM/GRPS网络。

原有GSM网络的基站子系统（BSS）保持不变，并且可以通过原有A协议栈和Gb协议栈，与改造后的核心网（Core Network）互联互通。

2\. 核心网保持了原有GSM/GRPS/EDGE网络的HLR，AUC，EIR，VLR，MSC，SGSN，GGSN等等网络结构。

主要变化是把原有的MSC，分拆为MSC（Mobile Switching Center）和MGW（Media Gateway）。分拆后的MSC，仍然负责建立通话双方的电路连接，并且在通话双方在移动过程中，不断切换基站时，维持语音的连续。但是把WCDMA网络把电路切换的任务，交给MGW专司负责，既提高了系统运行效率，又便于系统的维护\[1, pp134\]。

3\. 增设小区服务广播功能。

小区服务广播中心（Cell Broadcast Center）负责对小区内手机广播各种消息，例如天气，股票，实时交通信息等等。

4\. GSM网络原有的基站子系统（BSS）在UMTS/WCDMA系统中，不再被沿用，取而代之的是UMTS陆基无线接入网（UTRAN，UMTS Terrestrial Radio Access Network）。

UTRAN中，基站Node B负责与手机的无线联系，职能类似于GSM BSS子系统中的BTS。而UTRAN中的RNC（Radio Network Controller）的职能，与GSM网络中基站子系统（BSS）中的基站控制器（BSC）的职能很相似。但是由于GSM的多址接入方式是时分多址 （TDMA），而UMTS/WCDMA的多址接入方式是码分多址（CDMA），导致基站与基站监管所使用的技术也极为不同。因此，原有GSM的BTS和 BSC，很难在WCDMA中沿用，只好另起炉灶，用Node B和RNC来替换它们\[1, pp198\]。

![](http://docs.google.com/File?id=drfcsw8_636fc5tpzd2_b)

Figure 12.1 3G/UMTS/WCDMA Release 4 Network Architecture \[1\].   
Courtesy http://farm3.static.flickr.com/2708/4403166623\_f6c7790b77\_b.jpg

在 UMTS/WCDMA网络规范中，不仅有Node B，RNC，MSC，MGW，SGSN，GGSN，和CBC等等网络构件，而且还有Uu，Iub，Iur，Iu-CS，Iu-PS，和Iu-BC等等协议栈。所谓协议栈，是网络构件之间传输信息时，使用的一系列协议，它们层层叠叠，堆砌成一个栈结构，所以叫协议栈（Protocol Stack），如Figure 12.2所示。

1\. Uu协议栈负责在手机与基站Node B之间，通过无线方式传输信息。所以，Uu无线协议栈直接关系到智能手机BP部分的技术实现。

2\. UTRAN中基站Node B，与无线网络控制器（RNC），合称为无线网络系统（RNS）。它们之间的协议栈分别是Iub和Iur，在Figure 12.2中，没有详细列出Iub和Iur，而是把Node B与RNC合并成RNS，重点描述RNS与外界，也就是手机与核心网之间的协议栈。

3\. RNC在处理语音业务时，使用Iu-CS协议栈。但是Iu-CS的用法，有控制层面（Control Plane）与用户层面（User Plane）之分。

在建立联系通话双方的电路时，RNC使用Iu-CS的控制层面（Iu-CS Control），与MSC联系。电路接通以后，在传输通话双方的语音信号的过程中，RNC使用Iu-CS的用户层面（Iu-CS Bearer），与MGW联系，参见Figure 12.1。

4\. RNC在处理数据业务时，使用Iu-PS协议栈，并且永远只与SGSN联系。但是联系方式也分控制层面与用户层面。Figure 12.2描述了在处理数据业务的过程中，传输信令和数据实体的各个协议栈。

虽然同属于Iu-PS协议栈，但是对于控制层面和用户层面，不同的层面使用的具体协议并不相同。Figure 12.2上半部分描述了控制层面的协议栈，负责建立数据通道，而Figure 12.2下半部分描述了用户层面协议栈，负责传输数据实体。

5\. 智能手机的BP部分，需要实现Uu协议栈的左侧框图中，所包含的所有协议。

以数据业务为例，智能手机BP部分，既要实现Figure 12.2中上半部分的最左侧的框图中，所描绘的与手机（UE）相关的种种协议，也就是RF-MAC-RLC-RRC-GMM/SM/SMS各个模块所涉及的种种协议，以便完成建立数据通道的任务，这是控制层面的工作。同时也要实现Figure 12.2中下半部分的最左侧的框图中，所描绘的与手机（UE）相关的种种协议，也就是RF-MAC-RLC-PDCP-IP/PPP所涉及的种种协议，以及相关应用程序 （Applications），以便传输数据实体，这是用户层面的工作。

![](http://docs.google.com/File?id=drfcsw8_633d36b6rg2_b)

Figure 12.2 UMTS/WCDMA GRPS Protocol Stacks, Release 99.   
\[1, Figure 6.24, pp 237, and Figure 6.25, pp238\]   
Courtesy http://farm3.static.flickr.com/2731/4396349395\_039ccddf6e\_o.png

接下来，我们剖析智能手机的BP部分，在建立数据传输通道时，控制层面需要处理的工作，以及传输数据实体时，用户层面需要处理的工作。也就是 Figure 12.2图中，上半部分最左边的框图中，与手机（UE）相关的，RF-MAC-RLC-RRC-GMM/SM/SMS，这五个模块所涉及的协议和彼此互动。此外还包括，下半部分最左边的框图中，与手机（UE）相关的，RF-MAC-RLC-PDCP-IP/PPP-Application，这六个模块所 涉及的协议和彼此互动。

Figure 12.3描绘了这些模块中包含的部分协议，以及相互关系\[2,3\]。

1\. 各个模块可以被垂直地划分为若干层（Layer），每个模块只与上下层的对应模块发生联系，但是不与同层的其它模块联系。

自下而上，分别是物理层RF/PHY（Layer 1），链路层（Layer 2），包括MAC/RLC/PDCP/BMC各模块，和网络层（Layer 3），包括RRC及Network Control/AMR Voice/CS Data/PS Data各模块。

同时，自下而上整个系统又被分为接入层（Access Stratum，AS）与非接入层（Non-Access Stratum，NAS）。非接入层的模块负责与核心网联系，例如网络控制模块（Network Control），它负责电话呼叫和来电接通（Call Control，CC），在手机切换基站时，保持通话连续（Mobility Management，MM），和保证数据包的正常传输（GPRS Mobility Management，GMM）等等。

接入层的模块负责无线网络系统（RNS）内部的局部联系，包括手机（UE）与基站（Node B），基站与基站之间，基站与基站控制器（RNC）的局部联系。此外，也包括基站控制器（RNC）与核心网之间Iu-CS/Iu-PS/Iu-BC协议栈 所涉及的联系。接入层为非接入层提供基础服务\[4\]。

2\. 协议栈分成控制层面（Control Plane）与用户层面（User Plane）。

Figure 12.2分成上下两部分，上半部分描述控制层面，下半部分描述用户层面。而Figure 12.3把控制层面摆放在图左侧，把用户层面放在图右侧。

以非接入层为例，控制层面包括网络控制（Network Control），负责通话控制（CC），移动通话管理（MM），和数据包管理（GMM）。而用户层面负责语音和数据包实体的传输，相应地有三个功能模块，分别是负责电路交换数据传输的模块（Circuit Switched Data，CS Data），包交换数据传输模块（Packet Switched Data，PS Data），和负责语音传递的自适应多速语音编码器（AMR Voice）。

3\. 无线接口与通道（Channel）   
对于手机（UE）来说，物理层（Layer 1）和链路层（Layer 2）负责如何使用无线频段来传输数据，这两层协议的数据编码方式被称为通道\[5\]，包括以下三类，   
1\. Physical Channel（RF），DPCH,P-CCPCH,PRACH, S-CCPCH,AICH, PICH。   
2\. Transport Channel（PHY-MAC，定义数据的传输方式）, DCH, PCH, BCH,RACH,FACH。   
3\. Logical Channel（MAC-RLC，定义传输数据的类型）, DCCH,CCCH,BCCCH,DTCH。

网络层（Layer 3）的内容，主要是无线资源控制（RRC）协议，负责对无线资源的分配进行控制，并发送有关控制信令。

![](http://docs.google.com/File?id=drfcsw8_634f5np7wgh_b)

Figure 12.3 UMTS/WCDMA Uu Protocol Stacks and its internal interaction \[2\].   
Courtesy http://farm5.static.flickr.com/4066/4397161512\_e634f2f8dd\_o.png

理 解了Uu协议栈包含的各个协议，如Figure 12.2所示，以及它们之间的相互作用，如Figure 12.3所示，就不难理解智能手机BP部分的系统架构。Figure 12.4是一款智能手机的BP部分的系统架构图，这款手机应用于4G LTE网络，由英国4M Wireless Ltd公司出品。但是这个BP部分的系统架构，与3G手机的BP部分，在结构上基本相似。

虽然结构相似，但是对应于不同的移动网络，例如WCDMA和TD-SCDMA，每个模块的实现细节不完全相同，导致相应的硬件也可能不能通用。这就是所谓“双模双待”手机存在的意义。

具体来说，由于3G数据传输速度达到2M到7.5Mb/s（HSPA），实时性要求远远高于2G，所以3G的BP 部分通常使用多个DSP硬件等等专用处理器，来处理协议数据的编码解码，而不采用软件的办法。使用硬件固然保证了速度，但是对于不同的通信协议，例如2G 的GSM/GRPS，与3G的WCDMA/HSPA，需要有不同的硬件配合。

不同国家和地区也使用不同的频段，RF部分也就不同。2G手 机只要支持GSM /GPRS/EDGE 850/1900 和900/1800就可以号称世界手机（除日本和韩国外）。而3G的世界手机，一般需要支持2G所有的协议和频段，外加3G的2100/850 /1900（覆盖日本和韩国）。对比MTK功能手机，这些前辈手机大部分是只支持2个频段的GSM/GPRS，3G手机的BP部分要复杂得多。如果把MTK的BP复杂度类比成8086，3G手机BP的复杂度也许就相当于Core2 Duo。

所有这一切都导致3G智能手机的BP部分的开发难度很大。在2G时代，TI+Nokia的无敌组合，一度占据了大部分市场份额，成为市场霸 主。但是由于MTK的崛起，以及3G芯片出货的延迟，使得TI逐渐失去基带芯片的市场优势。至于其它2G时代的基带芯片制造商，NXP被收购后苟延残 喘，Broadcomm试图用低价来争夺市场，但几乎无功而返。Marvell的Tavor虽然赢得RIM的订单，但是后继乏力。现在只有Qualcomm纵横捭阖，用AP+BP的SoC芯片，牢牢占据了3G单芯片市场。同时，Qualcomm用低端3G BP芯片，与英飞凌争夺BP专用芯片市场。

由 于BP部分负责处理通话，实时性要求很高，所以BP部分使用的操作系统必须是实时操作系统（RTOS），例如VxWorks，Nucleus，和 ThreadX等等。实时操作系统负责各个Layer的所有功能模块的任务调度，如Figure 12.4中最右侧垂直黄色方框所示。

![](http://docs.google.com/File?id=drfcsw8_635ffw3jzdh_b)

Figure 12.4 3G SmartPhone BP architecture \[6\].   
Courtesy http://farm3.static.flickr.com/2749/4397161506\_bd52c7cec9\_o.png

总结一下，智能手机的BP部分实际上就是一个Modem。它与功能手机的区别仅仅在于，除了SIM/USIM这个外设被保留以外，其它的外设和人机接口统统被去掉，取而代之以AP端的控制接口，类似于MTK系统中的RMI，参考本系列第7章，MTK手机软件系统。

智能手机BP部分，分为垂直分布的多个Layers，对应不同的网络传输协议。同时又被水平分割为控制和用户两个planes，分别负责管理信息通道，以及负责传递信息实体。

智能手机BP部分拥有独立的实时操作系统，为各个Layer各个Plane所包含的所有功能模块，提供任务调度，CPU和内存管理等等最基本的操作系统内核服务。

智能手机的BP部分结构相当复杂，对应于不同类型的网络，不同地域的频段分割，软件和硬件都难以通用。

Reference,

\[1\] 3G Wireless Network, 2′nd Edition. ISBN-13: 978-0-07-226344-2.   
\[2\] WCDMA Radio Access Network Concepts.   
(http://wireless.agilent.com/rfcomms/refdocs/wcdma/wcdma\_gen\_bse\_concepts.php)   
\[3\] Wireless Protocols.   
(http://www.ccpu.com/trillium-protocol-software-products/all-protocols-list/)   
\[4\] WCDMA Radio Access Network Architecture.   
(http://www.comlab.hut.fi/opetus/238/lecture5Lansisalmi001103.pdf)   
\[5\] WCDMA Physical, Transport and Logical Channels.   
(http://www.networkdictionary.com/Wireless/UMTS-WCDMA-Logical.php)   
\[6\] BP Architecture by 4M Wireless Ltd.   
(http://www.3g.co.uk/PR/Oct2008/3G\_LTE\_UE\_Protocol\_Stack\_Verification\_3G.htm)
