CN103678198B - 总线的锁定解除方法、装置及系统 - Google Patents
总线的锁定解除方法、装置及系统 Download PDFInfo
- Publication number
- CN103678198B CN103678198B CN201210342878.4A CN201210342878A CN103678198B CN 103678198 B CN103678198 B CN 103678198B CN 201210342878 A CN201210342878 A CN 201210342878A CN 103678198 B CN103678198 B CN 103678198B
- Authority
- CN
- China
- Prior art keywords
- bus
- latch
- unit
- signal
- clock line
- 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.)
- Expired - Fee Related
Links
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了总线的锁定解除方法、装置及系统。该方法包括:获取串行时钟线的信号处于高电平而串行数据线的信号处于低电平的状态;计算所述状态的连续个数,当所述连续个数超过预设的门限值时,发出死锁警报;根据所述死锁警报的反馈指令,向所述串行时钟线输出预设数个脉冲时钟信号,为总线解锁。采用本发明,可以通过监控设备检测到I2C总线被锁定以后,通过向I2C总线上注入足够多时钟信号引导I2C总线上的从设备完成未完的数据发送工作,从而从锁定转台中恢复出来。本方案易于实现,能够更准确地监测到总线被锁定的情形。
Description
技术领域
本发明涉及系统监控技术,特别是涉及总线的锁定解除方法、装置及系统。
背景技术
I2C(Inter-Integrated Circuit)总线是两线式串行总线,两线包括SDA(Serialdata line,串行数据线)和SCL(Serial clock line,串行时钟线)在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别,无论是微控制器、LCD(Liquid CrystalDisplay,液晶显示器)驱动器、存储器或键盘接口等,而且都可以作为一个发送器或接收器(由器件的功能决定)。例如,LCD驱动器只是一个接收器,而存储器则既可以接收又可以发送数据。除了发送器和接收器外器件在执行数据传输时也可以被看作是主机或从机。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。显然,I2C总线用于连接微控制器及其外围设备,是微电子通信控制领域广泛采用的一种总线标准,被广泛应用于各种监控系统。它也是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。
但是,由于I2C总线上的从设备一旦没有总线复位功能,很容易在系统特定状态下出现I2C从设备的I2C总线被锁定的情况,从而影响监控系统运作,这是一个急需解决的问题。
发明内容
基于此,有必要针对上述问题,提供一种总线的锁定解除方法、装置及系统,能够保证工作的持续性,同时简化外围电路。
一种总线的锁定解除方法,包括:
获取串行时钟线的信号处于高电平而串行数据线的信号处于低电平的状态;
计算所述状态的连续个数,当所述连续个数超过预设的门限值时,发出死锁警报;
根据所述死锁警报的反馈指令,向所述串行时钟线输出预设数个脉冲时钟信号,为总线解锁。
相应地,一种总线的锁定解除装置,包括:
状态获取单元,用于获取串行时钟线的信号处于高电平而串行数据线的信号处于低电平的状态;
与所述状态获取单元相连的状态统计单元,用于计算所述状态的连续个数;
与所述状态统计单元相连的死锁报警单元,用于在所述连续个数超过预设的门限值时,发出死锁警报;
锁定解除单元,用于接收所述死锁警报的反馈指令,并向所述串行时钟线输出预设数个脉冲时钟信号,为总线解锁。
相应地,一种总线的锁定解除系统,包括主设备、从设备,以及连接在主、从设备之间的总线,还包括:
如前所述的总线的锁定解除装置,该总线的锁定解除装置连接在所述主设备和所述总线之间。
实施本发明,具有如下有益效果:
与现有技术相比,本发明中恢复I2C总线从设备不需要对设备进行复位,保证了工作的持续性,进一步地,有利于实现外围电路简单化。本发明的技术方案是,通过监控设备检测到I2C总线被锁定以后,通过向I2C总线上注入足够多时钟信号引导I2C总线上的从设备完成未完的数据发送工作,从而从锁定状态中恢复出来。本方案易于实现,能够更准确地监测到总线被锁定的情形。
附图说明
图1为本发明总线的锁定解除方法的流程图;
图2为本发明总线的锁定解除方法的实施例流程图;
图3为本发明总线的锁定解除装置的示意图;
图4为本发明总线的锁定解除装置的实施例示意图;
图5为本发明总线的锁定解除系统的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述。
图1为本发明总线的锁定解除方法的流程图,包括:
S101:获取串行时钟线的信号处于高电平而串行数据线的信号处于低电平的状态;
S102:计算所述状态的连续个数,当所述连续个数超过预设的门限值时,发出死锁警报;
S103:根据所述死锁警报的反馈指令,向所述串行时钟线输出预设数个脉冲时钟信号,为总线解锁。
传统技术是通过控制所有I2C的从设备的工作电源,当I2C主设备检测到总线被锁定时,即断开I2C从设备的工作电源,等待设定时间后再恢复供电,使I2C从器件恢复至初始状态。但该方案影响工作的连续性,本发明总线的锁定解除方法向所述串行时钟线输出预设数个脉冲时钟信号,引导I2C总线上的从设备完成未完的数据发送工作,从而从锁定状态中恢复出来,为总线解锁。
另外,本发明也不需要监控主设备的复位状况,通过获取串行时钟线的信号处于高电平而串行数据线的信号处于低电平的状态,针对不同的系统设定门限次数,当所述连续个数超过预设的门限值时,发出死锁警报。后级系统可以在接收到所述死锁警报后,自动反馈指令,为总线解锁,从而提高系统的时效性;也可以结合其它参考因素或人为判断后,再发出反馈指令,为总线解锁,从而提高系统对死锁的准确判断。
图2为本发明总线的锁定解除方法的实施例流程图。与图1相比,图2是本发明的具体实施例流程图。
S201:获取串行时钟线的信号处于高电平而串行数据线的信号处于低电平的状态;
S202:计算所述状态的连续个数,当所述连续个数超过预设的门限值时,发出死锁警报;
S203:根据所述死锁警报的反馈指令,维持所述串行数据线输出高阻信号的条件下,向串行时钟线输出预设数N个脉冲时钟信号,为总线解锁。
下面结合实施例及附图对本发明作进一步详细的描述。
本发明的系统主要包括:主设备、监测设备、从设备等。众所周知I2C总线在某些情况下会出现I2C从设备总线被锁住的情况。当I2C从设备出现死锁时会一直保持I2C数据总线为低电平;又因为采用的是总线结构,所以主设备与所有的从设备都失去正常总线联系。此时,监测设备可以通过获取串行时钟线的信号处于高电平而串行数据线的信号处于低电平的状态的个数,来判断I2C总线是否死锁。因为根据众所周知的I2C通讯协议,在特定的数据宽度下连续的低电平个数是有限的,在系统设计一定的情况下,最大低电平个数是确定的。所以监测设备在所述连续个数超过预设的门限值时,发出死锁警报。根据所述死锁警报的反馈指令,维持所述串行数据线输出高阻信号的条件下,向串行时钟线输出预设数N个脉冲时钟信号,引导其退出锁定状态的,为总线解锁。并且发送的脉冲个数在特定的数据宽度下有限个的。根据总线的数据宽度,设置串行时钟线输出的所述预设数N。
图3为本发明总线的锁定解除装置的示意图,包括:
状态获取单元,用于获取串行时钟线的信号处于高电平而串行数据线的信号处于低电平的状态;
与所述状态获取单元相连的状态统计单元,用于计算所述状态的连续个数;
与所述状态统计单元相连的死锁报警单元,用于在所述连续个数超过预设的门限值时,发出死锁警报;
锁定解除单元,用于接收所述死锁警报的反馈指令,并向所述串行时钟线输出预设数个脉冲时钟信号,为总线解锁。
图3与图1相对应,图中各个单元的运行方式与方法中的相同。
图4为本发明总线的锁定解除装置的实施例示意图。
如图4所示,在其中一个实施例当中,所述锁定解除单元包括:
命令接收单元,用于接收所述死锁警报的反馈指令;
与所述命令接收单元相连的数据线控制单元,用于向所述串行数据线持续输出高阻信号;
与所述数据线控制单元相连的时钟线控制单元,用于向串行时钟线输出预设数N个脉冲时钟信号。
其中,在一个实施例当中,所述时钟线控制单元,包括:
脉冲数设置单元,用于设置串行时钟线输出的所述预设数N。
图4与图2相对应,图中各个单元的运行方式与方法中的相同。
图5为本发明总线的锁定解除系统的示意图。
如图5所示,本发明总线的锁定解除系统包括主设备、从设备,以及连接在主、从设备之间的总线,还包括:
如前所述的总线的锁定解除装置,该总线的锁定解除装置连接在所述主设备和所述总线之间。
在一个实施例当中,所述主设备,包括:
与所述死锁报警单元相连的报警接收单元,用于接收所述死锁警报的信息;
连接在所述报警接收单元与所述锁定解除单元之间的指令发送单元,用于向所述总线的锁定解除装置发送反馈指令。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (6)
1.一种总线的锁定解除方法,其特征在于,包括:
获取串行时钟线的信号处于高电平而串行数据线的信号处于低电平的状态;
计算所述状态的连续个数,当所述连续个数超过预设的门限值时,向主设备发出死锁警报;
接收所述主设备根据所述死锁警报发出的反馈指令,并根据所述反馈指令向所述串行时钟线输出预设数个脉冲时钟信号,为总线解锁;
其中,向所述串行时钟线输出预设数个脉冲时钟信号的步骤,包括:
维持所述串行数据线输出高阻信号的条件下,向串行时钟线输出预设数N个脉冲时钟信号。
2.根据权利要求1所述的总线的锁定解除方法,其特征在于:
根据总线的数据宽度,设置串行时钟线输出的所述预设数N。
3.一种总线的锁定解除装置,其特征在于,包括:
状态获取单元,用于获取串行时钟线的信号处于高电平而串行数据线的信号处于低电平的状态;
与所述状态获取单元相连的状态统计单元,用于计算所述状态的连续个数;
与所述状态统计单元相连的死锁报警单元,用于在所述连续个数超过预设的门限值时,向主设备发出死锁警报;
锁定解除单元,用于接收所述主设备根据所述死锁警报发出的反馈指令,并根据所述反馈指令向所述串行时钟线输出预设数个脉冲时钟信号,为总线解锁;
其中,所述锁定解除单元包括:
命令接收单元,用于接收所述死锁警报的反馈指令;
与所述命令接收单元相连的数据线控制单元,用于向所述串行数据线持续输出高阻信号;
与所述数据线控制单元相连的时钟线控制单元,用于向串行时钟线输出预设数N个脉冲时钟信号。
4.根据权利要求3所述的总线的锁定解除装置,其特征在于,所述时钟线控制单元,包括:
脉冲数设置单元,用于设置串行时钟线输出的所述预设数N。
5.一种总线的锁定解除系统,包括主设备、从设备,以及连接在主、从设备之间的总线,其特征在于,还包括:
如权利要求3或4所述的总线的锁定解除装置,该总线的锁定解除装置连接在所述主设备和所述总线之间。
6.根据权利要求5所述的总线的锁定解除系统,其特征在于,所述主设备,包括:
与所述死锁报警单元相连的报警接收单元,用于接收所述死锁警报的信息;
连接在所述报警接收单元与所述锁定解除单元之间的指令发送单元,用于向所述总线的锁定解除装置发送反馈指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210342878.4A CN103678198B (zh) | 2012-09-14 | 2012-09-14 | 总线的锁定解除方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210342878.4A CN103678198B (zh) | 2012-09-14 | 2012-09-14 | 总线的锁定解除方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103678198A CN103678198A (zh) | 2014-03-26 |
CN103678198B true CN103678198B (zh) | 2017-07-07 |
Family
ID=50315818
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210342878.4A Expired - Fee Related CN103678198B (zh) | 2012-09-14 | 2012-09-14 | 总线的锁定解除方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103678198B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834624B (zh) * | 2015-05-26 | 2018-08-24 | 广东正力通用电气有限公司 | 一种iic总线接口的抗干扰方法 |
US20180196679A1 (en) * | 2015-06-29 | 2018-07-12 | Thomson Licensing | Initialization method for use in i2c system and master device |
CN106677581A (zh) * | 2016-12-16 | 2017-05-17 | 宁夏鑫华源智能立体停车设备制造有限公司 | 基于i2c串行总线控制的立体停车设备控制方法 |
CN106953735A (zh) * | 2017-04-27 | 2017-07-14 | 珠海格力电器股份有限公司 | Iic总线解锁方法及基于iic总线的通信系统 |
CN107562668B (zh) * | 2017-08-31 | 2019-02-12 | Oppo广东移动通信有限公司 | 总线死锁恢复系统和方法 |
EP3537307A4 (en) * | 2018-01-09 | 2019-12-25 | Shenzhen Goodix Technology Co., Ltd. | METHOD FOR HANDLING THE I2C BUS BLOCKING, ELECTRONIC DEVICE AND COMMUNICATION SYSTEM |
CN110609762B (zh) * | 2019-09-24 | 2021-04-27 | 深圳市航顺芯片技术研发有限公司 | 一种防止先进高性能总线(ahb)死锁的方法及装置 |
CN111578489A (zh) * | 2020-05-12 | 2020-08-25 | 珠海拓芯科技有限公司 | 一种eeprom芯片数据读取方法、控制系统、空调器及存储介质 |
CN112422178B (zh) * | 2020-10-20 | 2023-02-03 | 浪潮思科网络科技有限公司 | 光模块监控方法、电子设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100543713C (zh) * | 2006-09-26 | 2009-09-23 | 联想(北京)有限公司 | 防止lpc总线死锁的方法和装置 |
CN102073613B (zh) * | 2010-12-15 | 2013-05-08 | 创新科存储技术有限公司 | 一种消除i2c总线死锁的装置及方法 |
CN102521187B (zh) * | 2011-11-29 | 2014-05-28 | 广东东研网络科技股份有限公司 | 一种i2c总线通信死锁解决方法 |
-
2012
- 2012-09-14 CN CN201210342878.4A patent/CN103678198B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN103678198A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103678198B (zh) | 总线的锁定解除方法、装置及系统 | |
CN102387074B (zh) | 业务线卡在位检测及复位方法及一种主控制卡和业务线卡 | |
CN103308996B (zh) | 有源光缆连接器插头及使用其的有源光缆 | |
CN102055633B (zh) | 一种星载双can总线节点故障自恢复系统 | |
EP2534496B1 (en) | Determination of physical connectivity status of devices based on electrical measurement | |
CN101526930A (zh) | Usb接口主从机检测装置及检测方法 | |
CN105450446A (zh) | 一种双机热备份系统及仲裁切换方法 | |
CN103077575B (zh) | 一种传感器接入总线协议 | |
CN104615037A (zh) | 一种基于can总线的车载设备唤醒装置及方法 | |
CN205959200U (zh) | 用于i2c总线数据传输的锁存电路 | |
CN109491946A (zh) | 一种用于i2c总线扩展的芯片和方法 | |
CN104135398B (zh) | 基于智能rs485集线器的总线锁死检测方法 | |
CN110659238A (zh) | 数据通信系统 | |
CN204576500U (zh) | 一种兼容i2c通信的usb通信电路和系统 | |
CN111698139A (zh) | 一种rs485总线多主机竞争切换方法 | |
CN102768561B (zh) | 一种双桥片主板冗余的设计方法 | |
CN104276048B (zh) | 一种分布式电池管理系统的低压管理系统和方法 | |
CN102355380A (zh) | 同异步串行接口硬件测试装置及方法 | |
JP2019096960A (ja) | 伝送装置及び伝送方法 | |
CN105279055A (zh) | 一种热插拔检测调节电路 | |
CN105488004A (zh) | 一种服务器开关机状态下的i2c线路复用控制逻辑方法 | |
CN104898009B (zh) | 一种连线传感设备的检测设备及检测方法 | |
CN203535935U (zh) | 液晶显示模块的控制电路和控制系统 | |
CN109557453B (zh) | 一种多主控芯片识别处理方法及系统 | |
US9778715B2 (en) | Master-slave communication system including a standby operation in which a standby voltage is provided that is lower than a lower voltage threshold in a normal operating mode |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder |
Address after: 510663 Shenzhou Road 10, Science City, Guangdong, Guangzhou Patentee after: Jingxin Network System Co.,Ltd. Address before: 510663 Shenzhou Road 10, Science City, Guangdong, Guangzhou Patentee before: COMBA TELECOM SYSTEMS (CHINA) Ltd. |
|
CP01 | Change in the name or title of a patent holder | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170707 |
|
CF01 | Termination of patent right due to non-payment of annual fee |