一种系统总线设备响应超时的处理方法及超时处理装置与流程

文档序号:17555394发布日期:2019-04-30 18:34阅读:1252来源:国知局
一种系统总线设备响应超时的处理方法及超时处理装置与流程

本发明涉及总线设备领域,尤其涉及一种系统总线设备响应超时的处理方法及超时处理装置。



背景技术:

目前,通常使用一个或多个级联的总线互联模块实现各种总线设备的通信连接,这里的各种总线设备可以位于同一个片上系统(System on Chip,SoC)。图1为现有技术中SoC系统采用的总线互联模块的结构示意图,如图1所示,共有三个主设备和六个从设备,这里,三个主设备分别为主设备0、主设备1和主设备2,六个从设备分别为从设备3、从设备4、从设备5、从设备6、从设备7和从设备8;主设备和从设备之间通过两个总线互联模块实现通信连接,这两个总线互联模块为3主4从总线互联模块和1主3从总线互联模块,3主4从总线互联模块分别连接三个主设备、从设备3、从设备4、从设备5和1主3从总线互联模块,1主3从总线互联模块分别连接3主4从总线互联模块、从设备6、从设备7和从设备8。

通常情况下,总线设备都是基于图1所示的总线互联模块来实现相互之间的通信连接,例如,SoC系统中的中央处理器(CPU)、数字信号处理器(DSP)、高速智能外设(Intelligent Peripheral,IP)以及低速IP,都连接总线互联模块的相应的接口。

这里,主设备和从设备进行交互的过程为:主设备通过总线接口向总线互联模块发送数据请求,数据请求可以是读取从设备的数据或向从设备写入数据;总线互联模块通过对应的总线接口向从设备发送数据请求;从设备在对应的接口上接收数据请求,并对接收的数据请求进行响应,将响应信号通过对应的总线接口发送至总线互联模块,总线互联模块通过对应的总线接口将响应信号发送至主设备。

对于需求较为多样或设计较为复杂的电路,总线设备的种类或数量也就较多,功能也相对复杂;并且,这些总线设备所使用的IP可能来自不同的厂商,或是由不同团队所开发。虽然这些总线设备的接口都是基于标准总线协议进行开发的,但是总线设备还会在诸多外界因素的影响,如芯片管脚信号质量、单板受到的电磁干扰、外接设备的工作状态以及人工误操作等。在上述外界因素的影响下,总线设备可能会对总线发起的指令无法及时作出响应,即出现总线设备响应超时的情况。

现有的对总线设备响应超时进行处理的方案存在以下问题:只能根据相同的方式对各个总线设备进行响应超时处理,不能基于总线设备的重要性进行响应超时处理,容易降低总线设备响应超时的处理效率和总线设备恢复正常工作的效率。



技术实现要素:

为解决上述技术问题,本发明实施例期望提供一种系统总线设备响应超时的处理方法及超时处理装置,能够根据应用场景灵活地选择系统总线设备响应超时的处理策略,提高系统总线设备响应超时的处理效率。

本发明的技术方案是这样实现的:

本发明实施例提供了一种系统总线设备响应超时的处理方法,包括:

实时监测系统总线设备中从设备的响应时间;

被监测的从设备响应超时时,判断发生响应超时的从设备的重要性等级;

基于判断结果对所述发生响应超时的从设备进行处理。

上述方案中,所述实时监测系统总线设备中从设备的响应时间包括:设置至少一个超时处理装置,每个超时处理装置与系统总线设备的至少一个从设备相对应;利用各超时处理装置分别实时监测对应的从设备发出响应信号的时间。

上述方案中,所述发生响应超时的从设备的重要性等级为第一重要性等级或第二重要性等级;

所述基于判断结果对所述发生响应超时的从设备进行处理包括:如果所述发生响应超时的从设备的重要性等级为第一重要性等级,则对应的超时处理装置向总线互联模块上报超时信息,所述总线互联模块用于实现所述系统总线设备中主设备与从设备之间的数据交互;

如果所述发生响应超时的从设备的重要性等级为第二重要性等级,则对应的超时处理装置代替所述发生响应超时的从设备发出响应信号。

上述方案中,在对应的超时处理装置向所述总线互联模块上报超时信息之后,所述方法还包括:

所述总线互联模块对所述发生响应超时的从设备的预设影响范围内的每个总线设备进行复位处理。

上述方案中,所述发生响应超时的从设备的重要性等级为第二重要性等级时,所述方法还包括:对应的超时处理装置对所述发生响应超时的从设备进行复位处理,和/或,向所述总线互联模块上报超时信息。

上述方案中,所述对应的超时处理装置代替所述发生响应超时的从设备发出响应信号,包括:

如果当前所述发生响应超时的从设备处于命令传输阶段,则对应的超时处理装置代替所述发生响应超时的从设备发出响应信号;

如果当前所述发生响应超时的从设备处于数据传输阶段,则对应的超时处理装置代替所述发生响应超时的从设备发出响应信号,并判断当前所述发生响应超时的从设备的待传输数据包是否为本次数据传输的最后一个数据包;如果是本次数据传输的最后一个数据包,则对所述发生响应超时的从设备进行复位处理,和/或,向所述总线互联模块上报超时信息。

上述方案中,在实时监测系统总线设备中从设备的响应时间的同时,所述方法还包括:

判断所述系统总线设备中从设备的响应时间是否大于等于超时阈值,如果大于等于超时阈值,则被监测的从设备响应超时。

上述方案中,在实时监测所述系统总线设备中从设备的响应时间之前,所述方法还包括:

基于应用场景的需求,配置所述系统总线设备中的从设备的重要性等级。

本发明实施例还提供了一种超时处理装置,包括监测模块、判断模块和处理模块;其中,

监测模块,用于实时监测系统总线设备中从设备的响应时间;

判断模块,用于在被监测的从设备响应超时时,判断发生响应超时的从设备的重要性等级;

处理模块,基于判断结果对所述发生响应超时的从设备进行处理。

上述方案中,一个所述装置与系统总线设备的至少一个从设备相对应;

各个所述装置分别用于实时监测对应的从设备的响应时间。

上述方案中,所述发生响应超时的从设备的重要性等级为第一重要性等级或第二重要性等级;

所述处理模块,还用于在所述发生响应超时的从设备的重要性等级为第一重要性等级时,向总线互联模块上报超时信息,在所述发生响应超时的从设备的重要性等级为第二重要性等级时,代替所述发生响应超时的从设备发出响应信号;所述总线互联模块用于实现所述系统总线设备中主设备与从设备之间的数据交互。

上述方案中,所述总线互联模块,用于在接收到超时信息之后,对所述发生响应超时的从设备的预设影响范围内的每个总线设备进行复位处理。

上述方案中,所述处理模块,还用于在所述发生响应超时的从设备的重要性等级为第二重要性等级时,对所述发生响应超时的从设备进行复位处理,和/或,向所述总线互联模块上报超时信息。

上述方案中,所述处理模块,还用于在当前所述发生响应超时的从设备处于命令传输阶段时,代替所述发生响应超时的从设备发出响应信号;在当前所述发生响应超时的从设备处于数据传输阶段时,代替所述发生响应超时的从设备发出响应信号,并判断当前所述发生响应超时的从设备的待传输数据包是否为本次数据传输的最后一个数据包;如果是本次数据传输的最后一个数据包,则对所述发生响应超时的从设备进行复位处理,和/或,向所述总线互联模块上报超时信息。

本发明实施例提供的一种系统总线设备响应超时的处理方法及超时处理装置,由超时处理装置实时监测系统总线设备中从设备的响应时间,基于从设备的重要性对响应超时进行处理,如此,可以根据应用场景灵活地选择系统总线设备响应超时的处理策略,提高系统总线设备响应超时的处理效率。

附图说明

图1为现有技术中SoC系统采用的总线互联模块的结构示意图;

图2为本发明系统总线设备响应超时的处理方法的第一实施例的流程图;

图3为本发明系统总线设备响应超时的处理方法的第一实施例中总线传输格式的示意图;

图4为本发明系统总线设备响应超时的处理方法的第二实施例的流程图;

图5为本发明系统总线设备响应超时的处理方法的第二实施例中数据传输响应超时的处理流程图;

图6为本发明系统总线设备响应超时的处理方法的第三实施例中总线传输格式的示意图;

图7为本发明系统总线设备响应超时的处理方法的第三实施例中进行前两次传输时的流程图;

图8为本发明系统总线设备响应超时的处理方法的第三实施例中进行第三次传输时的流程图;

