[发明专利]一种I2C总线的防死锁系统及其防死锁方法有效
申请号: | 201210593526.6 | 申请日: | 2012-12-31 |
公开(公告)号: | CN103019871A | 公开(公告)日: | 2013-04-03 |
发明(设计)人: | 姜朝来 | 申请(专利权)人: | 四川迪佳通电子有限公司 |
主分类号: | G06F11/00 | 分类号: | G06F11/00 |
代理公司: | 深圳中一专利商标事务所 44237 | 代理人: | 张全文 |
地址: | 518000 广东省深圳市南山*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 i2c 总线 死锁 系统 及其 方法 | ||
1.一种I2C总线的防死锁系统,所述系统包括寄存器模块和主状态机模块,其特征在于,所述系统还包括:
从状态机启动模块,用于在所述主状态机模块的控制下启动;
采样模块,用于在所述从状态机启动模块的控制下启动,采集I2C总线的串行时钟线上时钟信号跳变沿的计数值信息,以及跳变沿之间的持续时长信息;
异常监控处理模块,用于根据所述计数值信息和所述持续时长信息,并结合第一预设时长、第二预设时长和预设时长范围,判断所述串行时钟线是否出现异常;
处理器模块,用于当所述异常监控处理模块判断所述串行时钟线出现异常时,通过所述寄存器模块中的控制寄存器,控制所述主状态机模块重置所述I2C总线。
2.如权利要求1所述的I2C总线的防死锁系统,其特征在于,所述异常监控处理模块包括:
监测子模块,用于对所述计数值信息和所述持续时长信息进行处理,记录当前计数值和当前持续时长;
监测信息处理子模块,用于根据所述当前计数值和所述当前持续时长,并结合第一预设时长、第二预设时长和预设时长范围,判断所述串行时钟线是否出现异常。
3.一种如权利要求1所述的I2C总线的防死锁系统的防死锁方法,其特征在于,所述方法包括:
A1、主状态机模块根据寄存器模块中的控制寄存器,控制I2C总线工作,并控制从状态机启动模块启动;
A2、所述从状态机启动模块启动后,控制采样模块启动;
A3、所述采样模块采集串行时钟线上时钟信号跳变沿的计数值,以及跳变沿之间的持续时长;
A4、异常监控处理模块根据所述计数值信息和持续时长信息,并结合第一预设时长、第二预设时长和预设时长范围,判断所述I2C总线是否出现异常;
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总线传输速率的不同而动态设置所述采样模块的采样参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川迪佳通电子有限公司,未经四川迪佳通电子有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210593526.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:近邻搜索方法与系统
- 下一篇:一种电容式触摸屏的测试方法、系统及电子设备