一种IIC总线解锁的控制方法技术

技术编号:23786863 阅读:36 留言:0更新日期:2020-04-15 00:21
本发明专利技术涉及一种IIC总线解锁的控制方法。该方法用于对控制单元读取存储单元过程中造成IIC锁定的解锁。所述方法包括如下步骤:配置控制单元上的SCL、SDA引脚为GPIO模式;在IIC总线上设置解锁时序,通过运行并循环N次解锁时序,使得存储单元释放SDA;配置控制单元上的SCL、SDA引脚为IIC模式;初始化控制单元和存储单元。因此,通过设置解锁时序,能够对IIC总线进行有效解锁,避免由于IIC总线锁死情况下,MCU无法读取EEPROM数据的情况。

A control method of IIC bus unlocking

【技术实现步骤摘要】
一种IIC总线解锁的控制方法
本专利技术涉及空调
,具体而言,涉及一种IIC总线解锁的控制方法。
技术介绍
空调运行中所处理的参数值一般都保存在存储芯片中,目前比较常用的存储芯片一般为各种容量的EEPROM。EEPROM数据通常是在空调主板上电时由MCU读出,之后MCU根据读取的EEPROM数据对应的参数控制机组运行。实际运用中,在MCU读取EEPROM数据的过程中,存在以下情况会概率性造成IIC总线被锁死:(1)由于MCU芯片与EEPROM的工作电压范围往往不一致,当EEPROM的可工作电压比MCU芯片的可工作电压更低时,电源电压波动不稳定的情况下,MCU复位了,EEPROM仍在正常工作。(2)MCU由于看门狗溢出复位了,EEPROM仍在正常工作。(3)MCU由于其他原因复位了,EEPROM仍在正常工作。IIC总线锁死的原因:MCU采用硬件IIC读取EEPROM时,若在MCU读取EEPROM数据过程中,发生MCU复位,则会有概率出现IIC总线锁死,IIC总线锁死后表现为SCL一直为高电平,SDA一直为低电平,MCU无法再与EEPROM通信。上述情况造成IIC总线锁死后,MCU将无法再与EEPROM通信,不能正常读取EEPROM存储的数据,机组报故障无法正常运行,往往带来售后投诉。
技术实现思路
本专利技术的目的在于解决IIC总线锁死后控制单元无法与存储单元通信使得空调无法正常运行的问题。为实现上述目的,根据本专利技术的第一方面,提供一种IIC总线解锁的控制方法,用于对控制单元读取存储单元过程中造成IIC锁定的解锁,所述方法包括如下步骤:(1)配置控制单元上的SCL、SDA引脚为GPIO模式;(2)在IIC总线上设置解锁时序,通过运行并循环N次解锁时序,使得存储单元释放SDA;(3)配置控制单元上的SCL、SDA引脚为IIC模式;(4)初始化控制单元和存储单元。进一步的,所述控制单元为MCU,所述存储单元为EEPROM。进一步的,所述步骤(1)中,配置MCU的SCL引脚为输出,配置MCU的SDA引脚为输入;循环次数初始化为零,即N=0;所述IIC总线的脉冲时序中一个周期的脉冲总数为M。进一步的,所述步骤(2)中,所述解锁时序最多循环M次能够使存储单元解锁。进一步的,所述步骤(2)的解锁时序包括:(2-1)在IIC总线上模拟产生一个下降沿脉冲;(2-2)在所述模拟下降沿脉冲产生之后,判断EEPROM是否释放SDA;若未释放SDA则继续模拟产生下一个下降沿脉冲,若释放SDA,则结束步骤(2)。进一步的,所述步骤(2-1)中,下降脉冲的模拟产生方式为,MCU控制SCL依次输出高电平和低电平;所述步骤(2-2)中,EEPROM释放SDA的标志为,SDA输出的电平为高电平。进一步的,在进行步骤(2)的解锁时序之前,检测SDA是否为低电平;若SDA为低电平,则进入解锁时序并循环N次,当N大于M时,进入步骤(3);若SDA为高电平,则直接进入步骤(3)。进一步的,所述MCU直接进入步骤(2)的解锁时序,进行步骤(2-1)后,检测检测SDA是否为低电平;若SDA为低电平,则进入解锁时序并循环N次,当N大于M时,进入步骤(3);若SDA为高电平,则直接进入步骤(3)。进一步的,当所述解锁时序的循环次数N大于或等于1时,进入所述步骤(2-1),所述MCU控制SCL输出高电平后,检测循环次数,当N大于M时,进入步骤(3);当N小于或等于M时,MCU控制SCL输出低电平,继续进行解锁时序。进一步的,所述步骤(2)和步骤(3)之间,还包括设置时序结束位步骤,所述时序结束位表示步骤(2)的解锁时序结束。进一步的,所述设置时序结束位步骤,具体包括:配置MCU的SDA引脚为输出;MCU控制SDA输出低电平;MCU控制SCL输出高电平;MCU控制SDA输出高电平。本专利技术的第二方面,提供一种空调器,包括IIC总线,当控制单元读取存储单元过程中造成IIC锁定时,使用如上所述的IIC总线解锁的控制方法能够对IIC总线进行解锁。本专利技术的有益之处至少包括:(1)本专利技术的IIC总线解锁的控制方法,通过设置解锁时序,能够对IIC总线进行有效解锁,避免由于IIC总线锁死情况下,MCU无法读取EEPROM数据的情况。(2)本专利技术只需在MCU中增加IIC总线解锁程序,即可解决IIC总线锁死问题,不额外增加成本。(3)本专利技术能够提高EEPROM数据读取准确率,降低机组故障率(4)本专利技术能够提高空调的性能,降低售后投诉率。附图说明图1为本专利技术的解锁流程图;图2为本专利技术的实施例中IIC总线的时序图;图3为本专利技术的实施例解锁流程图;具体实施方式为使本专利技术的上述目的、特征和优点能够更为明显易懂,下面结合附图对本专利技术的具体实施例做详细的说明。参见附图1-3,本专利技术的一种IIC总线解锁的控制方法,用于对控制单元读取存储单元过程中造成IIC锁定的解锁,所述方法包括如下步骤:(1)配置控制单元上的SCL、SDA引脚为GPIO模式;(2)在IIC总线上设置解锁时序,通过运行并循环N次解锁时序,使得SDA解锁;(3)配置控制单元上的SCL、SDA引脚为IIC模式。(4)初始化控制单元的IIC外设模块,结束。所述控制单元为MCU,所述存储单元为EEPROM。所述步骤(1)中,配置MCU的SCL引脚为输出,配置MCU的SDA引脚为输入;循环次数初始化为零,即N=0;所述IIC总线的脉冲时序中的最后一个脉冲的个数为M。所述步骤(2)中,所述解锁时序最多循环M次能够使存储单元解锁。所述步骤(2)的解锁时序包括:(2-1)在IIC总线上模拟产生一个下降沿脉冲;(2-2)在所述模拟下降沿脉冲产生之后,判断EEPROM是否释放SDA;若未释放SDA则继续模拟产生下一个下降沿脉冲,若释放SDA,则结束步骤(2)。所述步骤(2-1)中,下降脉冲的模拟产生方式为,MCU控制SCL依次输出高电平和低电平。所述步骤(2-2)中,EEPROM释放SDA的标志为,SDA输出的电平为高电平。在进行步骤(2)的解锁时序之前,检测SDA是否为低电平;若SDA为低电平,则进入解锁时序并循环N次,当N大于M时,进入步骤(3);若SDA为高电平,则直接进入步骤(3)。所述MCU直接进入步骤(2)的解锁时序,进行步骤(2-1)后,检测检测SDA是否为低电平;若SDA为低电平,则进入解锁时序并循环N次,当N大于M时,进入步骤(3);若SDA为高电平,则直接进入步骤(3)。当所述解锁时序N大于1时,进入所述步骤(2-1),所述MCU控制SCL输出高电平后,检测循环次数,当N大于M时,进入步骤(3);当N小于或等于M时,MCU控制SCL输出本文档来自技高网...

