APP下载

TETRA数字集群UMAC层软件设计分析

2012-10-20范林涛

无线电通信技术 2012年2期
关键词:多播信令时隙

李 飞,范林涛

(河北远东哈里斯通信有限公司,河北石家庄 050200)

0 引言

TETRA系统是ETSI为了满足欧洲各国的专业部门对移动通信的需求而设计制订的、采用统一标准的开放性系统,可以提供集群、非集群通讯,支持话音、电路数据、短信息、分组数据等业务的直接模式通信,同时还支持多种附加业务。该系统以其良好的开放性、增强的保密性以及较高的频谱资源利用率,在全球许多国家得到了广泛的应用,近些年,在我国也得到了普遍重视并取得了快速发展。

1 协议栈分析

如图1所示,TETRA数字集群空中接口协议自上而下可以分为网络层、数据链路层和物理层。UMAC层位于逻辑链路控制层(LLC)和下媒体接入控制层(LMAC)之间,3者共同构成了协议栈的数据链路层,完成数据从网络层到物理层的映射。

图1 UMAC在TETRA空中接口协议中的位置

根据标准描述,UMAC层协议的主要功能如下:

①随机接入管理和维护;② 无线信道资源管理;③ 时隙保留和授予;④ 信令组合与分解;⑤ 业务信道挪用;⑥ 逻辑信道复用;⑦ 二层地址管理;⑧功率控制。

2 总体设计

2.1 运行环境设计

UMAC软件的硬件环境选用了数字信号处理(DSP)/高级精简指令处理器(ARM)器件(TI公司OMAP L138),该器件内部包含1个TMS320C674x浮点DSP核心和1个ARM926EJ-S ARM处理器核心。

如图2所示,UMAC运行在ARM平台上,平台操作系统是Linux;LMAC运行在DSP上,DSP和ARM通过DSP-Link技术通信。

图2 UMAC协议软件的软硬件环境

2.2 软件结构设计

如图3所示,将TETRA空中接口协议UMAC层软件进行如下划分。

图3 UMAC层协议栈模块划

程序模块用直角方框表示,模块及模块间存在互相调用关系和共享数据关系;数据块用圆角方框表示,存储了软件所处理的各种数据。UMAC软件各模块功能说明如下:

①控制信令处理模块:负责与LLC层直接交互控制信令,完成控制信令的基本收发功能;

②广播信令处理模块:负责接收处理来自LLC的广播信令,完成广播信令的基本收发功能;

③层管理模块:负责接收来自LLC的时隙配置信令,设定UMAC层各时隙的工作模式;

④媒体处理模块:负责媒体数据的发送处理和接收处理,完成媒体数据的基本收发功能;

⑤接入处理模块:负责处理MS的随机接入请求和时隙授予请求;

⑥用户数据单元(PDU)/业务数据单元(SDU)操作模块:负责下行信令的编码与组合及上行信令的解码与重建,负责生成或者解析处理 UMAC层PDU;

⑦信道挪用模块:负责接收和发送采用挪用业务信道资源方式传送的控制信令;

⑧MAC块创建组装模块:负责逻辑信道与物理信道的映射、下行MAC块的组装工作;

⑨TMV数据发送接收模块:负责与LMAC交互媒体接入控制(MAC)数据块,完成MAC块的基本收发功能。

图中其他方块代表了上述模块需要处理的数据。

3 需要解决的核心问题

按照上述软硬件设计,UMAC软件需要解决如下几个核心问题。

3.1 与LMAC软件通信

根据图2可知,UMAC软件位于ARM处理器的Linux操作系统中,LMAC固件位于DSP处理器中,设计要解决UMAC和LMAC的通信问题。

LMAC固件负责按照时隙定时进行空中接口数据的接收与发送。空中接口的定时操作非常严格,每个时隙长度为14.167 ms。UMAC需要在每个时隙组装好的MAC块发送到LMAC,Linux系统软件定时器无法实现如此高精度的定时,所以,需要LMAC固件来为UMAC软件提供时钟同步,设计同时需要解决这一问题。

3.2 媒体数据传输方式

TETRA提供的最典型的业务是组呼与个呼,而UMAC负责将这些组呼和个呼的媒体数据发送到各个目标基站及录音服务器。因此,如何将媒体数据分发到多个目的地址和如何同时从多个源地址接收数据并区分出数据所属不同的信道是UMAC软件需要解决的一个重要问题。

3.3 MAC块的组装

空中接口无线资源极其珍贵,每个时隙传输的数据量极为有限,每个时隙传输信令的最大长度仅为268 bit。有效地使用无线资源要求UMAC层软件高效地将各种数据组装进MAC块,这是UMAC软件需要解决的第3个问题。

4 关键技术

为解决上述UMAC软件的核心问题,提出如下解决方案。

4.1 DSPLINK 技术

DSPLINK是 TI基于 DAVICI架构处理器的ARM与DSP通信机制。DSPLlNK提供了一套通用的API,从应用层抽象出ARM与DSP的物理连接特性,从而降低用户开发程序的复杂度。DSPLink提供了包括PROC、CHNL、MSGQ、POOL和 NOTIFY 等多种通信机制。

如图4所示,LMAC底层靠硬件电路提供时隙定时和超帧复位定时,UMAC层无需启动软件定时,而是通过DSPLINK的NOTIFY通信机制实现与LMAC的同步,软件定义了2个NOTIFY信号,分别为读指示信号和写指示信号。

图4 UMAC和LMAC的通信机制

由于ARM与DSP核位于同一芯片上,2个内核共用1片存储芯片,除了NOTIFY机制之外,UMA和LMAC可以直接使用共享内存通信,采用这种方式降低了系统设计的复杂度。

LMAC向UMAC发送数据时,首先将数据写入共享内存,然后通过读指示通知UMAC读数据,在指示消息中携带超帧号、复帧号、帧号和时隙号以保证UMAC和LMAC时隙同步。UMAC收到读指示之后,从共享内存读取进行数据。

同样,当LMAC从共享内存中读走一个时隙的数据之后,通过写指示消息通知LMAC写数据,在指示消息中携带超帧号、复帧号、帧号和时隙号以保证UMAC和LMAC时隙同步。UMAC收到写指示之后,将自己组织好的相应时隙的MAC块写入共享内存。

4.2 多播技术

整个TETRA系统中心与各基站及录音服务器采用IP网络架构,基站及录音服务器之间使用多播技术进行媒体数据的发送及接收。某个MS发起1个呼叫(组呼、个呼)时,交换中心会为该呼叫分配1个信道编号(C)、多播IP地址(A)、呼叫标签标(F)以及上下行属性(D)。

基站侧的UMAC软件收到携带多播地址的信道分配指令之后按照如下方法处理:

①加入多播地址A以向该多播地址发送数据及从该多播地址接收数据;

②将信道编号(C)、多播地址(A),呼叫标签(F)以及上下行属性(D)加入多播地址--信道ID映射表中;

③UMAC从DSPLINK接口收到的某一个信道的媒体数据,查找映射表中D为上行属性的、C为该信道编号的A值和F值;为媒体数据添加RTP头和F信息,将处理后的数据发送给多播地址A;

④UMAC从IP网络收到多播数据之后,分离RTP头及F信息;查找映射表中D为下行属性的、F值相同的C值,表示该数据应该从信道C发送MS。

呼叫结束后,交换中心通知UMAC,UMAC退出多播树,并将映射表中的相关信息删除。

4.3 MAC块创建组装处理

如图5所示,MAC模块在下行方向负责将控制信令原语(TMA)、广播信令原语(TMB)、层管理信令原语(TMC)、媒体数据原语(TMD)接收到的数据及上层PDU、该层PDU组装入下行MAC块,以便通过LMAC原语(TMV)发送到LMAC。

图5 MAC块的组装示意图

每台BS支持4台收发信机,每个收发信机支持4时隙复用。因此每个UMAC协议栈最多支持16个时隙(TS0~TS15)的MAC块构建。UMAC根据当前时隙的信道配置信息,将不同类型的数据组装进当前MAC块,这个过程被称为逻辑信道的复用。UMAC同时将尽可能多的数据装入MAC块,以便充分利用无线资源。