图9为本发明系统总线设备响应超时的处理方法的第三实施例中进行第四次传输时的流程图;

图10为本发明系统总线设备响应超时的处理方法的第三实施例中进行第五次传输时的流程图;

图11为本发明实施例超时处理装置的组成结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

第一实施例

图2为本发明系统总线设备响应超时的处理方法的第一实施例的流程图,如图2所示,该方法包括:

步骤200:实时监测所述系统总线设备中的从设备的响应时间。

这里,系统总线设备包括总线互联模块,至少一个主设备、至少一个从设备,主设备通过总线互联模块连接从设备,总线互联模块可以用于实现主设备和从设备之间的数据交互。

这里,主设备是系统总线设备中向总线互联模块发出数据请求的设备,数据请求可以是读取某一个从设备的数据或向某一个从设备写入数据;从设备是系统总线设备中接收来自总线互联模块的数据请求并对该数据请求进行响应的设备。主设备通过主接口连接总线互联模块,从设备通过从接口连接总线互联模块;需要说明的是,如果一个设备既支持主接口又支持从接口,则该设备在使用主接口进行通信时为主设备,在使用从接口进行通信时为从设备。

这里,从设备的响应时间指:从设备从接收总线互联模块的数据请求的时刻到当前时刻的时间长度。

具体地,所述实时监测所述系统总线设备中的从设备发出响应信号时间包括:设置至少一个超时处理装置,每个超时处理装置与系统总线设备的至少一个从设备相对应;利用各超时处理装置分别实时监测对应的从设备发出响应信号的时间。这里,超时处理装置与从设备可以是一一对应的关系,也可以一个超时处理装置对应多个从设备。

进一步地,可以配置超时处理装置的工作状态为开启状态或关闭状态,可以利用处于开启状态的超时处理装置对对应的从设备进行监测,不能利用处于关闭状态的超时处理装置对对应的从设备进行监测。这里,可以根据应用场景的需求,预先配置超时处理装置处于开启状态或关闭状态;需要说明的是,可以在实时监测所述系统总线设备中的从设备发出响应信号时间之前进行超时处理装置的工作状态的配置,也可以在改变应用场景时进行超时处理装置的工作状态的配置,也可以在不影响系统总线设备工作的情况下进行实时配置。

这里,在实时监测所述系统总线设备中的从设备发出响应信号的时间之前,所述方法还包括:基于应用场景的需求,配置所述系统总线设备中的从设备的重要性等级;例如,针对所述系统总线设备中的从设备,共配置两个重要性等级,也就是说,从设备的重要性等级为第一重要性等级或第二重要性等级;从设备的重要性等级为第一重要性等级时,从设备为重要设备;从设备的重要性等级为第二重要性等级时,从设备为非重要设备。

具体地,可以根据应用场景的需求将从设备配置为重要设备或非重要设备。需要说明的是,随着应用场景的变更,所述系统总线设备中的从设备可能由重要设备变为非重要设备,也可能有非重要设备变为重要设备。

步骤201:被监测的从设备响应超时时,判断发生响应超时的从设备的重要性等级。

具体地,判断所述系统总线设备中的从设备的响应时间是否大于等于超时阈值,如果大于等于超时阈值,则被监测的从设备响应超时;否则,被监测的从设备响应未超时。

这里,可以根据应用场景的需求来配置超时阈值,也就是说,对于同一个从设备,在不同的应用场景下,可以配置不同的超时阈值,进而对应不同的重要性等级。

步骤202:基于判断结果对所述发生响应超时的从设备进行处理。

这里,判断结果为所述发生响应超时的从设备重要性等级;可以根据重要性等级确定发生响应超时的从设备的类别,从设备的类别总数是大于1的自然数;举例来说,如果针对所述系统总线设备中的从设备,共配置两个重要性等级,则可以按照发生响应超时的从设备重要性等级,判定该从设备为重要设备或非重要设备。

下面分两种情况说明对发生响应超时的从设备进行处理的过程。

第一种情况:发生响应超时的从设备是重要设备。

所述对所述发生响应超时的从设备进行处理包括:发生响应超时的从设备对应的超时处理装置向所述总线互联模块上报超时信息,例如,总线互联模块中设有处理器,利用处理器接收超时信息,处理器在接收到超时信息之后,对所述发生响应超时的从设备的预设影响范围内的每个总线设备进行复位处理,在进行复位处理时,会清除从设备的处理业务及数据流。

