论山寨手机与 Android【12】3G 时代的 SmartPhone BP 部分软件系统
最成熟的 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]。
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),以便传输数据实体,这是用户层面的工作。
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)协议,负责对无线资源的分配进行控制,并发送有关控制信令。
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 中最右侧垂直黄色方框所示。
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)