APP下载

基于和谐模式的数字集群二层协议栈的实现

2012-05-04刘叶红徐海川鄢楚平

计算机工程与设计 2012年6期
关键词:子层信令链路

刘叶红,马 越,徐海川,鄢楚平

(华北计算技术研究所,北京100083)

0 引 言

数字集群通信系统是一种共享资源、分担费用、共用无线信道设备及服务的高级专用移动调度通信系统。数字集群通信系统采用了数字信令方式、语音数字编码和数字调制解调等关键技术,因此,还具有频谱利用率高、抗信号衰落能力强、保密性好以及业务多样化等特点。

随着数字集群通信技术的发展,国内外先后为集群通信系统推出了各种空中接口协议标准。目前,主要的标准有TETRA、iDEN、DMR。国外的TETRA与iDEN系统都基于TDMA技术,国内的GT800与GoTa系统则结合了TDMA和公众移动通信网技术。TETRA系统采用的是基于小区制的数字集群通信系统,要实现远距离通信和大区域覆盖,就需要建设数量更多的基站,导致投资巨大,无法满足部分行业用户构建专网的需要;而GT800和GoTa系统是基于公网而扩展的数字集群业务系统,在呼叫接续时间、终端直通等指标和功能上无法满足应急指挥调度用户的应用需求。因此迫切需要一种既采用TDMA技术体制,又能满足大区域覆盖,且呼叫接续时间短的数字集群通信系统。

在协议栈的开发方面,过去的分析和设计方法存在的问题主要有:

(1)分析设计没有一个统一的标准;

(2)分析设计方法不统一;

(3)从设计到实现没有一个统一的工程化方法,使得产品形成过程中的人为因素影响十分严重;

(4)设计成果难以被类似的开发项目或产品重用。

针对以上的不足,本文所采用的和谐设计模式借助UML语言的优势,为协议栈的开发提供了清晰的结构流程以及可复用的软件模块,从而提高了开发效率和可维护性。

本文所选用的开发工具Rhapsody软件是一种遵循UML和SysML标准的模型驱动的设计工具,对和谐设计进行了专门的配置与优化,非常适用于嵌入式软件的开发。

1 空中接口协议栈的总体架构

数字集群通信系统空中接口协议栈的设计采用了OSI七层模型的分层思想,图1示出了数字集群空中接口协议栈的模型。第一层为物理层,由定时结构、无线电射频信道等组成;第二层为数据链路层,可分为媒体接入控制(MAC)子层和逻辑链路控制(LLC)子层。其中,MAC子层又分为上 MAC(UMAC)子层和下 MAC(LMAC)子层;第三层为网络层,其中,较低子层称为移动链路实体(MLE),主要负责上下层之间的传输工作;较高子层包括移动性管理(MM)、电路控制实体(CMCE)以及子网络独立汇聚协议(SNDCP)3部分。

图1 数字集群通信系统空中接口协议栈模型

本文的研究重点是协议栈的第二层,即数据链路层。在数据链路层中,LLC子层负责处理多条逻辑链路,以支持多个并发的业务,并负责信息的差错控制、分段和重组、数据确认的传输、流量控制以及重传等。MAC子层主要解决如何进行数据处理以适应无线信道传输。其中,UMAC子层负责消息的分片联合、信道复用、随机接入、帧同步、功率控制等。LMAC子层主要实现信道编码和交织,与物理层关系较大,因此在本文中不做研究。

此外,该模型的一个重要特点就是根据所传输信息的类型,将MAC层以上划分为处理控制信息及分组业务的控制面(C面)和处理电路交换的话音及用户数据业务的用户面(U面)。

(1)对应C面部分,LLC子层使用TLA_SAP、TLB_SAP和TLC_SAP这3个业务接入点为移动链路实体(MLE)提供服务。其中,TLA_SAP用来传送信令信息,TLB_SAP用来传送系统广播信息,TLC_SAP用来传送本地层管理信息。而LLC子层与UMAC子层之间使用TMA_SAP、TMB_SAP以及TMC_SAP这3个业务接入点进行通信,分别对应TLA_SAP、TLB_SAP和TLC_SAP,用来传送信令、广播以及层管理信息。

(2)对应U面部分,UMAC子层使用TMD_SAP传输电路模式的业务,从图1中可以看出,电路模式中没有LLC实体。此外,UMAC子层和LMAC子层之间通过TMV_SAP业务接入点进行通信。

2 空中接口协议栈的和谐设计过程

和谐设计与开发方法是一种由模型驱动的过程。在该过程中,模型是核心的工作产品,过程的阶段都由特定类型的模型支撑。

和谐设计过程主要分为需求分析、功能分析和设计综合等3个过程。

(1)需求分析过程:首先,将用户需求导入,转换为所需要的系统功能,并且将已经识别的系统需求连接到相应的用户需求;然后,定义系统用例,并将系统用例与系统需求相映射。因此,支撑需求分析阶段的模型主要有需求模型和系统用例模型,但这些模型是不能执行的。

(2)功能分析过程:首先,创建用例与参与者之间的关系、用例场景以及对外端口和接口;然后,通过活动图、顺序图或状态图来定义需求分析阶段生成的用例的行为。其中,最重要的图是状态图,它集合了黑盒顺序图及黑盒活动图的信息,并且可以通过运行模型来验证;最后,通过模型执行来验证模型及所承载的需求。

(3)设计综合过程:主要有架构分析、架构设计和详细架构设计3个过程。架构分析阶段的重点是以合理的方式去确定实现特殊功能的最佳方法;架构设计阶段的重点是将系统层的业务功能分配给架构元素;详细架构设计阶段的重点是最终子系统端口和接口以及每个子系统的基于状态的行为的定义。

本文通过以上3个设计过程,对数字集群空中接口协议栈整个系统进行了设计,并将得到的设计成果移交给后续的开发过程,以此规范了协议栈各部分的开发。设计成果可以保证协议栈各层之间的交互遵循一个统一的标准,从而提高了开发效率和可维护性,其内容包括系统需求、系统结构及协议栈各层之间的逻辑接口、至各层的外部激励、各层的模型、属性、方法、端口、接口、活动图、状态图以及用例场景等。本文将依照上述移交的设计成果,使用基于和谐设计和开发思想的Rhapsody开发平台,对二层协议栈进行具体的设计与实现。

3 二层协议栈的设计与实现

3.1 协议概述

3.1.1 LLC子层协议概述

LLC子层提供两种具有不同业务质量的链路:基本链路和高级链路。当移动台和基站取得同步后就存在可用的基本链路,它主要用于一般信令消息的传送。高级链路需要请求才能建立,它对于大量数据传输具有更高的效率。

高级链路和基本链路类似的功能主要有逻辑链路维护、差错检测、重传、接收数据确认、数据发送顺序设定等。除以上功能之外,高级链路还具有一些基本链路不具备的功能,如分段和重装、窗口机制、流量控制。

3.1.2 UMAC子层协议概述

UMAC子层主要实现消息的接入控制、分片、重组、信道复用及解复用等功能。在上行链路,MS可以采取随机接入或保留接入的方式接入信道,但初始接入必须使用随机接入的方式。随机接入是基于Slotted ALOHA协议的,所以,为了保证较高的成功率,必须选择适当的接入参数。当上层发送的信令超过一个物理时隙所能承载的长度时,可以使用分片技术通过多个时隙按序传输这些分片信令。与分片对应的是信令重组技术,当接收方接收到分片信令之后,将缓存分片直到收齐所有分片,然后进行重组并将完整的信令交付给上层。信道复用是指在上行方向,UMAC按时隙将数据传输到LMAC,在同一个时隙内,若干逻辑信道按一定的准则进行复用并形成发送突发。信道解复用是指在下行方向,LMAC把接收到的时隙上若干逻辑信道按一定的准则解复用,形成协议包递交到UMAC。

3.2 结构设计

在和谐设计阶段,得到了数据链路层两子层的模型,以及子层之间以及与上下层之间的公共接口。在结构设计阶段,按照功能对生成的二层协议栈的模型进一步划分,此外,还定义了各子层模块之间的内部接口。

LLC层的内部结构如图2所示,主要包括逻辑链路管理(Logic_Link_Management)模块、基本链路(Basic_Link)模块、确认的高级链路(Acknowledged_Advanced_Link)模块、不确认的高级链路(Unacknowledged_Advanced_Link)模块和格式管理(Formatter_Management)模块。

图2 LLC子层结构

(1)逻辑链路管理模块主要负责逻辑链路的建立、管理和拆除,并且转发上下层的信令消息及用户数据。

(2)基本链路模块按实现的业务不同,可分为基本链路确认(Basic_Link_Acknowledged)模块和基本链路不确认(Basic_Link_Unacknowledged)模块,分别实现确认消息的传输和不确认消息的传输。

(3)确认的高级链路模块和不确认的高级链路模块分别实现高级链路的确认消息的传输和不确认消息的传输。

(4)格式管理模块FM主要实现PDU的编解码以及转发上下层的原语信息。

UMAC子层按功能可以划分为发送模块(TransmitP)和接收模块(ReceiveP)两个模块,分别负责数据的发送和接收,如图3所示。

(1)接收模块用于空中接口下行数据的处理。主要实现帧和复帧的同步、PDU译码、功率控制、信道维护、路径损耗的计算以及节能操作等功能。

图3 UMAC子层结构

(2)发送模块用于空中接口上行数据的处理。主要实现随机接入、保留接入、分片、信道复用、PDU编码以及信道挪用等功能。

此外,URelayP和LRelayP是中继模块,主要负责UMAC子层内部功能模块与上下层实体之间的信令转发,引入这两个模块是为了保证每个端口和模块的一一对应,为工程实现所需要,无协议功能。

3.3 PDU和原语设计

为了实现各个模块间的信息交互,按照协议规定,定义了各个模块接口之间所需要的PDU和原语。通过设计相应的PDU编解码函数,实现对不同类型PDU的编解码操作。原语用来实现协议栈上下层之间的信息交互,按照协议规定,将原语定义成结构体,其中包含了上下层参数和要传输的数据。

所有的PDU和原语都是通过信号事件的方式进行传输。信号事件代表对象之间传递的一种异步激励信号,可以携带参数,并且和一个响应对象关联。此外,还定义了另一种事件即定时事件,以精确程序的执行时间,此外,也设计了处理相应超时现象的操作。

3.4 状态机设计

Rhapsody支持UML状态机,包括层次状态分解和嵌套、带参事件、定时事件、完成转移、入口和出口动作等功能,也包含了UML中定义的异步事件处理模型。本文针对LLC子层和UMAC子层提供的业务,分别设计了各个子模块的状态图,利用状态图描述了各个子模块之间以及与上下层之间信息交互的过程。由于UMAC子层状态迁移较少,因此本文不做描述。图4给出了基本链路的状态转移图。

图4 LLC基本链路实体的状态转移

基本链路实体主要有3种状态。IDLE表示空闲状态, 此时没有数据传送。DATA_TX表示数据传输状态。WAIT_FOR_MAC_HANDLE表示发送完数据,停靠在这一个状态以等待MAC的传输报告。WAIT_FOR_MAC_CANCEL表示LLC收到数据取消请求时,但已经将数据发送给MAC,便停靠在这一个状态以等待MAC的传送取消报告。其中,IDLE是默认的初始状态,当没有数据需要传输时,基本链路将一直保持这个状态。如果在IDLE状态下接收到数据发送请求,基本链路转到DATA _TX状态,同时,向MAC子层发送DATA _IN_BUFFER信号,通知MAC子层有数据要传输,并且开始等待MAC子层给予的发送许可。当收到FormatterReady发送许可之后,基本链路把数据发送给MAC子层,同时,进入WAIT_FOR_MAC_HANDLE状态,以等待MAC子层的发送报告。当收到TMA_REPORT_IND回应后,基本链路判断等待队列是否还有数据要发,如果没有,则进入IDLE状态,否则进入DATA_TX状态,继续传输队列中的数据。

4 二层协议栈的实现和测试

4.1 编码和实现

数字集群通信系统空中接口协议栈使用Rational Rhapsody开发和编译,协议开发流程如图5所示。

首先,针对结构设计中划分的各个子模块,设计了模块间各接口上传输的PDU、原语和用于存储和传输信息的参数变量。然后编写了PDU的编解码函数,至此,完成了协议栈的静态设计与实现。接着,使用状态图描述协议交互的过程,实现了协议栈的动态设计。最后,编写测试用例对协议进行功能测试。

图5 协议开发流程

4.2 测 试

在协议实现之后,对协议进行了功能测试。本文采用一致性测试方法,通过给被测系统一个输入激励,然后比较实际输出与预期输出的异同,判定被测系统与协议标准的一致程度。

本文使用Rhapsody提供的测试工具(工具名称),采用状态图和序列图来描述测试用例,对各功能模块和模块间接口进行了测试,检测模块功能是否正确实现。

Rhapsody允许通过执行状态图和顺序图来验证系统的功能和逻辑,能将被测对象的方法调用和状态改变以图形形式表现出来。本文利用这一特点对各功能模块和模块间接口进行了测试,检测模块功能是否正确实现。图6示出了二层协议栈的LLC子层使用基本链路传送信令的执行过程。

图6 LLC子层发送信令的过程

5 结束语

本文论述了基于和谐设计模式下,数字集群二层协议栈的设计和开发流程,并对协议进行了编码实现和一致性测试,结果证明协议流程完全符合数字集群通信系统协议标准。本文所采用的Rhapsody工具是一种支持实时UML的嵌入式系统软件工具,它实现了从系统的分析、设计到代码自动生成的开发过程自动化,为嵌入式软件的开发提供了清晰的设计流程、结构流程以及可复用的软件模块,从而提高了软件的开发效率和可维护性。本文今后将对协议某些重要参数和功能进行进一步研究和优化,如并发业务的处理、系统接入时间等方面。

[1]LI Duoduo,QUAN Jinguo,LIN Xiaokang.The development status of TETRA standard technology [J].Mobile Communications,2006,30(4):31-34(in Chinese).[李多多,权进国,林孝康.TETRA标准技术发展现状 [J].移动通信,2006,30(4):31-34.]