这里,从设备的预设影响范围可以是系统总线设备中的一个或多个设备,如果从设备的预设影响范围内的任意一个设备的复位方式为特殊的复位方式,此时处理器可以按照该特殊的复位方式对从设备进行复位处理。对于SoC系统中的总线设备来说,从设备的预设影响范围可以处于整个SoC系统中,也可以处于SoC系统中的子系统,例如从设备的预设影响范围处于SoC系统中的存储子系统。

这里,设置有超时处理装置的每个从设备连接有一个状态寄存器;这样,超时处理装置可以采用两种上报方式向处理器上报超时信息;其中,第一种上报方式为:超时处理装置将超时信息写入状态寄存器,状态寄存器产生中断通知处理器读取该超时信息;第二种上报方式为:超时处理装置将超时信息写入状态寄存器,等待处理器查询状态寄存器中的内容。

第二种情况:发生响应超时的从设备是非重要设备。

所述发生响应超时的从设备是非重要设备,则对应的超时处理装置代替所述发生响应超时的从设备发出响应信号。具体地说,超时处理装置代替所述发生响应超时的从设备向总线互联模块发出响应信号,保证系统总线可以继续工作,有效地提高对系统总线设备响应超时的处理效率。

进一步地,在超时处理装置代替所述发生响应超时的从设备向总线互联模块发出响应信号的同时,对所述发生响应超时的从设备进行复位处理,和/或,向所述总线互联模块上报超时信息。在对所述发生响应超时的从设备进行复位处理时,会清楚从设备响应超时前与总线相关的状态;在向所述总线互联模块上报超时信息时,超时处理装置将超时信息写入状态寄存器,等待处理器查询状态寄存器中的内容。

下面以直接内存访问(Direct Memory Access,DMA)设备为例说明两个不同场景下的超时处理策略,这里的两个不同的场景为场景1和场景2。在场景1中,DMA设备设有超时处理装置且超时处理装置处于开启状态,DMA设备为重要设备,DMA设备的超时信息上报方式为上述第一种上报方式,DMA设备的超时阈值设为100个时钟周期。表1为场景1中总线设备的超时处理策略配置表,其中,场景1中的设备包括CPU、DSP、双倍速率同步动态随机存储器(Double Data Rate,DDR)、DMA、通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,UART)、I2C(Inter-Integrated Circuit)总线设备、以及总线扩展器(General Purpose Input Output,GPIO),N/A表示对应的总线设备未设置超时处理装置或超时处理装置处于关闭状态,关闭表示超时处理装置处于关闭状态,开启表示超时处理装置处于开启状态,超时阈值的单位为设备所在时钟域的周期数。

在场景2中,DMA设备设有超时处理装置且超时处理装置处于开启状态,DMA设备为非重要设备,DMA设备的超时阈值设为1000个时钟周期。表2为场景2中总线设备的超时处理策略配置表,其中,场景2中的设备与场景1中的设备相同,N/A表示对应的总线设备未设置超时处理装置或超时处理装置处于关闭状态,关闭表示超时处理装置处于关闭状态,开启表示超时处理装置处于开启状态,超时阈值的单位为设备所在时钟域的周期数。

表1

表2

本发明第一实施例中,主设备读取从设备的数据或向从设备写入数据时,均分为命令传输阶段和数据传输阶段,这里,将命令传输阶段和对应的数据传输阶段统称为一次传输总时间。目前常用的总线协议例如高速总线协议不但具有独立的读写通道,而且对于读通道或写通道来说,还同时具有相互独立的命令通道和数据通道,其中命令通道用于实现命令传输,数据通道用于实现数据传输。

进一步地,在数据传输阶段,如果需要传输的数据较长,则需要传输的数据通过多个数据包的形式完成传输。图3为本发明系统总线设备响应超时的处理方法的第一实施例中总线传输格式的示意图,如图3所示,需要传输的数据有数据包1至数据包n组成。

这里,从设备的响应超时可能发生在命令传输阶段,也有可能发生在某一个数据包的传输阶段。如果从设备在当前的一次传输总时间内已经发生命令传输响应超时或数据传输响应超时,则传输当前数据包将无实际意义,此时只需要等待最后一个数据包的传输响应结束,然后复位对应从设备并上报超时信息。

