容许在主机处理器所实现的高速调制解调器中存在调度等待时间并对发射信号和接收信...的制作方法

文档序号:7592256阅读:109来源:国知局
专利名称:容许在主机处理器所实现的高速调制解调器中存在调度等待时间并对发射信号和接收信 ...的制作方法
技术领域
本发明主要涉及一种方法和装置,容许在主机处理器所实现的高速调制解调器中存在调度等待时间并对发射信号和接收信号进行时间对准。
背景技术
随着个人计算机中的主机处理器功能变得越来越强大,像非对称数字用户线(ADSL)调制解调器这样的高速调制解调器可以在软件中实现。但是,要成功实现高速调制解调器,计算复杂性或每秒处理上百万条指令并不是唯一的难题。高速调制解调器的数字信号处理器(DSP)功能要求实时执行,例如,必须在发射(TX)缓冲器变空之前执行DSP功能,以便另外生成将要在其中排队的发射样本,以及必须在接收(RX)缓冲器充满之前执行DSP功能以便处理所接收的样本。但是,主机处理器可能在并行运行许多其他任务,其操作系统也许无法保证能及时执行实时DSP功能。换言之,从生成请求开始到实际执行任务所发生的延迟,即调度等待时间是很长的。显然,如果等待时间超过了发射TX缓冲器中剩余样本所需的时间,将产生TX缓冲器欠载运行的问题。类似地,如果在RX缓冲器完全充满之前未执行RX任务,将出现RX缓冲器过载运行的问题。
此外,响应时间过长可能在满足某些要求方面产生问题。例如,ADSL标准(G.992.x)要求在上行信号和下行信号之间时间对准,即,某些上行信号在线路中出现的时间必须与中央站点调制解调器发射对应的下行信号的时间大体相同。如果响应时间延迟过长,那种一接收到相应的下行信号便开始发送上行信号的直接方法会失败。
因此,需要这样一种方法和装置,能够处理发射缓冲器欠载运行和/或接收缓冲器过载运行所导致的过长的响应延迟,并能解决相应的时间对准问题。


