CN111881076B - 一种国产cpu和bbu通信的i2c总线挂死修复方法及装置 - Google Patents
一种国产cpu和bbu通信的i2c总线挂死修复方法及装置 Download PDFInfo
- Publication number
- CN111881076B CN111881076B CN202010605256.0A CN202010605256A CN111881076B CN 111881076 B CN111881076 B CN 111881076B CN 202010605256 A CN202010605256 A CN 202010605256A CN 111881076 B CN111881076 B CN 111881076B
- Authority
- CN
- China
- Prior art keywords
- bus
- clock line
- bbu
- data line
- level
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 38
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000008439 repair process Effects 0.000 claims abstract description 25
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 230000000903 blocking effect Effects 0.000 claims description 3
- 230000007704 transition Effects 0.000 claims description 3
- 239000000725 suspension Substances 0.000 abstract 2
- 238000011161 development Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 6
- 230000007774 longterm Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
-
- 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
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出了一种国产CPU和BBU通信的I2C总线挂死修复方法,包括:根据数据线以及时钟线的电平的高低判断I2C总线挂死是否是由主机端I2C总线的控制器挂死导致;如果是由主机端I2C总线的控制器挂死导致,则修改国产CPU的寄存器,将I2C总线中数据线管脚以及时钟线管脚分别配置为GPIO模式,再配置为I2C模式,模拟I2C总线的结束条件,实现I2C总线挂死修复;如果是由从机端BBU挂死导致,多次连续发送时钟线的第一数量的脉冲,直至I2C总线释放,实现I2C总线挂死修复,本发明还提出了一种国产CPU和BBU通信的I2C总线挂死修复装置,有效的提高了国产CPU和BBU通信的可靠性以及高效性。
Description
技术领域
本发明涉及I2C总线挂死修复领域,尤其是涉及一种国产CPU和BBU通信的I2C总线挂死修复方法及装置。
背景技术
I2C(Inter-Integrated Circuit BUS)集成电路总线,多用于主控制器和从器件间的主从通信,在小数据量场合使用,传输距离短,任意时刻只能有一个主机等特性。
I2C总线物理层只要求两条总线,一条是串行数据线SDA,一条是串行时钟线SCL,I2C是半双工,而不是全双工。每个连接到总线的器件都可以通过唯一的地址和其它器件通信,主机/从机角色和地址可配置,主机可以作为主机发送器和主机接收器;同时I2C是真正的多主机总线,如果两个或更多的主机同时请求总线,可以通过冲突检测和仲裁防止总线数据被破坏。传输速率在标准模式下可以达到100kb/s,快速模式下可以达到400kb/s。
I2C总线目前已经作为一种最通用的串行总线,MCU(微控制器)及其周围器件都满足I2C的接口。但是在使用时尤其在出现I2C需要热拔插的情况下会出现I2C总线从机挂死或主机挂死的情况。
如图1所示,一种国产CPU和BBU通信I2C总线连接系统示意图,国产CPU系统为飞腾FT2000+/64核ARM(ARM处理器)V8架构,支持arm64指令集。该国产CPU支持2个I2C总线,其中CPU支持8个DIMM(Dual-Inline-Memory-Modules,双列直插式存储模块)的接入。CPU初始化内存时,需要通过CPU I2C总线读取DIMM条的SPD(内存的重要信息,诸如内存的芯片及模组厂商、工作频率、工作电压、速度、容量、电压与行、列地址带宽等参数)信息。所以为了保证BIOS(基本输入输出系统)/OS(操作系统)的兼容性,两条I2C总线各分配了4条DIMM。为保证BBU(Battery Backup Unit,备用电池)接入后的I2C地址与DIMM的地址不出现冲突,BBU的I2C总线接在CPU的第二条I2C上。
FT2000+的I2C总线为1.8V电平,所以I2C拓扑中使用PCA9617(电压转换芯片)主要实现+3.3V与+1.8V电平之间的相互转换,74CBTLV3861(总线开关芯片)主要实现热拔插时I2C总线端口级挂死的修复。测试中发现,在拔插BBU时,在系统下读取BBU模块的信息时会出现I2C模块超时的情况。
经过对示波器抓取到的波形及多次对BBU模块进行热拔插操作,测试发现导致BBU挂死及读取BBU寄存器失败涉及两个方面的原因:
原因一:从机BBU挂死导致总线挂死,进而读写失败;
原因二:拔插时因为引入的抖动,导致主机端I2C模块的控制器(controller)异常挂死,进而导致读写失败。
目前intel等x86的I2C总线可以在I2C状态模式下通过控制I2C模块的reset(复位)模块把主机端I2C模块的控制器(controller)复位,国产CPU(例如FT2000+)的I2C总线目前还没有这种功能,因此无法实现国产CPU的I2C总线挂死修复,不利于提高国产CPU和BBU通信的可靠性以及高效性。
发明内容
本发明为了解决现有技术中存在的问题,创新提出了一种国产CPU和BBU通信的I2C总线挂死修复方法,有效解决由于国产CPU无法实现I2C总线挂死修复造成国产CPU和BBU通信的可靠性不高的问题,有效的提高了国产CPU和BBU通信的可靠性以及高效性。
本发明第一方面提供了一种国产CPU和BBU通信的I2C总线挂死修复方法,包括:
当确认主机端I2C总线的控制器挂死,则修改国产CPU的寄存器,将I2C总线中数据线管脚以及时钟线管脚分别配置为GPIO模式,再配置为I2C模式,模拟I2C总线的结束条件,实现I2C总线挂死修复。
可选地,当确认主机端I2C总线的控制器挂死之前还包括:根据数据线以及时钟线的电平的高低判断I2C总线挂死是否是由主机端I2C总线的控制器挂死导致。
进一步地,根据数据线以及时钟线的电平的高低判断I2C总线挂死是否是由主机端I2C总线的控制器挂死导致具体是:
如果数据线以及时钟线的电平均为持续高电平且不再改变,则确认I2C总线挂死是由主机端I2C总线的控制器异常挂死导致。
可选地,如果数据线持续为低电平,时钟线持续为高电平,且均不再改变,则确认I2C总线挂死是由从机端BBU挂死导致。
进一步地,如果I2C总线挂死是由从机端BBU挂死导致,多次连续发送时钟线的第一数量的脉冲,直至I2C总线释放,实现I2C总线挂死修复。
可选地,模拟I2C总线的结束条件具体是:时钟线为低电平,数据线由低电平跳变为高电平。
本发明第二方面提供了一种国产CPU和BBU通信的I2C总线挂死修复装置,包括:
修改配置模块,当确认主机端I2C总线的控制器挂死,则修改国产CPU的寄存器,将I2C总线中数据线管脚以及时钟线管脚分别配置为GPIO模式,再配置为I2C模式,模拟I2C总线的结束条件,实现I2C总线挂死修复。
可选地,还包括:
判断模块,根据数据线以及时钟线的电平的高低判断I2C总线挂死是否是由主机端I2C总线的控制器挂死导致。
进一步地,判断模块包括:
第一判断子模块,如果数据线以及时钟线的电平均为持续高电平且不再改变,则确认I2C总线挂死是由主机端I2C总线的控制器异常挂死导致;
第二判断子模块,如果数据线持续为低电平,时钟线持续为高电平,且均不再改变,则确认I2C总线挂死是由从机端BBU挂死导致。
进一步地,还包括:
脉冲发送模块,如果I2C总线挂死是由从机端BBU挂死导致,多次连续发送时钟线的第一数量的脉冲,直至I2C总线释放,实现I2C总线挂死修复。
本发明采用的技术方案包括以下技术效果:
1、本发明有效解决由于国产CPU无法实现I2C总线挂死修复造成国产CPU和BBU通信的可靠性不高的问题,有效的提高了国产CPU和BBU通信的可靠性以及高效性。
2、本发明如果I2C总线挂死是由主机端I2C总线的控制器挂死导致,则修改国产CPU的寄存器的设置,即可实现I2C总线挂死修复,简单易操作,便于I2C总线挂死的快速恢复。
3、本发明有利于国产CPU的长期发展及稳定可靠使用,并极大的推广国产CPU的快速发展。
应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中一种国产CPU与BBU通信的系统连接示意图;
图2为本发明方案中实施例一方法的流程示意图;
图3为本发明方案中实施例一方法中GPIO复用说明的示意图;
图4为本发明方案中实施例一方法中GPIO复用控制寄存器地址的示意图;
图5为本发明方案中实施例一方法中时钟线的第一数量的脉冲发送的示意图;
图6为本发明方案中实施例二方法的流程示意图;
图7为本发明方案中实施例三装置的结构示意图;
图8为本发明方案中实施例四装置的结构示意图;
图9为本发明方案中实施例四装置中判断模块101的一结构示意图;
图10为本发明方案中实施例四装置中判断模块101的另一结构示意图;
图11为本发明方案中实施例五装置的结构示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例一
如图2所示,本发明提供了一种国产CPU和BBU通信的I2C总线挂死修复方法,包括:
S1,当主机端I2C总线的控制器挂死,则修改国产CPU的寄存器,将I2C总线中数据线管脚以及时钟线管脚分别配置为GPIO模式,再配置为I2C模式,模拟I2C总线的结束条件,实现I2C总线挂死修复。
在步骤S1中,国产CPU的寄存器为GPIO(通用输入输出接口)复用控制寄存器,模拟I2C总线的结束条件具体是:时钟线为低电平,数据线由低电平跳变为高电平。
主机端I2C总线的控制器挂死情况表现为主机端挂死,从机正常。此时SCL和SDA都为高电平,且不再发生变化。此时在FT2000+的I2C1总线上表现为此I2C总线上所有的设备都看不到,读取这些模块时会有timeout(延时)的现象,如读取I2C1上挂接的4个DIMM会看不到。
但是,FT2000+的I2C1的SCL和SDA两个pin可以实现I2C模式与GPIO模式的复用(如图3所示)。在检测到主机端I2C总线的控制器挂死时,通过修改CPU的GPIO复用控制寄存器1,如图4所示,地址0x800_2810_0C04的bit27~bit24,把SCL管脚(I2C1_SCL/GPIO_B2)和SDA管脚(I2C1_SDA_GPIO_B3)分别配置为GPIO模式,然后在配置为I2C模式,最后再模拟一个I2C的STOP结束条件,即SCL为高,SDA由低电平跳变为高电平,经过上述修复策略导入,经过多次测试未出现IIC总线挂死的情况,实现I2C总线挂死修复。
需要说明的是,本发明中国产CPU的寄存器的修改,数据线管脚以及时钟线管脚模式的配置、I2C总线的结束条件的模拟均可以通过程序编程实现,具体实现思路与步骤对应。
本发明有效解决由于国产CPU无法实现I2C总线挂死修复造成国产CPU和BBU通信的可靠性不高的问题,有效的提高了国产CPU和BBU通信的可靠性以及高效性。
本发明如果I2C总线挂死是由主机端I2C总线的控制器挂死导致,则修改国产CPU的寄存器的设置,即可实现I2C总线挂死修复,简单易操作,便于I2C总线挂死的快速恢复。
本发明有利于国产CPU的长期发展及稳定可靠使用,并极大的推广国产CPU的快速发展。
实施例二
如图5所示,本发明技术方案还提供了一种国产CPU和BBU通信的I2C总线挂死修复方法,包括:
S1,实时监控I2C总线中数据线以及时钟线的电平的高低,根据数据线以及时钟线的电平的高低判断I2C总线挂死是否是由主机端I2C总线的控制器挂死导致,如果判断结果为是,执行步骤S2;如果判断结果为否,执行步骤S3;
S2,则修改国产CPU的寄存器,将I2C总线中数据线管脚以及时钟线管脚分别配置为GPIO模式,再配置为I2C模式,模拟I2C总线的结束条件,实现I2C总线挂死修复;
S3,多次连续发送时钟线的第一数量的脉冲,直至I2C总线释放,实现I2C总线挂死修复。
其中,在步骤S1中,根据数据线以及时钟线的电平的高低判断I2C总线挂死是否是由主机端I2C总线的控制器挂死导致具体是:
如果数据线以及时钟线的电平均为持续高电平且不再改变,则确认主机端I2C总线的控制器异常挂死。
进一步地,如果数据线持续为低电平,时钟线持续为高电平,且均不再改变,则确认I2C总线挂死是由从机端BBU挂死导致。
步骤S3中,I2C从机会拉高SDA线(数据线)有以下情况可以出现。主机向从机写数据或地址时,如果SCL线(时钟线)为高的时候,SDA应保持不变,而等到SCL为低后,SDA才能发生变化。如果在SCL的周期内SCL拉高后,从机未释放SDA一直为低,而主机也不在拉高SDA,此时从机会一直拉低SDA,直到下一个应该输出高电平的时候才会输出高。要想重新恢复释放SDA,按照I2C时序要求,SDA只有在SCL为低时才会发生变化。恢复SDA的方法就是想法让FT2000+的I2C1的SCL输出低电平才可让总线释放SDA,这样从机才会恢复。但是,只做一次SCL的下降沿不一定能保证SDA总线的释放,可能要多次才可实现总线释放。如图6所示,按照I2C总线时序,第一数量可以为9,我们按照发送9个SCL的下降沿脉冲的方法,在每次出现挂死时,通过单次发送9个SCL的下降沿脉冲方法,如果第一次发送9个脉冲总线没有释放,则会发送第二次9个脉冲,一次持续发送,直到总线释放。
需要说明的是,本发明中I2C总线中数据线以及时钟线的电平的高低的实时监控、I2C总线挂死是否是由主机端I2C总线的控制器挂死导致的判断;国产CPU的寄存器的修改,数据线管脚以及时钟线管脚模式的配置、I2C总线的结束条件的模拟、时钟线的第一数量的脉冲的连续发送均可以通过程序编程实现,具体实现思路与步骤对应。
本发明有效解决由于国产CPU无法实现I2C总线挂死修复造成国产CPU和BBU通信的可靠性不高的问题,有效的提高了国产CPU和BBU通信的可靠性以及高效性。
本发明如果I2C总线挂死是由主机端I2C总线的控制器挂死导致,则修改国产CPU的寄存器的设置,即可实现I2C总线挂死修复,简单易操作,便于I2C总线挂死的快速恢复。
本发明有利于国产CPU的长期发展及稳定可靠使用,并极大的推广国产CPU的快速发展。
实施例三
如图7所示,本发明技术方案还提供了一种国产CPU和BBU通信的I2C总线挂死修复装置,包括:
修改配置模块101,当确认主机端I2C总线的控制器挂死,则修改国产CPU的寄存器,将I2C总线中数据线管脚以及时钟线管脚分别配置为GPIO模式,再配置为I2C模式,模拟I2C总线的结束条件,实现I2C总线挂死修复。
本发明有效解决由于国产CPU无法实现I2C总线挂死修复造成国产CPU和BBU通信的可靠性不高的问题,有效的提高了国产CPU和BBU通信的可靠性以及高效性。
本发明如果I2C总线挂死是由主机端I2C总线的控制器挂死导致,则修改国产CPU的寄存器的设置,即可实现I2C总线挂死修复,简单易操作,便于I2C总线挂死的快速恢复。
本发明有利于国产CPU的长期发展及稳定可靠使用,并极大的推广国产CPU的快速发展。
实施例四
如图8所示,本发明技术方案还提供了一种国产CPU和BBU通信的I2C总线挂死修复装置,包括:
判断模块101,根据数据线以及时钟线的电平的高低判断I2C总线挂死是否是由主机端I2C总线的控制器挂死导致。
修改配置模块102,当确认主机端I2C总线的控制器挂死,则修改国产CPU的寄存器,将I2C总线中数据线管脚以及时钟线管脚分别配置为GPIO模式,再配置为I2C模式,模拟I2C总线的结束条件,实现I2C总线挂死修复。
进一步地,如图9所示,判断模块101包括:
第一判断子模块1011,如果数据线以及时钟线的电平均为持续高电平且不再改变,则I2C总线挂死确认主机端I2C总线的控制器异常挂死。
进一步地,如图10所示,判断模块101还包括:
第二判断子模块1012,如果数据线持续为低电平,时钟线持续为高电平,且均不再改变,则确认I2C总线挂死是由从机端BBU挂死导致。
本发明有效解决由于国产CPU无法实现I2C总线挂死修复造成国产CPU和BBU通信的可靠性不高的问题,有效的提高了国产CPU和BBU通信的可靠性以及高效性。
本发明如果I2C总线挂死是由主机端I2C总线的控制器挂死导致,则修改国产CPU的寄存器的设置,即可实现I2C总线挂死修复,简单易操作,便于I2C总线挂死的快速恢复。
本发明有利于国产CPU的长期发展及稳定可靠使用,并极大的推广国产CPU的快速发展。
实施例五
如图11所示,本发明技术方案还提供了一种国产CPU和BBU通信的I2C总线挂死修复装置,包括:
判断模块101,根据数据线以及时钟线的电平的高低判断I2C总线挂死是否是由主机端I2C总线的控制器挂死导致。
修改配置模块102,当确认主机端I2C总线的控制器挂死,则修改国产CPU的寄存器,将I2C总线中数据线管脚以及时钟线管脚分别配置为GPIO模式,再配置为I2C模式,模拟I2C总线的结束条件,实现I2C总线挂死修复;
脉冲发送模块103,如果I2C总线挂死是由从机端BBU挂死导致,多次连续发送时钟线的第一数量的脉冲,直至I2C总线释放,实现I2C总线挂死修复。
本发明有效解决由于国产CPU无法实现I2C总线挂死修复造成国产CPU和BBU通信的可靠性不高的问题,有效的提高了国产CPU和BBU通信的可靠性以及高效性。
本发明如果I2C总线挂死是由主机端I2C总线的控制器挂死导致,则修改国产CPU的寄存器的设置,即可实现I2C总线挂死修复,简单易操作,便于I2C总线挂死的快速恢复。
本发明有利于国产CPU的长期发展及稳定可靠使用,并极大的推广国产CPU的快速发展。
本发明以国产CPU与BBU的通信为例进行说明,但是并不限制国产CPU的通信对象,也可以用在国产CPU与其他从设备的通信应用中。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。
Claims (3)
1.一种国产CPU和BBU通信的I2C总线挂死修复方法,其特征是,包括:
当确认主机端I2C总线的控制器挂死,则修改国产CPU的寄存器,将I2C总线中数据线管脚以及时钟线管脚分别配置为GPIO模式,再配置为I2C模式,模拟I2C总线的结束条件,实现I2C总线挂死修复;其中,当确认主机端I2C总线的控制器挂死之前还包括:根据数据线以及时钟线的电平的高低判断I2C总线挂死是否是由主机端I2C总线的控制器挂死导致;
其中,根据数据线以及时钟线的电平的高低判断I2C总线挂死是否是由主机端I2C总线的控制器挂死导致具体是:
如果数据线以及时钟线的电平均为持续高电平且不再改变,则确认I2C总线挂死是由主机端I2C总线的控制器异常挂死导致;
如果数据线持续为低电平,时钟线持续为高电平,且均不再改变,则确认I2C总线挂死是由从机端BBU挂死导致;如果I2C总线挂死是由从机端BBU挂死导致,多次连续发送时钟线的第一数量的脉冲,直至I2C总线释放,实现I2C总线挂死修复。
2.根据权利要求1所述的国产CPU和BBU通信的I2C总线挂死修复方法,其特征是,模拟I2C总线的结束条件具体是:时钟线为低电平,数据线由低电平跳变为高电平。
3.一种国产CPU和BBU通信的I2C总线挂死修复装置,其特征是,包括:
修改配置模块,当确认主机端I2C总线的控制器挂死,则修改国产CPU的寄存器,将I2C总线中数据线管脚以及时钟线管脚分别配置为GPIO模式,再配置为I2C模式,模拟I2C总线的结束条件,实现I2C总线挂死修复;
判断模块,根据数据线以及时钟线的电平的高低判断I2C总线挂死是否是由主机端I2C总线的控制器挂死导致;其中,判断模块包括:
第一判断子模块,如果数据线以及时钟线的电平均为持续高电平且不再改变,则确认I2C总线挂死是由主机端I2C总线的控制器异常挂死导致;
第二判断子模块,如果数据线持续为低电平,时钟线持续为高电平,且均不再改变,则确认I2C总线挂死是由从机端BBU挂死导致;
脉冲发送模块,如果I2C总线挂死是由从机端BBU挂死导致,多次连续发送时钟线的第一数量的脉冲,直至I2C总线释放,实现I2C总线挂死修复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010605256.0A CN111881076B (zh) | 2020-06-29 | 2020-06-29 | 一种国产cpu和bbu通信的i2c总线挂死修复方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010605256.0A CN111881076B (zh) | 2020-06-29 | 2020-06-29 | 一种国产cpu和bbu通信的i2c总线挂死修复方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111881076A CN111881076A (zh) | 2020-11-03 |
CN111881076B true CN111881076B (zh) | 2023-05-26 |
Family
ID=73157297
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010605256.0A Active CN111881076B (zh) | 2020-06-29 | 2020-06-29 | 一种国产cpu和bbu通信的i2c总线挂死修复方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111881076B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112765082B (zh) * | 2021-01-27 | 2024-04-26 | 维沃移动通信有限公司 | 多主机仲裁方法、装置和可读存储介质 |
CN114003445B (zh) * | 2021-09-29 | 2023-12-26 | 苏州浪潮智能科技有限公司 | Bmc的i2c监控功能测试方法、系统、终端及存储介质 |
CN113590527B (zh) * | 2021-10-08 | 2022-02-22 | 苏州浪潮智能科技有限公司 | 通信总线的挂死修复方法、装置、电子设备及存储介质 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019136595A1 (zh) * | 2018-01-09 | 2019-07-18 | 深圳市汇顶科技股份有限公司 | 处理i2c总线死锁的方法、电子设备和通信系统 |
CN111007763B (zh) * | 2019-12-03 | 2022-02-01 | 宁波奥克斯电气股份有限公司 | 一种iic总线解锁的控制方法 |
-
2020
- 2020-06-29 CN CN202010605256.0A patent/CN111881076B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111881076A (zh) | 2020-11-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111881076B (zh) | 一种国产cpu和bbu通信的i2c总线挂死修复方法及装置 | |
US6842806B2 (en) | Method and apparatus for interconnecting wired-AND buses | |
JP6360588B2 (ja) | 動的pcieスイッチ再配置システムおよびその方法 | |
US10169282B2 (en) | Bus serialization for devices without multi-device support | |
TWI731200B (zh) | 使用i2c匯流排與主機連接的從機及其通信方法 | |
US7284079B2 (en) | Method and apparatus for constructing wired-and bus systems | |
US9081705B2 (en) | Methods and apparatus for reliable detection and enumeration of devices | |
US20080288708A1 (en) | Multiple virtual usb devices with virtual hub implemented using one usb device controller | |
US8103896B2 (en) | Method and system for I2C clock generation | |
WO2021098485A1 (zh) | PCIe设备的上下电控制方法以及系统 | |
CN107194257B (zh) | 一种基于国产tcm芯片的可信系统 | |
US20040225813A1 (en) | Method and apparatus for configuring multiple segment wired-and bus systems | |
WO2007030978A1 (fr) | Procede, appareil de reinitialisation et equipement pour effectuer la reinitialisation d'un dispositif maitre dans un bus i2c | |
CN105528314B (zh) | 一种数据处理方法及控制设备 | |
WO2013100748A1 (en) | Watchdogable register-based i/o | |
US11500809B2 (en) | Single-wire two-way communication circuit and single-wire two-way communication method | |
CN111124972A (zh) | 基于相同i2c地址的芯片扩展方法、系统及存储介质 | |
CN112214343B (zh) | 一种基于pca9511芯片的iic挂死的链路恢复电路及方法 | |
CN105354157A (zh) | 配置iic器件的方法、装置和系统 | |
CN103064817B (zh) | 一种简化两线式串行数据总线传输方法 | |
KR100684130B1 (ko) | 고유 버스 프로토콜을 사용하여 동기 버스를 임의의길이만큼 확장하는 방법 및 시스템 | |
CN102662902B (zh) | 一种防止i2c总线锁定的方法、装置及系统 | |
CN111737183A (zh) | 一种服务器及一种i2c总线的通信故障处理方法和系统 | |
CN115407941A (zh) | 一种vmd功能启动方法及其相关组件 | |
KR101816895B1 (ko) | 섀시형 통신 장비를 위한 관리용 시리얼 버스 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |