CN112131167B - 一种基于lpc协议的i2c转发模块、系统及其使用方法 - Google Patents
一种基于lpc协议的i2c转发模块、系统及其使用方法 Download PDFInfo
- Publication number
- CN112131167B CN112131167B CN202010849912.1A CN202010849912A CN112131167B CN 112131167 B CN112131167 B CN 112131167B CN 202010849912 A CN202010849912 A CN 202010849912A CN 112131167 B CN112131167 B CN 112131167B
- Authority
- CN
- China
- Prior art keywords
- forwarding module
- lpc
- bus
- master device
- link
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2002—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where interconnections or communication control functionality are redundant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0016—Inter-integrated circuit (I2C)
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于LPC协议的I2C转发模块、系统及其使用方法,涉及计算机通信技术领域。所述转发模块设有LPC接口和I2C接口,包括用于分析I2C总线传送的数据并进行数据处理的分析单元,以及用于在I2C链路中的主器件发生故障时替代主器件进行链路信息收发的代理单元。将转发模块的一端通过LPC接口与上层应用连接,另一端通过I2C接口与多组I2C链路连接,上层应用通过LPC接口控制转发模块发送和接收I2C数据包并监控I2C链路的通信情况,且当I2C链路中主器件发生故障时,将转发模块作为备用器件暂时接替I2C主器件的功能。本发明通过上述方案,实现了对I2C链路的实时监控与故障处理,同时采用安全校验以及故障器件标记功能,极大的提高了总线的安全性与稳定性。
Description
技术领域
本发明实施例涉及计算机通信技术领域,具体来说涉及一种基于LPC协议的I2C转发模块、系统及其使用方法。
背景技术
I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备,是微电子通信控制领域广泛采用的一种总线标准,它是同步通信的一种特殊形式,具有接口线少、控制方式简单、器件封装形式小以及通信速率较高等优点。I2C通过串行数据线SDA和串行时钟线SCL在连接到总线的器件之间传递信息,每个器件都有一个唯一的地址识别,而且都可以作为一个发送器或接收器,具体可由器件的功能决定,主机是初始化总线的数据传输并产生允许传输的时钟信号的器件,此时任何被寻址的器件都被认为是从机。LPC(Low Pin Count)是基于Intel标准的33MHz 4bit并行总线协议。
现有技术中,通常使用多组接口独立连接各自的器件,即I2C器件与I2C器件相连,LPC器件与LPC器件相连,其存在的不足之处在于,如果主器件出现故障,该链路便陷入瘫痪状态;此外,主器件只负责控制数据发送和接收数据,而对于数据的信号质量以及链路中的信号情况无法了解。因此,基于上述现有技术中存在的问题,提出本发明设计。
发明内容
本发明实施例提供了一种基于LPC协议的I2C转发模块、系统及其使用方法,上层应用通过LPC总线控制转发模块实现对I2C链路的实时监控与故障处理,提高总线的安全性与稳定性。
为实现上述目的,本发明公开了如下技术方案:
一方面,本发明提供一种基于LPC协议的I2C转发模块,所述转发模块设有LPC接口和I2C接口,转发模块包括:
分析单元,用于分析I2C总线传送的数据并进行数据处理;
代理单元,用于在I2C链路中的主器件发生故障时,替代主器件进行链路信息的收发。
基于上述方案,进一步的,所述转发模块还包括计时器,用于记录总线时序,确保建立时间与保持时间控制在合理的阈值范围内。
进一步的,所述转发模块还包括寄存器,所述分析单元与寄存器连接并与寄存器中的数据关联,寄存器包括:
配置寄存器,用于存储各项配置信息,包括安全校验开关及故障器件标记,具体的,安全校验开关开启后,非最高优先级、从器件地址以及偏移地址不符的操作会被拒绝发起,故障器件标记开启后,如果某个地址的从器件持续访问失败,则认为该器件故障;
存储寄存器,用于存储特定通信的详细情况,包括信号的建立时间与保持时间。
进一步的,所述转发模块还包括查找表,用于提供I2C总线与LPC总线访问的信息,所述分析单元与查找表连接并更新查找表中的相关信息。
如上所述的基于LPC协议的I2C转发模块,转发模块还包括交叉开关,用于同时连接多组I2C链路。
另一方面,本发明提供一种基于LPC协议的I2C系统,所述系统包括第一方面提供的I2C转发模块,转发模块的一端通过LPC接口与上层应用连接,另一端通过I2C接口与I2C器件连接,上层应用通过LPC总线控制所述转发模块与I2C链路通信并监控I2C链路的通信情况。
进一步的,在上述系统中,转发模块通过计时器记录总线时序,确保建立时间与保持时间控制在合理的阈值范围内,若建立时间与保持时间超过阈值范围时,则认为通信存在异常,并将相关寄存器置位告知上层应用。
本发明还提供一种第一方面所述的基于LPC协议的I2C转发模块的使用方法,包括以下步骤:
将转发模块的一端通过LPC接口与上层应用连接,另一端通过I2C接口与多组I2C链路连接;
转发模块监控各组I2C链路的状态,并将特定通信的详细情况存储在寄存器中;
转发模块与I2C主器件进行通信测试I2C主器件功能是否正常,若主器件发生故障,则暂时替代主器件进行链路信息的收发。
进一步的,所述使用方法中,转发模块通过交叉开关实现与多组I2C链路的连接。
发明内容中提供的效果仅仅是实施例的效果,而不是发明所有的全部效果,上述技术方案中的一个技术方案具有如下优点或有益效果:
本申请实施例提供的一种基于LPC协议的I2C转发模块、系统及其使用方法,设计了具有LPC接口和I2C接口的转发模块,转发模块包括用于分析I2C总线传送的数据并进行数据处理的分析单元,以及用于在I2C链路中的主器件发生故障时替代主器件进行链路信息收发的代理单元。使用时,将转发模块的一端通过LPC接口与上层应用连接,另一端通过I2C接口与多组I2C链路连接,上层应用通过LPC接口控制转发模块发送和接收I2C数据包,并监控I2C链路的通信情况,且当I2C链路中主器件发生故障时,将转发模块作为备用器件暂时接替I2C主器件的功能。此外,为了节省器件资源,转发模块通过交叉开关同时与多组I2C链路连接。本发明通过采用上述方案,实现了对I2C链路的实时监控与故障处理,同时采用安全校验以及故障器件标记功能极大的提高了总线的安全性与稳定性。本发明可应用于具有I2C接口的BMC板卡及其它总线链路中,实现内部通信的鲁棒性,提高整个系统的稳定性,并提供详细的问题数据来提高维护效率。
附图说明
此处的附图被并入说明书中并构成说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种基于LPC协议的I2C转发模块结构示意图;
图2为本申请实施例提供的一种基于LPC协议的I2C系统结构示意图;
图3为本申请实施例提供的一种基于LPC协议的I2C转发模块的使用方法流程示意图;
图4为本申请实施例中转发模块通过交叉开关与多组I2C链路的连接示意图。
具体实施方式
为使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
图1示出了本发明实施例提供的一种基于LPC协议的I2C转发模块结构示意图。
参照图1,本实施例的一种基于LPC协议的I2C转发模块,包括分析单元、代理单元、寄存器、查找表及计时器;
分析单元,用于分析I2C总线传送的数据并进行数据处理,包括与寄存器中的数据进行关联,更新查找表相关信息等。此外,如果开启校验功能,还会拦截不满足校验条件的读写操作,保护系统安全;
代理单元,用于在I2C链路中的主器件发生故障时,替代主器件进行链路信息的收发;
寄存器,包括配置寄存器和存储寄存器,配置寄存器用于存储各项配置信息,包括安全校验开关及故障器件标记,具体的,安全校验开关开启后,非最高优先级、从器件地址以及偏移地址不符的操作会被拒绝发起,故障器件标记开启后,如果某个地址的从器件持续访问失败,则认为该器件故障,存储寄存器用于存储特定通信的详细情况,包括信号的建立时间与保持时间;
查找表,用于提供I2C总线与LPC总线访问的信息;
计时器,用于记录总线时序,确保建立时间与保持时间控制在合理的阈值范围内,若建立时间与保持时间超过阈值范围时,则认为通信存在异常。
进一步的,由于LPC总线速率高于I2C总线速率,为了节省器件资源,所述转发模块还包括交叉开关,用于同时连接多组I2C链路。
图2示出了本发明实施例提供的一种基于LPC协议的I2C系统结构示意图。
参照图2,本实施例的一种基于LPC协议的I2C系统,包括上述实施例中提供的如图1中所示的I2C转发模块,转发模块的一端通过LPC接口与上层应用连接,另一端通过I2C接口与I2C器件连接,上层应用通过LPC总线控制所述转发模块与I2C链路通信并监控I2C链路的通信情况。
具体的,在本实施例系统中,转发模块通过计时器记录总线时序,确保建立时间与保持时间控制在合理的阈值范围内,若建立时间与保持时间超过阈值范围时,则认为通信存在异常,并将相关寄存器置位告知上层应用。
图3示出了本发明实施例提供的一种基于LPC协议的I2C转发模块的使用方法流程示意图。
参照图3,本实施例的一种基于LPC协议的I2C转发模块的使用方法,包括以下步骤:
S1、将转发模块的一端通过LPC接口与上层应用连接,另一端通过I2C接口与多组I2C链路连接;
S2、转发模块监控各组I2C链路的状态,并将特定通信的详细情况存储在存储寄存器中;
S3、转发模块与I2C主器件进行通信测试I2C主器件功能是否正常,若主器件发生故障,则暂时替代主器件进行链路信息的收发。
如图4所示,在本实施例使用方法中,为了节省器件资源,转发模块通过交叉开关实现与多组I2C链路的连接。
在本实施例中,通过设置具有LPC接口和I2C接口的转发模块,转发模块的一端通过LPC接口与上层应用连接,另一端通过I2C接口与多组I2C链路连接,上层应用通过LPC接口控制转发模块发送和接收I2C数据包,并监控I2C链路的通信情况,当I2C链路中主器件发生故障时,将转发模块作为备用器件暂时接替I2C主器件的功能。此外,为了节省器件资源,转发模块通过交叉开关同时与多组I2C链路连接。通过采用本实施例方案,实现了对I2C链路的实时监控与故障处理,同时采用安全校验以及故障器件标记功能极大的提高了总线的安全性与稳定性。本实施例技术方案可推广到其它总线链路中,也可为计算机网络提供参考的底层保护策略。
以上所述仅为本发明的较佳实施例而已,并不用以限定本发明,对于本技术领域的技术人员来说,在不脱离本发明原理的前提下所作的任何修改、改进和等同替换等,均包含在本发明的保护范围内。
Claims (10)
1.一种基于LPC协议的I2C转发模块,其特征在于,所述转发模块设有用于连接LPC总线的LPC接口和用于连接I2C总线的I2C接口,转发模块还包括:
分析单元,用于分析I2C总线传送的数据并进行数据处理;
代理单元,用于在I2C链路中的主器件发生故障时,替代主器件进行链路信息的收发;
具体为:
转发模块与I2C主器件进行通信测试I2C主器件功能是否正常,若主器件发生故障,则暂时替代主器件进行链路信息的收发;
其中,判断主器件发生故障的方式为:
安全校验开关开启后,非最高优先级、从器件地址以及偏移地址不符的操作会被拒绝发起,故障器件标记开启后,如果某个地址的从器件持续访问失败,则认为该器件故障。
2.根据权利要求1所述的一种基于LPC协议的I2C转发模块,其特征在于, 所述转发模块还包括计时器,用于记录总线时序,确保建立时间与保持时间控制在合理的阈值范围内。
3.根据权利要求1所述的一种基于LPC协议的I2C转发模块,其特征在于, 所述转发模块还包括寄存器,所述分析单元与寄存器连接并与寄存器中的数据关联。
4.根据权利要求3所述的一种基于LPC协议的I2C转发模块,其特征在于, 所述寄存器包括:
配置寄存器,用于存储各项配置信息,包括安全校验开关及故障器件标记;
存储寄存器,用于存储特定通信的详细情况,包括信号的建立时间与保持时间。
5.根据权利要求1所述的一种基于LPC协议的I2C转发模块,其特征在于, 所述转发模块还包括查找表,用于提供I2C总线与LPC总线访问的信息,所述分析单元与查找表连接并更新查找表中的相关信息。
6.根据权利要求1所述的一种基于LPC协议的I2C转发模块,其特征在于, 所述转发模块还包括交叉开关,用于同时连接多组I2C链路。
7.一种基于LPC协议的I2C系统,其特征在于,包括如权利要求1至6任一项所述的I2C转发模块,转发模块的一端通过LPC接口与上层应用连接,另一端通过I2C接口与I2C器件连接,上层应用通过LPC总线控制所述转发模块与I2C链路通信并监控I2C链路的通信情况。
8.根据权利要求7所述的一种基于LPC协议的I2C系统,其特征在于,所述转发模块通过计时器记录总线时序,若建立时间与保持时间超过阈值范围时, 则认为通信存在异常,并将相关寄存器置位告知上层应用。
9.一种如权利要求1至6任一项所述的基于LPC协议的I2C转发模块的使用方法,其特征在于,包括以下步骤:
将转发模块的一端通过LPC接口与上层应用连接,另一端通过I2C接口与多组I2C链路连接;
转发模块监控各组I2C链路的状态,并将特定通信的详细情况存储在寄存器中;
转发模块与I2C主器件进行通信测试I2C主器件功能是否正常,若主器件发生故障,则暂时替代主器件进行链路信息的收发。
10.根据权利要求9所述的一种基于LPC协议的I2C转发模块的使用方法,其特征在于,所述转发模块通过交叉开关实现与多组I2C链路的连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010849912.1A CN112131167B (zh) | 2020-08-21 | 2020-08-21 | 一种基于lpc协议的i2c转发模块、系统及其使用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010849912.1A CN112131167B (zh) | 2020-08-21 | 2020-08-21 | 一种基于lpc协议的i2c转发模块、系统及其使用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112131167A CN112131167A (zh) | 2020-12-25 |
CN112131167B true CN112131167B (zh) | 2022-06-21 |
Family
ID=73851092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010849912.1A Active CN112131167B (zh) | 2020-08-21 | 2020-08-21 | 一种基于lpc协议的i2c转发模块、系统及其使用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131167B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073613A (zh) * | 2010-12-15 | 2011-05-25 | 创新科存储技术有限公司 | 一种消除i2c总线死锁的装置及方法 |
CN103150279A (zh) * | 2013-04-02 | 2013-06-12 | 无锡江南计算技术研究所 | 一种主机与基板管理控制器共享设备的方法 |
CN105718410A (zh) * | 2016-01-19 | 2016-06-29 | 山东超越数控电子有限公司 | 一种基于fpga的lpc与spi及i2c转换适配器及其实现方法 |
CN107766200A (zh) * | 2017-09-22 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种i2c总线监控系统及监控方法 |
EP3336710A1 (en) * | 2016-12-15 | 2018-06-20 | Iristick nv | I²c bridge device |
CN110990325A (zh) * | 2019-10-31 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种基于i2c总线的数据传输方法与装置 |
CN110990313A (zh) * | 2019-11-29 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种i3c总线处理时钟拉伸的方法、设备以及存储介质 |
-
2020
- 2020-08-21 CN CN202010849912.1A patent/CN112131167B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102073613A (zh) * | 2010-12-15 | 2011-05-25 | 创新科存储技术有限公司 | 一种消除i2c总线死锁的装置及方法 |
CN103150279A (zh) * | 2013-04-02 | 2013-06-12 | 无锡江南计算技术研究所 | 一种主机与基板管理控制器共享设备的方法 |
CN105718410A (zh) * | 2016-01-19 | 2016-06-29 | 山东超越数控电子有限公司 | 一种基于fpga的lpc与spi及i2c转换适配器及其实现方法 |
EP3336710A1 (en) * | 2016-12-15 | 2018-06-20 | Iristick nv | I²c bridge device |
CN107766200A (zh) * | 2017-09-22 | 2018-03-06 | 郑州云海信息技术有限公司 | 一种i2c总线监控系统及监控方法 |
CN110990325A (zh) * | 2019-10-31 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种基于i2c总线的数据传输方法与装置 |
CN110990313A (zh) * | 2019-11-29 | 2020-04-10 | 苏州浪潮智能科技有限公司 | 一种i3c总线处理时钟拉伸的方法、设备以及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112131167A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102984059B (zh) | 千兆以太网冗余网卡及其链路切换条件判定结果控制方法 | |
CN106959935B (zh) | 一种兼容i2c通信与ipmb通信的方法 | |
EP3107251B1 (en) | Packet transmission method and device | |
CN105205021B (zh) | 断开PCIe设备与主机之间的链接的方法和装置 | |
CN101179453B (zh) | 一种链路状态检测方法和系统 | |
CN101557379B (zh) | 一种pcie接口的链路重组方法和装置 | |
CN108804260B (zh) | 一种srio系统倒换的方法和装置 | |
CN101895423A (zh) | 以太网中的数据传输方法和系统 | |
CN115437978A (zh) | 高速外围组件互连接口装置及其操作方法 | |
CN113572673A (zh) | 一种基于总线的无感切换冗余通信实现方法及系统 | |
CN100563237C (zh) | 一种多传输通道数据传输方法 | |
CN104536853B (zh) | 一种保障双控制器存储设备资源连续可用性的装置 | |
CN112131167B (zh) | 一种基于lpc协议的i2c转发模块、系统及其使用方法 | |
CN112995070A (zh) | 一种双卡切换系统及方法 | |
KR100738536B1 (ko) | Utp/광 통합 네트워크의 이더넷 스위치/라우터 및 그방법 | |
CN115733729B (zh) | 通信故障处理方法、系统及设备 | |
CN204633800U (zh) | 一种管理单元和交换单元双冗余的交换机 | |
CN101707589A (zh) | 用于多端口网卡的端口自动切换实现方法和装置 | |
CN111431668B (zh) | 基于多节点uart通讯的波特率切换方法、空调系统及处理器 | |
CN112178881B (zh) | Rs485网络的自检方法、设备 | |
CN111641544B (zh) | 一种can总线控制器并行测试系统 | |
CN113360191B (zh) | 网络交换芯片的驱动装置 | |
CN104714909A (zh) | 处理总线挂死的装置、方法、总线结构及系统 | |
US20100005197A1 (en) | Network device and active control card detecting method | |
US8553530B1 (en) | Operating state control in redundancy protection systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |