一种移动通信系统中RLC和MAC层的实现方法与流程

文档序号:12756705阅读:1271来源:国知局
一种移动通信系统中RLC和MAC层的实现方法与流程
本发明属于GMR移动终端设备(简称:MES)实现
技术领域
,涉及一种移动通信系统中RLC和MAC层的实现方法,用于解决GMR移动终端中高层协议RLC/MAC的开发和设计。
背景技术
:静止卫星通信系统中(简称:GMR),空中接口是在现有全球数字移动通信系统(简称:GSM)的基础上发展而来,GMR的空中接口如图1所示。图1就是目前通用空中接口的移动通信协议架构,非接入层(简称:NAS层)主要负责处理核心网相关内容,这个部分和接入网没有直接关系。无线资源控制(简称:RRC)主要负责无线资源的分配、使用、申请、修改,以及接入网的相关移动管理,系统消息解读,例如进行小区更新、GRA更新过程、小区选择和重选。无线链路控制(简称:RLC)主要负责网络和终端之间数据的可靠传输,采用自动重传请求(简称:ARQ)保证数据传输的正确性。媒体接入控制(简称:MAC)主要完成高层数据或信令到物理层的映射,此外MAC层还负责处理分组数据业务的无线资源管理和控制。分组数据汇聚协议(简称:PDCP)主要完成分组业务数据到RLC的处理。在图1中,其中的RLC模块具体完成下面表1的功能:表1:GMR系统中RLC模块的功能其中的MAC层具体完成下面表2的功能:表2:GMR系统中MAC层的功能根据GMR协议的对等层设计原则,终端RLC层和网络侧RLC属于一对协议对等层,终端MAC层和网络侧MAC层属于另外一对协议对等层,根据表1和表2的描述,RLC层和MAC层独立完成不同的功能,RLC和MAC都有自己独立的控制流程。但是GMR标准描述中,RLC层和MAC层将共享一个数据报头,称为RLC/MAC报头。根据欧洲电信联盟推出的静止轨道卫星移动通信系统的RLC/MAC协议(简称:GMR44.160)的描述。RLC层和MAC层共享RLC/MAC报头,其中专用随路逻辑信道(简称:DACCH)上的RLC/MAC报头有4大类,它们分别是DACCH下行链路RLC/MAC数据报头、DACCH下行链路RLC/MAC控制报头、DACCH上行链路RLC/MAC数据报头、DACCH上行链路RLC/MAC控制报头。DACCH逻辑信道主要用于传输信令无线承载(简称:SRB2)数据和MAC层控制消息。表3:DACCH下行链路RLC/MAC数据报头表4:DACCH下行链路RLC/MAC控制报头表5:DACCH上行链路RLC/MAC数据报头表6:DACCH上行链路RLC/MAC控制报头Octet1PayloadType=01PDULength(4-0)EOctet2PDULength(10-5)SpareE在表3、表4、表5和表6中,其中RLC成员字段在RLC/MAC报头中具体物理含义如下:ITR立即终止请求:该比特存在于上行链路报头,当设置该比特时,用于指示MES请求立即终止当前TBF,而无需通过定时器T3201管理的“等待”周期。UD未满足需求:该字段用于指示等待从MES侧发送的RLC块的数目。如果不存在上行TBF,UD应设为“0”。UD的值定义为尚未发送的RLC块的数目加上等待重传的RLC块的数目之和。UD不包括那些已发送了而等待确认的RLC块的数目。FSPB最终分离块:当设置该字段时,表示当前载荷为最初发送的RLC块的最终分离块(FSPB)。当第6字节存在且RLC块没有分离时,FSPB必须设为“1”,SPBN必须设为“00”。SPBN分段块序列号:分段块序列号字段存在于可选的第6字节中,当在一个更优先的MCS方案上发生重传且需要分段以适用新的突发载荷时,使用该序列号。通过使用BSN,SPBN和FSPB,接收端能够重建最初发送的与报头所指示的BSN相关的RLC块。FBI最终块指示字段:最终块指示(FBI)比特指示当前RLC数据块是下行链路TBF的最后一个RLC数据块。RLPS简化:用于指示当前RLC数据块中一个上层PDU分段的最后部分的长度。LPS字段:用于指示存在于RLC数据块中一个上层PDU分段的最后部分的长度。值“0”用于指示新的上层PDU开始于RLC数据块中,即在RLC数据块中不存在任何之前的上层PDU的分段。BSN块序列号字段:在TBF内,块序列号(BSN)字段携带了每个RLC数据块的绝对序列BSN号(以序列号空间SNS为模)(1024)。BSN长度为10比特并且以二进制方式编码,范围是0~1023。根据GMR协议流程,上面给出的RLC/MAC报头字段都是属于RLC层,与RLC的数据传输和控制过程息息相关,需要在RLC/MAC报头中给出。其次,在RLC的自动重传确认(简称:ARQ)中,RLC的确认(简称:ACK)和非确认信息(简称NACK)是在MAC层消息中传输的。例如上行方向MAC层消息GMPRSPacketDownlinkAck/Nack、PacketDownlinkAck/Nack和PacketDCHDownlinkAck/Nack承载了MES的RLC层发送给网络RLC层的ARQ确认信息。在下行方向MAC层消息PacketUplinkAck/Nack、PacketUplinkAck/Nacktype2、PacketDCHUplinkAck/Nack承载了网络RLC层发送给终端MES的RLC层的确认信息。由于这些消息采用CSN.1编码,所以这些MAC层消息的组装和解析由MAC层实现。在具体的MES终端协议软件实现中,由于RLC层和MAC层共享一个RLC/MAC报头,所以在MES终端实现过程中,可以保留原有GMR协议架构,将RLC层和MAC层放在同一个模块中进行实现。但是这样工程设计存在以下问题。第一:RLC层和MAC层隶属于不同的协议层,每层都有自己对应的控制流程,如果将RLC和MAC在同一个模块中实现,同时需要满足RLC层和MAC层各自的控制流程,增加了RLC和MAC层设计的复杂度。第二:RLC层和MAC层在同一个模块中实现,打破了协议软件设计的分层原则,不便于软件模块化设计,不便于进行RLC和MAC层独立开发和测试,同时也增加了后期代码维护以及问题、缺陷的定位难度。鉴于存在上面的问题,本发明提出了一种RLC层和MAC层进行独立设计的方法,给出了具体如何拆分RLC/MAC报头,来满足RLC层和MAC层的协议要求,同时共享RLC/MAC报头的方法。技术实现要素:有鉴于此,本发明的目的在于提供一种移动通信系统中RLC和MAC层的实现方法,具体包括如下技术方案:一种移动通信系统中RLC和MAC层的实现方法,该方法包括以下内容:1)在下行方向:MAC层接收到来自网络的RLC/MAC报头数据,如果该报头数据是控制报头,则MAC层将解析RLC/MAC报头中MAC层消息数据,将解析结果通过层间信号上报给RLC层,在该层间信号中同时包含控制报头中的RLC/MAC报头字段内容;如果该报头数据是数据报头,则MAC层将解析出RLC/MAC报头的数据内容,将数据内容上报给RLC处理,同时上报MAC层解析RLC/MAC报头中的报头字段内容;2)在上行方向:如果MAC层需要发送RLC/MAC控制报头,则MAC层向RLC层请求发送MAC层需要发送的RLC层控制信息,RLC层收到之后,RLC层向发送MAC层ARQ确认信息,并且在接口信号中给出RLC/MAC报头字段的内容;如果MAC层需要发送数据报头,那么MAC层向RLC层指示需要发送RLC数据,RLC层将组装RLC数据到MAC层,同时在该接口信号中给出RLC/MAC报头字段的内容。进一步,在下行方向,在MAC层和RLC层之间,定义了上报DCH数据块原语MAC_DCH_DATA_IND和上报PDCH数据块的原语MAC_PDCH_DATA_IND;其中MAC_DCH_DATA_IND包括T_DownlinkDchBlkHead结构,该结构包含了RLC/MAC层中关于DCH信道上的报头信息;具体是简化的块序列号(简称:reducedBlkSeqNum),简化的最后一块PDU的大小(简称:reducedLastPartSize),简化的无线承载标识(简称:rrbId),和最终块指示(简称:fbi)等成员;其中MAC_PDCH_DATA_IND包括T_DownlinkPdchBlkHead结构,该结构包含了RLC/MAC层中关于PDCH信道上的报头信息;具体是未请求的上行链路允许(简称:uug),块序列号(简称:blkSeqNum),最后一个上层PDU的大小(简称:lastPartSize),最终块指示(简称:fbi),临时流标识符(简称:tfi),信令无线承载标识(简称:srb),分段块序列号(简称:spbn),最终分离块(简称:fspb)等成员。进一步,在下行方向,MAC层和RLC层之间,定义了在DCH上传输的RLC控制信息原语MAC_CTRL_DCH_DATA_IND和在PDCH上传输的RLC控制信息原语MAC_CTRL_PDCH_DATA_IND;其中MAC_CTRL_DCH_DATA_IND原语包含的成员有:最终确认标识(简称:finalAckIndication),开始序列号(简称:startingSequenceNum),序列长度(简称:bitmapLen)和非压缩的比特表(简称:uncompressedBitmap);其中MAC_CTRL_PDCH_DATA_IND原语包含的成员有:最终确认标识(简称:finalAckIndication),开始序列号(简称:startingSequenceNum),是否启用压缩比特表(简称:compressBitmapFlag),序列长度(简称:bitmapLen),非压缩的比特表(简称:uncompressedBitmap),压缩开始位置(简称:compressStartColorCode)和压缩比特表(简称:compressBitmap)。进一步,在上行方向,MAC层和RLC层之间,定义了RLC发送DCH数据块原语MAC_DCH_DATA_REQ和RLC发送PDCH数据块的原语MAC_PDCH_DATA_REQ;其中MAC_DCH_DATA_REQ原语,该原语包含的成员有:RLC发送的数据块(简称:macDchDataBlk),以及RLC/MAC报头需要的信息结构(简称:T_UplinkDchBlkHead),在该结构中包含了:立即终止请求(简称:itr),简化的块序列号(简称:reducedBlkSeqNum),简化的最后一个PDU大小(简称:reducedLastPartSize),简化的无线承载标识(简称:rrbId)以及失速指示(简称:stallInd);其中MAC_PDCH_DATA_REQ原语,该原语包含的成员有:RLC发送的数据块(简称:macPdchDataBlk),以及RLC/MAC报头需要的信息结构(简称:T_UplinkPdchBlkHead),在该结构中包含了:立即终止请求(简称:itr),块序列号(简称:blkSeqNum),最后一个PDU大小(简称:lastPartSize),未满足需求(简称:unsatisfedDemand),失速指示(简称:stallInd),临时流标识符(简称:tfi),信令无线承载标识(简称:srb),分段块序列号(简称:spbn),最终分离块(简称:fspb)。进一步,在上行方向,MAC层和RLC层之间,定义了RLC在DCH上传输的RLC控制信息原语MAC_CTRL_DCH_DATA_REQ和在PDCH上传输的RLC控制信息原语MAC_CTRL_PDCH_DATA_REQ;其中MAC_CTRL_DCH_DATA_REQ原语,该原语包含的成员有:最终确认标识(简称:finalAckIndication),开始序列号(简称:startingSequenceNum),非压缩比特表(简称:uncompressedBitmap);其中MAC_CTRL_PDCH_DATA_REQ原语,该原语包含的成员有:最终确认标识(简称:finalAckIndication),开始序列号(简称:startingSequenceNum),是否启用压缩标志(简称:compressBitmapFlag),非压缩比特表(简称:uncompressedBitmap),压缩比特表(简称:compressBitmap)。进一步,该方法的具体流程如下:S1:终端收到来自网络的DCH数据;MAC层收到来自物理层的RLC/MAC报头,首先解析RLC/MAC报头,如果是DCH数据报头,则MAC层解析出RLC/MAC数据以及RLC/MAC层报头信息,通过MAC_DCH_DATA_IND上报给RLC层;S2:终端收到来自网络的PDCH数据;MAC层收到来自物理层的RLC/MAC报头,首先解析RLC/MAC报头,如果是PDCH数据报头,则MAC层解析出RLC/MAC数据以及RLC/MAC层报头信息,通过MAC_PDCH_DATA_IND上报给RLC层;S3:网络在DCH信道上发送RLC确认信息;MAC层收到来自物理层的RLC/MAC报头,首先解析RLC/MAC报头,如果是DCH控制报头,则MAC层解析出控制数据,并且对控制数据进行解析,将解析的结果通过MAC_CTRL_DCH_DATA_IND上报给RLC层;S4:网络在PDCH信道上发送RLC确认信息;MAC层收到来自物理层的RLC/MAC报头,首先解析RLC/MAC报头,如果是PDCH控制报头,则MAC层解析出控制数据,并且对控制数据进行解析,将解析的结果通过MAC_CTRL_PDCH_DATA_IND上报给RLC层;S5:终端在DCH信道上发送RLC数据包;如果存在DCH无线资源,RLC层将数据块以及发送数据需要的RLC参数,通过MAC_DCH_DATA_REQ发送到MAC层,由MAC层组装成RLC/MAC数据报头之后发送到物理层;S6:终端在PDCH信道上发送RLC数据包;如果存在PDCH无线资源,RLC层将数据块以及发送数据需要的RLC参数,通过MAC_PDCH_DATA_REQ发送到MAC层,由MAC层组装成RLC/MAC数据报头之后发送到物理层;S7:网络请求终端在DCH信道上发送RLC确认信息;如果网络请求终端在DCH信道上发送RLC确认信息,那么RLC层将RLC确认信息通过MAC_CTRL_DCH_REQ发送到MAC层,MAC将RLC确认信息组装成RLC/MAC的DCH控制报头发送到物理层;S8:网络请求终端在PDCH信道上发送RLC确认信息;如果网络请求终端在PDCH信道上发送RLC确认信息,那么RLC层将RLC确认信息通过MAC_CTRL_PDCH_REQ发送到MAC层,MAC将RLC确认信息组装成RLC/MAC的PDCH控制报头发送到物理层。本发明的有益效果在于:本发明对GMR系统的RLC/MAC进行有效的拆分,完成了RLC层和MAC层共享一个RLC/MAC报头的目标,在具体设计实现中,有效进行了RLC和MAC层的功能划分,使得RLC和MAC层各自完成其对等层的协议处理,体现了软件设计的模块化理念,方便了GMR协议的开发,以及后期测试、维护和升级。附图说明为了使本发明的目的、技术方案和有益效果更加清楚,本发明提供如下附图进行说明:图1为移动通信系统中的高层通信协议软件架构图;图2为PDCH或DCH上行数据传输示意图;图3为下行数据的接收过程;图4为对上行数据块的确认处理过程;图5为对下行数据的确认过程。具体实施方式下面将结合附图,对本发明的优选实施例进行详细的描述。为了更加清晰地说明该发明在GMR移动终端产品中的应用,首先举例说明,RLC/MAC模块如何组装上行数据块传输,终端发送上行数据有两种方式,一种是在DCH信道上发送上行数据,另外一种是在PDCH信道上发送上行数据,由于处理流程相似,则在一个流程中进行描述说明。其软件架构如图1所示,具体流程如图2所示。如图所示,上行数据传输包括以下步骤:步骤1:终端在PDCH或DCH信道上发起数据传输过程。首先终端进行随机接入过程,然后网络侧为业务分配PDCH或是DCH的无线资源。具体可以使用立即指配(immediateassignment)消息、无线承载建立(简称:RADIOBEARERSETUP)消息、无线资源重配(简称:RADIOBEARERRECONFIGURATION)消息、或是小区更新证实(简称:CELLUPDATECONFIRM)消息,RRC收到这些无线资源配置消息之后,则将物理信道配置到MAC,由MAC层再配置到物理层,下行物理信道配置完成之后,物理层则在指定物理资源上进行数据解析,并且使用MAC_PHY_PDCH_DATA_IND或者MAC_PHY_DCH_DATA_IND原语,将解析得到的数据周期性上报给MAC层。步骤2:对于DCH信道,在每帧都有上行调度信息,物理信道同步之后,MAC层在每帧DCH信道上都需要发送上行数据块。如果是PDCH信道,则需要在解读下行RLC/MAC数据块时检查上行链路状态标记(简称:USF)确定是否存在上行授权。步骤3、4:如果存在上行DCH或是PDCH调度,MAC层保存调度信息,确定启用上行无线资源块的时间,当无线资源块启用时间到达后,MAC层启动RLC发送数据过程。步骤5:当上行无线资源到达,MAC计算本层控制消息的长度,并且把需要发送的控制消息暂时保存起来,同时计算出发送RLC数据块的长度,该长度为MAC_STATUS_IND原语中的datalen内容。步骤6、7:MAC层发送MAC_STATUS_IND原语给RLC模块,该原语包括信元项datalen,MAC层请求RLC模块本次需要发送RLC数据长度。RLC模块收到之后按要求分割数据,并通过MAC_PDCH_DATA_REQ原语或者MAC_DCH_DATA_REQ原语发送数据到MAC层,在MAC_PDCH_DATA_REQ原语或者MAC_DCH_DATA_REQ原语中,同时包含了MAC层组装RLC/MAC报头需要的RLC信息。步骤8,9:MAC层将先前保存的控制消息和本次收到的RLC数据组装成RLC/MAC块,通过MAC_PHY_PDCH_DATA_REQ或者MAC_PHY_DCH_DATA_REQ发送到物理层。图3为下行数据的接收过程,网络发送下行数据有两种方式,一种是在DCH信道上发送下行数据,另外一种是在PDCH信道上发送下行数据,如图所示,下行数据的接收过程如下:步骤1:终端进行业务过程中,网络在无线资源建立或是重配的时候,分配了DCH或者PDCH信道资源,由于DCH或是PDCH物理资源在时间和频率上是固定周期性出现,所以物理层在收到配置DCH或是PDCH物理信道之后,监听对应的信道上网络传输的数据块。步骤2、3:物理层解析DCH或PDCH物理层信道上的数据,并且通过MAC_PHY_PDCH_DATA_IND或者MAC_PHY_DCH_DATA_IND原语上报给MAC层。MAC层首先解析RLC/MAC报头,其中承载类型(简称:PaylodeType)成员指明了该RLC/MAC报头是控制报头还是数据报头。步骤5:如果承载类型是控制报头,则MAC层对该数据块进行消息解析处理。步骤6、7:如果承载类型是数据报头,则MAC层首先解析RLC/MAC数据报头中的内容,以及RLC/MAC数据报头中的数据,MAC层使用MAC_PDCH_DATA_IND或者MAC_DCH_DATA_IND将解析结果上报给RLC层,由RLC模块进行相应的处理。图4为对上行数据块的确认处理过程,如图所示,该过程包括以下步骤:步骤1:终端进行业务过程中,并且网络在无线资源建立或是重配的时候,分配了DCH或者PDCH信道资源,那么终端将在上行DCH或是PDCH信道上发送上行RLC数据块。步骤2:网络侧收到来自终端上行RLC/MAC数据报头,并且将数据解析上报给网络侧的RLC层,无论网络是否正确接收,网络侧将发送PacketDCHUplinkAck/Nack消息或PacketUplinkAck/NackType2消息到终端进行上行数据包确认,网络侧首先对该消息进行编码,同时该消息中也可能存在时频同步信息,然后组装成完整的下行RLC/MAC控制报头。步骤3、4:MAC层收到RLC/MAC控制报头,首先解析RLC/MAC控制报头,对RLC/MAC控制报头的MAC层消息进行解析,同时解析出网络请求的时频同步信息,MAC层将使用MAC_PHY_SYNC_CFG_REQ原语将时频同步信息配置到物理层。步骤5、6、7:MAC层解析RLC/MAC控制报头中的RLC信息,并使用MAC_CTRL_DCH_DATA_IND或是MAC_CTRL_PDCH_DATA_IND上报给RLC层。图5为对下行数据的确认过程,如图所示,该过程具体包括以下步骤:步骤1:终端进行业务过程中,并且网络在无线资源建立或是重配的时候,分配了DCH或者PDCH信道资源。物理层监听对应的下行信道,并且接收来自网络的DCH或是PDCH信道的下行RLC数据块。步骤2:终端监听下行信道,物理层接收到来自网络的DCH或是PDCH物理信道上的数据块,则使用MAC_PHY_PDCH_DATA_IND或MAC_PHY_DCH_DATA_IND上报给MAC层,MAC首先检查RLC/MAC数据报头中的未请求的上行链路允许(简称:UUG)比特,如果UUG=1,则表明终端需在下一帧无线资源传送时间发送RLC层的Ack/Nack确认消息。步骤3、4:在无线资源激活时间到达时,MAC层发送MAC_STATUS_IND原语通知RLC模块,在原语中指明MAC需要获取RLC的参数。RLC模块收到之后获取对下行消息的确认参数,通过MAC_CTRL_PDCH_DATA_REQ原语或MAC_CTRL_DCH_DATA_REQ原语发送到MAC层。步骤6、7:MAC层收到来自RLC层的MAC_CTRL_PDCH_DATA_REQ原语或MAC_CTRL_DCH_DATA_REQ的确认参数后,首先生成PacketDownlinkAck/Nack消息或PacketDCHDownlinkAck/Nack消息,然后组装成上行RLC/MAC控制报头,最后通过MAC_PHY_PDCH_DATA_REQ或MAC_PHY_DCH_DATA_REQ发送到物理层。最后说明的是,以上优选实施例仅用以说明本发明的技术方案而非限制,尽管上述优选实施例已经对本发明进行了详细的描述,但本领域技术人员应当理解,可以在形式上和细节上对其做出各种各样的改变,而不偏离本发明权利要求书所限定的范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1