一种I2C通信异常恢复方法及装置与流程

文档序号:20163572发布日期:2020-03-24 21:15阅读:来源:国知局

技术特征:

1.一种i2c通信异常恢复方法,应用于i2c系统包括的与i2c总线连接的至少一个i2c主设备中的指定i2c主设备,所述i2c系统还包括与所述i2c总线连接的至少一个i2c从设备,所述i2c总线包括串行时钟线和串行数据线,其特征在于,所述方法包括:

确定i2c通信异常时,控制所述串行时钟线在第一时长内传输时钟信号,所述时钟信号用于保证经过所述第一时长后所述串行数据线被释放;

控制所述i2c总线传输开始信号,以使所述至少一个i2c从设备在接收到所述开始信号后脱离所述i2c通信异常发生时的工作状态;

控制所述i2c总线传输结束信号,以使所述至少一个i2c从设备在接收到所述结束信号后进入空闲状态。

2.如权利要求1所述的方法,其特征在于,确定所述i2c通信异常时,在控制所述串行时钟线在第一时长内输出时钟信号之前,所述方法还包括:

控制所述串行时钟线在第二时长内为低电平;

控制所述i2c总线传输所述结束信号,以使所述至少一个i2c从设备在接收到所述结束信号后进入空闲状态。

3.如权利要求2所述的方法,其特征在于,确定所述i2c通信异常时,在控制所述串行时钟线在第二时长内为低电平之前,所述方法还包括:

控制所述i2c总线传输所述开始信号,以使所述至少一个i2c从设备在接收到所述开始信号后脱离所述i2c通信异常发生时的工作状态。

4.如权利要求1所述的方法,其特征在于,控制所述i2c总线传输所述结束信号之后,还包括:

确定所述i2c通信是否恢复;

若确定所述i2c通信未恢复,则将所述i2c通信持续未恢复的次数加1;

确定加1后的所述i2c通信持续未恢复的次数是否达到次数阈值;

若确定加1后的所述i2c通信持续未恢复的次数达到所述次数阈值,则发出设备故障信号;

若确定加1后的所述i2c通信持续未恢复的次数未达到所述次数阈值,则执行所述控制所述串行时钟线在第一时长内传输时钟信号的步骤。

5.一种i2c通信异常恢复装置,设置于i2c系统包括的与i2c总线连接的至少一个i2c主设备中的指定i2c主设备,所述i2c系统还包括与所述i2c总线连接的至少一个i2c从设备,所述i2c总线包括串行时钟线和串行数据线,其特征在于,所述装置包括:

确定模块,用于确定i2c通信异常;

控制模块,用于:

当所述i2c通信异常时,控制所述串行时钟线在第一时长内传输时钟信号,所述时钟信号用于保证经过所述第一时长后所述串行数据线被释放;

控制所述i2c总线传输开始信号,以使所述至少一个i2c从设备在接收到所述开始信号后脱离所述i2c通信异常发生时的工作状态;

控制所述i2c总线传输结束信号,以使所述至少一个i2c从设备在接收到所述结束信号后进入空闲状态。

6.如权利要求5所述的装置,其特征在于,所述控制模块,还用于:

当所述i2c通信异常时,在控制所述串行时钟线在第一时长内输出时钟信号之前,控制所述串行时钟线在第二时长内为低电平;

控制所述i2c总线传输所述结束信号,以使所述至少一个i2c从设备在接收到所述结束信号后进入空闲状态。

7.如权利要求6所述的装置,其特征在于,所述控制模块,还用于:当所述i2c通信异常时,在控制所述串行时钟线在第二时长内为低电平之前,控制i2c总线传输所述开始信号,以使所述至少一个i2c从设备在接收到所述开始信号后脱离所述i2c通信异常发生时的工作状态。

8.如权利要求5所述的装置,其特征在于,

所述确定模块,还用于当控制所述i2c总线传输所述结束信号后,确定所述i2c通信是否恢复;

所述控制模块,还用于当所述i2c通信未恢复时,将所述i2c通信持续未恢复的次数加1;

所述确定模块,还用于确定加1后的所述i2c通信持续未恢复的次数是否达到次数阈值;

所述控制模块,还用于当加1后的所述i2c通信持续未恢复的次数达到所述次数阈值时,发出设备故障信号;当加1后的所述i2c通信持续未恢复的次数未达到所述次数阈值时,执行所述控制所述串行时钟线在第一时长内传输时钟信号的步骤。

9.一种i2c通信异常恢复装置,其特征在于,包括:

存储器以及处理器;

存储器,用于存储程序指令;

处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1~4任一项所述的方法。

10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行权利要求1~4中任一项所述的方法。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1