具体地说,所述对应的超时处理装置代替所述发生响应超时的从设备发出响应信号,包括:

如果当前所述发生响应超时的从设备处于命令传输阶段,则对应的超时处理装置代替所述发生响应超时的从设备发出响应信号。

如果当前所述发生响应超时的从设备处于数据传输阶段,则对应的超时处理装置代替所述发生响应超时的从设备发出响应信号,并判断当前所述发生响应超时的从设备的待传输数据包是否为本次数据传输的最后一个数据包;如果是本次数据传输的最后一个数据包,则对所述发生响应超时的从设备进行复位处理,和/或,向所述总线互联模块上报超时信息;如果不是本次数据传输的最后一个数据包,则结束流程。

需要说明的是,如果系统总线采用同一个通道进行命令传输和数据传输,则在发生响应超时的从设备是非重要设备时,对应的超时处理装置代替所述发生响应超时的从设备直接发出响应信号,此时,不会按照不同的传输阶段来分别处理,这样可以简化系统总线设备响应超时的处理流程。

第二实施例

为了能更加体现本发明的目的,在本发明第一实施例的基础上,进行进一步的举例说明。

图4为本发明系统总线设备响应超时的处理方法的第二实施例的流程图,如图4所示,该方法包括:

步骤400:判断从设备对应的超时处理装置是否处于开启状态,如果超时处理装置是否处于开启状态,则执行步骤401,否则,结束流程。

这里,可以预先配置超时处理装置处于开启状态或关闭状态。

步骤401:超时处理装置记录从设备当前的传输请求信息,判断当前一次传输总时间内是否已经出现了数据传输响应超时或命令传输响应超时,如果是,则执行步骤403,否则,执行步骤402。

具体地,在当前的一次传输总时间内,如果已经发生了数据包传输响应超时或命令传输响应超时,则说明前时刻从设备向总线互联模块的响应信号传输中已经出现了数据传输响应超时或命令传输响应超时。

这里,由于一次传输总时间内总是以命令传输作为开始,如果当前时刻需要传输命令,显然还没有发生数据包传输响应超时或命令传输响应超时,则执行步骤402。

步骤402:判断从设备在规定时间内是否发出响应信号,如果是,则说明当前的命令传输或数据包的传输完成,从设备未出现超时响应的情况,此时直接结束流程;如果否,则说明当前的命令传输或数据包的传输发生响应超时,执行步骤403。

步骤403:判断从设备是否为重要设备,如果从设备是重要设备,则执行步骤404,如果从设备是非重要设备,则执行步骤405。

步骤404:超时处理装置向总线互联模块中的处理器上报超时信息,然后结束流程。

本步骤中,超时信息可以包括:从设备当前的传输请求信息、从设备属性信息以及时间信息。处理器可以根据接收到的超时信息,选择继续等待从设备的响应信号或对从设备进行复位处理。

步骤405:超时处理装置判断当前时刻从设备处于命令传输阶段还是数据传输阶段,如果处于命令传输阶段,则执行步骤406,如果处于数据传输阶段,则执行步骤407。

具体地,超时处理装置根据从设备当前的传输请求信息,判断当前时刻从设备处于命令传输阶段还是数据传输阶段。

步骤406:超时处理装置获取从设备的总线响应权限,发出响应信号,并记录超时信息,之后结束流程。

由于从设备在一次传输总时间内的传输包括了命令传输和数据传输,并且是以数据传输而结束的,因此此时不能对从设备进行复位处理,而是要等待数据传输的完成。另外,本步骤中超时处理装置不会释放从设备的总线响应权限。

步骤407:超时处理装置获取从设备的总线响应权限,发出响应信号,记录超时信息,执行步骤408。

图5为本发明系统总线设备响应超时的处理方法的第二实施例中数据传输响应超时的处理流程图,如图5所示,步骤407具体包括:

步骤500:判断本次数据传输所对应的命令传输是否出现超时响应,如果是,则执行步骤503;否则,执行步骤501。

步骤501:在当前一次传输总时间中,判断是否已经出现数据包传输超时响应,如果是,则执行步骤503,否则,执行步骤502。

步骤502:获取总线响应权限,执行步骤503。

步骤503:超时处理装置代替从设备发出响应信号,记录超时信息。

