公开/公告号CN101645057A
专利类型发明专利
公开/公告日2010-02-10
原文格式PDF
申请/专利权人 中兴通讯股份有限公司;
申请/专利号CN200810146207.4
申请日2008-08-06
分类号G06F13/42;
代理机构北京安信方达知识产权代理有限公司;
代理人龙洪
地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法律部
入库时间 2023-12-17 23:27:13
法律状态公告日
法律状态信息
法律状态
2018-08-28
未缴年费专利权终止 IPC(主分类):G06F13/42 授权公告日:20120718 终止日期:20170806 申请日:20080806
专利权的终止
2012-07-18
授权
授权
2010-04-14
实质审查的生效 IPC(主分类):G06F13/42 申请日:20080806
实质审查的生效
2010-02-10
公开
公开
技术领域
本发明涉及计算机通信领域,尤其涉及计算机通信硬件平台中防止CPU局域总线(Local Bus)挂死的方法及装置。
背景技术
计算机通信硬件平台中CPU(主设备)通过微处理器接口访问外围设备(从属设备)时,为了保证主从设备之间正常通讯协调工作,主从设备之间一般有两种传输响应方式:
(1)CPU产生TA信号,以结束与从属设备的读或写操作。CPU通过微处理器接口对从属设备进行读写访问时,由CPU内部寄存器设置一个固定的等待周期,每次读写操作过程中这个固定的等待周期来到时,CPU产生TA信号,结束此次读或写操作。
(2)从属设备产生TA信号。与CPU通过微处理器接口进行通信的从属设备向CPU发送TA信号,通知CPU此次读写操作结束,可以开始下一次读写操作。
在对微处理器接口的通信效率要求较高的应用中,一般都会选择第二种传输响应方式即TA信号由从属设备生成的方式。如图1所示,从属设备逻辑处理单元将各个从属设备发出的TA信号进行逻辑处理,转换为符合CPU读写时序要求的TA信号后发送给CPU。通常情况下,从属设备都会正常输出TA信号,但是当从属设备由于忙于处理内部中断或DMA(直接存储存取方式)调度不及时、或者从属设备发生故障时,会出现CPU在对从属设备一次读写操作访问的最大时间内,从属设备无法输出TA信号的情况。这样就会造成CPU的局域总线挂死,从而造成系统无法正常工作。
发明内容
本发明要解决的技术问题是提供一种防止CPU局域总线挂死的方法及装置,防止由从属设备提供TA信号时,由于从属设备不能按时输出TA信号导致CPU挂死。
为了解决上述问题,本发明提供了一种防止CPU局域总线挂死的方法,包括:从属设备逻辑处理单元判断从属设备超时未发送TA信号时,构造符合CPU时序的TA信号并发送给CPU。
进一步地,所述从属设备逻辑处理单元设置计数器以及计数阈值,在从属设备与CPU开始读写操作时,将计数器清零并开始计数,在计数器到达计数阈值时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号;或者,所述从属设备逻辑处理单元设置定时器以及定时时间,在从属设备与CPU开始读写操作时,启动定时器,在定时器到达定时时间时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号。
进一步地,所述从属设备逻辑处理单元判断从属设备超时未发送TA信号后,通过中断通知CPU从属设备处于异常状态。
进一步地,所述从属设备逻辑处理单元设置TA标志位,将所述TA标志位默认为从属设备正常状态,在判断从属设备超时后未发送TA信号后,设置所述TA标志位为从属设备异常状态。
进一步地,所述从属设备逻辑处理单元在计数器未达到阈值时或定时器未达到定时时间时,收到从属设备的TA信号后,将此TA信号转换为符合CPU时序的TA信号发送为CPU,并将TA标志位设置为从属设备正常状态。
进一步地,CPU收到从属设备逻辑处理单元发送的TA信号后,结束与所述从属设备的读写操作,读取TA标志位,如果TA标志位为从属设备正常状态,获知从属设备读写正常,如果TA标志位为从属设备异常状态,获知从属设备读或写异常。
进一步地,CPU读取完所述TA标志位后,将所述TA标志位设置为从属设备正常状态。
为了解决上述问题,本发明还提供了一种防止CPU局域总线挂死的装置,包括依次相连的CPU、从属设备和从属设备逻辑处理单元,所述从属设备逻辑处理单元,用于判断从属设备超时未发送TA信号时,构造符合CPU时序的TA信号并发送给CPU。
进一步地,所述从属设备逻辑处理单元,还包含一计数器单元,用于设置计数器以及计数阈值,在从属设备与CPU开始读或写操作时,将计数器清零并开始计数,在计数器到达计数阈值时未收到从属设备的TA信号,则判断从属设备超时;或者,包含一定时器单元,用于设置定时器以及定时时间,在从属设备与CPU开始读写操作时,启动定时器,在定时器到达定时时间时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号。
进一步地,所述从属设备逻辑处理单元,还包含一标志位设置模块,用于设置TA标志位,在从属设备与CPU读或写操作开始时将所述TA标志位默认为从属设备正常状态,在所述从属设备逻辑处理单元判断从属设备超时未发送TA信号后,设置所述TA标志位为从属设备异常状态;所述CPU,用于收到从属设备逻辑处理单元发送的TA信号后,结束与所述从属设备的读写操作,读取TA标志位,如果TA标志位为从属设备正常状态,获知从属设备读写正常;如果TA标志位为从属设备异常状态,获知从属设备读写异常。
进一步地,所述从属设备逻辑处理单元,还包含一中断模块,用于在所述从属设备逻辑处理单元判断从属设备超时未发送TA信号后,以中断方式通知CPU从属设备异常。
进一步地,所述从属设备逻辑处理单元为复杂可编程逻辑器件或现场可编程门阵列。
本发明中防止CPU局域总线挂死的方法,适用于使用从属设备提供TA信号的应用,由于从属设备性能要求高时,出现不能及时输出TA信号的情况。在从属设备不能及时输出TA信号结束此次操作时,由从属设备逻辑处理单元构造TA信号结束读写操作,避免CPU局域总线挂死;还可以定位出故障设备,避免故障扩散,提高系统稳定性。
附图说明
图1是现有技术中TA信号产生方法的示意图;
图2是本发明中TA信号产生方法的示意图;
图3是本发明中TA信号的产生方法的流程图。
具体实施方式
本发明中从属设备逻辑处理单元判断从属设备超时未发送TA信号时,构造符合CPU时序的TA信号并发送给CPU,使CPU结束此次读写操作,防止由于从属设备不能按时输出TA信号导致CPU挂死。
如图2所示,本发明中防止CPU局域总线挂死的装置包括依次相连的CPU、从属设备和从属设备逻辑处理单元,
从属设备逻辑处理单元,包含一计数器单元,用于设置计数器以及计数阈值,在从属设备与CPU开始读写操作时,将计数器清零并开始计数,在计数器到达计数阈值时未收到从属设备的TA信号,则判断从属设备超时;计数阈值一般由CPU根据访问从设备的最大读写访问周期设置;或者,包含一定时器单元,用于设置定时器以及定时时间,在从属设备与CPU开始读写操作时,启动定时器,在定时器到达定时时间时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号。
从属设备逻辑处理单元,还包含一标志位设置模块,还用于在从属设备与CPU读或写操作开始时将所述TA标志位默认为从属设备正常状态,在从属设备逻辑处理单元判断从属设备超时后,设置所述TA标志位为从属设备异常状态;或者,包含一中断模块,用于在所述从属设备逻辑处理单元判断从属设备超时未发送TA信号后,以中断方式通知CPU从属设备异常。
所述CPU,用于收到从属设备逻辑处理单元发送的TA信号后,结束与所述从属设备的读写操作,读取TA标志位,如果TA标志位为0,获知从属设备读写正常,如果TA标志位为1,获知从属设备读写异常。TA标志位也可使用其他值指示从属设置读写正常或异常,本发明不作限定。从属设备逻辑处理单元由复杂可编程逻辑器件CPLD(ComplexProgrammable Logic Device)或现场可编程门阵列FPGA(Field-ProgrammableGate Array)实现。
如图3所示,本发明中防止CPU局域总线挂死的方法中,从属设备逻辑处理单元设置计数器和TA标志位,TA标志位的从属设备异常状态用1表示,从属设备正常状态用0表示(还可以有其它表示方式),具体包括以下步骤:
步骤301,从属设备逻辑处理单元在系统时钟上升沿时,检测是否有系统复位信号,如果没有复位信号,执行下一步;否则,将计数器置零,将TA标志为0,重新执行步骤301;
步骤302,检测从属设备相应的片选信号是否有效,如果无效,将计数器置零,将TA标志为0,返回步骤301;如果有效,执行下一步;
步骤303,在从属设备与CPU开始读写操作时,将计数器清零并开始计数;
步骤304,判断在计数器未到达计数阈值前是否收到从属设备的TA信号;如果是,转到步骤306,否则,执行下一步;
步骤305,判断从属设备超时,设置TA标志位为1,构造符合CPU时序的TA信号并发送给CPU;执行步骤307;
步骤306;从属设备逻辑处理单元设置TA标志位为0,将收到的TA信号转换为符合CPU时序的TA信号发送为CPU;
步骤307,CPU收到从属设备逻辑处理单元发送的TA信号后,结束与所述从属设备的读写操作,读取TA标志位;如果TA标志位为0,获知从属设备读写正常,如果TA标志位为1,获知从属设备读写异常,进行相应处理,流程结束。
CPU读取完所述TA标志位后,将从属设备逻辑处理单元的TA标志位设置为从属设备正常状态,以便下一次判断。
在另一实施例中,从属设备逻辑处理单元设置定时器以及定时时间,在从属设备与CPU开始读写操作时,启动定时器,在定时器到达定时时间时未收到从属设备的TA信号,则判断从属设备超时未发送TA信号;在定时器未达到定时时间时,收到从属设备的TA信号后,将此TA信号转换为符合CPU时序的TA信号发送为CPU,并将TA标志位设置为从属设备正常状态。
在另一实施例中,从属设备逻辑处理单元在判断从属设备超时未发送TA信号后,通过中断的方式通知CPU从属设备处于异常状态。
上述方法中,从属设备逻辑处理单元在从属设备不能及时输出TA信号时,构造TA信号并发送给CPU以结束读写操作,避免CPU局域总线挂死;从属设备逻辑处理单元通过计数器或定时器判断从属设备否超时,还可以用于定位出从属设备故障设备,避免故障扩散,提高系统稳定性。
本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明做出各种相应的改变和变形,这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
机译: 一种用于具有总线结构的局域网中的时钟同步的方法和电路装置。
机译: 防止有线局域网和无线局域网同时运行的方法和装置,特别是当无线局域网和有线局域网同时连接时,仅允许更快的有线局域网运行
机译: 一种防止CPU过热的装置和方法