首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

基于I2C总线hold time定位通信故障的系统及方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:郑州云海信息技术有限公司

摘要:本发明实施例公开了基于I2C总线holdtime定位通信故障的系统及方法,所述系统包括扫描模块,用于获取I2C线路上的通讯信息,并根据所述通讯信息计算holdtime的值;配置模块,用于配置holdtime的阈值、告警策略和告警状态位;存储模块,在holdtime的值未超过阈值时,改变告警状态位的初值并保存错误日志;分析处理模块,在获取到告警状态位的改变后,分析错误日志,定位故障位置。本发明通过扫描模块不间断的获取并计算通信中holdtime的值,并对计算结果与阈值进行比较,在不符合阈值条件时,生成错误日志,便于对故障的分析,且整个过程不需要进行额外的操作,且不影响计算机的正常工作,具有高可用性,能够实现长期监控。

主权项:1.基于I2C总线holdtime定位通信故障的系统,其特征是,所述系统包括扫描模块,用于获取I2C线路上的通讯信息,并根据所述通讯信息计算holdtime的值;配置模块,用于配置holdtime的阈值、告警策略和告警状态位;存储模块,在holdtime的值小于等于阈值时,改变告警状态位的初值并保存错误日志;分析处理模块,在获取到告警状态位的改变后,分析错误日志,根据错误日志从器件地址定位故障位置,所述错误日志包括故障时间、故障器件地址、读写位和holdtime的值;所述分析处理模块与配置模块、存储模块的联系通过扫描模块的接口实现;所述扫描模块包括第一信息获取单元,用于获取I2C总线上SCL和SDA的状态;计算单元,计算SCL下降沿至SDA电平改变的时间,记为holdtime。

