一种码分多址通信系统中的前向信道帧的准时发送方法 【技术领域】
本发明涉及扩频电话系统,尤其涉及一种码分多址通信系统中的前向信道帧的准时发送方法。
背景技术
在码分多址(CDMA)扩频系统中,前向码分信道包括导频信道、同步信道、寻呼信道、前向业务信道,要求在前向严格准时地发送前向同步信道帧、寻呼信道帧和业务信道帧,特别是同步信道消息为移动台提供系统时间和长码状态,同步信道帧是否准时发送,是影响整个系统性能的关键因素之一。
除了导频信道之外,同步信道、寻呼信道、前向业务信道都需要进行动态实时帧发送。同步信道帧是以26.67毫秒为单位进行发送,即以26.67毫秒为周期把同步信道帧写入CSM的编码RAM区。而寻呼信道帧和业务信道帧是以20毫秒为周期进行发送。在目前的编码发送方法中,都是采用同一个方法对同步信道帧和寻呼信道帧进行调度。虽然此复杂方法能保证在环境正常的情况下定时发送前向同步信道帧和寻呼信道帧,但是目前这些方法都只有定时发送部分而没有异常处理机制部分,在发生某些异常的情况如:时钟抖动、硬件异常、软件异常导致瞬时定时异常、系统时间突然调整、或者由于CPU利用率很高,导致发送帧任务没有进行发送,这些情况下有可能导致连续的帧都会晚发或者早发,导致系统无法正常工作。不能保证严格准时地发送前向帧。
【发明内容】
本发明的目的是提供一种码分多址通信系统中的前向信道帧的准时发送方法,该发送方法位于写帧操作之前。该准时发送方法能适用于各种编码定时发送异常情况包括时钟抖动、硬件异常和软件异常导致瞬时定时异常,该准时发送方法能保证CDMA系统的前向信道帧准时发送。
为了达到上述目的,本发明采用以下技术方案:
一种码分多址通信系统中的前向信道帧的准时发送方法,包括以下步骤:
a.创建和启动编码发送任务;
b.对该发送任务进行初始化;
c.每隔20毫秒激活一次编码定时发送任务;
d.进行检验参量校验;
e.判断是否需要进行定时参数调整,如果需要,转到步骤f,如果不需要,转到步骤g;
f.进行定时参量调整;
g.发送帧。
所述步骤b.对该发送任务进行初始化,包括以下步骤:
b1.根据软件提前量和每一帧帧头的发送时刻的差来激活编码定时发送事件;
b2.根据帧偏置、导频偏置和软件提前量来计算当前帧发送时间,计算编码定时偏置校验值,所述编码定时偏置校验值为所述当前帧发送时间和系统时间的差;
b3.计算80毫秒内20毫秒帧的个数,计算方法为将系统时间减去软件提前量,得到地差对80毫秒求余得到余数,再将余数对20毫秒求模。
所述步骤d.进行检验参量校验,包括以下步骤:
d1.收到编码定时发送事件时,累加并更新当前帧发送时间,并获取当前以20毫秒为单位的系统时间;
d2.计算当前编码定时偏置校验值,所述编码定时偏置校验值为所述步骤d1中得到的当前帧发送时间和系统时间的差;
d3.检验当前编码定时偏置校验值,将当前编码定时偏置校验值与前一编码定时发送事件中保存的编码定时偏置校验值进行比较,如果相等,转到步骤d4,如果不相等,转到步骤d6;
d4.相等计数器加1,如果相等计数器的计数值到达一定的门限,则检验通过,否则回到步骤d1继续检验过程;
d5.关闭检测检验开关,保存下当前的编码定时偏置校验值,检验参量校验结束;
d6.不相等计数器加1,如果不相等计数器的计数值到达一定的门限,则检验不通过,否则回到步骤d1继续检验过程;
d7.进行异常处理,检验参量校验结束。
所述步骤e.判断是否需要进行定时参数调整,包括以下步骤:
e1.获取当前系统时间,根据当前系统时间进行系统时间跨帧边界的判断,累加并更新当前帧发送时间;
e2.计算调整参量,计算方法为首先计算当前帧发送时间和当前系统时间的差值,在计算该差值与编码定时偏置校验值的差,即为调整参量;
e3.如果调整参量的值大于等于一帧的时间,则需要进行定时参量调整,否则不需要进行定时参量调整。
所述步骤f.进行定时参量调整,包括以下步骤:
f1.根据调整参量重新计算当前帧发送时间,将当前帧发送时间的值加上调整参量的值;
f2.重新计算80毫秒内20毫秒帧的个数,计算方法为将调整参量换算成以帧为单位的数,将80毫秒内20毫秒帧的个数的值与该数相加,定时参量调整结束。
由于采用了上述技术方案,本发明所述的码分多址通信系统中的前向信道帧的准时发送方法能自动调整编码定时参量,保证了编码定时参量的正确性,实时地对定时参量进行调整,保证码分多址通信系统中的前向信道帧的准时发送。
【附图说明】
图1是本发明的码分多址通信系统中的前向信道帧的准时发送方法的流程图;
图2是本发明的准时发送方法中对发送任务进行初始化的流程图;
图3是本发明的准时发送方法中进行检验参量校验的流程图;
图4是本发明的准时发送方法中判断是否需要进行定时参数调整的流程图;
图5是本发明的准时发送方法中进行定时参量调整的流程图。
【具体实施方式】
下面结合附图进一步说明本发明的技术方案,
图1是本发明的码分多址通信系统中的前向信道帧的准时发送方法的流程图,如图1所示,本发明的准时发送方法包括:
a.创建和启动编码发送任务;
b.对该发送任务进行初始化;
c.每隔20毫秒激活一次编码定时发送任务;
d.进行检验参量校验;
e.判断是否需要进行定时参数调整,如果需要,转到步骤f,如果不需要,转到步骤g;
f.进行定时参量调整;
g.发送帧。
在每一次发送帧(步骤g)前,利用此准时发送方法的检测机制对发送定时参量进行校验(步骤d以及步骤e),如果校验通过,则从编码队列中取帧,对前向信道帧进行发送;如果校验不通过,表明是存在异常,则还需要调用发送定时参量调整方法(步骤f)对定时参量进行调整,然后才进行发送(步骤g),能保证前向信道帧准时发送。
图2是本发明的准时发送方法中对发送任务进行初始化的流程图,包括以下步骤:
b1.根据软件提前量和每一帧帧头的发送时刻的差来激活编码定时发送事件;
b2.根据帧偏置、导频偏置和软件提前量来计算当前帧发送时间,计算编码定时偏置校验值,所述编码定时偏置校验值为所述当前帧发送时间和系统时间的差;
b3.计算80毫秒内20毫秒帧的个数,计算方法为将系统时间减去软件提前量,得到的差对80毫秒求余得到余数,再将余数对20毫秒求模。
CDMA系统对前向帧定时有相当严格的要求。前向帧定时都要以基站天线端口为基准,在软件上前向信道写帧的方法可以用中断的方法实现,也可以用软件定时方法对前向帧发送,为了减少代码的复杂度,采用软件定时方法对前向帧发送的方法。采用软件定时发送的方法需要考虑软件处理时延和各种编码定时提前量。若是同步信道,还要考虑导频PN偏置的影响。业务信道要考虑业务信道帧偏置的影响。因此在进行软件编码发送调度时,需要考虑各种编码定时提前量影响,假设总的软件提前量为SoftAdv,每帧帧头在天线口的发送时刻为Tstd,计算得到编码定时事件激活时刻为Tstd和SoftAdv的差,并激活编码定时事件(步骤b1);其次还要计算某编码任务实例的当前帧发送时间(当前时间天线口正在发送帧帧头的时间)T1,T1参量的计算需要考虑帧偏置、导频偏置、软件提前量SoftAdv的影响,假设对于导频为0偏置的同步信道而言,T1为以帧为单位的系统时间,同时还要计算编码定时偏置校验值Δt1(步骤b2),Δt1一般为T1参量与系统时间的差值;还需要计算80毫秒内20毫秒帧的个数,表示为frame_in_80(步骤为b3),系统时间减去对应的软件提前量SoftAdv,再对80毫秒求余得到余数,把余数对20毫秒求模,计算出80毫秒内20毫秒帧的个数frame_in_80,注意此参量应该是以天线口的时间为标准,还需要考虑各种偏置的影响。最后在初始化部分还需要计算一些辅助判断变量,如系统时间和进行计算比较的判断变量。当前帧发送时间T1是编码发送中最重要的参量,用来保证前向帧准时发送;80毫秒内20毫秒帧的个数frame_in_80是用来控制同步信道帧发送的参量,该参量的准确性保证了同步信道帧的定时发送;这两个参量是用追赶算法进行校验的主要参量。
图3是本发明的准时发送方法中进行检验参量校验的流程图,
所述步骤d.进行检验参量校验,包括以下步骤:
d1.收到编码定时发送事件时,累加并更新当前帧发送时间,并获取当前以20毫秒为单位的系统时间;
d2.计算当前编码定时偏置校验值,所述编码定时偏置校验值为所述步骤d1中得到的当前帧发送时间和系统时间的差;
d3.检验当前编码定时偏置校验值,将当前编码定时偏置校验值与前一编码定时发送事件中保存的编码定时偏置校验值进行比较,如果相等,转到步骤d4,如果不相等,转到步骤d6;
d4.相等计数器加1,如果相等计数器的计数值到达一定的门限,则检验通过,否则回到步骤d1继续检验过程;
d5.关闭检测检验开关,保存下当前的编码定时偏置校验值,检验参量校验结束;
d6.不相等计数器加1,如果不相等计数器的计数值到达一定的门限,则检验不通过,否则回到步骤d1继续检验过程;
d7.进行异常处理,检验参量校验结束。
检验参量校验是指连续一段时间内对当前帧发送时间T1与定时偏置校验值Δt1进行校验,因为开始一段时间内由于初始化原因或者编码定时跨20毫秒边界的原因,计算的Δt1可能不准确,这些异常都会导致编码定时发送不准确,所以需要连续对该值进行校验。首先当收到编码发送事件时,对当前帧发送时间T1进行累加,更新当前帧发送时间T1,同时获取当前以20毫秒为单位的系统时间CurTime(步骤d1);然后是根据当前帧发送时间T1与系统时间的差,得到当前编码定时偏置校验值Δt1(步骤d2);判断当前编码定时偏置校验值Δt1是否校验通过(步骤d3),通过条件为:比较当前事件计算的Δt1与前次事件计算保存的Δt1是否相等,如果相等则相等计数器加1,若相等计数器的值达到所规定的门限(推荐值为2秒,即100帧)(步骤d4),则追赶检测参量校验通过,否则回到步骤d1继续校验过程,校验通过则关闭检测参量校验开关,同时保存编码定时偏置校验值Δt1,用全局变量编码定时偏置校验值Δt保存当前编码定时偏置校验值Δt1的值(步骤为d5)。如果当前事件计算的Δt1与前次事件计算保存的Δt1不相等,则不相等计数器加1,达到一定的门限(推荐值为20秒,即1000帧)(步骤d6),则需要进行异常处理(步骤d7),如采取时间模块进行重新启动,或者该模块软件系统重新启动处理。
图4是本发明的准时发送方法中判断是否需要进行定时参数调整的流程图,所述步骤e.判断是否需要进行定时参数调整,包括以下步骤:
e1.获取当前系统时间,根据当前系统时间进行系统时间跨帧边界的判断,累加并更新当前帧发送时间;
e2.计算调整参量,计算方法为首先计算当前帧发送时间和当前系统时间的差值,在计算该差值与编码定时偏置校验值的差,即为调整参量;
e3.如果调整参量的值大于等于一帧的时间,则需要进行定时参量调整,否则不需要进行定时参量调整。
每当编码定时发送事件激活时需要进行定时异常检测工作,其功能是对每一帧的定时参量进行检测,如果检测通过,则直接进行下一步处理。首先获取系统时间CurTime,同样也需要进行系统时间跨帧边界的判断,对当前帧发送时间T1调整和累加(步骤e1);然后根据编码定时偏置校验值Δt,系统时间CurTime,当前帧发送时间T1三个参量判断是否要进行定时参量调整同时计算出调整参量delta,方法为,首先得到当前帧发送时间T1和CurTime的差值Y,然后得到该差值Y与Δt的差,即为调整参量delta(步骤e2),如果delta大于等于一帧的时间,则认为需要调整,如果需要进行调整,则表明定时异常,需要进行调用发送定时调整部分进行追赶,否则直接进入取帧和发帧处理。
图5是本发明的准时发送方法中进行定时参量调整的流程图,包括以下步骤:
f1.根据调整参量重新计算当前帧发送时间,将当前帧发送时间的值加上调整参量的值;
f2.重新计算80毫秒内20毫秒帧的个数,计算方法为将调整参量换算成以帧为单位的数,将80毫秒内20毫秒帧的个数的值与该数相加,定时参量调整结束。
如果发送定时参量检测部分检测出编码发送定时异常,需要利用发送定时调整部分进行调整编码定时参量,首先调整当前帧发送时间T1,置根据调整参量delta重新计算当前帧发送时间T1(步骤为f1),调整方法为把T1加上调整参量delta,其次根据调整参量delta,把调整参量delta换算成一帧为单位的数,把该数加到80毫秒内20毫秒帧的个数frame_in_80,得到调整后的80毫秒内20毫秒帧的个数frame_in_80的值(步骤f2)。这样调整编码定时参量以后,就可以转入发送帧的过程。
用发送方法对编码定时参量进行了校验后,则可以进行取帧和帧发送过程,此准时发送方法能自动调整编码定时参量,发送保证了编码定时参量的正确性,实时地对定时参量进行了调整。