一种终端无线通信协议栈软件定时器管理方法

文档序号:7647366阅读:215来源:国知局
专利名称:一种终端无线通信协议栈软件定时器管理方法
技术领域
本发明涉及通讯终端,具体涉及一种终端无线通信协议栈软件定时器管理方法。
背景技术
在嵌入式系统软件设计和实现无线通信协议栈时,我们需要使用定时器模块来管理无线通信协议中规定的定时器单元Timer。定时器模块通常使用嵌入式系统的中断或者晶振来计时,并在设定的硬件计数器时间到来后通知相关定时器所属任务进行相应的定时器超时处理。定时器是协议栈中非常重要的一个数据结构,基本上每个协议模块都有对应的定时器单元。终端协议栈软件所使用的操作系统将定时器模块作为一个任务,每次启动某个协议栈任务的一个定时器单元该任务就会给定时器模块任务发送一条消息,然后定时器模块任务会管理并计算每个定时器的超时时刻,当某个定时器超时时间到来后会再发送一条消息通知定时器所属任务进行超时的处理。当定时器单元所属的任务要停止该定时器时,也需要发送一条消息通知定时器模块任务停止对该定时器的时间计数。因此,一个定时器单元在启动、停止和超时操作时会分别对应操作系统任务间中的一条消息信号,因此以GSM/GPRS系统中的无线数据业务为例,在GPRS协议栈中的数据链路控制RLC层协议定义了一个定时器组T3198。对应于每一个滑动窗口都有一个T3198定时器,RLC协议规定每个临时数据块流Temporary BlockFlow,简称TBF,上滑动窗口的大小为64,因此这个定时器组有64个定时器。每个T3198定时器在传输完一个RLC数据块后启动,超时后认为该数据块收到NAK应答,即需要重传。当GPRS数据流量很大的时候,每个窗口块对应的T3198定时器会频繁启动和超时,造成大量定时器模块和RLC模块任务之间的消息传递。实际环境下进行GPRS拨号上网过程中,对RLC层实时处理消息类型的跟踪结果表明,当进行GPRS数据业务的时候,RLC层任务处理的消息队列中有60%的消息是定时器消息,其中T3198定时器占了绝大多数。因为定时器的启动、停止和超时都需要与定时器任务进行消息交互,这都需要操作系统的调度,无形之中增加了很多系统开销,同时对RLC任务的运行效率也带来了很大负面影响。其结果造成了终端协议栈软件系统的性能降低,数据传输的速率无法达到较高的水平。。

发明内容
本发明需要解决的技术问题是提供一种终端无线通信协议栈软件定时器管理方法,可以减少由定时器频繁启动和超时造成的操作系统消息队列内存消耗和任务间调度带来的开销。
本发明的上述第一个技术问题这样解决,提供一种终端无线通信协议栈软件定时器管理方法,包括以下步骤1.1)设定需要管理定时器的超时值和定时器队列的数据结构;1.2)当被管理的定时器启动的时候,根据启动时的系统帧号和对应所述超时值计算该定时器的超时时间值;1.3)被管理定时器所属任务根据物理层上传消息中的当前系统帧号和对应所述超时时间值计算该定时器是否超时并根据超时结果进行相应处理。
按照本发明提供的定时器管理方法,所述超时时间值是相对时间,等于所述启动时的系统帧号加上由所述超时值换算过来的对应系统帧号增加数。
按照本发明提供的定时器管理方法,所述相应处理包括根据所述当前系统帧号和超时值重新设置该定时器的超时时间值。
按照本发明提供的定时器管理方法,所述步骤1.2)和1.3)之间还包括被管理定时器所属任务通过将对应定时器从定时器队列删除或置停止位来停止执行步骤1.3)。
按照本发明提供的定时器管理方法,所述步骤1.3)使用超时标志位,还包括根据所述计算选择是否置位,进一步包括所述所属任务根据对应定时器是否存在所述超时标志位选择进行所述相应处理与否。
按照本发明提供的定时器管理方法,所述步骤1.3)中的计算还包括对所述定时器队列中其他定时器的计算和置位。
按照本发明提供的定时器管理方法,所述无线通信包括但不限制于GSM/GPRS/EGPRS系统、TD-SCDMA系统或WCDMA系统。
按照本发明提供的定时器管理方法,所述无线通信协议包括但不限制于GPRS协议、EGPRS协议、WCDMA协议或TD-SCDMA协议。
按照本发明提供的定时器管理方法,所述协议栈包括物理层、MAC层、RLC层、LLC层或SNDCP层。
本发明提供的一种终端无线通信协议栈软件定时器管理方法,使用定时器队列代替,并进一步通过物理层Layer1提供的系统帧号对应时间来管理定时器队列,优化了无线通信协议栈软件的定时器管理方法,大大减少了使用定时器模块带来的定时器频繁启动和超时造成的操作系统消息队列内存消耗和任务间调度带来的开销;根据实际测试效果表明该方法增加了协议栈软件的运行效率,大大提高了数据传输速率。


下面结合附图和具体实施例进一步对本发明进行详细说明。
图1是GPRS协议栈终端和网络侧之间的协议层示意图。
图2是本发明以GPRS协议栈RLC层为例管理定时器的具体实施过程图。
具体实施例方式
首先,说明本发明的应用范围本发明适用于各种无线通信系统,包括了GSM/GPRS/EGPRS系统,TD-SCDMA系统以及WCDMA等系统;其对应终端使用各种不同终端协议栈软件与系统通讯,GSM/GPRS系统中的GPRS协议仅是其中一种,其他无线通信系统终端协议栈软件也同样适用本发明(包括EGPRS协议,其在协议架构上与GPRS相同)。
第二步,说明本发明工作原理
㈠在终端协议栈软件中设定每个需要管理定时器的超时值和定时器队列的数据结构,并修改定时器的启动和停止函数。修改后的函数不需要再向定时器模块任务发送消息,而是由本地数据结构直接维护定时器的超时值。
㈢对于如何对定时器计时的问题,本发明采用了由Layer1提供给上层的无线通信系统帧号来进行计时的方法。当被管理的定时器启动的时候,根据当前系统帧号加上超时时间,得到定时器的超时时间值。
㈢每次Layer1调用的时候,会传递给协议栈上层任务消息并携带当前的系统帧号。被管理定时器所属的任务根据消息中的当前帧号计算定时器数组是否有超时,如果超时将对应的定时器状态置位。在随后处理的时候定时器所属任务判断不同定时器的状态,如果发现有超时的定时器则进行相应处理。
这样协议栈定时器组就不会产生大量的消息信号在任务之间传递,操作系统的负荷也大大降低。这毫无疑问能够大大提高GSM/GPRS协议栈的效率。
最后,以GPRS协议、协议栈为例,结合GPRS协议栈的RLC层模块的具体实施例对本发明进行详细说明㈠GPRS协议通用分组无线业务GPRS在数据链路层Layer2上按GSM04.60业务规范分为数据链路控制Radio Link Control层和媒体接入控制Medium Access Control层(TD-SCDMA以及WCDMA系统在数据链路层Layer2层同样分为了RLC层和MAC层),简称RLC层和MAC层,主要负责发送和接收数据队列的管理、数据块分段重组和对无线分组业务流的控制等功能。
㈡GPRS协议栈如图1所示,GPRS通信系统的GPRS协议栈终端101和网络侧之间协议层位于无线终端设备Mobile Station,简称MS,与无线通信网络103之间,终端101与无线通信网络103之间通过Um空中接口102通讯,该协议栈包括Layer1物理层,MAC层105,RLC层106,LLC层107,SNDCP层108。层间的箭头连线表示终端和无线网络之间有逻辑或者物理连接存在。
(三)本发明与GPRS协议栈的RLC层模块对应的定时器管理实施过程,如图2所示,具体包括以下步骤201)在RLC层上设定64个T3198的超时值和定时器队列的数据结构及函数;202)某个T3198定时器启动时,根据物理层Layer1提供给上层的帧号加上超时时间,得到该定时器的超时时间值;203)每次物理层Layer1调用的时候根据当前帧号计算T3198定时器数组的当前时间;204)判断队列中是否有T3198定时器超时;超时进入步骤205),否则返回步骤203);205)将对应的定时器状态置位;206)RLC任务相应函数对超时进行处理,处理完成后返回到步骤203;这样通过使用物理层Layer1提供的系统帧号对应时间来管理定时器队列,减少了定时器任务和不同定时器单元所属任务之间的频繁消息通信,大大降低了定时器操作带来的开销,提高了系统的性能。
权利要求
1.一种终端无线通信协议栈软件定时器管理方法,其特征在于,包括以下步骤1.1)设定需要管理定时器的超时值和定时器队列的数据结构;1.2)当被管理的定时器启动的时候,根据启动时的系统帧号和对应所述超时值计算该定时器的超时时间值;1.3)被管理定时器所属任务根据物理层上传消息中的当前系统帧号和对应所述超时时间值计算该定时器是否超时并根据超时结果进行相应处理。
2.根据权利要求1所述定时器管理方法,其特征在于,所述超时时间值是相对时间,等于所述启动时的系统帧号加上由所述超时值换算过来的对应系统帧号增加数。
3.根据权利要求1所述定时器管理方法,其特征在于,所述相应处理包括根据所述当前系统帧号和超时值重新设置该定时器的超时时间值。
4.根据权利要求1所述定时器管理方法,其特征在于,所述步骤1.2)和1.3)之间还包括被管理定时器所属任务通过将对应定时器从定时器队列删除或置停止位来停止执行步骤1.3)。
5.根据权利要求1所述定时器管理方法,其特征在于,所述步骤1.3)使用超时标志位,还包括根据所述计算选择是否置位,进一步包括所述所属任务根据对应定时器是否存在所述超时标志位选择进行所述相应处理与否。
6.根据权利要求1或6所述定时器管理方法,其特征在于,所述步骤1.3)中的计算还包括对所述定时器队列中其他定时器的计算和置位。
7.根据权利要求1所述定时器管理方法,其特征在于,所述无线通信包括GSM/GPRS/EGPRS系统、TD-SCDMA系统或WCDMA系统。
8.根据权利要求1所述定时器管理方法,其特征在于,所述无线通信协议包括GPRS协议、EGPRS协议、WCDMA协议或TD-SCDMA协议。
9.根据权利要求1所述定时器管理方法,其特征在于,所述协议栈包括物理层、MAC层,RLC层,LLC层或SNDCP层。
全文摘要
本发明涉及一种终端无线通信协议栈软件定时器管理方法,包括设定需要管理定时器的超时值和定时器队列的数据结构;当被管理的定时器启动的时候,根据启动时的系统帧号和对应所述超时值计算该定时器的超时时间值;被管理定时器所属任务根据物理层上传消息中的当前系统帧号和对应所述超时时间值计算该定时器是否超时并根据超时结果进行相应处理。这种方法使用定时器队列代替定时器模块,并进一步通过物理层Layer1提供的系统帧号对应时间来管理定时器队列,减少了定时器模块和不同定时器单元所属任务之间的频繁消息通信,大大降低了定时器操作带来的开销,提高了系统的性能。
文档编号H04L1/16GK101014049SQ20071006394
公开日2007年8月8日 申请日期2007年2月14日 优先权日2007年2月14日
发明者董志, 吕永 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1