【技术保护点】
1.一种IIC总线解锁的控制方法,用于对控制单元读取存储单元过程中造成IIC锁定的解锁,其特征在于:所述方法包括如下步骤:/n(1)配置控制单元上的SCL、SDA引脚为GPIO模式;/n(2)在IIC总线上设置解锁时序,通过运行并循环N次解锁时序,使得存储单元释放SDA;/n(3)配置控制单元上的SCL、SDA引脚为IIC模式;/n(4)初始化控制单元和存储单元。/n

【技术特征摘要】
1.一种IIC总线解锁的控制方法,用于对控制单元读取存储单元过程中造成IIC锁定的解锁,其特征在于:所述方法包括如下步骤:
(1)配置控制单元上的SCL、SDA引脚为GPIO模式;
(2)在IIC总线上设置解锁时序,通过运行并循环N次解锁时序,使得存储单元释放SDA;
(3)配置控制单元上的SCL、SDA引脚为IIC模式;
(4)初始化控制单元和存储单元。


2.根据权利要求1所述的一种IIC总线解锁的控制方法,其特征在于:所述控制单元为MCU,所述存储单元为EEPROM。


3.根据权利要求2所述的一种IIC总线解锁的控制方法,其特征在于:所述步骤(1)中,配置MCU的SCL引脚为输出,配置MCU的SDA引脚为输入;循环次数初始化为零,即N=0;所述IIC总线的脉冲时序中一个周期的脉冲总数为M。


4.根据权利要求3所述的一种IIC总线解锁的控制方法,其特征在于:所述步骤(2)中,所述解锁时序最多循环M次能够使存储单元解锁。


5.根据权利要求4所述的一种IIC总线解锁的控制方法,其特征在于:所述步骤(2)的解锁时序包括:
(2-1)在IIC总线上模拟产生一个下降沿脉冲;
(2-2)在所述模拟下降沿脉冲产生之后,判断EEPROM是否释放SDA;若未释放SDA则继续模拟产生下一个下降沿脉冲,若释放SDA,则结束步骤(2)。


6.根据权利要求5所述的一种IIC总线解锁的控制方法,其特征在于:所述步骤(2-1)中,下降脉冲的模拟产生方式为,MCU控制SCL依次输出高电平和低电平;所述步骤(2-2)中,EEPROM释放SDA的标志为,SDA输出...

【专利技术属性】
技术研发人员:李超
申请(专利权)人:宁波奥克斯电气股份有限公司奥克斯空调股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1