CN101609440B - 总线系统和总线从锁定状态中恢复的方法 - Google Patents
总线系统和总线从锁定状态中恢复的方法 Download PDFInfo
- Publication number
- CN101609440B CN101609440B CN200810126764XA CN200810126764A CN101609440B CN 101609440 B CN101609440 B CN 101609440B CN 200810126764X A CN200810126764X A CN 200810126764XA CN 200810126764 A CN200810126764 A CN 200810126764A CN 101609440 B CN101609440 B CN 101609440B
- Authority
- CN
- China
- Prior art keywords
- bus
- slave unit
- lock
- control module
- address information
- 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
Links
Images
Abstract
本发明实施例公开了一种总线系统和总线从锁定状态中恢复的方法,可以解决现有技术中,电路不能以较低的成本实现总线从锁定状态中恢复的问题。所述总线系统,包括主设备和通过总线与该主设备相连的至少一个从设备;所述总线系统还包括控制单元,其中,所述控制单元的I/O管脚分别与所述从设备的电源端连接;所述控制单元还通过I/O管脚与所述主设备的通信接口连接,或与所述总线中的时钟信号线和数据/地址信号线连接。所述方法,包括:检测到总线处于锁定状态;获得使总线锁定的从设备的地址信息;根据所述地址信息,控制为相应的从设备提供电源的控制单元的I/O管脚,使相应的从设备下电。本发明实施例适用于总线电路,如I2C总线电路。
Description
技术领域
本发明涉及通信技术,特别涉及一种总线系统和总线从锁定状态中恢复的方法。
背景技术
I2C(Inter Integrated Circuit)集成电路间总线是Philips(飞利浦)公司发明的一种低成本的芯片间通信总线,它只包含两个信号:SCL和SDA,其中,SCL是串行时钟信号,SDA是串行数据/地址信号。I2C总线的主要特点是:(1)采用主从结构,通常由一个主设备和多个从设备组成,也可以支持多个主设备;(2)同步总线,SCL为同步的时钟信号,由主设备驱动,SDA由主设备或从设备驱动;(3)有三种工作模式:标准模式,速率是100Kbps;快速模式,速率是400Kbps;高速模式,速率是3.4Mbps;(4)总线结构,便于扩充新设备;(5)信号管脚数少,芯片的实现成本低,印制板布线也很方便。
I2C总线目前已经在通信设备、家用电器等领域得到了广泛使用,主要用于芯片间管理、控制信息的传送,例如服务器领域的SMbus(System Managementbus,系统管理总线)、电信领域的IPMI(Intelligent Platform ManagementInterface,智能平台管理接口)都是基于I2C总线设计而成的。
图1为采用主从连接方式的I2C总线电路图,在该电路中,一个主设备通过I2C总线连接有多个从设备。I2C总线虽然简单易用,但是存在总线拓扑结构固有的一个不足之处,即容易发生总线挂死或锁定的问题。在正常情况下,总线信号空闲时是高电平,如果总线上的一个设备由于某种原因(例如I2C总线传输时单板发生复位)将信号线拉低,那么其他设备将无法使用总线。
为了使总线从锁定状态中恢复,现有技术中主要采用以下两种技术方案:
第一种技术方案:当I2C总线发生锁定后,主设备连续发出9个以上的SCL时钟信号,使从设备内部的状态机恢复到空闲状态,即SDA恢复到高电平,于是I2C总线恢复正常,可以重新发起数据传输。
第二种技术方案:如图2所示,电源通过MOS(Metal Oxide Semiconductor,金属氧化物半导体)管或继电器连接到从设备,单板软件通过控制它们的接通或关断,使从设备从锁定状态中恢复正常。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题:其技术方案的实现要么依赖于具体的芯片,才能保证总线从锁定状态中恢复;要么需要增加额外的器件,成本较高。
发明内容
本发明实施例提供一种能够以较低的成本实现总线从锁定状态中恢复的总线系统和总线从锁定状态中恢复的方法。
一种总线系统,包括主设备和通过总线与该主设备相连的至少一个从设备;所述总线系统还包括控制单元,其中,
所述控制单元的I/O输入/输出管脚分别与所述从设备的电源端连接,通过所述控制单元的I/O管脚分别为所述从设备提供电源,并对所述从设备进行上下电的控制;
所述控制单元还通过I/O管脚与所述主设备的通信接口连接,或与所述总线中的时钟信号线和数据/地址信号线连接。
一种总线从锁定状态中恢复的方法,包括:
检测到总线处于锁定状态;
获得使总线锁定的从设备的地址信息;
根据所述地址信息,控制为相应的从设备提供电源的控制单元的I/O管脚,使相应的从设备下电,所述控制单元的I/O管脚分别与所述从设备的电源端连接,通过所述控制单元的I/O管脚分别为所述从设备提供电源,并对所述从设备进行上下电的控制。
本发明实施例中,利用控制单元的I/O管脚为从设备提供电源。当检测到总线处于锁定状态时,先获得使总线锁定的从设备的地址信息,然后控制为相应的从设备提供电源的控制单元的I/O管脚,使相应的从设备下电,从而使总线从锁定状态中恢复。该方法实现简单,成本低。
附图说明
图1为现有技术中I2C总线采用主从连接方式的电路连接示意图;
图2为现有技术中电源通过MOS管或继电器为从设备供电的电路连接示意图;
图3为本发明总线系统实施例的电路连接示意图;
图4为I2C总线写操作的时序图;
图5为I2C总线的开始和结束条件所对应的时序图;
图6为本发明方法实施例的流程图;
图7为本发明方法实施例的具体流程示意图。
具体实施方式
本发明实施例提供一种能够以较低的成本实现总线从锁定状态中恢复的总线系统和总线从锁定状态中恢复的方法。下面结合附图对本发明实施例作详细说明。
如图3所示,本发明实施例的总线系统,包括主设备301和通过I2C总线与该主设备301相连的N个从设备(N)303,N为整数,N≥1;
所述总线系统还包括控制单元302,控制单元302的I/O(输入/输出)管脚分别与从设备303的电源端连接;控制单元302还通过I/O管脚与主设备301的通信接口连接,或与I2C总线中的时钟信号线SCL和数据/地址信号线SDA连接。
其中,控制单元302为PLD(Programmable Logic Device,可编程逻辑器件)或CPLD(Complex PLD,复杂可编程逻辑器件)等器件。下面以PLD为例对本发明实施例予以说明。
目前在通信领域的单板设计中,PLD使用的越来越多,它们的容量、速率、接口特性由设计者根据需要选择,既可以完成简单的地址译码、时序调整和接口适配,也能实现复杂的协议和算法处理功能,而且功能可以在线重新配置,使用非常方便,这些优点使PLD成为单板上很常见的单元电路。由于I2C总线的从设备一般是EEPROM(Electrically Erasable Programmable ReadOnly Memory,电可擦可编程只读存储器)、RTC(Real Time Clock,实时钟)、传感器之类的小器件。这些器件的功耗都很低,以EEPROM为例,它的工作电流在3mA以内,工作电压是1.8-5.5V。而PLD的I/O管脚驱动能力可以达到20mA以上,逻辑电平可以选择TTL或CMOS,能够满足从设备对电源电压和电流的要求,因此可以用PLD的I/O管脚作为I2C总线从设备的电源。在PLD的I/O管脚提供的电流满足要求的情况下,本发明实施例的技术方案也可以用于其他类型的总线连接电路中。
本实施例中,控制单元302为PLD,利用PLD的I/O管脚为从设备303提供电源。正常状态时,PLD的I/O管脚输出高电平,使从设备303上电后正常工作;当总线处于锁定状态时,主设备301获得使总线锁定的从设备的地址信息,并将该地址信息通过通信接口发送给PLD,或者PLD读取和存储总线上当前被访问的从设备的地址信息(此时PLD与总线的SCL和SDA连接)。根据所述地址信息,PLD控制相应的I/O管脚输出低电平,使相应的从设备下电,从而总线从锁定状态中恢复。本发明实施例利用了PLD的I/O管脚来控制从设备303的上下电,电路实现简单,成本低。
下面以总线进行写操作为例介绍I2C总线的基本时序。
如图4、图5所示,I2C总线进行写操作时,数据传输由主设备发起,它先产生一个START(开始)条件,即SCL为高电平的时候,SDA从高电平变为低电平,然后再依次输出7位的设备地址和1位的读写指示,后者为低电平表示写操作,高电平表示读操作。总线上的所有从设备接收到这些信号之后会与自己的设备地址信息进行比较,地址信息相同的从设备即被选中。从设备被选中后会在SDA上输出一个低电平的ACK确认信号。接着,主设备发出8位的字地址和待写入的数据,从设备将数据接收下来并产生与字地址和数据分别对应的两个ACK确认信号。最后,主设备产生一个STOP条件,即SCL为高电平的时候SDA从低电平变为高电平,本次总线传输结束。
在I2C总线的传输过程中,从设备输出的ACK确认信号或者数据都是由主设备产生的SCL信号来驱动,如果当SDA被从设备驱动为低电平的时候发生了单板复位,SCL信号会变为高电平,而SDA信号将被从设备一直驱动为低电平,这就是I2C总线发生锁定的原因。因此可知,如果总线为锁定状态,则使总线锁定的从设备为当前被访问的从设备。
进而本实施例中,获得使I2C总线锁定的从设备的地址信息可以有两种方案,一种是:主设备存储当前访问的从设备的地址信息,并将该地址信息通过通信接口发送给PLD;另一种是:PLD通过与I2C总线连接的I/O管脚,读取并存储总线上当前被访问的从设备的地址信息,从而得到使总线锁定的从设备的地址信息。最后,PLD根据所述地址信息,对相应的从设备进行上下电控制,从而使总线从锁定状态中恢复。上述第二种方案中,PLD还可以读取I2C总线的信号状态,检测总线是否锁定,因此I2C总线的锁定状态检测、从设备的上下电控制都可以统一在PLD中实现,简化单板的设计。
本发明实施例利用了控制单元302的I/O管脚来控制从设备的上下电,省去了MOS管、继电器等电源控制器件,电路实现比较简单,单板成本低;并且I2C总线的锁定状态检测、从设备的上下电控制都可以在控制单元302中实现,能够简化单板的设计。本发明实施例适用于总线电路,特别适用于I2C总线电路。
与上述总线系统相对应,本发明实施例还提供一种总线从锁定状态中恢复的控制方法,如图6所示,它包括:
步骤601:检测到总线处于锁定状态;
步骤602:获得使总线锁定的从设备的地址信息;
该步骤具体为:
主设备存储当前被访问的从设备的地址信息,并将所述地址信息发送给控制单元;或者,
控制单元读取并存储总线上当前被访问的从设备的地址信息。
步骤603:根据所述地址信息,控制为相应的从设备提供电源的控制单元的I/O管脚,使相应的从设备下电。
并且,为了使相应的从设备能够恢复使用,所述使相应的从设备下电步骤之后,还包括:
延时一段时间,控制为所述从设备提供电源的控制单元的I/O管脚,使所述从设备上电。
本实施例中,控制单元为PLD或CPLD等器件。本发明实施例同样利用了PLD的I/O管脚来控制从设备的上下电,电路实现比较简单,单板成本低。其中,总线为I2C总线,也可以为其他类型的总线。
下面以控制单元采用PLD为例,详细介绍本发明实施例实现总线从锁定状态中恢复的一种方式:
PLD读取总线上当前被访问的从设备的地址信息,然后将地址信息存储在PLD中的地址寄存器中,并根据地址信息对相应的从设备进行上下电控制。
具体流程如图7所示,在单板上电701的时候,PLD的地址寄存器清零702。当I2C总线的主设备发起一次传输703时,地址寄存器先将目标从设备(即被访问的从设备)的地址信息记录下来704;执行步骤705:如果本次传输正常完成,总线没有发生锁定,则PLD自行将地址寄存器清零702,如果传输过程中发生了总线锁定,例如单板发生了复位,则地址寄存器中的地址信息一直有效,该地址信息可以由主设备读取或清除,或者被下一次总线传输的目标从设备的地址信息所覆盖。根据地址寄存器中的地址信息,PLD将对应的从设备下电706,从而总线从锁定状态中恢复。然后,延时一段时间707(通常几毫秒即可),PLD使对应的从设备上电708,同时地址寄存器中的地址信息保持不变709,主设备可以重新发起传输703。
另外,为了在较短的时间内即可检测出I2C总线处于锁定状态,所述步骤601:检测到总线处于锁定状态具体为:
获得总线的时钟周期,以及总线中时钟信号SCL为高电平、数据/地址信号SDA为低电平的持续时间;
根据所述时钟周期,判断所述持续时间是否超过半个时钟周期,如果是,则总线处于锁定状态。
从图5中可以看出,在正常情况下I2C总线的SCL为高电平、SDA为低电平时的持续时间不会超过半个SCL时钟周期。而SCL信号是由主设备产生的,通常可以由软件设置工作频率,因此这个数据是已知的,由此可以计算出总线的时钟周期。在I2C总线发生锁定的情况下,即SCL为高电平、SDA为低电平的时间则会超过半个SCL时钟周期。通过这种差异,就可以快速识别出I2C总线是否进入了锁定 状态,从而采取措施使总线从故障中恢复。
由上可知,本发明实施例一方面可以通过控制单元(如PLD、CPLD)的I/O管脚对从设备供电,并进行上下电的控制,从而能够以较低的成本实现总线从锁定状态中恢复;另一方面还可以通过对总线中的时钟信号、数据/地址信号的状态监测,在较短的时间内检测出总线处于锁定状态,从而能够使总线尽快恢复正常。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (9)
1.一种总线系统,其特征在于,包括主设备和通过总线与该主设备相连的至少一个从设备;所述总线系统还包括控制单元,其中,
所述控制单元的I/O管脚分别与所述从设备的电源端连接,通过所述控制单元的I/O管脚分别为所述从设备提供电源,并对所述从设备进行上下电的控制;
所述控制单元还通过I/O管脚与所述主设备的通信接口连接,或与所述总线中的时钟信号线和数据/地址信号线连接。
2.根据权利要求1所述的总线系统,其特征在于,所述控制单元为可编程逻辑器件或复杂可编程逻辑器件。
3.根据权利要求1或2所述的总线系统,其特征在于,所述总线为I2C集成电路间总线。
4.一种总线从锁定状态中恢复的方法,其特征在于,包括:
检测到总线处于锁定状态;
获得使总线锁定的从设备的地址信息;
根据所述地址信息,控制为相应的从设备提供电源的控制单元的I/O管脚,使相应的从设备下电,所述控制单元的I/O管脚分别与所述从设备的电源端连接,通过所述控制单元的I/O管脚分别为所述从设备提供电源,并对所述从设备进行上下电的控制。
5.根据权利要求4所述的总线从锁定状态中恢复的方法,其特征在于,所述获得使总线锁定的从设备的地址信息具体为:
主设备存储当前被访问的从设备的地址信息,并将所述地址信息发送给控制单元;或者,
控制单元读取并存储总线上当前被访问的从设备的地址信息。
6.根据权利要求4所述的总线从锁定状态中恢复的方法,其特征在于,所述使相应的从设备下电之后,还包括:
延时一段时间,控制为所述从设备提供电源的控制单元的I/O管脚,使所述从设备上电。
7.根据权利要求4至6中任一权利要求所述的总线从锁定状态中恢复的方法,其特征在于,所述控制单元为可编程逻辑器件或复杂可编程逻辑器件。
8.根据权利要求7所述的总线从锁定状态中恢复的方法,其特征在于,所述总线为I2C总线。
9.根据权利要求8所述的总线从锁定状态中恢复的方法,其特征在于,所述检测到总线处于锁定状态具体为:
获得总线的时钟周期,以及总线中时钟信号为高电平、数据/地址信号为低电平的持续时间;
根据所述时钟周期,判断所述持续时间是否超过半个时钟周期,如果是,则总线处于锁定状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810126764XA CN101609440B (zh) | 2008-06-20 | 2008-06-20 | 总线系统和总线从锁定状态中恢复的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810126764XA CN101609440B (zh) | 2008-06-20 | 2008-06-20 | 总线系统和总线从锁定状态中恢复的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101609440A CN101609440A (zh) | 2009-12-23 |
CN101609440B true CN101609440B (zh) | 2011-11-16 |
Family
ID=41483197
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810126764XA Active CN101609440B (zh) | 2008-06-20 | 2008-06-20 | 总线系统和总线从锁定状态中恢复的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101609440B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763331B (zh) * | 2010-01-18 | 2014-04-09 | 中兴通讯股份有限公司 | 一种实现i2c总线控制的系统及方法 |
CN102073613B (zh) * | 2010-12-15 | 2013-05-08 | 创新科存储技术有限公司 | 一种消除i2c总线死锁的装置及方法 |
WO2013059987A1 (zh) * | 2011-10-25 | 2013-05-02 | 深圳市海思半导体有限公司 | 降低动态功耗的方法和电子设备 |
CN103412531B (zh) * | 2013-07-30 | 2016-09-07 | 华为数字技术(苏州)有限公司 | 一种总线控制方法及装置 |
CN108304333B (zh) * | 2017-12-26 | 2021-04-13 | 中国科学院长春光学精密机械与物理研究所 | 一种一主多从式总线 |
CN110659238A (zh) * | 2018-06-28 | 2020-01-07 | 鸿富锦精密电子(天津)有限公司 | 数据通信系统 |
CN109933178A (zh) * | 2019-01-16 | 2019-06-25 | 浙江众合科技股份有限公司 | 一种列车信号系统中实现单板复位的装置 |
CN110060632A (zh) * | 2019-05-10 | 2019-07-26 | 深圳市华星光电技术有限公司 | 显示器驱动系统及显示器驱动方法 |
CN111124981B (zh) * | 2019-11-29 | 2021-11-23 | 苏州浪潮智能科技有限公司 | 一种服务器i2c设备的管理系统及方法 |
CN111538626B (zh) * | 2020-05-08 | 2023-03-24 | 成都蓉博通信技术有限公司 | 一种从i2c设备解挂死的方法 |
CN111737183A (zh) * | 2020-08-05 | 2020-10-02 | 苏州浪潮智能科技有限公司 | 一种服务器及一种i2c总线的通信故障处理方法和系统 |
CN112214343B (zh) * | 2020-09-18 | 2023-01-10 | 苏州浪潮智能科技有限公司 | 一种基于pca9511芯片的iic挂死的链路恢复电路及方法 |
CN116166594B (zh) * | 2023-04-26 | 2023-07-18 | 闪极科技(深圳)有限公司 | 一种单地址多从机的iic总线电路及其传输方法和装置 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2687736Y (zh) * | 2004-04-09 | 2005-03-23 | 清华大学 | 单片机复位配置装置 |
-
2008
- 2008-06-20 CN CN200810126764XA patent/CN101609440B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN2687736Y (zh) * | 2004-04-09 | 2005-03-23 | 清华大学 | 单片机复位配置装置 |
Also Published As
Publication number | Publication date |
---|---|
CN101609440A (zh) | 2009-12-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101609440B (zh) | 总线系统和总线从锁定状态中恢复的方法 | |
CN100477547C (zh) | 通信设备主从切换方法及通信设备 | |
EP1548983B1 (en) | Communication adapter device, communication adapter, method for write in nonvolatile memory, electric apparatus used for the same, and rom writer | |
CN101910972B (zh) | 主装置用接口装置、附属装置用接口装置、主装置、附属装置、通信系统、以及接口电压切换方法 | |
CN103136048B (zh) | 计算机系统 | |
CN101625670A (zh) | 一种串行总线设备、串行总线传输系统及方法 | |
CN201859389U (zh) | 一种复位管理芯片及复位系统 | |
CN102354261A (zh) | 机房服务器电源开关远程控制系统 | |
CN102200826A (zh) | 一种电源适配器及便携式电脑 | |
CN100504831C (zh) | 一种i2c总线被从器件锁定后的恢复方法及装置 | |
CN109344104A (zh) | 电子设备及信号传输方法 | |
CN102902337A (zh) | 电源切换系统、计算机系统及其重开机控制的方法 | |
CN101782802A (zh) | 待机省电系统及其计算机电源启动与断开方法 | |
CN102474195B (zh) | 逆变器系统以及逆变器 | |
CN100550771C (zh) | 实现远程加载单板固件的方法和系统 | |
CN101498971B (zh) | 遥控网络物理隔离装置及其控制方法 | |
CN102841634A (zh) | 服务器主板 | |
CN102231700A (zh) | 交换卡切换信息的下发方法和交换卡热备份系统 | |
CN103186223B (zh) | 计算机装置及外接子板的侦测方法 | |
CN114661646A (zh) | 串口转接控制电路 | |
CN101470639B (zh) | 启动信号产生装置 | |
CN203375726U (zh) | 热水器 | |
CN112463707A (zh) | 一种i2c链路管理系统及方法 | |
CN102193609B (zh) | 电源锁定的设定方法及其电子装置 | |
CN201611799U (zh) | 可远程监控的供电系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |