CN103019871B - 一种i2c总线的防死锁系统及其防死锁方法 - Google Patents
一种i2c总线的防死锁系统及其防死锁方法 Download PDFInfo
- Publication number
- CN103019871B CN103019871B CN201210593526.6A CN201210593526A CN103019871B CN 103019871 B CN103019871 B CN 103019871B CN 201210593526 A CN201210593526 A CN 201210593526A CN 103019871 B CN103019871 B CN 103019871B
- Authority
- CN
- China
- Prior art keywords
- bus
- module
- duration
- preset duration
- time clock
- 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.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明属于I2C总线设计领域,提供了一种基于IP核复用的I2C总线的防死锁系统及其防死锁方法。该系统置于I2C模块中,采用IP核复用技术,通过在I2C模块内部增加IP核模块,实现对串行时钟线异常与否的监测,并当监测到异常时,重置I2C总线,进而达到了防死锁的目的。相对于现有技术而言,无需在I2C总线上增加额外的总线恢复设备,降低了防死锁功能的实现成本;且由于采用了IP核复用技术,无需在I2C模块的软件上增加代码监测,减少了不稳定因素,特别适用于对实时性要求较高的场合。
Description
技术领域
本发明属于I2C总线设计领域,尤其涉及一种基于IP核复用的I2C总线的防死锁系统及其防死锁方法。
背景技术
I2C总线是一种广泛应用于嵌入式系统设备中,实现主控制器与外设之间通信的双线串行总线。如图1示出了一种I2C总线的典型结构,包括串行数据线(Serial Data,SDA)和串行时钟线(Serial Clock Line,SCL)。每一连接到I2C总线上的I2C设备即可作为主设备,用以负责总线时钟、起始信号及相关初始化数据的产生,也可作为从设备,用以作为被寻址对象。
公知地,I2C总线的数据传输可分为四个阶段,如图2所示,包括:开始、数据读写、应答和停止,分别描述如下:
1)开始(start):串行时钟线为高电平时,串行数据线从高电平向低电平跳变;
2)数据读写:串行数据线上传输的数据在串行时钟线的高电平期间必须保持稳定,只有在串行时钟线的低电平期间才可以进行数据切换;
3)应答(AK):当从设备每接收1个字节数据后,发出一个应答信号,表示数据传输成功与否;
4)停止(stop):串行时钟线为高电平时,串行数据线从低电平向高电平跳变;
依据上述四个阶段,在实际通信时,主设备先发送一个开始信号(start),对I2C总线上的从设备进行寻址,从设备响应后可以进行相应的读写操作。读写数据长度以字节为单位,从设备每接收到一个字节,就发出一个应答信号(AK),表示当前传输状态是否正常,一次操作对数据长度没有限制,传输完成后,主设备向总线发送停止信号(stop)释放总线。
可见,作为串行同步总线,I2C总线进行读取数据的操作都是基于时钟同步进行的。然而,由于连接在I2C总线上的设备中硬件状态不稳定,在长时间工作后,电压会有较大纹波或毛刺,造成I2C总线上时钟和数据波形出现临界状态,导致时钟脉冲跳变,从而影响串行时钟线,使其与串行数据线产生时序错位。由于错位的时间是随机的,某些情况可能造成一次通讯失败,某些情况则导致从设备错过应答位而使得串行数据线一直为低,无法结束,主设备也无法释放总线,从而进入死锁状态。再者,如果处理器本身集成的I2C模块,时序上存在细微的误差,由于处理器都是由数字逻辑电路组成,而组成数字电路的触发器、锁存器等由于电平的临界状态导致产生亚稳态,逻辑器件对其判断无法统一,有判断为“1”,也有判断为“0”,这样逻辑部件就会逻辑混乱。另外,由于I2C模块内部时钟频率较高,将会产生无法消除的几十ns到几百ns的抖动,和亚稳态一起积累到一定程度就会触发串行时钟线错乱,导致I2C状态机错误,主设备无法释放总线,进入死锁状态。由此可见,串行时钟线的异常会导致I2C总线出现异常。
为解决I2C总线的死锁现象,现有技术是在I2C总线上增加一个额外的总线恢复设备,该设备专门用于监视和恢复I2C总线状态。当I2C总线出现异常现象时,外部通过复位主设备和从设备中、控制I2C总线工作的处理器,使得I2C总线重新运行,以解决总线死锁问题。但该方法需要增加额外附加电路,成本高。
发明内容
本发明实施例的目的在于提供一种I2C总线的防死锁系统,旨在解决现有技术通过在I2C总线上增加一个额外的总线恢复设备,来监视和恢复I2C总线状态,该方式成本高的问题。
本发明实施例是这样实现的,一种I2C总线的防死锁系统,所述系统包括寄存器模块和主状态机模块,所述系统还包括:
从状态机启动模块,用于在所述主状态机模块的控制下启动;
采样模块,用于在所述从状态机启动模块的控制下启动,采集I2C总线的串行时钟线上时钟信号跳变沿的计数值信息,以及跳变沿之间的持续时长信息;
异常监控处理模块,用于根据所述计数值信息和所述持续时长信息,并结合第一预设时长、第二预设时长和预设时长范围,判断所述串行时钟线是否出现异常;
处理器模块,用于当所述异常监控处理模块判断所述串行时钟线出现异常时,通过所述寄存器模块中的控制寄存器,控制所述主状态机模块重置所述I2C总线。
本发明实施例的另一目的在于提供一种如上所述的I2C总线的防死锁系统的防死锁方法,所述方法包括:
A1、主状态机模块根据寄存器模块中的控制寄存器,控制I2C总线工作,并控制从状态机启动模块启动;
A2、所述从状态机启动模块启动后,控制采样模块启动;
A3、所述采样模块采集串行时钟线上时钟信号跳变沿的计数值,以及跳变沿之间的持续时长;
A4、异常监控处理模块根据所述计数值信息和持续时长信息,并结合第一预设时长、第二预设时长和预设时长范围,判断所述I2C总线是否出现异常;
A5、当所述异常监控处理模块判断所述串行时钟线出现异常时,处理器模块通过所述控制寄存器,控制所述主状态机模块重置所述I2C总线。
本发明实施例提出的I2C总线的防死锁系统及其防死锁方法,是采用IP核复用技术,通过在I2C模块内部增加IP核模块,实现对串行时钟线异常与否的监测,并当监测到异常时,重置I2C总线,进而达到了防死锁的目的。相对于现有技术而言,无需在I2C总线上增加额外的总线恢复设备,降低了防死锁功能的实现成本;且由于采用了IP核复用技术,无需在I2C模块的软件上增加代码监测,减少了不稳定因素,特别适用于对实时性要求较高的场合。
附图说明
图1是现有技术中,I2C总线的典型结构图;
图2是现有技术中,串行时钟线与串行数据线之间的时序关系图;
图3是本发明实施例一提供的I2C总线的防死锁系统的结构图;
图4是图3中,异常监控处理模块的结构图;
图5是本发明实施例二提供的I2C总线的防死锁系统的结构图;
图6是本发明实施例三提供的I2C总线的防死锁系统的防死锁方法的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
针对现有技术存在的问题,本发明提出了一种I2C总线的防死锁系统及其防死锁方法,该系统置于I2C模块中,采用基于FPGA的IP核复用技术,通过在I2C模块内部增加IP核模块,来实现对串行时钟线异常与否的监测。以下结合实施例详细说明本方案:
实施例一
本发明实施例一提出了一种I2C总线的防死锁系统的结构,如图3所示,包括寄存器模块11和主状态机模块12,与现有技术不同的是,该系统还包括包括:从状态机启动模块13,用于在主状态机模块12的控制下启动;采样模块14,用于在从状态机启动模块13的控制下启动,采集串行时钟线上时钟信号跳变沿的计数值信息,以及跳变沿之间的持续时长信息;异常监控处理模块15,用于根据计数值信息和持续时长信息,并结合第一预设时长、第二预设时长和预设时长范围,判断串行时钟线是否出现异常;处理器模块16,用于当异常监控处理模块15判断串行时钟线出现异常时,通过寄存器模块11中的控制寄存器,控制主状态机模块重置I2C总线。
其中,采样模块14的采样有效值取下降沿和上升沿之间的间隔,且该上升沿和下降沿的电平在指定的区间内。若检测到的下降沿或上升沿到达时,其电平没有在指定的区间内,则认为是可滤掉的毛刺或纹波,对总线通信不会产生干扰。
进一步地,如图4所示,异常监控处理模块15可以包括:监测子模块152,用于对计数值信息和持续时长信息进行处理,记录当前计数值和当前持续时长,当前持续时长是指当前计数值指向的跳变沿与相邻前一跳变沿之间的电平持续时长;监测信息处理子模块151,用于根据当前计数值和当前持续时长,并结合第一预设时长、第二预设时长和预设时长范围,判断串行时钟线是否出现异常。
本发明实施例一提出的I2C总线的防死锁系统是置于I2C模块中,采用IP核复用技术,通过在I2C模块内部增加IP核模块,实现对串行时钟线异常与否的监测,并当监测到异常时,重置I2C总线,进而达到了防死锁的目的。相对于现有技术而言,无需在I2C总线上增加额外的总线恢复设备,降低了防死锁功能的实现成本;且由于采用了IP核复用技术,无需在I2C模块的软件上增加代码监测,减少了不稳定因素,特别适用于对实时性要求较高的场合。
实施例二
本发明实施例二提出了另一种I2C总线的防死锁系统的结构,如图5所示。
与本发明实施例一不同,本发明实施例二中,系统还包括:时间阈值设置模块16,用于在从状态机启动模块13的控制下启动,设置第一预设时长与第二预设时长;有效电平设置模块17,用于在从状态机启动模块13的控制下启动,设置预设时长范围;采样参数设置模块18,用于在从状态机启动模块13的控制下启动,根据I2C总线传输速率的不同而动态设置采样模块14的采样参数。
进一步地,对其中的预设时长范围说明如下:预设时长范围是指I2C总线所能识别的有效电平的最大持续时长与最小持续时长之间的范围。一般而言,对于传输速率为100k时,一个时钟周期典型值为10us,高低电平各自保持的时间在5us,由于I2C时钟宽度的裕量相对充分,在2.5~7.5us的预设时长范围内视为有效值,但不同的传输频率对应的范围有所不同。
进一步地,对其中的第一预设时长说明如下:正常工作时,I2C总线读写一个字节为9个时钟周期加0.5个时钟周期,读写两个字节为19个时钟周期加0.5个时钟周期,以此类推,读写n个字节为9*n+0.5个时钟周期;由于采样方式采取跳变沿,因此,I2C总线读写一个字节的计数值为9*2+2,读写两个字节的计数值为9*4+2,以此类推,读写n个字节的计数值为9*2n+2;由于I2C总线死锁存在串行时钟线拉低的情况,这种情况的发生是在计数值为9*2n-1时,串行时钟线没有被拉起,持续保持低电平而不能恢复,进入死锁状态;第一预设时长被定义为计数值为9*2n-1时,串行时钟线没被拉起而持续低电平的最大值,达到第一预设时长便认为出现了死锁。
进一步地,对其中的第二预设时长说明如下:第二预设时长是用于判断I2C总线的stop位的;I2C总线在无操作时,串行时钟线和串行数据线都保持高电平,当一次I2C总线的操作结束时,会有一个stop位,然后I2C总线再次恢复高电平状态;若在计数值达到9*2n+2后,若串行时钟线持续高电平的时长未达到第二预设时长,则说明出现了死锁。
下面结合图2,对监测信息处理子模块151判断串行时钟线是否出现异常的原理进行说明:如图2所示,正常状态无数据读写操作时,串行时钟线和串行数据线始终保持高电平;在进行数据读写时,每写一个字节加上AK位,串行时钟线长度共为9个时钟周期,一次完整的I2C读写操作结束时,跳变沿的计数值为9*2n+2,其中,n为读写的字节个数;在数据读写过程中,由一个跳变沿到相邻的下一个跳变沿之间的时长为一个计数周期,一个计数周期的持续时长可以与标准I2C总线所能识别的最大有效电平和最小有效电平的时间进行对比,当不在该区间内时,记录一个可能引起异常的标识位,但在此记录过程并不中断I2C总线的读写操作;在数据读写操作后,I2C总线接收到stop位,之后,串行时钟线和串行数据线会持续高电平直到下一次I2C总线再次执行数据读写操作,为了防止产生错误,当最后一次记录计数值和持续时长后,还需监控高电平保持的时间,当时间大于设置的第二预设时长时,确定本次I2C总线通信结束;如果计数值在9*2n-1时遇到串行时钟线异常持续为低,这时持续时长超出设置的第一预设时长时,认为总线异常。
由上述原理分析可知,监测信息处理子模块151判断串行时钟线是否出现异常的过程详细包括:
步骤S00:监测信息处理子模块151判断当前计数值是否为2n*9-1,即判断当前触发沿是否是本次数据传输的倒数第四个触发沿,是则执行步骤S01,否则执行步骤S02。
步骤S01:监测信息处理子模块151判断当前持续时长是否达到第一预设时长,是则说明在停止位之前的2n*9-1次跳变后,出现串行时钟线异常持续为低,则判断串行时钟线出现异常,否则判断串行时钟线正常,由采样模块14继续采集计数值信息和持续时长信息。
步骤S02:监测信息处理子模块151判断当前计数值是否为2n*9+2,即判断当前触发沿是否是本次数据传输的最后一个触发沿,是则执行步骤S03,否则执行步骤S04。
步骤S03:监测信息处理子模块151判断当前持续时长是否达到第二预设时长,是则判断串行时钟线正常,由采样模块14继续采集计数值信息和持续时长信息,否则说明在停止后、串行时钟线并未持续高电平至下一次读写数据,则判断串行时钟线出现异常。
步骤S04:采样模块14继续采集计数值信息和持续时长信息,同时监测信息处理子模块151判断持续时长是否在预设时长范围内,是则将一异常标识位置位,否则不动作,异常处理子模块151通过读取该标识位,即可获知串行时钟线出现异常。
与本发明实施例一不同,本发明实施例二提供的I2C总线的防死锁系统可根据I2C总线传输速率的不同,对采样参数进行相应动态设置,而对I2C总线传输速率没有限制,提高了系统的可操作性。
实施例三
本发明实施例三提出了一种如本发明实施例一所述的I2C总线的防死锁系统的防死锁方法,如图6所示,包括:
步骤S1:主状态机模块根据寄存器模块中的控制寄存器,控制I2C总线工作,并控制从状态机启动模块启动。
步骤S2:从状态机启动模块启动后,控制采样模块启动。
步骤S3:采样模块采集串行时钟线上时钟信号跳变沿的计数值信息,以及跳变沿之间的持续时长信息。
步骤S4:异常监控处理模块根据计数值信息和持续时长信息,并结合第一预设时长、第二预设时长和预设时长范围,判断I2C总线是否出现异常。进一步地,步骤S4可包括:
步骤S41:异常监控处理模块对计数值信息和持续时长信息进行处理,记录当前计数值和当前持续时长。
步骤S42:异常监控处理模块根据当前计数值和当前持续时长,并结合第一预设时长、第二预设时长和预设时长范围,判断串行时钟线是否出现异常。更进一步地,步骤S42可包括:
步骤S421:异常监控处理模块判断当前计数值是否为2n*9-1,即判断当前触发沿是否是本次数据传输的倒数第四个触发沿,是则执行步骤S422,否则执行步骤S423。
步骤S422:异常监控处理模块判断当前持续时长是否达到第一预设时长,是则判断串行时钟线出现异常,否则返回步骤S3。
步骤S423:异常监控处理模块判断当前计数值是否为2n*9+2,即判断当前触发沿是否是本次数据传输的最后一个触发沿,是则执行步骤S424,否则执行步骤S425。
步骤S424:异常监控处理模块判断当前持续时长是否达到第二预设时长,是则返回步骤S3,否则判断串行时钟线出现异常。
步骤S425:采样模块采集计数值信息和持续时长信息,同时异常监控处理模块判断持续时长是否在预设时长范围内,是则将一异常标识位置位,否则不动作。
步骤S5:当异常监控处理模块判断串行时钟线出现异常时,处理器模块通过寄存器模块中的控制寄存器,控制主状态机模块重置I2C总线。
另外,本发明实施例三中,在步骤S2与步骤S3之间,还可包括:
步骤S6:设置第一预设时长、第二预设时长、预设时长范围,并根据I2C总线传输速率的不同而动态设置采样模块的采样参数。
本发明实施例三提出的I2C总线的防死锁系统的防死锁方法,是采用IP核复用技术,通过在I2C模块内部增加IP核模块,实现对串行时钟线异常与否的监测,并当监测到异常时,重置I2C总线,进而达到了防死锁的目的。相对于现有技术而言,无需在I2C总线上增加额外的总线恢复设备,降低了防死锁功能的实现成本;且由于采用了IP核复用技术,无需在I2C模块的软件上增加代码监测,减少了不稳定因素,特别适用于对实时性要求较高的场合。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来控制相关的硬件完成,所述的程序可以在存储于一计算机可读取存储介质中,所述的存储介质,如ROM/RAM、磁盘、光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种I2C总线的防死锁系统,所述系统包括寄存器模块和主状态机模块,其特征在于,所述系统还包括:
从状态机启动模块,用于在所述主状态机模块的控制下启动;
采样模块,用于在所述从状态机启动模块的控制下启动,采集I2C总线的串行时钟线上时钟信号跳变沿的计数值信息,以及跳变沿之间的持续时长信息;
异常监控处理模块,用于根据所述计数值信息和所述持续时长信息,并结合第一预设时长、第二预设时长和预设时长范围,判断所述串行时钟线是否出现异常;其中,计数值信息为9*2n-1且串行时钟线保持低电平的时间达到所述第一预设时长或者计数值信息为9*2n+2且串行时钟线保持高电平时长未达到所述第二预设时长,判定所述串行时钟线出现异常;
处理器模块,用于当所述异常监控处理模块判断所述串行时钟线出现异常时,通过所述寄存器模块中的控制寄存器,控制所述主状态机模块重置所述I2C总线。
2.如权利要求1所述的I2C总线的防死锁系统,其特征在于,所述异常监控处理模块包括:
监测子模块,用于对所述计数值信息和所述持续时长信息进行处理,记录当前计数值和当前持续时长;
监测信息处理子模块,用于根据所述当前计数值和所述当前持续时长,并结合第一预设时长、第二预设时长和预设时长范围,判断所述串行时钟线是否出现异常。
3.一种如权利要求1所述的I2C总线的防死锁系统的防死锁方法,其特征在于,所述方法包括:
A1、主状态机模块根据寄存器模块中的控制寄存器,控制I2C总线工作,并控制从状态机启动模块启动;
A2、所述从状态机启动模块启动后,控制采样模块启动;
A3、所述采样模块采集串行时钟线上时钟信号跳变沿的计数值,以及跳变沿之间的持续时长;
A4、异常监控处理模块根据所述计数值信息和持续时长信息,并结合第一预设时长、第二预设时长和预设时长范围,判断所述I2C总线是否出现异常;其中,计数值信息为9*2n-1且串行时钟线保持低电平的时间达到所述第一预设时长或者计数值信息为9*2n+2且串行时钟线保持高电平时长未达到所述第二预设时长,判定所述串行时钟线出现异常;
A5、当所述异常监控处理模块判断所述串行时钟线出现异常时,处理器模块通过所述控制寄存器,控制所述主状态机模块重置所述I2C总线。
4.如权利要求3所述的I2C总线的防死锁系统的防死锁方法,其特征在于,所述步骤A4包括:
A41、所述异常监控处理模块对所述计数值信息和持续时长信息进行处理,记录当前计数值和当前持续时长;
A42、所述异常监控处理模块根据所述当前计数值和所述当前持续时长,并结合第一预设时长、第二预设时长和预设时长范围,判断所述串行时钟线是否出现异常。
5.如权利要求4所述的I2C总线的防死锁系统的防死锁方法,其特征在于,所述步骤A42包括:
步骤A421:所述异常监控处理模块判断当前触发沿是否是本次数据传输的倒数第四个触发沿,是则执行步骤A422,否则执行步骤S423;
步骤A422:异常监控处理模块判断当前持续时长是否达到第一预设时长,是则判断串行时钟线出现异常,否则返回所述步骤A3;
步骤A423:异常监控处理模块判断当前计数值是否是本次数据传输的最后一个触发沿,是则执行步骤A424,否则执行步骤A425;
步骤A424:异常监控处理模块判断当前持续时长是否达到第二预设时长,是则返回步骤A3,否则判断串行时钟线出现异常;
步骤A425:采样模块采集计数值信息和持续时长信息,同时异常监控处理模块判断持续时长是否在预设时长范围内,是则将一异常标识位置位,否则不动作。
6.如权利要求5所述的I2C总线的防死锁系统的防死锁方法,其特征在于,在所述步骤A1之前,所述方法还包括:
步骤A6:设置所述第一预设时长、所述第二预设时长、所述预设时长范围,并根据I2C总线传输速率的不同而动态设置所述采样模块的采样参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593526.6A CN103019871B (zh) | 2012-12-31 | 2012-12-31 | 一种i2c总线的防死锁系统及其防死锁方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210593526.6A CN103019871B (zh) | 2012-12-31 | 2012-12-31 | 一种i2c总线的防死锁系统及其防死锁方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103019871A CN103019871A (zh) | 2013-04-03 |
CN103019871B true CN103019871B (zh) | 2015-08-19 |
Family
ID=47968501
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210593526.6A Expired - Fee Related CN103019871B (zh) | 2012-12-31 | 2012-12-31 | 一种i2c总线的防死锁系统及其防死锁方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103019871B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2537856A (en) * | 2015-04-28 | 2016-11-02 | Nordic Semiconductor Asa | Communication between intergrated circuits |
CN106776054A (zh) * | 2016-12-27 | 2017-05-31 | 东莞新能德科技有限公司 | 一种死锁检测方法、装置和电路 |
US10296434B2 (en) * | 2017-01-17 | 2019-05-21 | Quanta Computer Inc. | Bus hang detection and find out |
CN108459984A (zh) * | 2018-02-02 | 2018-08-28 | 郑州云海信息技术有限公司 | 一种机柜i2c总线死锁处理方法、系统、介质及设备 |
CN108345376B (zh) * | 2018-03-07 | 2021-05-28 | 上海顺久电子科技有限公司 | 低功耗芯片唤醒方法、装置及低功耗芯片 |
CN109032876A (zh) * | 2018-08-28 | 2018-12-18 | 郑州云海信息技术有限公司 | 一种处理方法、电源及系统 |
CN109976489B (zh) * | 2019-03-28 | 2021-04-27 | 烽火通信科技股份有限公司 | 一种iic总线异常情况下自动复位实现方法及系统 |
CN110908841B (zh) * | 2019-12-03 | 2022-09-20 | 锐捷网络股份有限公司 | 一种i2c通信异常恢复方法及装置 |
CN111208892B (zh) * | 2020-01-10 | 2022-04-01 | 江苏钜芯集成电路技术股份有限公司 | 一种用串行i2c信号对芯片系统实现复位的方法 |
CN112073342B (zh) * | 2020-08-12 | 2023-06-16 | 成都华微电子科技股份有限公司 | 均衡器自适应状态机死锁规避方法 |
TWI811597B (zh) * | 2020-12-18 | 2023-08-11 | 新唐科技股份有限公司 | 恢復通訊界面中斷的方法及通訊界面控制器 |
CN113590527B (zh) * | 2021-10-08 | 2022-02-22 | 苏州浪潮智能科技有限公司 | 通信总线的挂死修复方法、装置、电子设备及存储介质 |
CN115834970A (zh) * | 2022-11-03 | 2023-03-21 | 深圳创维-Rgb电子有限公司 | 光感模块控制方法、装置、显示设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1456982A (zh) * | 2002-05-10 | 2003-11-19 | 英业达股份有限公司 | 一种具防锁死装置的串行信道多任务器 |
CN102521187A (zh) * | 2011-11-29 | 2012-06-27 | 广东东研网络科技有限公司 | 一种i2c总线通信死锁解决方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383364B2 (en) * | 2003-07-31 | 2008-06-03 | International Business Machines Corporation | Device address locking to facilitate optimum usage of the industry standard IIC bus |
-
2012
- 2012-12-31 CN CN201210593526.6A patent/CN103019871B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1456982A (zh) * | 2002-05-10 | 2003-11-19 | 英业达股份有限公司 | 一种具防锁死装置的串行信道多任务器 |
CN102521187A (zh) * | 2011-11-29 | 2012-06-27 | 广东东研网络科技有限公司 | 一种i2c总线通信死锁解决方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103019871A (zh) | 2013-04-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103019871B (zh) | 一种i2c总线的防死锁系统及其防死锁方法 | |
CN102681907B (zh) | 一种多功能看门狗电路 | |
CN102073613B (zh) | 一种消除i2c总线死锁的装置及方法 | |
CN102521187B (zh) | 一种i2c总线通信死锁解决方法 | |
CN107240381B (zh) | 一种显示装置的显示方法及显示装置 | |
CN101976217B (zh) | 网络处理器异常检测方法及系统 | |
CN102761439B (zh) | Pon接入系统中基于看门狗的异常检测记录装置及方法 | |
CN100346330C (zh) | 恢复i2c主器件和i2c从器件通讯的方法 | |
CN110908841B (zh) | 一种i2c通信异常恢复方法及装置 | |
CN106354685A (zh) | 一种psu和me通信i2c总线挂死恢复的实现方法 | |
CN107809349B (zh) | 一种监测服务器信号波形的装置及方法 | |
CN112422178B (zh) | 光模块监控方法、电子设备及存储介质 | |
CN104320308A (zh) | 一种服务器异常检测的方法及装置 | |
CN107220197A (zh) | 一种双控存储设备主备控制方法及装置 | |
CN111881076B (zh) | 一种国产cpu和bbu通信的i2c总线挂死修复方法及装置 | |
CN100543713C (zh) | 防止lpc总线死锁的方法和装置 | |
CN100426274C (zh) | 避免i2c总线锁定的方法与装置 | |
CN103530215B (zh) | 一种内部集成电路主机的自检方法、装置及主机 | |
CN112631820A (zh) | 软件系统的故障恢复方法及装置 | |
CN100470524C (zh) | 一种小容量fifo存储器的数据搬移触发装置和方法 | |
CN101625656A (zh) | 一种处理pci系统异常的方法及装置 | |
CN111124785B (zh) | 一种硬盘故障检查的方法、装置、设备及存储介质 | |
CN111522757A (zh) | 一种基于i2c总线的中断读取与清除的控制方法 | |
CN102231700A (zh) | 交换卡切换信息的下发方法和交换卡热备份系统 | |
CN111538626A (zh) | 一种从i2c设备解挂死的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP02 | Change in the address of a patent holder | ||
CP02 | Change in the address of a patent holder |
Address after: 621000 Mianyang city of Sichuan Province Branch Chong Park Jiuzhou Avenue No. 259 Kyushu Technology Industrial Park incubator building, B floor area Patentee after: Sichuan Dijiatong Electronic Co., Ltd. Address before: 518000 Nanshan District hi tech park, Shenzhen City, Guangdong Province, South District technology, Jiuzhou Electrical Building six building Patentee before: Sichuan Dijiatong Electronic Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150819 Termination date: 20181231 |