[发明专利]一种I2C总线的防死锁系统及其防死锁方法有效

专利信息
申请号: 201210593526.6 申请日: 2012-12-31
公开(公告)号: CN103019871A 公开(公告)日: 2013-04-03
发明(设计)人: 姜朝来 申请(专利权)人: 四川迪佳通电子有限公司
主分类号: G06F11/00 分类号: G06F11/00
代理公司: 深圳中一专利商标事务所 44237 代理人: 张全文
地址: 518000 广东省深圳市南山*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 i2c 总线 死锁 系统 及其 方法
【说明书】:

技术领域

发明属于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、所述采样模块采集串行时钟线上时钟信号跳变沿的计数值,以及跳变沿之间的持续时长;

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川迪佳通电子有限公司,未经四川迪佳通电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210593526.6/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top