防止非对称数字用户线调制解调器挂起的方法及装置的制作方法

文档序号:7660835阅读:186来源:国知局
专利名称:防止非对称数字用户线调制解调器挂起的方法及装置的制作方法
技术领域
本发明涉及调制解调器(MODEM)的通讯技术,尤其涉及一种防止非对 称数字用户线(Asymmetric Digital Subscriber Line, ADSL ) MODEM挂起的方 法及装置。
背景技术
随着ADSL的快速发展,ADSL用户数量急剧增多,ADSL MODEM的应用 量也在不断增加。然而,由于ADSL线路本身存在很多干扰,ADSL MODEM 为了处理这些干扰,往往会占用设备很多资源,同时,由于计算机病毒的存在, 经常会导致网络拥塞,ADSL MODEM为了处理大量网络拥塞数据,往往会消 耗很多设备资源。如果ADSL MODEM设备资源被耗尽,就会导致ADSL MODEM的某些模块(Module )对用户请求无响应,而此时,ADSL MODEM 就会表现为完全不能被管理的状态,也就是用户常说的挂起或假死机状态。解 决的办法只能是手工重新关开ADSLMODEM电源,重新启动后才得以恢复正 常。
图1 (a)为现有的ADSL MODEM系统结构图。设备模块(Module)是指 以太网接口模块、USB接口模块、数字用户线(DSL)接口模块等一些软硬件 模块,这些模块通过直接内存存取(Direct Memory Access, DMA)控制器与内存
(SDRAM)之间进行数据交换,DMA控制器与内存之间通过DMA总线相连。 主控单元(Main Control Unit, MCU)与内存、DMA控制器、设备模块控制信 号相连,主控单元与内存之间数据总线相连。主控单元通过控制指令实现对 DMA控制器的控制。图1 (b)为主控单元的基本组成图,包括处理器单元
(processor),内存管理单元(MMU)、寄存器单元(SRAM)、只读引导单元
(BootROM)等。处理器单元用于处理程序指令;内存管理单元用于进行内存 管理;寄存器单元用于緩存中间数据、存储数据地址、进行数学运算等操作; 只读引导单元用于系统上电引导、初始化等;
在实际使用中,当DMA资源被各种模块占满时,MCU便无法对MODEM 的各个模块进行管理,导致MODEM表现为挂起状态。
DMA资源主要是指各模块的DMA控制器中的緩沖队列的剩余空间。以以 太网接口模块和数字用户线接口模块为例,当计算机中的应用程序需要通过
MODEM向网络发送数据时,首先要通过以太网接口模块的DMA控制器将待 传送数据存入内存,然后再由内存通过数字用户线接口模块的DMA控制器传 送给数字用户线接口模块,由数字用户线接口模块进行调制发送。DMA控制器 内部包含有緩沖队列,当DMA控制器内部的緩冲队列达到一定使用门限,如 98%以上时,可以认为该DMA控制器的资源已经枯竭或该DMA控制器处于 满负荷工作状态,若DMA控制器长时间处于满负荷工作状态,则说明该DMA 控制器有可能已经被阻塞,无法响应新的请求,此种状态通常称之为挂起。
ADSL MODEM的使用分散,不利于集中管理。尽管目前ADSL MODEM远 程网管技术正在逐步被电信运营商所关注,但是目前远程网管技术还不够成熟, 尤其是对于ADSL MODEM处于挂起状态时,目前网管技术还没有办法解决。