全文数据:基于12C总线hoIdtime定位通信故障的系统及方法技术领域[0001]本发明涉及计算机通讯技术领域,具体地说是基于I2CInter—IntegratedCircuit,内部集成的串行总线总线holdtime保持时间)定位通信故障的系统及方法。背景技术[0002]保持时间(holdtime是指触发器的时钟信号上升沿到来以后,数据也必须保持一段时间,数据保持不变以便能够稳定读取信号在器件内部通过连线和逻辑单元时,都有一定的延时。延时的大小与连线的长短和逻辑单元的数目有关,同时还受器件的制造工艺、工作电压、温度等条件的影响。信号的高低电平转换也需要一定的过渡时间)。如果holdtime不够,数据便不能被有效读取并转换为输出。[0003]满足保持时间要求,电路状态改变就是正确的,电路功能就不会发生错误;如果不满足,电容就没有足够的时间充放电,输出点的电平可能既非〇也非1,造成“亚稳态“输出。如果前级驱动够强劲,电路就能按照趋势变化下去,一定时间后该点的值就会变化为“正确值”,如果驱动不够强劲,电路就会恢复之前的值,最终得到何值是不可控的,因此要避免亚稳态,在使用DFFdataflip-flop,D型触发器时,必须满足其保持时间的要求。[0004]由于I2C通信中主器件、从器件都是封闭不可改动的,目前,测量I2C链路的holdtime普遍采用外接示波器,通过探针连入12C链路抓取通信波形,分析信号数据,来得出holdtime值。此方法费时费力,且仅用于故障排查无法在运行时长期监控。发明内容[0005]本发明实施例中提供了基于I2C总线holdtime定位通信故障的系统及方法,以解决现有技术中对holdtime的获取方法费时费力且无法长期监控的问题。[0006]为了解决上述技术问题,本发明实施例公开了如下技术方案:[0007]本发明第一方面提供了基于I2C总线holdtime定位通信故障的系统,所述系统包括[0008]扫描模块,用于获取I2C线路上的通讯信息,并根据所述通讯信息计算holdtime的值;[0009]配置模块,用于配置holdtime的阈值、告警策略和告警状态位;[0010]存储模块,在hoIdtime的值小于等于阈值时,改变告警状态位的初值并保存错误日志;[0011]分析处理模块,在获取到告警状态位的改变后,分析错误日志,定位故障位置。[0012]结合第一方面,在第一方面第一种可能的实现方式中,所述扫描模块包括[0013]第一信息获取单元,用于获取I2C总线上SCL和SDA的状态;[0014]计算单元,计算SCLseries-clock,12C链路的串行时钟总线)下降沿至SDAseries-data,I2C链路的串行数据总线)电平改变的时间,记为holdtime。[0015]结合第一方面,在第一方面第二种可能的实现方式中,所述存储模块包括[0016]判断单元,用于比较holdtime的值与阈值,在holdtime的值小于等于阈值时,触发状态单元和存储单元;[0017]状态单元,用于改变告警状态位的取值;[0018]存储单元,用于生成并保存错误日志。[0019]结合第一方面,在第一方面第二种可能的实现方式中,所述错误日志包括故障时间、故障器件地址、读写位和hoIdtime的值。[0020]结合第一方面,在第一方面第三种可能的实现方式中,所述分析处理模块包括[0021]第二信息获取单元,用于获取告警状态位,并判断告警状态位的取值是否发生变化,在告警状态位发生变化时,触发分析定位单元;[0022]分析定位单元,用于分析错误日志的内容,定位故障位置。[0023]本发明第二方面提供了基于I2C总线holdtime定位通信故障的方法,包括以下步骤:[0024]获取I2C线路上的通讯信息,并根据所述通讯信息计算holdtime的值;[0025]将holdtime的计算结果与holdtime阈值进行比较,在holdtime的值小于等于阈值时,改变告警状态位的初值并保存错误日志;[0026]在获取到告警状态位的改变后,分析错误日志,定位故障位置。[0027]结合第二方面,在第二方面第一种可能的实现方式中,所述通讯信息包括I2C总线上SCL和SDA的状态,对holdtime值的计算具体为:[0028]从SCL下降沿开始计时,SDA电平改变时计时结束,该时间段记为holdtime的值。[0029]发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:[0030]1、通过扫描模块不间断的获取并计算通信中holdtime的值,并对计算结果与阈值进行比较,在不符合阈值条件时,生成错误日志,便于对故障的分析,且整个过程不需要进行额外的操作,且不影响计算机的正常工作,具有高可用性,能够实现长期监控。[0031]2、错误日志中包含了故障位置信息,便于快速定位故障,保障了I2C通信的稳定性。附图说明[0032]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。[0033]图1是本发明所述系统实施例的结构示意图;[0034]图2是I2C时序示意图;[0035]图3是本发明所述方法实施例的流程示意图。具体实施方式[0036]为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。[0037]实施例[0038]如图1所示,本发明的基于I2C总线holdtime定位通信故障的系统包括扫描模块1、配置模块2、存储模块3和分析处理模块4。[0039]扫描模块1用于获取I2C线路上的通讯信息,并根据所述通讯信息计算holdtime的值;I2C线路上的通讯信息包括SCL和SDA的状态,在I2C总线处于空闲状态时,SCL和SDA信号均为高电平,当I2C按照正常流程发起通信时,时钟信号产生,扫描模块1监测到总线电平改变,开始进入工作状态。[0040]扫描模块1包括第一信息获取单元11和计算单元12,第一信息获取单元11在扫描模块1进入到工作状态后获取I2C总线上SCL和SDA的状态;计算单元12用于计算holdtime的时间,计算过程为:[0041]如图2所示,在SCL下降沿开始计时,至SDA电平发生改变时计时结束,该段计时时间记为hoIdtime的值。扫描模块1内有时钟信号,如IOOMHz的时钟信号,并以此为依据,通过计数器进行计数,[0042]配置模块2用于配置holdtime的阈值、告警策略和告警状态位。告警策略为holdtime的值小于等于阈值时,发出故障告警,改变告警状态位的初值,并生成错误日志。[0043]如下表1所示,错误日志内包括的信息有错误日志的存储地址、产生时间、从器件地址、读写位和对应holdtime的值。[0044][0045]~存储模块3包括判断单元31、状态单元32和存储单元33。判断单元31用于比较holdtime的值与阈值,在holdtime的值小于等于阈值时,触发状态单元32和存储单元33;状态单元32用于改变告警状态位的值;存储单元33用于生成并保存错误日志。存储单元33选用DDRDoubleDataRate,双倍速率同步动态随机存储器寄存器。[0046]分析处理模块4在获取到告警状态位的改变后,分析错误日志,定位故障位置。分析处理模块4包括第二信息获取单元41和分析定位单元42;第二信息获取单元41用于获取告警状态位,并判断告警状态位的取值是否发生变化,在告警状态位发生变化时,触发分析定位单元;分析定位单元42用于分析错误日志的内容,定位故障位置。[0047]需要说明的一点是分析处理模块4与配置模块2、存储模块3的联系是通过扫描模块1的接口实现的,为了提高线路的利用率,所有与分析处理模块4的通信都通过扫描模块1通信,然后扫描模块1转发通信信息给配置模块和存储模块3,这样不需要分析处理模块4与每个模块都建立通信链路。[0048]如图3所示,本发明的基于I2C总线holdtime定位通信故障的方法,包括以下步骤:[0049]SI,获取I2C线路上的通讯信息,并根据所述通讯信息计算holdtime的值;[0050]I2C线路上的通信信息包括SCL和SDA的状态,分析SCL和SDA的状态信息,从SCL下降沿开始计时,SDA电平改变时计时结束,将该时间段记为holdtime的值。[0051]S2,将holdtime的计算结果与holdtime阈值进行比较,在holdtime的值小于等于阈值时,改变告警状态位的初值并保存错误日志;[0052]在步骤S2之前,进行了holdtime阈值的配置,将步骤Sl中holdtime的计算结果与阈值进行比较,在holdtime小于等于阈值时,认为holdtime不符合要求,此时改变告警状态为的初值并保存错误日志。[0053]S3,在获取到告警状态位的改变后,分析错误日志,定位故障位置。[0054]监测到告警状态位的改变后,获取错误日志并分析错误日志的内容,根据错误日志中从器件地址定位故障位置,保障了I2C通信的稳定性。[0055]以上所述只是本发明的优选实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也被视为本发明的保护范围。

权利要求:1.基于I2C总线holdtime定位通信故障的系统,其特征是,所述系统包括扫描模块,用于获取I2C线路上的通讯信息,并根据所述通讯信息计算holdtime的值;配置模块,用于配置holdtime的阈值、告警策略和告警状态位;存储模块,在hoIdtime的值小于等于阈值时,改变告警状态位的初值并保存错误日志;分析处理模块,在获取到告警状态位的改变后,分析错误日志,定位故障位置。2.根据权利要求1所述的基于I2C总线holdtime定位通信故障的系统,其特征是,所述扫描模块包括第一信息获取单元,用于获取I2C总线上SCL和SDA的状态;计算单元,计算SCL下降沿至SDA电平改变的时间,记为holdtime。3.根据权利要求1所述的基于I2C总线holdtime定位通信故障的系统,其特征是:所述存储模块包括判断单元,用于比较holdtime的值与阈值,在holdtime的值小于等于阈值时,触发状态单元和存储单元;状态单元,用于改变告警状态位的值;存储单元,用于生成并保存错误日志。4.根据权利要求3所述的基于I2C总线holdtime定位通信故障的系统,其特征是,所述错误日志包括故障时间、故障器件地址、读写位和holdtime的值。5.根据权利要求1所述的基于I2C总线holdtime定位通信故障的系统,其特征是,所述分析处理模块包括第二信息获取单元,用于获取告警状态位,并判断告警状态位的取值是否发生变化,在告警状态位发生变化时,触发分析定位单元;分析定位单元,用于分析错误日志的内容,定位故障位置。6.基于I2C总线holdtime定位通信故障的方法,其特征是,包括以下步骤:获取I2C线路上的通讯信息,并根据所述通讯信息计算holdtime的值;将holdtime的计算结果与holdtime阈值进行比较,在holdtime的值小于等于阈值时,改变告警状态位的初值并保存错误日志;在获取到告警状态位的改变后,分析错误日志,定位故障位置。7.根据权利要求6所述的基于I2C总线holdtime定位通信故障的方法,其特征是,所述通讯信息包括I2C总线上SCL和SDA的状态,对holdtime值的计算具体为:从SCL下降沿开始计时,SDA电平改变时计时结束,该时间段记为holdtime的值。

百度查询: 郑州云海信息技术有限公司 基于I2C总线hold time定位通信故障的系统及方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。