一种RRC状态机实现方法及装置制造方法及图纸

技术编号:11900686 阅读:64 留言:0更新日期:2015-08-19 12:39
本发明专利技术公开了一种RRC状态机实现方法及装置,根据RRC层协议栈的复杂度以及涉及到的过程的相互关系,对每一个可能引起4个基本状态改变的功能过程,添加了该过程执行的各个触发子状态,以此来控制各个过程中对接收到相应消息的处理判断,通过单一线程来管理协议栈的运行,保证了协议栈运行的高效和稳定;相应地,与上述实现方法对应,本发明专利技术还提出了一种RRC状态机实现装置,其包括记录单元,接收单元,回调单元和执行单元。本发明专利技术解决了协议栈开发运行时资源消耗多、运行维护复杂等问题,简化了状态机的复杂度,保证系统运行的高效性和稳定性。

【技术实现步骤摘要】

本专利技术属于无线通信领域,具体涉及一种RRC状态机实现方法及装置
技术介绍
RRC(Rad1 Resource Control,无线资源控制)是层3控制面协议,是GMR-1 3G系统中空中接口部分协议栈控制面功能的实际载体,负责空中接口无线链路过程的执行。主要负责无线资源的分配与管理、系统消息广播、寻呼、RRC连接建立和释放、RRC连接移动性管理(小区更新、GRA更新)、RB管理、NAS层消息传递、测量控制、加密等等。RRC层主要分为空闲状态和连接状态,其中连接状态又细分为RRC-Cell_Shared、RRC-Cell_Dedicated和RRC_GRA_PCH三种状态。RRC连接模式下,RRC层会执行相关的过程,进而实现相关的功能。RRC消息的触发和执行使用一个线程进行控制,由状态机进行过程执行的决策控制。所以,状态机的实现是开发协议栈RRC层的核心部分,通过接收RRC消息的到来以及根据RRC消息的接收情况来触发相应的RRC处理过程,从而实现状态机的跳转,维持协议栈的运行。另外,在收到上层或下层实时性的请求,状态机控制模块能够做出正确处理。在整个子系统运行过程中,状态机控制模块还能够管理和维护RRC过程,包括并行性处理,过程的事务性管理。对具有事务性处理的过程能够保存和恢复过程的正确状态。因此,如何设计状态机使其更清晰地维护状态机跳转,同时高效地完成RRC的各个过程,将直接影响着整个协议栈的运行效率和稳定性。状态机的一般运行方式是:在某个状态下,收到某个事件,执行相应的动作,转到相应的状态,再在新的状态下,重复上述循环,直至结束。其中事件可以是收到的消息,某个定时器的到达等;相应的动作一般可以是执行相应的函数处理等。现有技术主要针对一般复杂度的状态机系统,涉及到的有单一并行状态机的处理,有单一串行状态机的处理;有采用状态机族方法,有采用两层状态机结构,有表格驱动的,有基于状态事件的数组结构的。而RRC层协议栈状态机复杂,涉及的过程较多,现有的技术没有完全考虑到RRC层协议栈的特点,实现起来,要么消耗过多的资源,要么线程多,运行繁杂,造成后续开发维护困难,影响整个系统的稳定性。
技术实现思路
本专利技术的目的是针对RRC协议栈的特点,提出了一种适合RRC状态机运行的RRC状态机实现方法及装置,解决协议栈开发运行时资源消耗多、运行维护复杂等问题,简化了状态机的复杂度,保证系统运行的高效性和稳定性。本专利技术采取的技术方案之一是:一种RRC状态机实现方法,该方法将RRC的各个功能分类,明确过程之间的相互关系和优先级,对每一个可能引起RRC_Idle、RRC-Ce11_Shared,RRC-Cell_Dedicated和RRC_GRA_PCH基本状态改变的功能过程,添加过程执行的各个触发子状态;实现步骤如下: (1)用结构数组记录所有过程中出现的状态事件及对应的处理函数,并初始化; (2)当接收到事件后,确定事件类型,再判断当前的状态,判断当前的状态下收到的事件是否在结构数组记录中有相应的处理函数,若有,调用回调函数执行相应的函数,将状态改变到新的状态;若没有相应的处理函数,则丢弃收到的消息,不作处理,状态保持不变; (3)重复步骤(2),过程直至结束。进一步的,所述结构数组的构成如下: 结构数组3{ 参数I状态; 参数2事件; 参数3回调函数(形参1,形参2,形参3);} rrc_sm[] = { {状态0,事件1,函数1}, {状态1,事件2,函数2}, {状态2,事件3,函数3}, {状态2,事件1,函数4},.........其他…… {状态4,事件1,函数2} } ; O所述结构数组中的参数3是一个回调函数,函数1、2、3、4有相同的形参,符合回调函数的要求。进一步的,所述回调函数构成如下: 循环判断for(i=0; i〈rrm_sm数组大小;i++) { if (收到事件所处的状态==rrm_sm中的状态且收到的事件==rrm_sm中的事件){执行rrm_sm对应的回调函数} 1所述的方法中,RRC层的信令过程包括RRC连接建立过程、初始直传过程、上下行直传过程、小区更新过程;其中RRC连接建立过程要先完成,这个过程分为0、1、2三个小的子状态,该过程完成后基本状态从空闲状态转到连接状态,在所述的连接状态下,初始直传过程、上下行直传过程、小区更新过程都可以发生,但是上下行直传过程必须要等到初始直传过程发生后才能完成,而小区更新过程和初始直传过程没有联系,小区更新过程的优先级高。这样,在完成RRC连接建立过程后,如果同时收到初始直传过程、上下行直传和小区更新过程的事件,则优先处理小区更新过程。进一步的,所述初始直传过程包括子状态3、4、5,上下行直传过程包括子状态6、7,小区更新过程包括子状态8、9、10 ;所述子状态3、4、5、6、7、8、9、10都处在一个大的基本状态下,在这个大的基本状态下,只要收到最高优先级的事件触发小区更新过程,就立即转到子状态8执行小区更新过程。本专利技术采取的技术方案之二是: 一种RRC状态机实现装置,其包括: 记录单元:记录所有过程的子状态以及在该子状态下可能收到哪个事件,并能作出哪种响应;然后存储下来; 接收单元:当状态机启动后,用于接收外部来的或本身的触发事件,确定事件类型,在记录单元中查找对应当前状态和事件存在的响应; 回调单元:回调当前状态和事件对应的响应; 执行单元:执行实际的响应,转变到新的状态。本专利技术的有益效果是:本专利技术采用单一线程来管理状态机运行,将协议栈中的各个过程首先分解成子状态触发,用数组结构形式存储状态事件及对应的处理函数,处理函数表示成回调函数形式,只需用一个上述数组结构就能完全将协议栈所有过程之间的关系和优先级体现出来,节省资源,简化协议栈的开发,提高协议栈运行的效率和稳定性,使状态机支持信令连接级独立运行,及多业务并存。实际开发中,代码清晰,协议后续若有扩展过程,可快速、准确、灵活地将新过程加入到状态机控制中,节省开发时间,并且,代码简单,易于维护。【附图说明】图1是状态机运行流程图。图2是状态转移图。图3是状态机实现装置结构图。【具体实施方式】下面结合附图对本专利技术作进一步说明。本专利技术提供一种针对GMR-1 3G RRC协议栈状态机的实现方法和装置,根据RRC层协议栈的复杂度以及涉及到的过程的相互关系,对每一个可能引起4个基本状态改变(RRC_Idle、RRC-Cell_Shared、RRC_Cell_Dedicated 和 RRC_GRA_PCH)的功能过程,添加了该过程执行的各个触发子状态,以此来控制各个过程中对接收到相应消息的处理判断,通过单一线程来管理协议栈的运行,保证了协议栈运行的高效和稳定。提出的装置包括:记录单元、接收单元、回调单元、执行单元。本专利技术首先根据协议,将RRC的各个功能分类,哪些过程必须是按先后顺序实现的,之间有明确的因果关系;哪些是可以并行实现的,即在某个状态下都有可能发生;哪些功能的实现优先级最高;然后再添加各个过程的触发子状态,明确哪个子状态能收到哪条消息(对应事件),执行什么样的动作(对应处理函数);之后将其记录保存下来,可以用状态事件表保存,也可以本文档来自技高网
...

【技术保护点】
一种RRC状态机实现方法,其特征在于:将RRC的各个功能分类,明确过程之间的相互关系和优先级,对每一个可能引起RRC_Idle、RRC‑Cell_Shared、RRC‑Cell_Dedicated 和 RRC‑GRA_PCH基本状态改变的功能过程,添加过程执行的各个触发子状态;实现步骤如下:(1)用结构数组记录所有过程中出现的状态事件及对应的处理函数,并初始化;(2)当接收到事件后,确定事件类型,再判断当前的状态,判断当前的状态下收到的事件是否在结构数组记录中有相应的处理函数,若有,调用回调函数执行相应的函数,将状态改变到新的状态;若没有相应的处理函数,则丢弃收到的消息,不作处理,状态保持不变;(3)重复步骤(2),过程直至结束。

【技术特征摘要】

【专利技术属性】
技术研发人员:汪小军刘剑锋朱礼勇王波孙亮亮肖跃
申请(专利权)人:熊猫电子集团有限公司南京熊猫汉达科技有限公司
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1