发明内容
有鉴于此,本发明的目的之一是提供一种防止非对称数字用户线调制解调 器挂起的方法,使用该方法能够解决ADSL MODEM挂起后不能自动恢复的技 术问题。
为达到上述目的,本发明的技术方案是这样实现的
一种防止非对称数字用户线调制解调器挂起的方法,其特征在于,包括如 下步骤,
A、 在内存中分配资源状态保护区;
B、 读取直接内存存取控制器的资源状态并将其保存到所述资源状态保护
区中;
c、根据所述保存在资源状态保护区中的直接内存存取控制器的资源状态,
判断所述直接内存存取控制器是否处于挂起状态,若是,则指令执行清空操作,
否则执行步骤B。
基于上述方案,所述资源状态保护区为独立、非共享的内存区域。
基于上述方案,步骤B在执行所述读取步骤之前,还包括步骤 Bl、设置监控循环次数; 步骤C具体分解为如下步骤
Cl、读取所述资源状态保护区中的直接内存存取控制器的资源状态,判断 所述直接内存存取控制器是否处于满负荷工作状态;若是,则执行步骤C2,否 则,执行步骤B1;
C2、对所述满负荷工作状态计数,当所述直接内存存取控制器连续处于满 负荷工作状态的次数大于等于所述监控循环次数时,则执行步骤C3,否则执行 步骤B2;
C3 、指令所述直接内存存取控制器执行清空操作,然后执行步骤B1 。 基于上述方案,步骤C2中,在进行所述满负荷工作状态计数之前,还包 括延时的步骤。
本发明的另 一 目的是提供一种防止非对称数字用户线调制解调器挂起的装 置。为达到上述目的,本发明的技术方案是这样实现的
一种防止非对称数字用户线调制解调器挂起的装置,包括 主控单元、内存、直接内存存取控制器、设备模块,所述主控单元中包括 处理器单元、寄存器单元、内存管理单元,其特征在于,在所述主控单元中还 包含监控单元,用于对各设备模块的直接内存存取控制器的资源状态进行监控; 所述内存中包含资源状态内存保护区,用于保存所述直接内存存取控制器的资 源状态。
基于上述方案,所述监控单元包括
状态监控模块,用于读取直接内存存取控制器的资源状态并写入所述资源
述直接内存存取控制器是否挂起;
清空处理模块用于控制所述直接内存存取控制器执行清空操作;
当所述直接内存存取控制器挂起时,所述状态监控模块向清空处理模块发
送清空指令,所述清空处理模块依据所述清空指令控制所述内存存取控制器执
行清空操作。
基于上述方案,所述监控单元还包括用于设定连续监控次数的监控设置模 块,所述状态监控模块依据所述设定的连续监控次数连续循环^r测所述直接内 存存取控制器是否处于挂起状态。
基于上述方案,所述监控单元还包括用于设定在所述循环内延迟时长的延 迟设定模块。
由于采用了以上的技术方案,监控单元能够在MODEM挂起时及时的清空 DMA的緩冲队列,使MODEM在无需人为干预的情况下自动恢复到可管理的 状态,大大降低了人为重启设备的次数,提高了设备的可靠性,同时也提高了 用户的满意度。


图1 ( a)为现有ADSL MODEM的系统结构图1 (b)为现有ADSL MODEM中MCU的组成结构图2 ( a)为本发明ADSL MODEM的系统结构图2 (b)为本发明ADSL MODEM中MCU的组成结构图3为本发明提出的防止ADSL MODEM挂起的方法流程图4为本发明提出的防止ADSL MODEM挂起的装置结构图。
具体实施例方式
下面根据附图和实施例对本发明作进一步详细说明
本发明的核心思想是,在内存中分配一独立的存储空间用于记录各设备模
块的DMA资源状态,对DMA资源的状态进行监控,当DMA资源长期处于枯 竭状态时,由MCU主动发出控制指令,使得处于资源枯竭状态的DMA控制 器复位,清空该DMA的緩冲队列,从而得该DMA控制器恢复正常状态。
图2 (a)为本发明提出的ADSL MODEM系统结构,其在现有ADSL MODEM系统结构的基础上,在内存中预留了一块内存用于标识DMA的资源 状态,该预留内存称为资源状态内存保护区。图2 (b)为本发明提出的ADSL MODEM系统结构中MCU的结构图,其中添加了 一个监控单元,该监控单元 用于对DMA资源进行监控,以及在DMA资源枯竭时负责通知MCU。
为了保证资源状态内存保护区不被其他资源占用,在芯片控制程序的设计 上需将该区域隔离,除了 DMA资源状态监控单元外,禁止其它单元模块写入、 修改、删除该区域内的内容,即该区域是一块独立的、对于其它设备模块来说 是非共享的内存区域。
以下结合图3,对本发明的步骤流程进行详细描述,以下步骤流程针对单 个模块的DMA资源,若需要对MODEM中多个模块的DMA资源状态进行监 控,则需要开启多个监控循环或以模块数为外层循环次数进行循环嵌套,以监 控每一个模块的DMA资源状态。
步骤1:监控循环次lt赋初始值;
设置监控次数的目的是使得监控单元能够以一定的时间间隔读取DMA资 源状况。根据MODEM的具体性能参数选取合适的监控次数值,当DMA控制 器的緩冲队列较大、MCU处理速度较快时可以将监控次数值设大一点,反之, 则设小。本发明一具体实施例中设置为5。由于在监控循环内一般需进行延时, 因此,监控次数和循环内时延合作作用的含意是,在指定时间长度内进行连续 n次检测,连续n次检测DMA资源都处于满负荷运行状态时,则判断为该模块 的DMA控制器为挂起状态,外在表现即为该MODEM无响应,处于挂起状态。 步骤2:读耳又DMA资源状况,并记录在资源状态内存保护区中; 步骤3:判断各模块的DMA资源状态是否枯竭;若是,则执行步骤4,若 否,则^L行步骤1;
由MCU当中的监控单元负责监控DMA资源状况,监控单元首先通过中 断调用读取指定模块的DMA控制器的緩沖队列的使用状态,并将其状态值写 入到资源状态内存保护区中;然后再根据资源状态内存保护区中保存的状态值 判断DMA资源是否处于枯竭状态,若处于枯竭状态,则继续循环计数,若未 枯竭则跳出计数循环,重新执行步骤l。
本发明一最佳实施例中,当DMA緩沖队列剩余空间为0时被认为是DMA 资源枯竭状态。也可以设定一门限,如当緩冲队列使用率大于等于98%时认为 DMA资源枯竭状态。如果连续n次读取DMA緩冲队列剩余空间不为0,则说 明该模块的DMA资源可以自我释放,该模块处于正常工作状态,此时,则跳 出该计次监控循环,重新对n赋值,以进行下一轮监控循环。
步骤4:进行延时;
本发明设置监控循环次数的目的是在离散的时刻点判断DMA资源的状态, 在循环内设置延时主要是为了在足够长的时间内进行判断。因为,某些时间段, 设备任务量比较大,DMA控制器处于满负荷,但并没有处于挂起的状态,Module 仍处于正常处理的状态,如果读取时间间隔很短,很容易造成误判,设置延时 可以保证有足够的判断间隔,减少误判的几率。
步骤5:监控循环次数减l;
监控单元进行计数减1,本发明不限制计数的方式,可以采用降序计数循 环方式,也可以采用升序计数循环方式。
步骤6:判断计数是否为0;若为0则执行步骤7,若不为0则执行步骤2;
当计数为0时,表明连续n次检测,该模块的DMA资源都处于枯竭状态, 这种情况即被认为是MODEM挂起状态,需要对该模块的DMA控制器进行清 空操作,从而保证该DMA的数据存取通畅,进而保证MCU对该模块的管理。
步骤7:清空DMA,然后执行步骤l。
由监控单元向模块的DMA控制器发送清空指令,DMA控制器根据指令做 清空緩冲队列等清空操作,以使DMA控制器重新处于可管理状态。
图4为本发明中监控单元的组成结构图,监控单元主要包括监控设置模
块、状态监控模块、清空处理模块、时延模块。状态监控模块用于读取DMA
控制器的资源状态并写入所述资源状态内存保护区,并依据写入资源状态内存 保护区中的资源状态判断所述直接内存存取控制器是否处于挂起状态。监控设 置模块用于设定连续监控次数,为了防止误判,由监控设置模块设定一个连续
监控次数N,当状态监控模块连续N次检测到某个设备模块的DMA控制器处 于满负荷状态时,则向清空处理模块发送清空指令,指令该DMA控制器执行 清空操作。时延模块用于在两次检测之间进行时间延迟,增大检测间隔时间, 防止误判。监控设置模块可根据不同的设备模块的性能设置不同的监控次数值, 可以采用默认值的方式,也可以人为重新设置。时延设定模块用于设定在所述 循环内延迟时长,延迟时长可以采用默认值的方式,也可以人为重新设置。
本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下, 本领域技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改 变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1、一种防止非对称数字用户线调制解调器挂起的方法,其特征在于,包括如下步骤,A、在内存中分配资源状态保护区;B、读取直接内存存取控制器的资源状态并将其保存到所述资源状态保护区中;C、根据所述保存在资源状态保护区中的直接内存存取控制器的资源状态,判断所述直接内存存取控制器是否处于挂起状态,若是,则指令执行清空操作,否则执行步骤B。
2、 根据权利要求1所述的防止非对称数字用户线调制解调器挂起的方法, 其特征在于,所述资源状态保护区为独立、非共享的内存区域。
3、 根据权利要求1所述的防止非对称数字用户线调制解调器挂起的方法, 其特征在于,步骤B在执行所述读取步骤之前,还包括Bl、设置监控循环次数; 步骤C具体为Cl、读取所述资源状态保护区中的直接内存存取控制器的资源状态,判断 所述直接内存存取控制器是否处于满负荷工作状态;若是,则执行步骤C2,否 则,执行步骤B1;C2、对所述满负荷工作状态计数,当所述直接内存存取控制器连续处于满 负荷工作状态的次数大于等于所述监控循环次数时,则执行步骤C3,否则执行 步骤B2;C3、指令所述直接内存存取控制器执行清空操作,然后执行步骤B1。
4、 根据权利要求3所述的防止非对称数字用户线调制解调器挂起的方法, 其特征在于,步骤C2中,在进行所述满负荷工作状态计数之前,还包括延时 的步骤。
5、 一种防止非对称数字用户线调制解调器挂起的装置,包括 主控单元、内存、直接内存存取控制器、设备模块,所述主控单元中包括 处理器单元、寄存器单元、内存管理单元,其特征在于,在所述主控单元中还包含监控单元,用于对各设备冲莫块的直接内存存取控制器的资源状态进行监控;所述内存中包含资源状态内存保护区,用于保存所述直接内存存取控制器的资 源状态。
6、 根据权利要求5所述的防止非对称数字用户线调制解调器挂起的装置, 其特征在于,所述监控单元包括状态监控模块,用于读取直接内存存取控制器的资源状态并写入所述资源述直接内存存取控制器是否挂起;清空处理模块用于控制所述直接内存存取控制器执行清空梯:作;当所述直接内存存取控制器挂起时,所述状态监控模块向清空处理模块发送清空指令,所述清空处理模块依据所述清空指令控制所述内存存取控制器执行清空操作。
7、 根据权利要求6所述的防止非对称数字用户线调制解调器挂起的装置, 其特征在于,所述监控单元还包括用于设定连续监控次数的监控设置模块,所 述状态监控模块依据所述设定的连续监控次数连续循环检测所述直接内存存取 控制器是否处于挂起状态。
8、 根据权利要求7所述的防止非对称数字用户线调制解调器挂起的装置,模块。
全文摘要
本发明涉及调制解调器通讯技术,尤其涉及一种防止非对称数字用户线调制解调器挂起的方法及装置。本发明通过增加监控单元及在内存中预留资源状态内存保护区,达到对各模块的DMA资源进行监控的目的。本发明设置计次延时监控循环,在循环内读取各模块的DMA资源状态,当连续检测设定次数,DMA资源都处于枯竭状态时,则指令DMA做清空操作,从而恢复对设备模块的控制。本发明可以有效解决MODEM时常挂起的问题。
文档编号H04L12/26GK101110785SQ200710147530
公开日2008年1月23日 申请日期2007年8月23日 优先权日2007年8月23日
发明者任立忠 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1