MAC块的组装采取在每个时隙的时间内对每个载波的4个时隙各轮流组装1次的策略。以1个载波为例描述MAC块的创建组装流程。将1个载波的4个时隙标志为:A、B、C、D。在UMAC将A时隙的MAC块发送给LMAC之后,并没有马上开始组装下一帧的A时隙数据,而是采用如下流程:

①检查有无数据需要装入B时隙的MAC块,如果有则装入,由于B时隙数据紧跟即将发送,所以如果B的MAC块尚未装满,需要将该MAC块用空PDU填充,之后生成该时隙的AACH信息,并装入MAC块;② 检查有无数据需要装入C时隙的MAC块,如果有则装入;③ 检查有无数据需要装入D时隙的MAC块,如果有则装入;④由于A时隙的数据已经发送,所以需要重新初始化A时隙的MAC块,然后检查有无数据需要装入A时隙的MAC块,如果有则装入。

这一流程,每个时隙的 MAC块在一帧时间(56.67 ms)之内具有4次组装机会,有利于提高MAC块的利用效率,更重要的是频繁的检查可以将下行的数据尽快装入MAC块,有效缩短了数据在UMAC缓存的时间,提高了UMAC层发送数据的效率。

5 软件测试结果分析

对UMAC层软件的测试,分为3个步骤完成,分别是的软件白盒测试、软件黑盒测试及BS系统集成测试。软件白盒测试,对每个函数编写测试用例,要求达到所有函数语句覆盖、核心处理函数判定/条件覆盖;软件黑盒测试,编写程序模拟上层的LLC协议软件以及下层的LMAC协议软件,通过Socket发送数据驱动UMAC软件的运行,要求为协议栈的每一个功能设计测试用例;集成测试是将BS作为一个整体进行测试。但是需要指出的是,以下几个测试用例证明了上述几个UMAC软件的关键技术是正确的:

①MS开机,通过随机接入向MS发送注册请求,MS注册成功;②某一BS下的MS发起个呼,呼叫建立、通话及释放未出现异常;③ 某一BS下的MS发起组呼并讲话,其他BS下的MS可以听到清晰的话音;④MS连续发起100次呼叫,呼叫接通率100%,呼叫建立时间小于500 ms。

6 结束语

按照该设计方法实现的UMAC软件具有传输延时低、资源利用率高的优点,可以满足协议要求的功能和在基站部署的需要。在国外TETRA设备完全占领中国市场的今天,为国内TETRA技术的发展,起到了极大的推动作用。随着时间的推进,该软件必将跟随基站设备,广泛应用在铁路、民航和公安等多个领域,具有较强的实用性和先进性。

[1]ETSI EN 300392-2Terrestrial Trunked Radio(TETRA)Voice plus Data(V+D).Part 2:Air Interface(AI)[S].

[2]郑祖辉,陆锦华,丁锐,等.数字集群移动通信系统[M].北京:电子工业出版社,2008:372-342.

[3]罗明.基于IP的TETRA系统的研究[D].武汉:武汉大学,2004.

[4]李延波.TETRA空中接口协议栈软件设计与实现[D]. 天津:天津大学,2007.

[5]仲达帆.TETRA数字集群系统上MAC层上行信道的研究与开发[D].北京:北京交通大学,2008.

[6]宋政育,孙昕.TETRA数字集群系统上MAC层协议栈的开发[J].移动通信,2009(12):35-39.

[7]孙昕,李海.TETRA数字集群空中接口协议栈体系结构分析[J].移动通信,2008(3):34-37.

猜你喜欢

多播信令时隙
胖树拓扑中高效实用的定制多播路由算法
用于超大Infiniband网络的负载均衡多播路由
InfiniBand中面向有限多播表条目数的多播路由算法
基于时分多址的网络时隙资源分配研究
SLS字段在七号信令中的运用
移动信令在交通大数据分析中的应用探索
复用段单节点失效造成业务时隙错连处理
网络编码与家族体系下的可靠多播方案
基于信令分析的TD-LTE无线网络应用研究
一种高速通信系统动态时隙分配设计