现在参照附图,用举例的方法,说明本发明的一个优选实施例图1所示为根据本发明的优选实施例,一个基于ADSL调制解调器的主机处理器的框图;图2所示为根据本发明的优选实施例,一种防止接收缓冲器过载运行的技术的框图;图3所示为根据本发明的优选实施例,发射缓冲器处理的框图;图4所示为根据本发明的优选实施例,下行信号和上行信号时间对准的定时图;以及图5所示为根据本发明的优选实施例的一个框图,将存储有指令集的存储介质装入微处理器时,会使微处理器执行各种功能。
优选实施例的详细说明本发明的优选实施例提供了一种方法和装置,用于处理主机处理器上所实现的高速调制解调器中的调度等待时间。利用本发明,容许主机操作系统出现长调度等待时间,但不会引起端到端的长时间传输延迟。此外,即使调度延迟时间长并且变化不定,也可以在下行信号和上行信号之间实现时间对准。
图1所示为根据本发明的优选实施例,在主机处理器101上所实现的高速调制解调器100的示意性框图。调制解调器100的硬件部分包括一个数/模(D/A)转换器105和一个模/数(A/D)转换器110,二者均由采样时钟115发生器驱动;以及一个线路耦合器120,通常由模拟过滤器、放大器和混合器组成。调制解调器100的软件部分包括一个TX缓冲器125,一个TX DSP任务130,一个主机操作系统(OS)任务调度程序135,一个RX缓冲器140和一个RX DSP任务145。
由TX DSP任务130生成的发射数据样本先由TX缓冲器125存储,然后再发送到D/A转换器105。RX缓冲器140存储要由RX DSP任务145处理的A/D转换器110数据样本。在主机处理器的存储器中同时实现了TX缓冲器125和RX缓冲器140。TX DSP任务130和RX DSP任务145由主机处理器101执行并由主机OS任务调度程序135调度。
请求通常以中断的形式,定期地或在TX缓冲器125中的样本数量低于执行TX DSP任务130的阈值时,生成到主机OS任务调度程序135中。类似地,RX任务145的请求定期地或在RX缓冲器140中的样本数量高于阈值时生成。
在主机处理器环境中,尽管在最坏情况下调度等待时间很长,但通常情况要比最坏情况小一到两个数量级。本发明的优选实施例利用这一事实来减少调度等待时间的影响。
通过使RX缓冲器140保持很大,可以将RX缓冲器140过载运行的问题降到最低程度。优选情况下,RX缓冲器140足够大以处理最坏情况下的中断等待时间,RX DSP任务145严重延迟的异常情况除外。如图2所示,每次执行RX DSP任务145时,它都处理整个RX缓冲器140并将解码数据传送到上一层应用150。由于使用所接收的解码数据的上一层应用150和RX DSP任务145相比,通常具有较低的调度优先级,只要完成RX DSP任务145的时间不是特别长,则RX DSP任务145调度等待时间在上一层应用150看来不会大幅度增加延迟。RX DSP任务145只会受到较高优先级任务的阻碍,而该较高优先级的任务也会阻碍上一层应用150的执行。
在RX DSP任务145严重延迟的异常情况下,RX缓冲器140中的样本数量可能会因过多而无法处理。在本发明的优选实施例中,在155过程监视RX缓冲器140中的样本数量。如果在执行RX DSP任务145时样本数量超过某个阈值,则在过程160中,放弃/清除RX缓冲器140中的一些样本,以减少需要处理的数量。放弃一些样本可能会导致所接收的数据流中出现小故障。但是,在多数情况下,这种不常发生的小故障可以由较高层的重传协议消除,或者可以忽略掉。
关于TX缓冲器125欠载运行的问题,不必在TX缓冲器125中保留许多样本,因为这样会增加端到端传输延迟。在本发明的优选实施例中,不必完全避免TX缓冲器的欠载运行。如图3所示,每次执行TX DSP任务130时,它都是只生成足够的TX数据样本,以便TX缓冲器125中的数据样本数量达到某个阈值。当TX缓冲器125充满时,TX DSP任务130不延迟。
此外,在TX缓冲器125的末端附加了填充样本165。填充样本165这种模式至少对远端接收器会造成破坏(例如,对于ADSL,这可能是一个同步符号)。结果,TX缓冲器欠载运行导致发送填充样本165,这只会在远端接收器(未示出)中产生可恢复的小故障。TX缓冲器阈值的作用是,使得TX缓冲器不因为一般的调度延迟而发生欠载运行,也就是说,TX缓冲器欠载运行不经常发生。
显然,设置TX缓冲器阈值,关键是在延迟和发生小故障二者之间找到最佳平衡点。为此,本发明的优选实施例根据主机处理器的速度和负载情况,自适应调整阈值设置。为了根据主机处理器的速度和负载对阈值进行自适应调整,每次执行TX DSP任务130时,都通过170对TX缓冲器125的深度进行监视。每次执行TX DSP任务130时,都记录存储在TX缓冲器125中的数据样本的数量。TX缓冲器125的深度用做TX缓冲器阈值调整的度量标准。可以采用几种算法来完成TX缓冲器阈值调整。这些算法的基本原理是,当TX缓冲器125的深度太小时,提高阈值,反之亦然。例如,用户可以记录10秒钟时间间隔内TX缓冲器欠载运行的次数。如果TX缓冲器欠载运行的次数超过预定值或大于特定的设计目标(例如,在10秒钟的时间间隔内,用户希望欠载运行只发生3次),则提高TX缓冲器阈值。为了提高TX缓冲器阈值,TX缓冲器125在接下来执行的TX DSP任务130后面,排队了额外的数据样本。
再举一个例子,计算指定时间段(例如,1秒种的时间段)内TX缓冲器125的平均深度。如果所计算的平均深度小于指定的设计目标,则提高TX缓冲器阈值。
除了已由本发明的优选实施例用上述方法解决的缓冲器欠载运行/过载运行问题外,调度等待时间还给实现ADSL标准所要求的发射信号和接收信号之间的时间对准造成困难。如图4所示,从A段到B段的下行信号175中以及从a段到b段的上行信号180中存在状态跃迁。例如,如果使用ADSL标准,段A可能是G.992.2中定义的C-REVER3信号,段B可能是C-SEGUE1信号,段a可能是R-REVERB2信号,而段b可能是R-SEGUE1信号。从电话线来看,上行信号180中的a/b跃迁应该与下行信号175中的A/B跃迁同时发生。由于RX缓冲器125和TX缓冲器140中的调度等待时间和相对长的延迟,无法使客户端调制解调器一旦检测到下行信号175中的A/B跃迁,便开始为段b生成TX数据样本。
参照前面的图1,在D/A转换器105和A/D转换器110之间锁定了采样时钟115,即,两个采样时钟115的来源相同。此外,还锁定了TX任务130和RX任务145的调度,即,TX或RX中断用于调度TX DSP任务130和RX DSP任务145。这样,本地发射延迟和本地接收延迟(例如,本地回波路径延迟)二者之和是常量,表明这个值不随调度延迟而变化。这是因为,延迟的中断业务在TX缓冲器125中的数据样本以固定的采样速率进入D/A转换器105时引起发射延迟缩短。发射延迟的这种缩短,与A/D转换器110中的样本以完全相同的速度送入RX缓冲器140时产生的接收延迟的延长完全对应。应该注意的是,固定的本地回波路径延迟是样本数量与相应采样间隔的乘积,而不只是样本数量。进行这种区分是有必要的,因为TX和RX采样速度可能不同。特别是对于ADSL调制解调器,固定本地回波路径延迟可以用符号表示,因为,ADSL符号率对于下行和上行是相同的。
除了锁定本地回波路径延迟之外,本发明的优选实施例还根据“向前看”方案185驱动TX DSP任务130。换言之,本发明的优选实施例预测下一个发射状态跃迁,并且在接收/处理相应的RX信号之前,在TX缓冲器125排队适当的发射信号。特别是,如果“D”是用符号表示的延迟常量和,则需要“D符号向前看”方案185。参照前面的示例,TX DSP任务130开始为段b“D”符号生成样本的时间要早于在下行信号175中检测到A/B跃迁的时间。
D符号向前方案连同锁定TX和RX采样时钟/处理共同保证在下行信号175和上行信号180之间的对准。要对此进行验证,可以考虑发射延迟是零而接收延迟是“D”符号的情况。上述“D符号向前看”方案185明确保证在这种特定情况下的对准。在一种更常见的情况中,当发射延迟为d>0时,接收延迟必须是D-d,在线路中出现A/B跃迁之前,TX DSP任务130将段b的第一个样本排队到TX缓冲器125的D-(D-d)=d符号后面。由于此处的TX延迟是d,所以,a/b跃迁和A/B跃迁同时发生。
为了使“D符号向前看”方案185可行,TX DSP任务130必须在RX DSP任务145处理相应的RX信号之前,知道哪些TX样本需要生成“D”符号。在上例中,RX DSP任务145需要在处理完段A的最后一个符号之前,知道下行信号175中的A/B跃迁何时出现“D”符号。在向TX DSP任务130发送信号以结束发送上行信号段a并开始发送段b时,需要此信息。该问题可以用以下3种方法之一解决。
首先,RX信号中较早的状态跃迁用于预测下一个状态跃迁。有时,在前一个状态跃迁和即将到来的状态跃迁之间是已知的固定数量的符号。通过计算所接收符号的数量,可以精确预测即将出现的状态跃迁。因此,利用接收信号中的前一个状态跃迁来预测即将出现的状态跃迁,发射任务可以知道需要生成哪些发射样本,其中接收信号在前一个状态跃迁和即将出现的状态跃迁之间具有已知的固定数量的符号,并且通过对所接收的符号计数,可以精确预测即将出现的状态跃迁。
其次,某些情况下,RX DSP任务145也许能生成早期决策。调制解调器100需要一检测到信号段A的出现就开始发送段b的情况就是一个例子。在这种情况下,RX DSP任务145需要在观测到信号段的最后一个符号之前就能检测信号A。这通常是可能的,特别是对信号段A是音频信号的情况。因此,发射任务通过检测某些接收信号;在某些接收信号停止之前确定某接收信号,至少是D符号的出现;以及一旦确定了某接收信号的出现,便发送对该信号的响应,得以知道需要生成哪些发射样本。
第三,在某些情况下,从A到B的状态跃迁是已知的(可以预测),但信号b的内容则取决于接收的信号A。例如,调制解调器100用段A估计某些信道参数,段b中发送的上行信号180则取决于该估计的结果。在这种情况下,本发明中的调制解调器100不使用段A末尾的“D”符号进行估计,例如,信道估计在段A结束之前停止D符号,提前停止的估计的结果用于生成上行信号中的段b。因此,发射任务通过估计某些信道参数;在相应的接收信号结束之前,提前停止估计D符号的步骤;以及使用提前停止的估计结果生成即将出现的状态跃迁,得以知道需要生成哪些发射样本。
因此,本发明的优选实施例通过锁定本地回波路径延迟,并根据“向前看”方案驱动发射状态跃迁进行时间对准。如上所述,即使中断等待时间变化,本地发射延迟和本地接收延迟之和也是固定的。
假定“D”是固定的本地回波路径延迟(单位为符号),则实施“D符号向前看”方案。换言之,在接收器处理相应远端信号之前的第D个符号时,发射信号先排队。这种形式确保发射信号能立即出现在电话线上。
虽然说明本发明时结合了具体实施例,但本发明对那些专业人员还具有其他的优点和改进。例如,如图5所示,本发明的优选实施例可以体现在存储了指令集合的存储介质185中,根据本发明的优选实施例,当将存储介质装入微处理器190中时,会使微处理器190执行各种功能(其中一些将在下面说明)。
其中存储了指令集合的存储介质185,会使微处理器190执行发射任务;生成数据样本,使得发射缓冲器中数据样本的数量达到预定的缓冲器阈值;在发射缓冲器的末端附加填充样本;在发射缓冲器欠载运行时将填充样本发射到远端接收器,其中,发射缓冲器在发射缓冲器中的数据样本减少时出现欠载运行。
其中存储了指令集合的存储介质185,会使微处理器190执行接收任务;处理接收缓冲器中的数据样本;监视接收缓冲器中数据样本的数量;以及,如果接收缓冲器中的数据样本数量在执行接收任务时超过了阈值,清除接收缓冲器中的部分数据样本。
其中存储了指令集合的存储介质185,使微处理器190以发射采样速率从发射缓冲器向数/模转换器传送发射数据样本;以接收采样速率从模/数转换器向接收缓冲器传送接收数据样本;锁定数/模转换器和模/数转换器之间的采样时钟,使数/模转换器和模/数转换器的时钟来源相同;以及锁定发射任务和接收任务之间的调度程序,使得本地发射延迟和本地接收延迟之和为常量。
从更广泛意义看,本发明不限于所说明和描述的这些特定的细节、代表装置以及图示的示例。熟练的专业人员可以根据前面的说明,进行各种转换、修改和改变。因此,应该这样理解本发明,即它不限于前面的描述,而是根据附加的权利要求的要点和范围,可以包括所有的转换、修改和改变。
权利要求
1.一种容许在主机处理器上所实现的高速调制解调器中存在调度等待时间的方法,其特征在于执行发射任务;生成数据采样,使得发射缓冲器中的数据采样数量达到预定的缓冲器阈值;在发射缓冲器末尾附加填充样本;以及在发射缓冲器欠载运行时向远端接收器发射填充样本,其中,发射缓冲器在发射缓冲器中的数据样本减少时发生欠载运行。
2.根据权利要求1的方法,其特征在于,可以根据主机处理器速度和负载,在每次执行发射任务时,通过监视发射缓冲器的深度,对预定缓冲器阈值进行适应性调整,其中,发射缓冲器的深度历史记录用做预定阈值调整的度量标准。
3.根据权利要求3的一种方法,其特征在于,当发射缓冲器的深度过小时,提高预定缓冲器阈值。
4.根据权利要求4的一种方法,其特征在于,通过在发射缓冲器中在接下来要执行的发射任务后面排队额外的数据样本,来提高预定缓冲器阈值。
5.根据权利要求3的方法,还具有如下特征在指定时间间隔计算发射缓冲器的平均深度;以及如果平均深度低于预定值,则提高预定缓冲器阈值。
6.一种容许在主机处理器上所实现的高速调制解调器中存在调度等待时间的方法,其特征在于执行接收任务;处理接收缓冲器中的数据样本;监视接收缓冲器中数据样本数量;以及如果执行接收任务时,接收缓冲器中的数据样本数量超出了阈值,则清除接收缓冲器中的部分数据样本。
7.一种容许在主机处理器上所实现的高速调制解调器中存在调度等待时间的装置,其硬件特征在于一个数/模转换器;一个模/数转换器;一个在数/模转换器和模/数转换器之间的采样时钟,以便从一个共同的时钟来源操纵数/模转换器和模/数转换器;以及一个线路耦合器,耦合到数/模转换器和模/数转换器。
8.根据权利要求7的装置,其软件特征在于一个发射缓冲器,耦合到数/模转换器;一个发射任务,耦合到发射缓冲器;一个接收缓冲器,耦合到模/数转换器;一个接收任务,耦合到接收缓冲器,以及一个主机操作系统调度程序,耦合到发射任务和接收任务,以便锁定任何对发射任务和接收任务的调度。
9.一个其中存储有指令集合的存储介质,当加载到微处理器中时,会使微处理器执行下列功能执行发射任务;生成数据样本,使得发射缓冲器中的数据样本数量达到预定的缓冲器阈值;以及在发射缓冲器的末尾附加填充样本;并且在发射缓冲器欠载运行时向远端接收器发送填充样本,其中,当发射缓冲器中的数据样本减少时,出现发射缓冲器欠载运行。
10.一个其中存储有指令集合的存储介质,当加载到微处理器中时,能使微处理器执行下列功能;执行接收任务;处理接收缓冲器中的数据样本;监视接收缓冲器中的数据样本数量;如果在执行接收任务时,接收缓冲器中的数据样本数量超出了阈值,则清除接收缓冲器中的部分数据样本。
11.一个其中存储有指令集合的存储介质,当加载到微处理器中时,会使微处理器执行下列功能以发射样本速率将发射数据样本从发射缓冲器传送到数/模转换器;以接收样本速率将接收数据样本从模/数转换器传送到接收缓冲器;在数/模转换器和模/数转换器之间锁定一个采样时钟,使得数/模转换器和模/数转换器的时钟来源相同;以及在发射任务和接收任务之间锁定一个调度程序,使得本地发射延迟和本地接收延迟之和保持为常量。
全文摘要
本发明的优选实施例提供了一种方法和装置,用于处理主机处理器(101)上所实现的高速调制解调器(100)中存在的调度等待时间。利用本发明,容许主机操作系统135出现长时间的调度等待时间,但不会引起端到端的长时间传输延迟。此外,即使调度延迟时间长并且变化不定,也可以实现下行信号(175)和上行信号(180)之间的时间对准。
文档编号H04L12/56GK1342357SQ00804621
公开日2002年3月27日 申请日期2000年2月2日 优先权日1999年2月3日
发明者杨建(音泽), 凡卡特拉曼·高帕尔·克里施南 申请人:摩托罗拉公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1