步骤408:判断当前所述发生响应超时的从设备的待传输数据包是否为本次数据传输的最后一个数据包;如果是,则执行步骤409;如果不是本次数据传输的最后一个数据包,则结束流程。

步骤409:对所述发生响应超时的从设备进行复位处理,释放总线响应权限,执行步骤404。

第三实施例

为了能更加体现本发明的目的,在本发明第一实施例和第二实施例的基础上,进行进一步的举例说明。

本发明第三实施例中,以从设备是非重要设备为例进行说明,该非重要设备设置有处于开启状态的超时处理装置。图6为本发明系统总线设备响应超时的处理方法的第三实施例中总线传输格式的示意图,如图6所示,从设备需要完成一个命令传输和4个数据包传输,这4个数据包分别表示为数据包1、数据包2、数据包3和数据包4,显然,从设备需要进行5次传输,才能完成上述的命令传输和4个数据包传输。具体地,从设备进行第一次传输时,完成命令传输;从设备进行第二次传输时,完成数据包1传输;从设备进行第三次传输时,完成数据包2传输;从设备进行第四次传输时,完成数据包3传输;从设备进行第五次传输时,完成数据包4传输。

图7为本发明系统总线设备响应超时的处理方法的第三实施例中进行前两次传输时的流程图,如图7所示,该流程包括:

步骤700:判断从设备对应的超时处理装置是否处于开启状态,显然,超时处理装置处于开启状态,执行步骤701。

步骤701:超时处理装置记录从设备当前的传输请求信息,判断当前一次传输总时间内是否已经出现了数据传输响应超时或命令传输响应超时,显然,在进行前两次传输时,当前一次传输总时间内还没有出现数据传输响应超时或命令传输响应超时的情况,此时,执行步骤702。

步骤702:判断从设备在规定时间内是否发出响应信号,在进行前两次传输时,从设备能够及时响应,所以此时直接结束流程。

图8为本发明系统总线设备响应超时的处理方法的第三实施例中进行第三次传输时的流程图,如图8所示,该流程包括:

步骤800:判断从设备对应的超时处理装置是否处于开启状态,显然,超时处理装置处于开启状态,此时执行步骤801。

步骤801:超时处理装置记录从设备当前的传输请求信息,判断当前一次传输总时间内是否已经出现了数据传输响应超时或命令传输响应超时,显然,在进行第三次传输时,当前一次传输总时间内还没有出现数据传输响应超时或命令传输响应超时的情况,此时,执行步骤802。

步骤802:判断从设备在规定时间内是否发出响应信号,在进行第三次传输时,也就是要传输数据包2时,会出现响应超时,此时执行步骤803。

步骤803:判断从设备是否为重要设备,因为从设备是非重要设备,此时执行步骤804。

步骤804:超时处理装置判断当前时刻从设备处于命令传输阶段还是数据传输阶段,显然,当前时刻从设备处于数据传输阶段,此时执行步骤805。

步骤805:超时处理装置获取从设备的总线响应权限,发出响应信号,记录超时信息,执行步骤806。

步骤805的具体实现过程与步骤407一致,这里不再详述。

步骤806:判断当前所述发生响应超时的从设备的待传输数据包是否为本次数据传输的最后一个数据包;当前时刻从设备的待传输数据包为数据包2,数据包2不是本次数据传输的最后一个数据包,此时结束流程。

图9为本发明系统总线设备响应超时的处理方法的第三实施例中进行第四次传输时的流程图,如图9所示,该流程包括:

步骤900:判断从设备对应的超时处理装置是否处于开启状态,显然,超时处理装置处于开启状态,此时执行步骤901。

步骤901:超时处理装置记录从设备当前的传输请求信息,判断当前一次传输总时间内是否已经出现了数据传输响应超时或命令传输响应超时,显然,在进行第四次传输时,已经出现了数据包2传输响应超时的情况,此时执行步骤902。

步骤902:判断从设备是否为重要设备,从设备是非重要设备,此时执行步骤903。

步骤903:超时处理装置判断当前时刻从设备处于命令传输阶段还是数据传输阶段,显然,当前时刻从设备处于数据传输阶段,此时执行步骤904。

步骤904:超时处理装置获取从设备的总线响应权限,发出响应信号,记录超时信息,执行步骤905。

步骤904的具体实现过程与步骤407一致,这里不再详述。

步骤905:判断当前所述发生响应超时的从设备的待传输数据包是否为本次数据传输的最后一个数据包;当前时刻从设备的待传输数据包为数据包3,数据包3不是本次数据传输的最后一个数据包,此时结束流程。

图10为本发明系统总线设备响应超时的处理方法的第三实施例中进行第五次传输时的流程图,如图10所示,该流程包括:

步骤1000:判断从设备对应的超时处理装置是否处于开启状态,显然,超时处理装置处于开启状态,此时执行步骤1001。

步骤1001:超时处理装置记录从设备当前的传输请求信息,判断当前一次传输总时间内是否已经出现了数据传输响应超时或命令传输响应超时,显然,在进行第四次传输时,已经出现了数据包2传输响应超时的情况,此时执行步骤1002。

步骤1002:判断从设备是否为重要设备,从设备是非重要设备,此时执行步骤1003。

步骤1003:超时处理装置判断当前时刻从设备处于命令传输阶段还是数据传输阶段,显然,当前时刻从设备处于数据传输阶段,此时执行步骤1004。

步骤1004:超时处理装置获取从设备的总线响应权限,发出响应信号,记录超时信息,执行步骤1005。

步骤1004的具体实现过程与步骤407一致,这里不再详述。

步骤1005:判断当前所述发生响应超时的从设备的待传输数据包是否为本次数据传输的最后一个数据包;当前时刻从设备的待传输数据包为数据包4,数据包4是本次数据传输的最后一个数据包,此时执行步骤1006。

步骤1006:对所述发生响应超时的从设备进行复位处理,释放总线响应权限,向总线互联模块中的处理器上报超时信息,然后结束流程。

第四实施例

针对本发明实施例的方法,本发明实施例还提出了一种超时处理装置。

图11为本发明实施例超时处理装置的组成结构示意图,如图11所示,该装置包括监测模块1100、判断模块1101和处理模块1102;其中,

监测模块1100,用于实时监测所述系统总线设备中从设备的响应时间。

判断模块1101,用于在被监测的从设备响应超时时,判断发生响应超时的从设备的重要性等级。

处理模块1102,基于判断结果对所述发生响应超时的从设备进行处理。

每个所述超时处理装置与系统总线设备的至少一个从设备相对应,各个所述超时处理装置分别用于实时监测对应的从设备的响应时间。

进一步地,所述装置还包括配置模块1103,用于预先配置超时处理装置处于开启状态或关闭状态,配置从设备的重要性等级和超时阈值,这里,从设备的重要性等级为第一重要性等级或第二重要性等级;从设备的重要性等级为第一重要性等级时,从设备为重要设备;从设备的重要性等级为第二重要性等级时,从设备为非重要设备。配置模块1103,还用于配置重要设备的超时信息上报方式。

所述处理模块1102,还用于在所述发生响应超时的从设备是重要设备时,向总线互联模块上报超时信息,在所述发生响应超时的从设备是非重要设备时,代替所述发生响应超时的从设备发出响应信号。所述总线互联模块用于实现所述系统总线设备中主设备与从设备之间的数据交互。

所述总线互联模块,用于在接收到超时信息之后,对所述发生响应超时的从设备的预设影响范围内的每个总线设备进行复位处理。

所述处理模块1102,还用于在所述发生响应超时的从设备是非重要设备时,对所述发生响应超时的从设备进行复位处理,和/或,向所述总线互联模块上报超时信息。

所述处理模块1102,还用于在当前所述发生响应超时的从设备处于命令传输阶段时,代替所述发生响应超时的从设备发出响应信号;在当前所述发生响应超时的从设备处于数据传输阶段时,代替所述发生响应超时的从设备发出响应信号,并判断当前所述发生响应超时的从设备的待传输数据包是否为本次数据传输的最后一个数据包;如果是本次数据传输的最后一个数据包,则对所述发生响应超时的从设备进行复位处理,和/或,向所述总线互联模块上报超时信息。

在实际应用中,所述监测模块1100、判断模块1101、处理模块1102和配置模块1103均可由位于SoC系统中的中央处理器(Central Processing Unit,CPU)、微处理器(Micro Processor Unit,MPU)、数字信号处理器(Digital Signal Processor,DSP)、或现场可编程门阵列(Field Programmable Gate Array,FPGA)等实现。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1