CN104834624B - 一种iic总线接口的抗干扰方法 - Google Patents

一种iic总线接口的抗干扰方法 Download PDF

Info

Publication number
CN104834624B
CN104834624B CN201510272983.9A CN201510272983A CN104834624B CN 104834624 B CN104834624 B CN 104834624B CN 201510272983 A CN201510272983 A CN 201510272983A CN 104834624 B CN104834624 B CN 104834624B
Authority
CN
China
Prior art keywords
iic
communications
time
interfaces
bus interface
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201510272983.9A
Other languages
English (en)
Other versions
CN104834624A (zh
Inventor
廖志梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangdong Correctitude Power Currency Electric Co Ltd
Original Assignee
Guangdong Correctitude Power Currency Electric Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangdong Correctitude Power Currency Electric Co Ltd filed Critical Guangdong Correctitude Power Currency Electric Co Ltd
Priority to CN201510272983.9A priority Critical patent/CN104834624B/zh
Publication of CN104834624A publication Critical patent/CN104834624A/zh
Application granted granted Critical
Publication of CN104834624B publication Critical patent/CN104834624B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/40Bus coupling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种IIC总线接口的抗干扰方法,其能够通过建立超时机制监测IIC接口是否存在异常,在监测到存在异常的情况下能够及时处理并复位,从而能够避免接口失效,保证下次IIC通信时能够成功,使IIC接口正常工作。所述抗干扰方法,有效的解决了IIC接口受到干扰后失效的问题,使IIC通信更加实用、增强抗干扰能力。

Description

一种IIC总线接口的抗干扰方法
技术领域
本发明涉及一种嵌入式系统中,当IIC接口受到干扰异常后,对IIC接口进行恢复处理使其恢复到正常状态的方法。
背景技术
目前,在嵌入式系统中大量使用具有IIC接口的外围器件与微处理器通信,例如EEPROM芯片、Flash芯片、时钟芯片等都提供了IIC总线接口。
微控制器(MCU)的IIC接口与和外围器件的IIC接口连接,实现主从式的通信功能。IIC使用两条线通信,一条为串行数据线(SDA),另一条为串行时钟线(SCL)。通信时由MCU的IIC接口按照IIC协议来控制时钟线SCL和数据线SDA,产生起始条件、完成数据传输、应答/非应答、停止条件。
IIC协议通信时,时钟线SCL和数据线SDA是必须严格按照规定的时序变化。例如,数据有效条件是:SDA线上的数据必须在时钟的高电平周期保持稳定,数据线的高或低电平状态只有在SCL线的时钟信号是低电平时才能改变;起始条件必须是:SCL线是高电平时SDA线从高电平向低电平切换;停止条件是:SCL线是高电平时SDA线由低电平向高电平切换。
由于IIC通信时对两条信号线的时序要求特别严格,在实际使用中经常会因为受到电磁干扰,导致信号线时序错乱,致使通信失败。而通信失败后MCU的IIC接口和外部器件的IIC接口由于并未完成一次成功的通信,因此相应的硬件电路仍然处于等待状态,等待接收数据或应答信号,这种状态会一直持续下去,从而导致IIC接口失效。如果不对上述问题进行处理,将导致系统的任务卡死或出现反复复位等现象。
发明内容
本发明旨在给出一种IIC总线接口的抗干扰方法,以解决嵌入式系统中的IIC接口因为受到干扰异常后,而不能自动恢复的问题。
本发明所述的IIC总线接口的抗干扰方法,包括如下步骤:
建立IIC通信的超时监测机制,监测IIC通讯等待应答时间;
当IIC通信等待应答时间超时,则认为出现异常,需要进行异常处理;
异常处理时,首先关闭MCU的IIC功能,将MCU的IIC接口配置成普通IO口,通过IO口模拟IIC协议发送或接收数据;再模拟停止条件,使外部的IIC器件完成本次通信,恢复到正常状态;
将接口配置回IIC接口,并重新对IIC寄存器进行初始化,开启IIC功能;
与外部IIC器件重新进行通信。
本发明所述的IIC总线接口的抗干扰方法,能够通过建立超时机制监测IIC接口是否存在异常,在监测到存在异常的情况下能够及时处理并复位,从而能够避免接口失效,保证下次IIC通信时能够成功,从而使IIC接口正常。其有效的解决了IIC接口受到干扰后失效的问题,使IIC通信更加实用、增强抗干扰能力。
附图说明
图1是本发明所述IIC总线接口的抗干扰方法的流程示意图。
具体实施方式
MCU的IIC接口按照IIC协议来控制时钟线SCL和数据线SDA,由MCU的IIC接口产生起始条件、数据传输、应答/非应答、停止条件,外部器件的IIC接口接收起始条件、数据传输、应答/非应答、停止条件,同时外部器件也会产生数据传输、应答/非应答状态。
IIC总线接口的抗干扰方法,通过IIC通信的超时监测机制,监测IIC通讯等待应答时间,当IIC通信时,当MCU监测到等待外部器件产生的数据传输、应答/非应答状态超时时,认为IIC接口异常,执行IIC接口异常处理。先关闭MCU的IIC功能,将MCU的IIC接口配置成普通IO口,通过IO口模拟IIC协议发送或接收数据;再模拟停止条件,使外部的IIC器件完成本次通信,恢复到正常状态;之后再将接口配置回IIC接口,并重新对IIC寄存器进行初始化,开启IIC功能;与外部IIC器件重新进行通信。
IIC通信的超时监测机制可采用定时器中断的方式计时,每次中断将全局计数器变量加1,IIC通信开始时将计数器清0,然后在IIC通信时读取计数器的值,如果计数器的值大于允许值则认为超时。
如图1,IIC通信时,首先,进行IIC通信准备,配置IIC引脚、接口,将IIC初始化。然后,建立IIC超时机制。IIC通信的超时监测机制采用定时器中断的方式计时,初始化用于超时计数的定时器、配置定时器中断、开定时器、全局超时计数器清0,每次定时器中断时对全局超时计数器加1。之后,按照IIC协议规定,发送IIC的起始条件;等待IIC从器件应答,此时轮巡IIC状态寄存器,如果未应答则判断IIC是否超时(判断超时计数器是否大于预设值),如果超时,则认为IIC通信异常,转而执行IIC异常处理流程。如果未超时则继续重新查询IIC状态寄存器。通过查询IIC状态寄存器得知已经收到正确应答,则发送器件地址;发送后同样进行应答判断和超时判断,超时则转异常处理,正常应答则发送或接收数据。而后,继续进行应答判断和超时判断,超时则转异常处理,正常应答则按照IIC协议规定发送停止条件。之后,判断通信是否成功,成功则结束本次IIC通信,未成功转建立超时机制部分重新执行一次。各环节中,如出现超时,均按如下异常处理流程处理:包括关闭IIC功能、IO口配置为普通口、IO口模拟发送数据或接收数据、模拟发送停止条件、重新配置IO口为IIC接口、重新初始化并开启IIC功能等步骤。

Claims (2)

1.一种IIC总线接口的抗干扰方法,包括如下步骤:
建立IIC通信的超时监测机制,监测IIC通讯等待应答时间;
当IIC通信等待应答时间超时,则认为出现异常,需要进行异常处理;
异常处理时,首先关闭MCU的IIC功能,将MCU的IIC接口配置成普通IO口,通过IO口模拟IIC协议发送或接收数据;再模拟停止条件,使外部的IIC器件完成本次通信,恢复到正常状态;
将接口配置回IIC接口,并重新对IIC寄存器进行初始化,开启IIC功能;
与外部IIC器件重新进行通信。
2.根据权利要求1所述的IIC总线接口的抗干扰方法,其特征在于:IIC通信的超时监测机制采用定时器中断的方式计时,每次中断将全局计数器变量加1,IIC通信开始时将计数器清0,然后在IIC通信时读取计数器的值,如果计数器的值大于允许值则认为超时。
CN201510272983.9A 2015-05-26 2015-05-26 一种iic总线接口的抗干扰方法 Active CN104834624B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510272983.9A CN104834624B (zh) 2015-05-26 2015-05-26 一种iic总线接口的抗干扰方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510272983.9A CN104834624B (zh) 2015-05-26 2015-05-26 一种iic总线接口的抗干扰方法

Publications (2)

Publication Number Publication Date
CN104834624A CN104834624A (zh) 2015-08-12
CN104834624B true CN104834624B (zh) 2018-08-24

Family

ID=53812525

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510272983.9A Active CN104834624B (zh) 2015-05-26 2015-05-26 一种iic总线接口的抗干扰方法

Country Status (1)

Country Link
CN (1) CN104834624B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105356865B (zh) * 2015-12-09 2018-09-21 深圳Tcl数字技术有限公司 去除干扰的方法、装置及智能电视
CN113254247A (zh) * 2021-05-14 2021-08-13 山东英信计算机技术有限公司 一种服务器bmc i2c异常恢复方法及相关装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521187A (zh) * 2011-11-29 2012-06-27 广东东研网络科技有限公司 一种i2c总线通信死锁解决方法
CN103678198A (zh) * 2012-09-14 2014-03-26 京信通信系统(中国)有限公司 总线的锁定解除方法、装置及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102521187A (zh) * 2011-11-29 2012-06-27 广东东研网络科技有限公司 一种i2c总线通信死锁解决方法
CN103678198A (zh) * 2012-09-14 2014-03-26 京信通信系统(中国)有限公司 总线的锁定解除方法、装置及系统

Also Published As

Publication number Publication date
CN104834624A (zh) 2015-08-12

Similar Documents

Publication Publication Date Title
EP2052326B1 (en) Fault-isolating sas expander
US7536584B2 (en) Fault-isolating SAS expander
EP1710709B1 (en) Circuit and method of detecting and resolving stuck 12C buses
CN105700967A (zh) 一种外设部件内部互联PCIe设备及其检测方法
CN102132523A (zh) 使用网络连接的设备电源管理
CN100346330C (zh) 恢复i2c主器件和i2c从器件通讯的方法
CN102724093B (zh) 一种atca机框及其ipmb连接方法
CN110908841A (zh) 一种i2c通信异常恢复方法及装置
CN103200015A (zh) 一种poe交换机供电方法
CN109768907A (zh) 一种can总线波特率自适应设置方法
CN102681807B (zh) 电子设备和接口识别方法
CN104834624B (zh) 一种iic总线接口的抗干扰方法
JP2011070282A (ja) 通信システム、マスタ装置、および、スレーブ装置
CN105242980A (zh) 互补式看门狗系统及互补式看门狗的监测方法
CN110419035A (zh) Usb主机到主机自动切换
CN104734904B (zh) 旁路设备的自动测试方法及系统
CN103916281A (zh) 一种动态lacp聚合链路故障恢复方法
US20100185896A1 (en) Method and apparatus for fully redundant control of low-speed peripherals
CN106502944B (zh) 计算机、pcie设备以及pcie设备的心跳检测方法
TW201716924A (zh) 具有位元級確認及錯誤校正之串列介面
CN108920401A (zh) 多主多从的i2c通信方法、系统及节点设备
CN105589821B (zh) 一种防止总线死锁的装置及方法
CN107423196A (zh) 一种多卡槽状态检测方法、检测设备及移动终端
CN109976489A (zh) 一种iic总线异常情况下自动复位实现方法及系统
CN106372019B (zh) 一种系统总线设备响应超时的处理方法及超时处理装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 511450 Guangdong city of Guangzhou province Panyu District City Shiji Town Lotus Road Shayong village Jinao Street No. 26

Applicant after: GUANGDONG CORRECTITUDE POWER CURRENCY ELECTRIC CO., LTD.

Address before: 511450 Guangdong city of Guangzhou province Panyu District City Shiji Town Lotus Road Shayong village Jinao Street No. 26

Applicant before: Guangzhou Correcttude Power Currency Electric Co., Ltd

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
CB03 Change of inventor or designer information

Inventor after: Li Shujing

Inventor after: Wang Xu

Inventor after: Guo Chengjun

Inventor after: Liao Zhimei

Inventor before: Liao Zhimei

CB03 Change of inventor or designer information