[2]ZHENG Zuhui,LU Jinhua,ZHENG Lan.Digital trunking mobile communication system [M].2nd ed.Beijing:Electronics Industry Press,2005(in Chinese).[郑祖辉,陆锦华,郑岚.数字集群移动通信系统 [M].2版.北京:电子工业出版社,2005.]

[3]SUN xin,LI Hai.The analysis of TETRA digital trunking air interface protocol stack architecture [J].Mobile Communications,2008,32(3):34-37(in Chinese).[孙 昕, 李 海.TETRA数字集群空中接口协议栈体系结构分析 [J].移动通信,2008,32(3):34-37.]

[4]DONG Chao.The design and implementation of digital trunking terminal protocol stack based on platform of OMAP [D].Chengdu:University of Electronic Science and Technology,2010(in Chinese).[董超.基于OMAP平台的数字集群终端协议栈的设计与实现 [D].成都:电子科技大学,2010.]

[5]LI Yanbo,FENG Zhiyong.Research of Tetra mobile station air interface protocol stack software development [J].Electronic Measurement Technology,2007,30(5):126-128(in Chinese).[李延波,冯志勇.Tetra移动台空中接口协议栈软件开发 [J].电子测量技术,2007,30(5):126-128.]

[6]HE Wenjuan.The analysis and design of Layer2communication protocol on WCDMA mobile terminal [D].Beijing:Posts and Telecommunications University,2005(in Chinese).[和文娟.WCDMA移动终端上Layer2通信协议的分析与设计 [D].北京:北京邮电大学,2005.]

[7]ZUO Yiping.Research and realization of LLC advanced link in TETRA digital trunked base station [D].Beijing:Beijing Jiaotong University,2008(in Chinese).[左一平.TETRA 数字集群基站LLC层高级链路功能的研究与实现 [D].北京:北京交通大学,2008.]

[8]SONG Zhenyu,SUN Xin.The development of TETRA system upper MAC layer protocol stack [J].Mobile Communications,2009,30(12):35-39(in Chinese).[宋政育,孙昕.TETRA数字集群系统上MAC层协议栈的开发 [J].移动通信,2009,30(12):35-39.]

[9]ZHONG Dafan.Researeh and development for uplink channel of upper MAC layer in TETRA digital trunked system [D].Beijing:Beijing Jiaotong University,2008(in Chinese).[仲达帆.TETRA数字集群系统上MAC层上行信道的研究与开发[D].北京:北京交通大学,2008.]

[10]YOU Jiajin.A study on TETRA mobile station MAC protocol[J].Informatization Research,2010,36(1):30-32(in Chinese).[尤佳劲.TETRA系统中 MS侧 MAC层协议研究[J].信息化研究,2010,36(1):30-32.]

[11]WANG Bin,LUO Haibin.ALOHA protocol for resolving channel collision in digital trunking system [J].Communications Technology,2008,41(7):150-152(in Chinese).[王彬,罗海彬.数字集群中信道争用问题的ALOHA协议研究[J].通信技术,2008,41(7):150-152.]

[12]CHEN Xiang,XUE Xiaoping,ZhANG Sidong.Studies on tag anti-collision algorithms [J].Modern Electronics Technique,2006,29(5):13-15(in Chinese).[陈香,薛小平,张思东.标签防冲突算法的研究 [J].现代电子技术,2006,29(5):13-15.]

[13]WANG Hao,WANG Yang,LIN Xiaokang.A simulation model based on signal flow of DLL in the air interface of TETRA protocol [J].Computer Simulation,2007,24(10):131-135(in Chinese).[汪 浩, 汪 洋, 林 孝 康. 一 种 基 于TETRA空中接口DLL信令的仿真模型 [J].计算机仿真,2007,24(10):131-135.]

[14]Che Kui,Cheng Baozhong,Niu Xiaotai,Xing Shutao.Research and application of UML for embedded system development[J].Computer Engineering And Design,2009,30(15):3559-3564(in Chinese).[车葵,程保中,牛晓太,等.UML在嵌入式系统开发中的研究与应用 [J].计算机工程与设计,2009,30(15):3559-3564.]

[15]TS 100 392-2V2.6.1.Terrestrial trunked radio(TETRA)voice plus data(V+D)part 2:Air interface(AI)[S].

猜你喜欢

子层信令链路
天空地一体化网络多中继链路自适应调度技术
SLS字段在七号信令中的运用
移动信令在交通大数据分析中的应用探索
复合材料厚层合板力学性能等效方法研究
基于信令分析的TD-LTE无线网络应用研究
基于数据包分割的多网络链路分流系统及方法
LTE网络信令采集数据的分析及探讨
分离载荷近距协议的数据链路层仿真研究
基于3G的VPDN技术在高速公路备份链路中的应用
高速光纤链路通信HSSL的设计与实现