CN104714909A - 处理总线挂死的装置、方法、总线结构及系统 - Google Patents
处理总线挂死的装置、方法、总线结构及系统 Download PDFInfo
- Publication number
- CN104714909A CN104714909A CN201310687532.2A CN201310687532A CN104714909A CN 104714909 A CN104714909 A CN 104714909A CN 201310687532 A CN201310687532 A CN 201310687532A CN 104714909 A CN104714909 A CN 104714909A
- Authority
- CN
- China
- Prior art keywords
- bus
- dead
- data
- slave
- control information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
一种处理总线挂死的装置、方法、总线结构及系统。该装置包括:总线监控模块,其配置成接收用于至少一主设备和至少一从属设备之间通信的第一总线上传输的控制信息、数据及握手信号;发送控制信息和数据以用于存储;监测第一总线的状态,判断第一总线是否挂死;第四总线,用于在第一总线挂死后进行数据重传;总线切换模块,与第二总线、第三总线与第四总线连接,用于第二总线及第四总线之间的切换;以及总线重发模块,用于在总线切换模块完成总线切换后,通过第四总线进行数据重传。
Description
技术领域
本发明涉及片上系统(SoC),尤其涉及SoC中处理总线挂死的方法、装置、总线结构及系统。
背景技术
片上系统(SoC,System on Chip)及专用集成电路(ASIC,ApplicationSpecific Integrated Circuit)中的总线(Bus)是所有数据相互传输的桥梁,直接关系到SOC系统的稳定性。
SoC总线传输协议有多种,这些传输协议有一个共同特征即主(Master)、从属(Slave)设备之间采用握手信号来正确进行数据传输。图1A及1B为现有技术中主、从设备之间通过握手信号来进行数据传输的交互流程图。如图1A及1B所示,大部分的总线传输都可以划分为两部分,命令传输握手阶段和数据传输握手阶段。
以AXI(Advanced eXtensible Interface,高级可扩展接口)总线为例:
命令传输握手阶段,主设备在发送命令的时候将命令和命令有效信号同时发送到总线上。从属设备根据本身的处理状态决定是否接收该命令:如果决定接收该命令,则将发送接收信号即握手信号。主设备通过一个命令可以发送一个或多个数据给从属设备,或从从属设备获取一个或多个数据。
命令完成握手后,如图1A所示,当主设备向从属设备进行的写数据访问时,主设备将数据和数据有效信号发送到总线上。从属设备同样发送接收数据的握手信号完成数据的总线传输。主设备每发送一个数据,都要等待从属设备反馈握手信号,收到该握手信号后,再发送下一个数据。如图1B所示,当主设备向从属设备进行读数据访问时,从属设备每发送一个数据都会对应发送一个握手信号给主设备,其中数据与相应的握手信号同时发送。此外,读数据访问命令传输握手阶段完成后,即主设备在发送了读数据命令并接收到握手信号后,从属设备开始发送数据,从属设备每发送一个数据及握手信号后,都要检测主设备的状态是否是可以接收数据状态:当该状态为可以接收数据时,从属设备再发送下一个数据及相应的握手信号;否则,从属设备会等待该状态变为可以接收数据后,再发送数据及相应的握手信号。
一旦从属设备的握手信号没有正确发出,则总线将出现挂死。当总线出现挂死后,SoC系统会出现死机等严重问题。通常的处理办法是使用看门狗电路在总线挂死后将SoC系统进行复位,系统重新启动。
但该传统的处理方法不能恢复现场,不能定位是由什么原因导致的总线挂死及系统死机,而直接对系统复位的方法,则会造成系统稳定性差及用户体验差。
申请号为200810146207.4的中国发明专利《一种防止CPU局域总线挂死的方法和装置》,其公开了一种防治CPU局域总线挂死的方法,在总线访问出现挂死的情况下强行产生一个握手信号防止总线挂死,该方法一定程度上增加了系统稳定性。
但该专利的问题是强行产生一个握手信号只能让总线不挂死,但CPU或者其他主设备获取的数据仍然是错误的,这样系统就已经运行错误了,需要重新开始。同时该专利公开的方法没有现场保存机制,使得CPU不能判断挂死的原因是什么,因此该方法仍然不能从根本上解决系统的稳定性问题。
在所述背景技术部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
鉴于上述问题,本发明提供了一种处理处理总线挂死的方法、装置、总线结构及系统,以使在总线挂死时,可及时恢复现场、定位挂死原因,保证系统的稳定性及数据传输的正确性。
本发明的额外方面和优点将部分地在下面的描述中阐述,并且部分地将从描述中变得显然,或者可以通过本发明的实践而习得。
本发明一方面提供了一种用于处理系统的总线挂死的装置,该系统包括第一总线,用于至少一个主设备和至少一个从属设备之间的通信,所述装置包括:总线监控模块,配置成接收所述第一总线上传输的控制信息、数据及握手信号,发送所述控制信息和数据以用于存储;监测所述第一总线的状态,判断所述第一总线是否挂死;第四总线,用于在所述第一总线挂死后进行数据重传;总线切换模块,与所述第二总线、第三总线与第四总线连接,用于所述第二总线及所述第四总线之间的切换;以及总线重发模块,用于在所述总线切换模块完成总线切换后,通过所述第四总线进行数据重传。
本发明另一方面提供了一种用于处理系统的总线挂死的方法,该系统包括第一总线,用于至少一个主设备和至少一个从属设备之间的通信,其特征在于,所述方法包括步骤:接收所述第一总线上传输的控制信息、数据及握手信号,存储所述控制信息及数据;监测所述第一总线的状态,判断所述第一总线是否挂死;以及当所述第一总线挂死后,执行所述第二总线与另一条总线之间的切换,进行数据重传。
本发明再一方面提供了一种总线结构,包括:第一总线,包括相连的第二总线与第三总线连接,用于至少一个主设备和至少一个从属设备之间的通信,其中所述第二总线配置为:连接所述至少一个主设备与至少一个切换单元,所述第三总线配置为:连接所述至少一个切换单元与所述至少一个从属设备;以及第四总线,连接于所述切换单元;其中所述切换单元用于将所述第三总线从所述第二总线断开并连接到所述第四总线,或者将所述第三总线重新连接到所述第二总线。
本发明再一方面提供了一种用于处理总线挂死的系统,包括:至少一个用于处理系统的总线挂死的装置、第一总线、第二总线、第三总线、至少一个主设备、至少一个从属设备、现场保存单元及CPU;其中,所述第一总线包括相连的第二总线与第三总线,用于至少一个主设备和至少一个从属设备之间的通信;所述第二总线配置为:连接所述至少一个主设备与至少一个用于处理系统的总线挂死的装置;所述第三总线配置为:连接所述至少一个用于处理系统的总线挂死的装置与所述至少一个从属设备;所述至少一个用于处理系统的总线挂死的装置包括第四总线,并且配置为:接收所述第一总线的传输信息,发送所述传输信息至所述现场保存单元存储;监控所述第一总线的传输状态,判断所述第一总线是否挂死;当所述第一总线挂死时,断开所述第二总线与所述第三总线的连接及连接所述第四总线与所述第三总线,指示所述CPU复位及初始化相应挂死的从属设备;根据存储的所述传输信息通过所述第四总线与所述第三总线进行重传;以及,于重传完成后,断开所述第四总线与所述第三总线的连接及重新连接所述第二总线与所述第三总线;所述现场保存单元连接于所述至少一个用于处理系统的总线挂死的装置,包括一存储模块,用于存储所述传输信息;以及所述CPU连接于所述现场保存单元、所述至少一个用于处理系统的总线挂死的装置及所述至少一个该从属设备,根据所述至少一个用于处理系统的总线挂死的装置的指示复位及初始化挂死的从属设备。
通过本发明公开的处理总线挂死的方法、装置、总线结构及系统,能够让系统自动恢复现场,从总线挂死的地方继续运行,显著增强了系统的稳定性及数据传输的正确性;并且使得从用户角度来看系统并没有挂死,从而提高了用户感受。
附图说明
通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。
图1A为现有技术中主、从设备之间通过握手信号进行写数据操作的交互流程图。
图1B为现有技术中主、从设备之间通过握手信号进行读数据操作的交互流程图。
图2A为本发明一实施例公开的可处理总线挂死的系统的结构图。
图2B为本发明另一实施例公开的可处理总线挂死的系统的结构图。
图3为本发明一实施例公开的处理系统的总线挂死的控制单元的结构图。
图4为本发明一实施例公开的处理系统的总线挂死的方法的流程图。
其中,附图标记说明如下:
1,2 用于处理总线挂死的系统
10 控制单元
101 总线切换模块
102 总线重发模块
103 总线监控模块
1031 总线挂死判断子模块
1032 总线监测子模块
20 主设备
30 从属设备
40 现场保存单元
50 CPU
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中,为了清晰,夸大了区域和层的厚度。在图中相同的附图标记表示相同或类似的结构,因而将省略它们的详细描述。
所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有所述特定细节中的一个或更多,或者可以采用其它的方法、组元、材料等。在其它情况下,不详细示出或描述公知结构、材料或者操作以避免模糊本发明的各方面。
图2A为本发明一实施例公开的可处理总线挂死的系统的结构图。如图2A所示,该系统1包括:控制单元10、主设备20、从属设备30、现场保存单元40及CPU50。
控制单元10可连接BUS2与BUS3,以形成主设备20与从属设备30进行通信的第一总线。控制单元10还可连接BUS3与BUS4,以用于重传。BUS4(图中未示出,可参见图3)为控制单元10的内部总线。
控制单元10分别与现场保存单元40及CPU50连接,用于接收总线上的命令及地址信息及数据包,并判断总线是否挂死。当总线挂死后,控制单元可指示CPU50对挂死的从属设备30进行复位及初始化,及通过总线切换重发相关信息以恢复数据传输。
现场保存单元40连接于CPU50,用于存储命令及地址信息与相应的数据包。具体地,现场保存单元40中可设置一存储模块(图中未示出)来储存前述信息。此外,在总线挂死后,CPU50可从现场保存单元中获取该总线挂死时的现场信息,以进行跟踪调试、分析总线挂死的原因,例如,是否发送了错误的命令、是否读取了非法信息等。
CPU50连接于从属设备30,用于根据控制单元10的指示复位并初始化从属设备30。具体地,该指示具体可以为接收到控制单元10发送的中断指令或者查询到控制单元10中的总线切换状态信息为总线切换完成。
上述的连接关系仅为了便于清楚地描述本发明实施例,本发明不限于此。
此外,根据另一实施方式,如图2B所示,在本发明公开的可处理总线挂死的系统中,可以包括多个控制单元10,用于连接BUS2与BUS3,以形成多个主设备20与多个从属设备30分别进行通信的第一总线。例如,多个控制单元10与多个从属设备30一一对应,在具体实现时,还可将控制单元30集成到所对应的从属设备30中,以简化系统结构。
如图2A或图2B所示,本发明实施例还提供了一种总线结构,包括:包括相连的BUS2与BUS3的第一总线,用于至少一个主设备20和至少一个从属设备30之间的通信,其中BUS2配置为:连接所述至少一个主设备20与至少一个控制单元10,所述BUS3配置为:连接所述至少一个控制单元10与所述至少一个从属设备30;以及BUS4,连接于所述控制单元10;其中控制单元10用于将所述BUS3与BUS2断开并连接到BUS4,或者将BUS3重新连接到BUS2。
图3为本发明一实施例的控制单元的结构图,该控制单元可用于如图2A或2B所示的可处理总线挂死的系统。
请同时参考图3与图2A,该控制单元10包括:总线切换模块101、总线重发模块102、总线监控模块103及内部总线BUS4。
总线切换模块101可连接BUS2与BUS3,以形成主设备20与从属设备30进行通信的第一总线;以及连接BUS4与BUS3,以用于数据重传。BUS4可为控制单元10的内部总线,但本公开不限于此。当发生总线挂死且从属设备30完成复位及初始化操作后,总线重发模块102通过BUS4进行数据重发。
总线监控模块103连接于总线重发模块102,用于接收所述第一总线上传输的控制信息、数据及握手信号;发送所述控制信息和数据用于存储;监测所述第一总线的状态,并根据所述状态判断所述第一总线是否挂死。
具体地,总线监控模块103可以包括总线监测子模块1032及总线挂死判断子模块1031。
其中,总线监测子模块1032连接于总线挂死判断子模块总线挂死判断子模块1031与现场保存单元40。在数据传输时,总线监测子模块1032持续接收总线BUS2与BUS3上的握手信号、命令及地址信息以及相应的数据包,并将该命令及地址信息及相应的数据包发送至现场保存单元40保存。
此外,也可以于总线监控模块103或者总线监测子模块1032中设置一存储模块,通过该存储模块保存该命令及地址信息和相应的数据包,本发明并不以此为限。
总线监测子模块1032中设置有计数器,用于计数握手信号的接收时延。总线监测子模块1032将当前计数值提供给总线挂死判断子模块1031,或者若计数器溢出,通知总线挂死判断子模块1031。具体地,可通过产生中断或产生相应信号的方式通知总线挂死判断子模块1031。
总线挂死判断子模块1031连接于总线重发模块102与总线监测子模块1032之间,其中可以设置一个寄存器,存储用于判断总线挂死的计数阈值。总线挂死判断子模块1031将根据总线监测子模块1032提供的计数值与该计数阈值比较,判断总线是否挂死。
此外,总线挂死判断子模块1031可以接收总线监测子模块1032的计数器溢出的通知,从而判断总线挂死。
当发生总线挂死时,发送总线挂死指示,通知总线重发模块102总线挂死。
总线重发模块102连接于总线挂死判断子模块1031与总线切换模块101之间,并连接于现场保存单元40。总线重发模块102可接收总线挂死指示,并发送总线切换指示以通知总线切换模块101执行总线切换。
另外,总线重发模块102可根据总线切换模块101发送的总线重发指示,在总线BUS4与BUS3上执行总线重传操作,并于重发完成后,发送重发完成指示。
总线切换模块101接收总线切换指示以执行总线切换操作。具体地,总线切换模块101可将BUS4与BUS3连接,使总线重发模块102与从属设备30进行数据重传。
总线切换模块101与CPU50连接,并指示CPU50对挂死的从属设备30进行复位及初始化。CPU50完成对挂死的从属设备30进行复位及初始化后,向总线切换模块101发出重发指示。
总线切换模块101指示总线重发模块102进行重发,并在接收到来自总线重发模块102的重发完成指示后,再次进行总线切换操作。具体地,重新连接BUS2与BUS3,使主设备20与从属设备30继续通信。
总线切换模块101还可以于其中设置一状态寄存器,用于存储是否完成了总线切换的状态。
上述的连接关系仅为了便于清楚地描述本发明实施例,本发明不限于此。
下面,将参照图2A及图3所示的可处理总线挂死的系统和控制单元描述处理总线挂死的方法。图4为本发明一实施例公开的处理系统的总线挂死的方法的流程图。
步骤S100,连接BUS2与BUS3,形成主设备20与从属设备30进行数据传输的第一总线。
步骤S101,数据传输开始后,总线监测子模块1032接收第一总线上的命令及地址信息以及相应的数据包和握手信号,并将命令及地址信息以及相应的数据包发送至现场保存单元40中的存储模块保存。
当接收到一握手信号时,总线监测子模块1032可将一握手信号标志置位。
正常传输时,该存储模块仅保存最新的命令及地址信息和相应的数据包,即后一命令及地址信息和相应的数据包自动覆盖前一正常接收的命令及地址信息和相应的数据包。
对于读操作,还可以仅保存最新的命令及地址信息和该命令对应的最新的数据包。
步骤S102,总线监测子模块1032持续监控第一总线的访问状态。
当为写操作时,如果检测到主设备20向从属设备30发送的命令及地址信息或数据,则启动其内部计数器;如果接收到握手信号,则停止该计数器并将该计数器的计数值清零;否则,将当前计数值提供给总线挂死判断子模块1031。
当为读操作时,如果检测到主设备20向从属设备30发送的命令及地址信息,则启动其内部计数器;如果接收到握手信号,则停止该计数器、将该计数器的计数值清零并重启该计数器;否则,将当前计数值提供给总线挂死判断子模块1031。
此外,主设备20会通过一个状态信号线来表示当前的状态是否可以接收数据,当从属设备30检测到该状态为不可接收数据时,从属设备30也会停止该计数器并将该计数器的计数值清零。
在一实施例中,总线监测子模块1032还可以通知总线挂死判断子模块1031其计数器溢出。具体的通知方法包括产生中断或产生相应信号通知。
步骤S103,总线挂死判断子模块1031根据其内部寄存器存储的计数阈值与当前计数值进行比较,以判断总线是否挂死。
如果当前计数值等于或大于该计数阈值,则判断第一总线挂死,发送总线挂死指示给总线重发模块102。
在一实施例中,如果总线监测子模块1032通知总线挂死判断子模块1031其计数器溢出,则总线挂死判断子模块1031接收到该通知后,判断第一总线挂死。
步骤S104,总线重发模块102接收到总线挂死指示,发送总线切换指示,通知总线切换模块101进行总线切换操作。
步骤S105,总线切换模块101接收到总线切换指示,执行总线切换,并于切换完成后,指示CPU50总线切换完成。
具体地,执行总线切换包括:连接内部总线BUS4与总线BUS3,即将原来与总线BUS2连接的总线BUS3切换为与内部总线BUS4连接,以用于重传。
指示CPU50总线切换完成包括:向CPU50发送一个中断。根据另一实施方式,如果总线切换模块101内部设置有状态寄存器,则将状态寄存器置位,即将状态修改为总线切换完成,CPU50可通过查询状态寄存器来判断总线切换是否已完成。
步骤S106,CPU50收到中断信号,或者查询到总线切换模块101内部的状态寄存器置位,复位挂死的从属设备30,并根据预先定义的初始化操作对其进行初始化。初始化完成后,通知总线切换模块101,总线切换模块101发送总线重发指示,指示总线重发模块102执行重发操作。
步骤S107,总线重发模块102接收到总线重发指示,从现场保存单元40读取当前总线挂死的相关信息,包括命令及地址信息和相应的数据或者仅命令及地址信息。如果是写数据访问,即主设备20向从属设备30发送数据包,则执行步骤S108;如果是读数据访问,即从属设备30向主设备20发送数据包,则执行步骤S109。
步骤S108,如果现场保存单元40中仅保存有命令及地址信息,则总线重发模块102将从现场保存单元40获取的命令及地址信息,如写命令,通过总线BUS4重新发送给从属设备30。发送完成后,判断重发完成,即不接收该命令所对应的握手信号,当切换回第一总线后,使该握手信号发送至主设备20,从而恢复第一总线的正常传输。
如果现场保存单元40中既保存有命令及地址信息,也保存有数据,则总线重发模块102将从现场保存单元40获取的命令及地址信息,如写命令,及数据包通过总线BUS4逐条重新发送给从属设备30,在该过程中会接收从属设备发送的握手信号。当发送完最后一个数据包后,判断重发完成,即不接收该最后一个数据包对应的握手信号,当切换回第一总线后,使该握手信号发送至主设备20,从而恢复第一总线的正常传输。
重发完成后,发送重发完成指示,通知总线切换模块101已完成总线重发,并执行步骤S110。
步骤S109,如果现场保存单元40中仅保存有命令及地址信息,则总线重发模块102将从现场保存单元40获取的命令及地址信息,如读命令,通过总线BUS4重新发送给从属设备30。发送完成后,判断重发完成,即不接收该命令所对应的握手信号,当切换回第一总线后,使该握手信号发送至主设备20,从而恢复第一总线的正常传输。
如果现场保存单元40中既保存有命令及地址信息,也保存有数据,则在重发命令及地址信息给从属设备并接收到握手信号之后,开始接收从属设备发送的数据及握手信号,并通过一个状态信号线通知从属设备可发送下一数据及握手信号。当接收完导致总线挂死的数据包之前的那个数据包后,判断重发完成。
当重发完成后,发送重发完成指示,通知总线切换模块101已完成总线重发,并执行步骤S110。
步骤S110,总线切换模块101重新连接总线BUS2与总线BUS3,恢复主设备20与从属设备30之间通信的第一总线。并返回步骤S101,继续数据传输。
上述方法的步骤仅为了便于清楚地描述本发明实施例,本发明不限于此。
通过本发明公开的处理总线挂死的方法、装置、总线结构及系统,能够让系统自动恢复现场,从总线挂死的地方继续运行,显著增强了系统的稳定性及数据传输的正确性;并且使得从用户角度来看系统并没有挂死,从而提高了用户感受。
以上具体地示出和描述了本发明的示例性实施方式。应该理解,本发明不限于所公开的实施方式,相反,本发明意图涵盖包含在所附权利要求范围内的各种修改和等效置换。
Claims (13)
1.一种用于处理系统的总线挂死的装置,所述系统包括第一总线,所述第一总线包括相连的第二总线与第三总线,用于至少一个主设备和至少一个从属设备之间的通信,其特征在于,所述装置包括:
总线监控模块,配置成接收所述第一总线上传输的控制信息、数据及握手信号,发送所述控制信息和数据以用于存储;监测所述第一总线的状态,判断所述第一总线是否挂死;
第四总线,用于在所述第一总线挂死后进行数据重传;
总线切换模块,与所述第二总线、第三总线与第四总线连接,用于所述第二总线及所述第四总线之间的切换;以及
总线重发模块,用于在所述总线切换模块完成总线切换后,通过所述第四总线进行数据重传。
2.根据权利要求1的用于处理系统的总线挂死的装置,其中所述第二总线及所述第四总线之间的切换包括:在所述第一总线挂死后,断开所述第二总线与所述第三总线,及连接所述第三总线与所述第四总线;以及,在所述数据重传完成后,断开所述第三总线与所述第四总线,及连接所述第二总线与所述第三总线。
3.根据权利要求1的用于处理系统的总线挂死的装置,其中所述系统还包括现场保存单元,所述总线监控模块还配置成发送所述控制信息和数据至所述现场保存单元存储。
4.根据权利要求1的用于处理系统的总线挂死的装置,其中所述总线监控模块包括计数器,所述监测所述第一总线的状态,判断所述第一总线是否挂死包括:
监测所述第一总线的状态,当为写操作时,如果检测到所述控制信息或数据,启动所述计数器;如果接收到所述握手信号,停止所述计数器并将所述计数器的计数值清零;如果当前计数值等于或大于一个预设的计数阈值,则判断所述第一总线挂死;和/或
监测所述第一总线的状态,当为读操作时,如果检测到所述控制信息,启动所述计数器;如果接收到所述握手信号,将所述计数器的计数值清零并重启所述计数器;如果当前计数值等于或大于一个预设的计数阈值,则判断所述第一总线挂死。
5.根据权利要求1的用于处理系统的总线挂死的装置,其中所述系统还包括CPU,以及所述总线切换模块还用于通知所述CPU复位及初始化相应挂死的从属设备。
6.根据权利要求1的用于处理系统的总线挂死的装置,其中所述数据重传包括:
当为写操作时,如果仅存储了所述控制信息,获取所述控制信息,重新发送给相应挂死的从属设备后,完成所述数据重传;如果存储了所述控制信息和数据,获取存储的所述控制信息和数据,重新发送给相应挂死的从属设备,当发送完最后一个数据包后,完成所述数据重传;和/或
当为读操作时,如果仅存储了所述控制信息,获取所述控制信息,重新发送给相应挂死的从属设备后,完成所述数据重传;如果存储了所述控制信息和数据,获取所述控制信息和数据,接收相应挂死的从属设备发送的所述数据,直到接收完总线挂死之前的那个数据包之后,完成所述数据重传。
7.一种用于处理系统的总线挂死的方法,所述系统包括第一总线,所述第一总线包括相连的第二总线与第三总线,用于至少一个主设备和至少一个从属设备之间的通信,其特征在于,所述方法包括步骤:
接收所述第一总线上传输的控制信息、数据及握手信号,发送所述控制信息和数据以用于存储;
监测所述第一总线的状态,判断所述第一总线是否挂死;以及
当所述第一总线挂死后,执行所述第二总线与另一条总线之间的切换,进行数据重传。
8.根据权利要求7的用于处理系统的总线挂死的方法,其中所述执行所述第二总线与另一条总线之间的切换包括:断开所述第二总线与所述第三总线的连接,及连接所述第三总线与所述另一条总线。
9.根据权利要求7的用于处理系统的总线挂死的方法,其中所述监测所述第一总线的状态,判断所述第一总线是否挂死包括:
当为写操作时,如果检测到所述控制信息或数据,启动计数器;如果接收到所述握手信号,停止所述计数器并将所述计数器的计数值清零;如果当前计数值等于或者大于一个预设的计数阈值,则判断所述第一总线挂死;
当为读操作时,如果检测到所述控制信息,启动计数器;如果接收到所述握手信号,将所述计数器的计数值清零并重启所述计数器;如果当前计数值等于或者大于计数阈值,则判断所述第一总线挂死。
10.根据权利要求7的用于处理系统的总线挂死的方法,其中进行所述数据重传之前,还包括复位及初始化相应挂死的从属设备。
11.根据权利要求7的用于处理系统的总线挂死的方法,其中所述数据重传包括:
当为写操作时,如果仅存储了所述控制信息,获取所述控制信息,重新发送给相应挂死的从属设备后,完成所述数据重传;如果存储了所述控制信息和数据,获取存储的所述控制信息和数据,重新发送给相应挂死的从属设备,当发送完最后一个数据包后,完成所述数据重传;
当为读操作时,如果仅存储了所述控制信息,获取所述控制信息,重新发送给相应挂死的从属设备后,完成所述数据重传;如果存储了所述控制信息和数据,获取所述控制信息和数据,接收相应挂死的从属设备发送的所述数据,直到接收完总线挂死之前的那个数据包之后,完成所述数据重传。
12.一种总线结构,其特征在于,包括:
第一总线,包括相连的第二总线与第三总线连接,用于至少一个主设备和至少一个从属设备之间的通信,其中所述第二总线配置为:连接所述至少一个主设备与至少一个切换单元,所述第三总线配置为:连接所述至少一个切换单元与所述至少一个从属设备;以及
第四总线,连接于所述切换单元;
其中所述切换单元用于将所述第三总线从所述第二总线断开并连接到所述第四总线,或者将所述第三总线重新连接到所述第二总线。
13.一种用于处理总线挂死的系统,其特征在于,包括:至少一个根据权利要求1-6任一项所述的用于处理系统的总线挂死的装置、第一总线、第二总线、第三总线、至少一个主设备、至少一个从属设备、现场保存单元及CPU;其中,
所述第一总线包括相连的第二总线与第三总线,用于所述至少一个主设备和至少一个从属设备之间的通信;
所述第二总线配置为:连接所述至少一个主设备与至少一个用于处理系统的总线挂死的装置;
所述第三总线配置为:连接所述至少一个用于处理系统的总线挂死的装置与至少一个从属设备;
所述现场保存单元连接于所述至少一个用于处理系统的总线挂死的装置,包括一存储模块,用于存储所述传输信息;以及
所述CPU连接于所述现场保存单元、所述至少一个用于处理系统的总线挂死的装置及所述至少一个从属设备,根据所述至少一个用于处理系统的总线挂死的装置的指示复位及初始化挂死的从属设备。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310687532.2A CN104714909B (zh) | 2013-12-13 | 2013-12-13 | 处理总线挂死的装置、方法、总线结构及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310687532.2A CN104714909B (zh) | 2013-12-13 | 2013-12-13 | 处理总线挂死的装置、方法、总线结构及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104714909A true CN104714909A (zh) | 2015-06-17 |
CN104714909B CN104714909B (zh) | 2019-01-25 |
Family
ID=53414259
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310687532.2A Active CN104714909B (zh) | 2013-12-13 | 2013-12-13 | 处理总线挂死的装置、方法、总线结构及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104714909B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491856A (zh) * | 2017-09-12 | 2019-03-19 | 中兴通讯股份有限公司 | 总线监控系统、方法及装置 |
CN111628832A (zh) * | 2020-05-21 | 2020-09-04 | 展讯通信(上海)有限公司 | 一种通信装置 |
CN111625483A (zh) * | 2020-05-21 | 2020-09-04 | 展讯通信(上海)有限公司 | 一种串行总线及通信装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040230735A1 (en) * | 2003-05-15 | 2004-11-18 | Moll Laurent R. | Peripheral bus switch having virtual peripheral bus and configurable host bridge |
CN1932772A (zh) * | 2006-09-29 | 2007-03-21 | 华为技术有限公司 | 一种隔离总线故障的方法、装置与一种单板 |
CN101000568A (zh) * | 2006-12-31 | 2007-07-18 | 华为技术有限公司 | 一种避免总线故障的方法、通信设备及总线监控装置 |
US20070276974A1 (en) * | 2006-05-23 | 2007-11-29 | Fuji Xerox Co., Ltd. | Data transfer control device |
CN101645057A (zh) * | 2008-08-06 | 2010-02-10 | 中兴通讯股份有限公司 | 一种防止cpu局域总线挂死的方法及装置 |
-
2013
- 2013-12-13 CN CN201310687532.2A patent/CN104714909B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040230735A1 (en) * | 2003-05-15 | 2004-11-18 | Moll Laurent R. | Peripheral bus switch having virtual peripheral bus and configurable host bridge |
US20070276974A1 (en) * | 2006-05-23 | 2007-11-29 | Fuji Xerox Co., Ltd. | Data transfer control device |
CN1932772A (zh) * | 2006-09-29 | 2007-03-21 | 华为技术有限公司 | 一种隔离总线故障的方法、装置与一种单板 |
CN101000568A (zh) * | 2006-12-31 | 2007-07-18 | 华为技术有限公司 | 一种避免总线故障的方法、通信设备及总线监控装置 |
CN101645057A (zh) * | 2008-08-06 | 2010-02-10 | 中兴通讯股份有限公司 | 一种防止cpu局域总线挂死的方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109491856A (zh) * | 2017-09-12 | 2019-03-19 | 中兴通讯股份有限公司 | 总线监控系统、方法及装置 |
CN109491856B (zh) * | 2017-09-12 | 2022-08-02 | 中兴通讯股份有限公司 | 总线监控系统、方法及装置 |
CN111628832A (zh) * | 2020-05-21 | 2020-09-04 | 展讯通信(上海)有限公司 | 一种通信装置 |
CN111625483A (zh) * | 2020-05-21 | 2020-09-04 | 展讯通信(上海)有限公司 | 一种串行总线及通信装置 |
CN111628832B (zh) * | 2020-05-21 | 2022-09-27 | 展讯通信(上海)有限公司 | 一种通信装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104714909B (zh) | 2019-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103634150B (zh) | 一种冗余的高安全性can总线通信方法 | |
RU2606053C2 (ru) | Метод управления изменением состояния в узле межсоединения | |
CN102629225B (zh) | 双控制器磁盘阵列、存储系统以及数据存储路径切换方法 | |
CN102576339A (zh) | 多协议存储设备桥 | |
CN106603359B (zh) | Plc系统的通讯控制方法及装置 | |
CN107528747B (zh) | 主从站通信状态的诊断方法和装置及计算机可读存储介质 | |
EP2028571B1 (en) | Method of detecting disconnection and power discontinuity of I/O unit connected to numerical controller | |
US7117283B2 (en) | Multi-master extended I2C protocol | |
CN104714909A (zh) | 处理总线挂死的装置、方法、总线结构及系统 | |
CN103530215B (zh) | 一种内部集成电路主机的自检方法、装置及主机 | |
WO2015098589A1 (ja) | クラスタシステム、サーバ装置、クラスタシステムの管理方法、及びコンピュータ読み取り可能な記録媒体 | |
CN109327383A (zh) | 一种故障处理方法及设备 | |
CN104536853B (zh) | 一种保障双控制器存储设备资源连续可用性的装置 | |
JP2005277978A (ja) | 識別番号自動設定方法及び識別番号自動設定装置 | |
JP7129646B2 (ja) | 制御システム、プログラム | |
JP6134720B2 (ja) | 接続方法 | |
JP2015149541A (ja) | 通信システム | |
CN112131167B (zh) | 一种基于lpc协议的i2c转发模块、系统及其使用方法 | |
JP3576001B2 (ja) | 光二重ループ型伝送装置 | |
WO2022124083A1 (ja) | 通信装置、通信方法、およびプログラム | |
JPH1196106A (ja) | デバイスドライバ装置 | |
KR101417402B1 (ko) | 차량 네트워크에서의 게이트웨이 오류 대처 장치 및 그 방법 | |
KR101615577B1 (ko) | 클러스터 시스템에서 클러스터를 처리하기 위한 방법과 장치 및 시스템 | |
WO2020177471A1 (zh) | 报文传输方法、装置及存储介质 | |
JP2005159483A (ja) | 二重化通信装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20170424 Address after: Nanping Street 400060 Chongqing Nan'an District Nancheng Road No. 199 left attached to the floor 403 Applicant after: Keen (Chongqing) Microelectronics Technology Co., Ltd. Address before: 400065 Chongqing Nan'an District huangjuezhen pass Fort Park No. 1 Applicant before: Chongqing City Communication & Technology Co., Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |