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中任一项所述的方法。