CN114968681A - 监测i2c总线通信异常的方法及装置、i2c主设备 - Google Patents
监测i2c总线通信异常的方法及装置、i2c主设备 Download PDFInfo
- Publication number
- CN114968681A CN114968681A CN202210379872.8A CN202210379872A CN114968681A CN 114968681 A CN114968681 A CN 114968681A CN 202210379872 A CN202210379872 A CN 202210379872A CN 114968681 A CN114968681 A CN 114968681A
- Authority
- CN
- China
- Prior art keywords
- signal
- clock signal
- abnormal
- gate
- bus
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请公开一种监测I2C总线通信异常的方法及装置、I2C主设备,所述I2C总线上连接有一个主设备、和至少一个从设备,所述方法包括:获取主设备向从设备发送的时钟信号;获取SCL上对应所述时钟信号的反馈信号;通过比较所述时钟信号和所述反馈信号确定异常设备。本申请方案可以快速准确地定位I2C总线上的异常设备。
Description
技术领域
本申请涉及通信技术领域,具体涉及一种监测I2C总线通信异常的方法及装置、I2C主设备。
背景技术
I2C(Inter-Integrated Circuit,内部集成电路)总线是一种简单、双向二线制同步串行总线,其广泛应用于低速通信的场景中。I2C通信是以主从方式工作,通常大都是一个主设备和多个从设备通信。I2C总线分别使用SCL(Serial Clock Line,串行时钟线)和SDA(Serial Data Address,串行数据地址总线)实现与从设备的连接通信,I2C总线系统的基本架构如图1所示,包括一个主设备和N个从设备。
在现有技术中,当I2C总线上出现通信异常时,通常是通过拆解设备,将I2C总线上的从设备逐个拆除,排除具体是哪个从设备异常,当所有从设备都拆除后,总线依然异常,则间接证明是主设备存在异常导致的。这种方式不能直观发现问题,需要拆解设备来定位问题点,费时费力。
发明内容
本申请实施例提供一种监测I2C总线通信异常的方法及装置、I2C主设备,以便能快速准确地定位I2C总线上的异常设备。
为解决上述技术问题,本申请实施例提供如下技术方案:
一方面,本申请实施例提供一种监测I2C总线通信异常的方法,所述I2C总线上连接有一个主设备、和至少一个从设备,所述方法包括:
获取主设备向从设备发送的时钟信号;
获取SCL上对应所述时钟信号的反馈信号;
通过比较所述时钟信号和所述反馈信号确定异常设备。
可选地,所述反馈信号比所述时钟信号延时一定周期。
可选地,所述通过比较所述时钟信号和所述反馈信号确定异常设备包括:如果所述时钟信号为1时所述反馈信号为0并且持续一定时间,则确定从设备异常。
可选地,所述方法还包括:如果所述时钟信号的延时信号与所述时钟信号一致、但持续一定时间保持不变,则确定主设备异常。
可选地,所述方法还包括:在检测到有设备异常的情况下,产生中断信号;根据所述中断信号对I2C总线通信进行控制。
可选地,所述根据所述中断信号对I2C总线通信进行控制包括:在I2C总线通信异常时读取所述中断信号;如果所述中断信号表征主设备异常,则复位主设备;如果所述中断信号表征从设备异常,结束通信。
另一方面,本申请实施例还提供一种监测I2C总线通信异常的装置,所述I2C总线上连接有一个主设备、和至少一个从设备,所述装置包括:
时钟信号获取模块,用于获取主设备向从设备发送的时钟信号;
反馈信号获取模块,用于获取SCL上对应所述时钟信号的反馈信号;
第一判断模块,用于通过比较所述时钟信号和所述反馈信号确定异常设备。
可选地,所述反馈信号比所述时钟信号延时一定周期。
可选地,所述第一判断模块,具体用于在所述时钟信号为1时所述反馈信号为0并且持续一定时间的情况下,确定从设备异常。
可选地,所述第一判断模块包括:第一延时器、反相器、第一与门、以及第一计时器;所述第一与门具有三个输入端,其中一个输入端输入I2C工作状态信号,另外两个输入端分别与所述第一延时器的输出端、以及所述反相器的输出端连接,所述第一与门的输出端与所述第一计时器的输入端连接;所述第一与门的输出端与所述第一计时器的输入端连接;
所述第一延时器用于输入所述时钟信号;
所述反相器用于输入所述反馈信号;
所述第一与门用于在所述时钟信号为1、并且所述反馈信号为0时,输出高电平,以触发所述第一计时器开始计时;
所述第一计时器用于在计时时间达到设定的第一时长后,输出从设备异常指示信号。
可选地,所述装置还包括:第二判断模块,用于在所述时钟信号的延时信号与所述时钟信号一致、但持续一定时间保持不变的情况下,确定主设备异常。
可选地,所述第二判断模块包括:第二延时器、异或非门、第二与门、第二计时器;所述第二延时器的输出端与所述异或非门的一个输入端连接;所述异或非门的另一个输入端输入所述时钟信号;所述第二与门具有两个输入端,其中一个输入端输入I2C工作状态信号,另一个输入端与所述异或非门的输出端连接;所述第二与门的输出端与所述第二计时器的输入端连接;
所述第二延时器用于输入所述时钟信号;
所述第二与门用于在所述反馈信号与所述时钟信号一致的情况下,输出高电平,以触发所述第二计时器开始计时;
所述第二计时器用于在计时时间达到设定的第二时长后,输出主设备异常指示信号。
可选地,所述从设备异常指示信号和所述主设备异常指示信号为中断信号;所述装置还包括:控制模块,用于根据所述中断信号对I2C总线通信进行控制。
可选地,所述控制模块,具体用于在I2C总线通信异常时读取所述中断信号,如果所述中断信号表征主设备异常,则复位主设备;如果所述中断信号表征从设备异常,结束通信。
另一方面,本申请实施例还提供一种I2C主设备,所述设备包括前面所述的监测I2C总线通信异常的装置。
另一方面,本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时使得前面所述方法被执行。
另一方面,本申请实施例还提供一种监测I2C总线通信异常的装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时使得前面所述方法被执行。
本申请实施例提供的监测I2C总线通信异常的方法及装置、I2C主设备,通过获取主设备向从设备发送的时钟信号、并获取SCL上对应所述时钟信号的反馈信号,然后通过比较所述时钟信号和所述反馈信号即可确定异常设备。
进一步地,还可通过比较时钟信号的延时信号与所述时钟信号,确定异常设备。
本申请实施例提供的方案无需拆解I2C总线上的设备,可以简单、方便、快速地精准定位是主设备还是从设备出现异常,方便I2C总线系统异常情况的排查。
附图说明
图1是现有的I2C总线系统的基本架构示意图;
图2是本申请实施例监测I2C总线通信异常的方法的原理示意图;
图3是本申请实施例监测I2C总线通信异常的方法的一种流程图;
图4是本申请实施例中根据中断信号对I2C总线通信进行控制的流程图;
图5是本申请实施例监测I2C总线通信异常的装置的一种结构示意图;
图6是本申请实施例监测I2C总线通信异常的装置中第一判断模块的一种结构示意图;
图7是本申请实施例监测I2C总线通信异常的装置中第二判断模块的一种结构示意图;
图8是本申请实施例监测I2C总线通信异常的装置的另一种结构示意图。
具体实施方式
为使本申请的上述目的、特征和有益效果能够更为明显易懂,下面结合附图对本申请的具体实施例做详细的说明。
针对现有技术中,I2C总线出现异常后不能简单快速地定位I2C总线上的异常设备的问题,本申请实施例提供一种监测I2C总线通信异常的方法及装置、I2C主设备,通过从SCL上获取主设备向从设备发送的时钟信号、以及对应所述时钟信号的反馈信号,然后通过比较所述时钟信号和所述反馈信号即可确定异常设备。
如图2所示,是本申请实施例监测I2C总线通信异常的方法的原理示意图。
在主设备中设置逻辑电路21,逻辑电路21与SCL相连。
如图2所示,逻辑电路21有两个端口,即OUT端口和IN端口。其中,端口OUT为输出端,端口IN为输入端。
逻辑电路21的输出端OUT与SCL相接于连接点OE,逻辑电路21的输入端IN与SCL相接于引脚pad。SCL时钟信号是由主设备驱动,向从设备发送的时钟信号。在逻辑电路21的输出端OUT输出时钟信号,在逻辑电路21的输入端IN监测SCL上的时钟信号,并在输入端IN抓取对应所述时钟信号的反馈信号,也可称之为监测信号。通常,可以通过相应的时序控制,使所述反馈信号比输出端OUT输出的时钟信号延时N个时钟周期(N一般是1-2)。
由于逻辑电路21的输出端OUT输出的时钟信号是已知的,因此可以与输入端IN监测到的反馈信号进行对比,根据对比结果判断I2C总线上是否有设备出现异常。
具体地,逻辑电路21的内部控制逻辑对输出端OUT输出的时钟信号和输入端IN获取的反馈信号进行比对,如果输出端OUT输出是1,但输入端IN监测到的反馈信号是0并且持续一定时间,则表明主设备正常,从设备异常拉低总线。进一步地,如果OUT输出的时钟信号的延时信号与所述时钟信号一致,但长时间一直保持1或0,则表明主设备异常。
基于上述原理,本申请实施例提供的监测I2C总线通信异常的方法的一种流程图如图3所示,包括以下步骤:
步骤301,获取主设备向从设备发送的时钟信号。
步骤302,获取SCL上对应所述时钟信号的反馈信号。
需要说明的是,通过相应的时序控制,可以使所述反馈信号比所述时钟信号延时一定周期,比如可以延时1-2个时钟周期。也就是说,所述反馈信号是指主设备发送所述时钟信号后,延时一定周期后在SCL上采集的监测信号。
在本申请实施例中,所述时钟信号是主设备发送的,并且在SCL上传输的时钟信号。对应该时钟信号的反馈信号是指主设备发送该时钟信号后,监测到的SCL上的信号。也就是说,所述时钟信号是主设备实际发送的,而所述反馈信号是主设备发送该时钟信号后,延时一定周期后SCL上的实际信号。
步骤303,通过比较所述时钟信号和所述反馈信号确定异常设备。
如果主、从设备均正常,则所述反馈信号应与所述时钟信号一致,但如果从设备出现异常,则所述反馈信号应与所述时钟信号会出现不一致的情况。具体地,比较主设备向从设备发送的时钟信号、以及SCL上对应该时钟信号的反馈信号,如果所述时钟信号为1时所述反馈信号为0并且持续一定时间(通常为秒级,比如2-3秒),则确定从设备异常。
进一步地,在本申请监测I2C总线通信异常的方法另一种非限制性实施例中,还可以通过对时钟信号的延时信号和所述时钟信号的比较,确定异常设备。具体地,如果所述时钟信号的延时信号与所述时钟信号一致、但持续一定时间(比如可以是2-3个时钟周期)保持不变,则确定主设备异常。
需要说明的是,所述延时信号可以比所述时钟信号延时一定时钟周期,比如延时1-2个时钟周期。
进一步地,如果是从设备异常,还可以根据当前寄存器中保存的从设备地址来判断具体是哪个从设备出现异常。
本申请实施例提供的监测I2C总线通信异常的方法,通过获取主设备向从设备发送的时钟信号,并监测SCL上传输的对应所述时钟信号的反馈信号,可以快速判断I2C总线上是否有从设备异常。进一步地,还可通过比较时钟信号的延时信号与所述时钟信号,确定主设备是否异常。
在本申请监测I2C总线通信异常的方法的另一种非限制性实施例中,还可在检测到I2C上有设备异常的情况下,产生中断信号,进而可以根据所述中断信号对I2C总线通信进行控制。
如图4所示,是本申请实施例中根据中断信号对I2C总线通信进行控制的流程图,包括以下步骤:
步骤401,主设备和从设备开始通信。
步骤402,确定I2C总线通信是否正常。如正常,则执行步骤403;否则,执行步骤404。
步骤403,进行正常通信。
步骤404,读取中断信号,并根据所述中断信号确定异常设备。如果是从设备异常,则执行步骤405;如果是主设备异常,则执行步骤406。
步骤405,结束通信。
步骤406,复位主设备,然后返回步骤401。
在具体应用中,对主设备的复位可以进行多次,如果经过多次复位仍检测到主设备异常,则表明通过复位操作也不能消除主设备的异常现象,此时可以结束通信,再通过其它方式对主设备进行检查。
需要说明的是,在具体应用中,上述本申请实施例监测I2C总线通信异常的方法可以采用硬件和软件相结合的方式来实现。比如,将上述中断信号写入到中断寄存器中,读取该中断寄存器来确定是否有设备异常、以及是主设备异常还是从设备异常。
相应地,本申请实施例还提供一种监测I2C总线通信异常的装置,如图5所示,是本申请实施例监测I2C总线通信异常的装置的一种结构示意图。
在该实施例中,该装置500包括时钟信号获取模块501、反馈信号获取模块502、以及第一判断模块503。其中:
时钟信号获取模块501用于获取主设备向从设备发送的时钟信号;
反馈信号获取模块502用于获取SCL上对应所述时钟信号的反馈信号;
第一判断模块503用于通过比较所述时钟信号和所述反馈信号确定异常设备,具体地,在所述时钟信号为1时所述反馈信号为0并且持续一定时间的情况下,确定从设备异常。
进一步地,在本申请监测I2C总线通信异常的装置另一种非限制性实施例中,所述装置还可包括:第二判断模块(可参见后面图8所示实施例),用于在所述时钟信号的延时信号与所述时钟信号一致、但持续一定时间保持不变的情况下,确定主设备异常。
在本申请实施例中,第一判断模块503可以根据对时钟信号和对应的反馈信号的比较,确定I2C总线上是否有从设备出现异常。在确定是从设备异常后,还可进一步定位到是哪个从设备出现异常,比如,可以通过软件读取当前寄存器中保存的从设备地址来判断具体是哪个从设备出现异常。当然也可以采用现有技术中的其他判断方式,对此本申请实施例不做限定。
所述第一判断模块503可以由纯硬件来实现,比如,在一种非限制性实施例中,所述第一判断模块503用于在所述时钟信号为1时所述反馈信号为0并且持续一定时间的情况下,确定从设备异常。
下面结合图6和图7对本申请实施例中第一判断模块和第二判断模块的工作原理进行详细说明。
如图6所示,是本申请实施例监测I2C总线通信异常的装置中第一判断模块的一种结构示意图。
该实施例中,所述第一判断模块包括:第一延时器61、反相器62、第一与门63、以及第一计时器64。其中,第一与门63具有三个输入端,其中一个输入端输入I2C工作状态信号,另外两个输入端分别与第一延时器61的输出端、以及反相器62的输出端连接,第一与门63的输出端与第一计时器64的输入端连接;所述第一与门63的输出端与第一计时器64的输入端连接。
其中:
所述第一延时器61用于输入所述时钟信号;
所述反相器62用于输入所述反馈信号;
所述第一与门63用于在所述时钟信号为1、并且所述反馈信号为0时,输出高电平,以触发所述第一计时器64开始计时;
所述第一计时器64用于在计时时间达到设定的第一时长后,输出从设备异常指示信号。
所述I2C工作状态信号即图6中的I2C_busy信号,用于指示I2C总线处于工作状态,区别于I2C空闲状态信号,也就是说,I2C总线上的主设备和从设备在进行通信。本申请方案只在I2C处于工作状态时,才会对I2C总线上是否有设备出现异常进行检测。
需要说明的是,在具体应用中,在I2C总线处于工作状态时,可将I2C_busy信号置为1,在I2C总线处于空闲状态时,可将I2C_busy信号置为0。
参照图6,第一判断模块的工作逻辑如下:
I2C总线处于busy状态,即I2C总线正在工作,因IN信号(即所述反馈信号)会比OUT信号(即所述时钟信号)延时1-2个时钟周期,所以OUT信号延时1-2个时钟周期才能与IN信号匹配上,然后对比IN信号和OUT信号,当OUT信号输出为1时,监测到IN信号为0,会触发第一计时器64进行计时,当到达设定的时间(该时间以芯片厂商根据实际情况设定,如2S)之后,即判断为从设备异常,第一计时器64输出从设备异常指示信号。
如图7所示,是本申请实施例监测I2C总线通信异常的装置中第二判断模块的一种结构示意图。
该实施例中,所述第二判断模块包括:第二延时器71、异或非门72、第二与门74、第二计时器75。其中,第二延时器71的输出端与异或非门72的一个输入端连接;异或非门72的另一个输入端输入所述时钟信号;第二与门74具有两个输入端,其中一个输入端输入I2C工作状态信号,另一个输入端与所述异或非门72的输出端连接;第二与门74的输出端与第二计时器75的输入端连接。其中:
所述第二延时器71用于输入所述时钟信号;
所述第二与门74用于在所述反馈信号与所述时钟信号一致的情况下,输出高电平,以触发所述第二计时器75开始计时;
所述第二计时器75用于在计时时间达到设定的第二时长后,输出主设备异常指示信号。
参照图7,第二判断模块的工作逻辑如下:
I2C总线处于busy状态,即I2C总线正在工作,对比OUT信号前后一个时钟周期是否保持一致,因为SCL信号是周期性0/1跳变的,所以只要延时一个时钟周期监测到与一个周期前的信号一致,即开始触发第二计时器75开始计时,到达设定的时间(比如可将该时间可设置为2-3周期)之后,则判断为主设备异常,第二计时器75输出主设备异常指示信号。
需要说明的是,上述第一计时器64和第二计时器75的定时时长,即前面所述的第一时长和第二时长,可以设定为相同或不同,对此本申请实施例不做限定。
另外,需要说明的是,为了使第一计时器64和第二计时器75在达到定时时长后,能够复位以便对后面的信号继续进行检测。如图6和图7中所示,通过相应的复位用反相器60、70分别对第一计时器64和第二计时器75进行复位。
如图8所示,是本申请实施例监测I2C总线通信异常的装置的另一种结构示意图。
与图5所示实施例不同的是,在该实施例中,所述装置500还包括第二判断模块505、以及控制模块504。
该实施例中,所述从设备异常指示信号和所述主设备异常指示信号为中断信号,所述中断信号由上述第一判断模块503和第二判断模块505产生,比如,第一判断模块503确定从设备异常时,向所述控制模块504的第一I/O端口输出相应的信号;类似地,第二判断模块505确定主设备异常时,向所述控制模块504的第二I/O端口输出相应的信号。其中,所述第一I/O端口和第二I/O端口并非指特定的I/O端口,只是为了区别两者为不同I/O端口。
相应地,所述控制模块504用于根据所述中断信号对I2C总线通信进行控制,具体地,在I2C总线通信异常时读取所述中断信号,如果所述中断信号表征主设备异常,则复位主设备;如果所述中断信号表征从设备异常,结束通信。
需要说明的是,所述控制模块504对主设备的复位操作可以重复多次(一般小于5次)。比如,控制模块504通过软件强制复位主设备,并通知上层调用者,让其重新发起一次通信,然后继续通信;如果通信再次异常,则继续读取中断情况,如果还是主设备异常,则继续复位主设备并通知上层调用者让其重新发起一次通信,然后继续通信;如果一直都是主设备异常,则软件会强制复位主设备N次(N次一般小于5次);如果再次检测是主设备异常,则结束通信。
在具体应用中,本申请实施例监测I2C总线通信异常的装置可以设置在主设备内。
本申请实施例提供的监测I2C总线通信异常的装置,通过获取主设备向从设备发送的时钟信号,并监测SCL上传输的对应所述时钟信号的反馈信号,可以快速判断I2C总线上是否有设备异常,进一步地,还可通过比较时钟信号的延时信号与所述时钟信号,确定异常设备,从而方便I2C总线系统异常情况的排查。
本申请实施例提供的方案无需拆解I2C总线上的设备,可以简单、方便、快速地精准定位是主设备还是从设备出现异常,方便I2C总线系统异常情况的排查。
在具体实施中,上述监测I2C总线通信异常的装置可以对应于终端设备中相应功能的芯片,例如SOC(System-On-a-Chip,片上系统)、基带芯片、芯片模组等。
在具体实施中,关于上述实施例中描述的各个装置、产品包含的各个模块/单元,其可以是软件模块/单元,也可以是硬件模块/单元,或者也可以部分是软件模块/单元,部分是硬件模块/单元。
例如,对于应用于或集成于芯片的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于芯片模组的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于芯片模组的同一组件(例如芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于芯片模组内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现;对于应用于或集成于终端的各个装置、产品,其包含的各个模块/单元可以都采用电路等硬件的方式实现,不同的模块/单元可以位于终端内同一组件(例如,芯片、电路模块等)或者不同组件中,或者,至少部分模块/单元可以采用软件程序的方式实现,该软件程序运行于终端内部集成的处理器,剩余的(如果有)部分模块/单元可以采用电路等硬件方式实现。
相应地,本申请实施例还提供了一种I2C主设备,所述设备包括前面所述的监测I2C总线通信异常的装置。
相应地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行上述各方法实施例中的步骤。
相应地,本申请实施例还提供了一种监测I2C总线通信异常的装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行上述各方法实施例中的步骤。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”表示前后关联对象是一种“或”的关系。
本申请实施例中出现的“多个”是指两个或两个以上。
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对设备个数的特别限定,不能构成对本申请实施例的任何限制。
本申请所提供的各实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和系统,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的;例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式;例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理布置,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
虽然本申请披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。
Claims (17)
1.一种监测I2C总线通信异常的方法,所述I2C总线上连接有一个主设备、和至少一个从设备,其特征在于,所述方法包括:
获取主设备向从设备发送的时钟信号;
获取SCL上对应所述时钟信号的反馈信号;
通过比较所述时钟信号和所述反馈信号确定异常设备。
2.根据权利要求1所述的方法,其特征在于,所述反馈信号比所述时钟信号延时一定周期。
3.根据权利要求1所述的方法,其特征在于,所述通过比较所述时钟信号和所述反馈信号确定异常设备包括:
如果所述时钟信号为1时所述反馈信号为0并且持续一定时间,则确定从设备异常。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
如果所述时钟信号的延时信号与所述时钟信号一致、但持续一定时间保持不变,则确定主设备异常。
5.根据权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
在检测到有设备异常的情况下,产生中断信号;
根据所述中断信号对I2C总线通信进行控制。
6.根据权利要求5所述的方法,其特征在于,所述根据所述中断信号对I2C总线通信进行控制包括:
在I2C总线通信异常时读取所述中断信号;
如果所述中断信号表征主设备异常,则复位主设备;如果所述中断信号表征从设备异常,结束通信。
7.一种监测I2C总线通信异常的装置,所述I2C总线上连接有一个主设备、和至少一个从设备,其特征在于,所述装置包括:
时钟信号获取模块,用于获取主设备向从设备发送的时钟信号;
反馈信号获取模块,用于获取SCL上对应所述时钟信号的反馈信号;
第一判断模块,用于通过比较所述时钟信号和所述反馈信号确定异常设备。
8.根据权利要求7所述的装置,其特征在于,所述反馈信号比所述时钟信号延时一定周期。
9.根据权利要求7所述的装置,其特征在于,
所述第一判断模块,具体用于在所述时钟信号为1时所述反馈信号为0并且持续一定时间的情况下,确定从设备异常。
10.根据权利要求9所述的装置,其特征在于,所述第一判断模块包括:第一延时器、反相器、第一与门、以及第一计时器;所述第一与门具有三个输入端,其中一个输入端输入I2C工作状态信号,另外两个输入端分别与所述第一延时器的输出端、以及所述反相器的输出端连接,所述第一与门的输出端与所述第一计时器的输入端连接;所述第一与门的输出端与所述第一计时器的输入端连接;
所述第一延时器用于输入所述时钟信号;
所述反相器用于输入所述反馈信号;
所述第一与门用于在所述时钟信号为1、并且所述反馈信号为0时,输出高电平,以触发所述第一计时器开始计时;
所述第一计时器用于在计时时间达到设定的第一时长后,输出从设备异常指示信号。
11.根据权利要求7至10任一项所述的装置,其特征在于,所述装置还包括:
第二判断模块,用于在所述时钟信号的延时信号与所述时钟信号一致、但持续一定时间保持不变的情况下,确定主设备异常。
12.根据权利要求11所述的装置,其特征在于,所述第二判断模块包括:第二延时器、异或非门、第二与门、第二计时器;所述第二延时器的输出端与所述异或非门的一个输入端连接;所述异或非门的另一个输入端输入所述时钟信号;所述第二与门具有两个输入端,其中一个输入端输入I2C工作状态信号,另一个输入端与所述异或非门的输出端连接;所述第二与门的输出端与所述第二计时器的输入端连接;
所述第二延时器用于输入所述时钟信号;
所述第二与门用于在所述反馈信号与所述时钟信号一致的情况下,输出高电平,以触发所述第二计时器开始计时;
所述第二计时器用于在计时时间达到设定的第二时长后,输出主设备异常指示信号。
13.根据权利要求12所述的装置,其特征在于,所述从设备异常指示信号和所述主设备异常指示信号为中断信号;所述装置还包括:
控制模块,用于根据所述中断信号对I2C总线通信进行控制。
14.根据权利要求13所述的装置,其特征在于,
所述控制模块,具体用于在I2C总线通信异常时读取所述中断信号,如果所述中断信号表征主设备异常,则复位主设备;如果所述中断信号表征从设备异常,结束通信。
15.一种I2C主设备,其特征在于,所述设备包括如权利要求7至14任一项所述的监测I2C总线通信异常的装置。
16.一种计算机可读存储介质,所述计算机可读存储介质为非易失性存储介质或非瞬态存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时使得权利要求1至6中任一项所述方法被执行。
17.一种监测I2C总线通信异常的装置,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时使得权利要求1至6中任一项所述方法被执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210379872.8A CN114968681A (zh) | 2022-04-12 | 2022-04-12 | 监测i2c总线通信异常的方法及装置、i2c主设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210379872.8A CN114968681A (zh) | 2022-04-12 | 2022-04-12 | 监测i2c总线通信异常的方法及装置、i2c主设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114968681A true CN114968681A (zh) | 2022-08-30 |
Family
ID=82976764
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210379872.8A Pending CN114968681A (zh) | 2022-04-12 | 2022-04-12 | 监测i2c总线通信异常的方法及装置、i2c主设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114968681A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658409A (zh) * | 2022-11-11 | 2023-01-31 | 苏州浪潮智能科技有限公司 | 一种异常检测方法、装置、主机设备、系统及存储介质 |
-
2022
- 2022-04-12 CN CN202210379872.8A patent/CN114968681A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115658409A (zh) * | 2022-11-11 | 2023-01-31 | 苏州浪潮智能科技有限公司 | 一种异常检测方法、装置、主机设备、系统及存储介质 |
WO2024098753A1 (zh) * | 2022-11-11 | 2024-05-16 | 苏州元脑智能科技有限公司 | 一种异常检测方法、装置、主机设备、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110908841B (zh) | 一种i2c通信异常恢复方法及装置 | |
CN104320308B (zh) | 一种服务器异常检测的方法及装置 | |
CN111488233A (zh) | 一种处理PCIe设备掉带宽问题的方法及系统 | |
CN112653600A (zh) | 基于usb网卡的网卡性能测试方法、装置及电子设备 | |
JP2007513425A (ja) | 多数の時間領域群を有するシステムでイベント群を時間順序付けする装置及び方法 | |
CN108038283B (zh) | 一种虚拟时钟同步的高效高覆盖率SoC验证平台 | |
US7013409B2 (en) | Method and apparatus for debugging a data processing system | |
CN114968681A (zh) | 监测i2c总线通信异常的方法及装置、i2c主设备 | |
CN106681877B (zh) | 芯片调试系统及方法与系统芯片 | |
CN109344104A (zh) | 电子设备及信号传输方法 | |
US10769038B2 (en) | Counter circuitry and methods including a master counter providing initialization data and fault detection data and wherein a threshold count difference of a fault detection count is dependent upon the fault detection data | |
CN105912414A (zh) | 一种服务器管理的方法及系统 | |
CN117472625A (zh) | Pcie链路确定异常信息的方法及装置 | |
CN111274132A (zh) | 设备驱动程序数据清理函数可靠性测试的方法及装置 | |
CN109582571B (zh) | 在线调试方法、装置、调试从机、调试主机和系统 | |
CN113220554B (zh) | 检测程序代码的性能的方法和设备 | |
US20010025330A1 (en) | Interface having plug and play function | |
CN110008071B (zh) | 一种远程调试装置及方法 | |
CN108388481B (zh) | Olt设备的智能看门狗电路系统 | |
JP2005092430A (ja) | ウォッチドッグタイマ | |
US20240168861A1 (en) | Semiconductor chip, debug system, and synchronization method | |
US6725387B1 (en) | Method and apparatus for causing computer system interconnection to be in the same state each time test code is executed | |
CN117909146A (zh) | 一种基于cpld的自动化测试方法及装置 | |
JP4083954B2 (ja) | 異常監視装置及び異常監視方法 | |
CN118192779A (zh) | 基于通信设备的热复位控制方法、装置、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |