CN109002412A - 基于I2C总线hold time定位通信故障的系统及方法 - Google Patents
基于I2C总线hold time定位通信故障的系统及方法 Download PDFInfo
- Publication number
- CN109002412A CN109002412A CN201810714266.0A CN201810714266A CN109002412A CN 109002412 A CN109002412 A CN 109002412A CN 201810714266 A CN201810714266 A CN 201810714266A CN 109002412 A CN109002412 A CN 109002412A
- Authority
- CN
- China
- Prior art keywords
- hold time
- value
- alarm status
- status position
- 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.)
- Granted
Links
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
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)
- Maintenance And Management Of Digital Transmission (AREA)
Abstract
本发明实施例公开了基于I2C总线hold time定位通信故障的系统及方法,所述系统包括扫描模块,用于获取I2C线路上的通讯信息,并根据所述通讯信息计算hold time的值;配置模块,用于配置hold time的阈值、告警策略和告警状态位;存储模块,在hold time的值未超过阈值时,改变告警状态位的初值并保存错误日志;分析处理模块,在获取到告警状态位的改变后,分析错误日志,定位故障位置。本发明通过扫描模块不间断的获取并计算通信中hold time的值,并对计算结果与阈值进行比较,在不符合阈值条件时,生成错误日志,便于对故障的分析,且整个过程不需要进行额外的操作,且不影响计算机的正常工作,具有高可用性,能够实现长期监控。
Description
技术领域
本发明涉及计算机通讯技术领域,具体地说是基于I2C(Inter-IntegratedCircuit,内部集成的串行总线)总线hold time(保持时间)定位通信故障的系统及方法。
背景技术
保持时间(hold time)是指触发器的时钟信号上升沿到来以后,数据也必须保持一段时间,数据保持不变以便能够稳定读取(信号在器件内部通过连线和逻辑单元时,都有一定的延时。延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。信号的高低电平转换也需要一定的过渡时间)。如果holdtime不够,数据便不能被有效读取并转换为输出。
满足保持时间要求,电路状态改变就是正确的,电路功能就不会发生错误;如果不满足,电容就没有足够的时间充放电,输出点的电平可能既非0也非1,造成“亚稳态“输出。如果前级驱动够强劲,电路就能按照趋势变化下去,一定时间后该点的值就会变化为“正确值”,如果驱动不够强劲,电路就会恢复之前的值,最终得到何值是不可控的,因此要避免亚稳态,在使用DFF(data flip-flop,D型触发器)时,必须满足其保持时间的要求。
由于I2C通信中主器件、从器件都是封闭不可改动的,目前,测量I2C链路的holdtime普遍采用外接示波器,通过探针连入I2C链路抓取通信波形,分析信号数据,来得出hold time值。此方法费时费力,且仅用于故障排查无法在运行时长期监控。
发明内容
本发明实施例中提供了基于I2C总线hold time定位通信故障的系统及方法,以解决现有技术中对hold time的获取方法费时费力且无法长期监控的问题。
为了解决上述技术问题,本发明实施例公开了如下技术方案:
本发明第一方面提供了基于I2C总线hold time定位通信故障的系统,所述系统包括
扫描模块,用于获取I2C线路上的通讯信息,并根据所述通讯信息计算holdtime的值;
配置模块,用于配置hold time的阈值、告警策略和告警状态位;
存储模块,在hold time的值小于等于阈值时,改变告警状态位的初值并保存错误日志;
分析处理模块,在获取到告警状态位的改变后,分析错误日志,定位故障位置。
结合第一方面,在第一方面第一种可能的实现方式中,所述扫描模块包括
第一信息获取单元,用于获取I2C总线上SCL和SDA的状态;
计算单元,计算SCL(series-clock,I2C链路的串行时钟总线)下降沿至SDA(series-data,I2C链路的串行数据总线)电平改变的时间,记为hold time。
结合第一方面,在第一方面第二种可能的实现方式中,所述存储模块包括
判断单元,用于比较hold time的值与阈值,在hold time的值小于等于阈值时,触发状态单元和存储单元;
状态单元,用于改变告警状态位的取值;
存储单元,用于生成并保存错误日志。
结合第一方面,在第一方面第二种可能的实现方式中,所述错误日志包括故障时间、故障器件地址、读/写位和hold time的值。
结合第一方面,在第一方面第三种可能的实现方式中,所述分析处理模块包括
第二信息获取单元,用于获取告警状态位,并判断告警状态位的取值是否发生变化,在告警状态位发生变化时,触发分析定位单元;
分析定位单元,用于分析错误日志的内容,定位故障位置。
本发明第二方面提供了基于I2C总线hold time定位通信故障的方法,包括以下步骤:
获取I2C线路上的通讯信息,并根据所述通讯信息计算hold time的值;
将hold time的计算结果与hold time阈值进行比较,在hold time的值小于等于阈值时,改变告警状态位的初值并保存错误日志;
在获取到告警状态位的改变后,分析错误日志,定位故障位置。
结合第二方面,在第二方面第一种可能的实现方式中,所述通讯信息包括I2C总线上SCL和SDA的状态,对hold time值的计算具体为:
从SCL下降沿开始计时,SDA电平改变时计时结束,该时间段记为hold time的值。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
1、通过扫描模块不间断的获取并计算通信中hold time的值,并对计算结果与阈值进行比较,在不符合阈值条件时,生成错误日志,便于对故障的分析,且整个过程不需要进行额外的操作,且不影响计算机的正常工作,具有高可用性,能够实现长期监控。
2、错误日志中包含了故障位置信息,便于快速定位故障,保障了I2C通信的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明所述系统实施例的结构示意图;
图2是I2C时序示意图;
图3是本发明所述方法实施例的流程示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例
如图1所示,本发明的基于I2C总线hold time定位通信故障的系统包括扫描模块1、配置模块2、存储模块3和分析处理模块4。
扫描模块1用于获取I2C线路上的通讯信息,并根据所述通讯信息计算hold time的值;I2C线路上的通讯信息包括SCL和SDA的状态,在I2C总线处于空闲状态时,SCL和SDA信号均为高电平,当I2C按照正常流程发起通信时,时钟信号产生,扫描模块1监测到总线电平改变,开始进入工作状态。
扫描模块1包括第一信息获取单元11和计算单元12,第一信息获取单元11在扫描模块1进入到工作状态后获取I2C总线上SCL和SDA的状态;计算单元12用于计算hold time的时间,计算过程为:
如图2所示,在SCL下降沿开始计时,至SDA电平发生改变时计时结束,该段计时时间记为hold time的值。扫描模块1内有时钟信号,如100MHz的时钟信号,并以此为依据,通过计数器进行计数,
配置模块2用于配置hold time的阈值、告警策略和告警状态位。告警策略为holdtime的值小于等于阈值时,发出故障告警,改变告警状态位的初值,并生成错误日志。
如下表1所示,错误日志内包括的信息有错误日志的存储地址、产生时间、从器件地址、读/写位和对应hold time的值。
存储地址 | 时间 | 从器件地址 | 读/写 | Hold time值 |
0X0000000 | 6byte | 7bit | 1bit | 1byte |
存储模块3包括判断单元31、状态单元32和存储单元33。判断单元31用于比较holdtime的值与阈值,在hold time的值小于等于阈值时,触发状态单元32和存储单元33;状态单元32用于改变告警状态位的值;存储单元33用于生成并保存错误日志。存储单元33选用DDR(Double Data Rate,双倍速率同步动态随机存储器)寄存器。
分析处理模块4在获取到告警状态位的改变后,分析错误日志,定位故障位置。分析处理模块4包括第二信息获取单元41和分析定位单元42;第二信息获取单元41用于获取告警状态位,并判断告警状态位的取值是否发生变化,在告警状态位发生变化时,触发分析定位单元;分析定位单元42用于分析错误日志的内容,定位故障位置。
需要说明的一点是分析处理模块4与配置模块2、存储模块3的联系是通过扫描模块1的接口实现的,为了提高线路的利用率,所有与分析处理模块4的通信都通过扫描模块1通信,然后扫描模块1转发通信信息给配置模块和存储模块3,这样不需要分析处理模块4与每个模块都建立通信链路。
如图3所示,本发明的基于I2C总线hold time定位通信故障的方法,包括以下步骤:
S1,获取I2C线路上的通讯信息,并根据所述通讯信息计算hold time的值;
I2C线路上的通信信息包括SCL和SDA的状态,分析SCL和SDA的状态信息,从SCL下降沿开始计时,SDA电平改变时计时结束,将该时间段记为hold time的值。
S2,将hold time的计算结果与hold time阈值进行比较,在hold time的值小于等于阈值时,改变告警状态位的初值并保存错误日志;
在步骤S2之前,进行了hold time阈值的配置,将步骤S1中hold time的计算结果与阈值进行比较,在hold time小于等于阈值时,认为hold time不符合要求,此时改变告警状态为的初值并保存错误日志。
S3,在获取到告警状态位的改变后,分析错误日志,定位故障位置。
监测到告警状态位的改变后,获取错误日志并分析错误日志的内容,根据错误日志中从器件地址定位故障位置,保障了I2C通信的稳定性。
以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。
Claims (7)
1.基于I2C总线hold time定位通信故障的系统,其特征是,所述系统包括
扫描模块,用于获取I2C线路上的通讯信息,并根据所述通讯信息计算hold time的值;
配置模块,用于配置hold time的阈值、告警策略和告警状态位;
存储模块,在hold time的值小于等于阈值时,改变告警状态位的初值并保存错误日志;
分析处理模块,在获取到告警状态位的改变后,分析错误日志,定位故障位置。
2.根据权利要求1所述的基于I2C总线hold time定位通信故障的系统,其特征是,所述扫描模块包括
第一信息获取单元,用于获取I2C总线上SCL和SDA的状态;
计算单元,计算SCL下降沿至SDA电平改变的时间,记为hold time。
3.根据权利要求1所述的基于I2C总线hold time定位通信故障的系统,其特征是:所述存储模块包括
判断单元,用于比较hold time的值与阈值,在hold time的值小于等于阈值时,触发状态单元和存储单元;
状态单元,用于改变告警状态位的值;
存储单元,用于生成并保存错误日志。
4.根据权利要求3所述的基于I2C总线hold time定位通信故障的系统,其特征是,所述错误日志包括故障时间、故障器件地址、读/写位和hold time的值。
5.根据权利要求1所述的基于I2C总线hold time定位通信故障的系统,其特征是,所述分析处理模块包括
第二信息获取单元,用于获取告警状态位,并判断告警状态位的取值是否发生变化,在告警状态位发生变化时,触发分析定位单元;
分析定位单元,用于分析错误日志的内容,定位故障位置。
6.基于I2C总线hold time定位通信故障的方法,其特征是,包括以下步骤:
获取I2C线路上的通讯信息,并根据所述通讯信息计算hold time的值;
将hold time的计算结果与hold time阈值进行比较,在hold time的值小于等于阈值时,改变告警状态位的初值并保存错误日志;
在获取到告警状态位的改变后,分析错误日志,定位故障位置。
7.根据权利要求6所述的基于I2C总线hold time定位通信故障的方法,其特征是,所述通讯信息包括I2C总线上SCL和SDA的状态,对hold time值的计算具体为:
从SCL下降沿开始计时,SDA电平改变时计时结束,该时间段记为hold time的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810714266.0A CN109002412B (zh) | 2018-07-03 | 2018-07-03 | 基于I2C总线hold time定位通信故障的系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810714266.0A CN109002412B (zh) | 2018-07-03 | 2018-07-03 | 基于I2C总线hold time定位通信故障的系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109002412A true CN109002412A (zh) | 2018-12-14 |
CN109002412B CN109002412B (zh) | 2021-05-25 |
Family
ID=64598198
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810714266.0A Active CN109002412B (zh) | 2018-07-03 | 2018-07-03 | 基于I2C总线hold time定位通信故障的系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109002412B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176952A (zh) * | 2019-12-31 | 2020-05-19 | 山东英信计算机技术有限公司 | 一种i2c通道的监测方法、监测系统及相关装置 |
CN112631863A (zh) * | 2020-12-22 | 2021-04-09 | 苏州浪潮智能科技有限公司 | 一种bmc健康状态检测方法、电子设备及存储介质 |
CN113360442A (zh) * | 2021-05-28 | 2021-09-07 | 山东云海国创云计算装备产业创新中心有限公司 | 一种lpc总线的信号形成时间监测系统和方法 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000025290A (ko) * | 1998-10-09 | 2000-05-06 | 김영환 | 에이시-3 디코더 및 브이에스비의 아이2시-버스 제어 장치 및그 방법 |
CN101150386A (zh) * | 2006-09-18 | 2008-03-26 | 三星电子株式会社 | 用于改进通信错误的通信方法和使用所述方法的电子设备 |
CN101231628A (zh) * | 2007-01-23 | 2008-07-30 | 三星电子株式会社 | 控制串行数据线的状态转换的定时的方法和设备 |
CN101770443A (zh) * | 2009-01-07 | 2010-07-07 | 成都市华为赛门铁克科技有限公司 | 一种内部集成电路总线时序调节方法、相应装置及系统 |
CN102739456A (zh) * | 2012-07-13 | 2012-10-17 | 西南交通大学 | 一种有线和无线热备冗余多主通信方法与现场网关模块 |
CN106292986A (zh) * | 2016-08-08 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种服务器电源psu故障确定方法及装置 |
CN107844441A (zh) * | 2016-09-18 | 2018-03-27 | 南京中兴新软件有限责任公司 | 单板的通讯方法和装置 |
US20180107625A1 (en) * | 2016-10-13 | 2018-04-19 | SK Hynix Inc. | Data transmission systems having a plurality of transmission lanes and methods of testing transmission data in the data transmission systems |
-
2018
- 2018-07-03 CN CN201810714266.0A patent/CN109002412B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000025290A (ko) * | 1998-10-09 | 2000-05-06 | 김영환 | 에이시-3 디코더 및 브이에스비의 아이2시-버스 제어 장치 및그 방법 |
CN101150386A (zh) * | 2006-09-18 | 2008-03-26 | 三星电子株式会社 | 用于改进通信错误的通信方法和使用所述方法的电子设备 |
CN101231628A (zh) * | 2007-01-23 | 2008-07-30 | 三星电子株式会社 | 控制串行数据线的状态转换的定时的方法和设备 |
CN101770443A (zh) * | 2009-01-07 | 2010-07-07 | 成都市华为赛门铁克科技有限公司 | 一种内部集成电路总线时序调节方法、相应装置及系统 |
CN102739456A (zh) * | 2012-07-13 | 2012-10-17 | 西南交通大学 | 一种有线和无线热备冗余多主通信方法与现场网关模块 |
CN106292986A (zh) * | 2016-08-08 | 2017-01-04 | 浪潮电子信息产业股份有限公司 | 一种服务器电源psu故障确定方法及装置 |
CN107844441A (zh) * | 2016-09-18 | 2018-03-27 | 南京中兴新软件有限责任公司 | 单板的通讯方法和装置 |
US20180107625A1 (en) * | 2016-10-13 | 2018-04-19 | SK Hynix Inc. | Data transmission systems having a plurality of transmission lanes and methods of testing transmission data in the data transmission systems |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111176952A (zh) * | 2019-12-31 | 2020-05-19 | 山东英信计算机技术有限公司 | 一种i2c通道的监测方法、监测系统及相关装置 |
CN112631863A (zh) * | 2020-12-22 | 2021-04-09 | 苏州浪潮智能科技有限公司 | 一种bmc健康状态检测方法、电子设备及存储介质 |
CN113360442A (zh) * | 2021-05-28 | 2021-09-07 | 山东云海国创云计算装备产业创新中心有限公司 | 一种lpc总线的信号形成时间监测系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109002412B (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109002412A (zh) | 基于I2C总线hold time定位通信故障的系统及方法 | |
CN102737724B (zh) | 非易失性随机访问存储器测试方法 | |
CN111124981B (zh) | 一种服务器i2c设备的管理系统及方法 | |
US10671467B2 (en) | Semiconductor device | |
US7596730B2 (en) | Test method, test system and assist board | |
CN106448744B (zh) | 一种ddr时序分析方法、装置及系统 | |
CN107526664A (zh) | 一种服务器异常掉电快速定位方法和装置 | |
CN102841831A (zh) | 服务器的内存测试系统及方法 | |
CN104239174A (zh) | Bmc远程调试系统及方法 | |
US8391162B2 (en) | Apparatus and method for testing SMNP cards | |
CN105528300B (zh) | 一种ddr内存控制器及其访问监控方法 | |
CN103149468A (zh) | 一种电子元器件参数测试装置 | |
CN108647124A (zh) | 一种存储跳变信号的方法及其装置 | |
CN110659150B (zh) | 微控制单元内存的检测方法以及相关装置 | |
CN108491299A (zh) | 一种信号检测板卡以及用于信号检测的主板 | |
CN210721440U (zh) | 一种pcie卡异常恢复装置及pcie卡、pcie扩展系统 | |
CN112485640A (zh) | 内置电容器的检测方法、装置、检测设备和存储介质 | |
CN212723938U (zh) | 一种在服务器s5状态下监测电源工作状态的装置 | |
CN113160875A (zh) | 芯片测试系统和测试方法 | |
CN113709010A (zh) | 一种不限帧长的Modbus通信协议系统 | |
CN202854797U (zh) | 一种计算机硬件检测装置 | |
CN112466386A (zh) | 一种面向故障分类的存储器测试系统及方法 | |
CN114155903A (zh) | 测试系统以及测试方法 | |
CN103530208A (zh) | 内存条 | |
US20240133737A1 (en) | Test system and method |
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 |