论山寨手机与Android 【12】3G时代SmartPhone BP部分

时间:2021-01-20 15:17:44

  最成熟的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]。
论山寨手机与Android 【12】3G时代SmartPhone BP部分

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),以便传输数据实体,这是用户层面的工作。

论山寨手机与Android 【12】3G时代SmartPhone BP部分

论山寨手机与Android 【12】3G时代SmartPhone BP部分
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)协议,负责对无线资源的分配进行控制,并发送有关控制信令。

论山寨手机与Android 【12】3G时代SmartPhone BP部分

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中最右侧垂直黄色方框所示。
论山寨手机与Android 【12】3G时代SmartPhone BP部分

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)