CN107622032B - 一种i2c总线的三线扩展方法及电路 - Google Patents

一种i2c总线的三线扩展方法及电路 Download PDF

Info

Publication number
CN107622032B
CN107622032B CN201710710776.6A CN201710710776A CN107622032B CN 107622032 B CN107622032 B CN 107622032B CN 201710710776 A CN201710710776 A CN 201710710776A CN 107622032 B CN107622032 B CN 107622032B
Authority
CN
China
Prior art keywords
link
sda line
multiplexing chip
input end
data
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
CN201710710776.6A
Other languages
English (en)
Other versions
CN107622032A (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN201710710776.6A priority Critical patent/CN107622032B/zh
Publication of CN107622032A publication Critical patent/CN107622032A/zh
Application granted granted Critical
Publication of CN107622032B publication Critical patent/CN107622032B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种I2C总线的三线扩展方法及电路,本发明增加了一根主器件到复用芯片的SDA链路,两组I2C共用一条SCL链路,在链路上,使用多路复用芯片对链路数据进行处理,负责数据的转发和分析,并对整个链路进行监控,保证两根数据线不会同时访问同一条复用链路,当一条数据链路出现故障的时候,另一条数据链路可以完全承担整个系统的通信任务,实现从器件通信效率以及通信稳定性的提升,保证在同样提高从器件挂载数目的基础上,提高总线容量,提高通信的及时性和质量,节省了I/O资源,降低了成本。

Description

一种I2C总线的三线扩展方法及电路
技术领域
本发明涉及电路的技术领域,具体涉及一种I2C总线的三线扩展方法及电路。
背景技术
I2C(Inter-Integrated Circuit)总线是由飞利浦公司开发的两线式串行总线,用于连接微控制器及其外围设备,是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。I2C通过串行数据(SDA)线和串行时钟(SCL)线在连接到总线的器件间传递信息。每个器件都有一个唯一的地址识别,而且都可以作为一个发送器或接收器(由器件的功能决定)。主机是初始化总线的数据传输并产生允许传输的时钟信号的器件。此时,任何被寻址的器件都被认为是从机。
由于I2C(Inter-Integrated Circuit)总线具有信号线少、控制简单方便等优点,在现今计算机网络通讯设备中,越来越多的设备采用I2C总线实现设备之间的通信。现有的I2C从设备连接在同一个I2C主设备下,其访问地址为相同固定的地址,因此并不能直接访问多个具有同一设备地址的I2C从设备,而必须增加额外的方案来实现对每一I2C从设备的单独访问和控制。现有技术中主要采用专用I2C复用芯片或利用CPU的I/O接口用软件方式模拟I2C总线时序来打开I2C从设备并进行访问。但是专用I2C复用芯片成本较高,不适合大量使用,而采用软件模拟I2C总线时序的方式会占据大量CPU资源而影响系统性能。
附图3为现有技术的I2C设备的拓展,在一组I2C链路上使用多路复用芯片,建立所述多路复用芯片与所述I2C设备的连接,通过芯片的二次寻址,解决同类型器件地址冲突的问题,实现更多从器件的挂载,来解决现有I2C设备的拓展成本高和因占用大量CPU资源影响系统性能的技术问题。虽然现有技术使用多路复用芯片,可以使链路上挂载更多的从器件,但是由于I2C接口本身的数目并没有改变,而且I2C协议的通信速率较慢,当挂载过多从器件的时候,会出现总线资源的长时间占用,导致链路的堵塞拥挤,造成总线通信的质量和及时性下降。此外,采用一组总线挂载多组设备,一旦上端的接口出现故障,并没有应急的通信链路来维持低强度的通信,整个链路都会陷入瘫痪。
因此,针对现有技术中,I2C多路复用芯片只能增加从器件挂载数目,无法提高I2C总线通信上限的缺点,本领域亟需一种技术来保证在同样提高从器件挂载数目的基础上,提高总线容量,提高通信的及时性和质量。
发明内容
基于上述问题,本发明提出了一种I2C总线的三线扩展方法及电路,在原有I2C链路的基础上扩展出一套三线复用系统,保证在同样提高从器件挂载数目的基础上,提高总线容量,提高通信的及时性和质量。
本发明提供如下技术方案:
一方面,本发明提供了一种I2C总线的三线扩展方法,包括:
步骤101,提供多路复用芯片;
步骤102,建立主器件与所述多路复用芯片的连接,所述主器件通过所述多路复用芯片输入端的第一SDA线路、第二SDA线路及SCL线路输入到所述多路复用芯片;
步骤103,所述多路复用芯片输出端通过输出端的SCL线路、第一SDA线路、第二SDA线路及第三SDA线路输出寻址,实现四组双线链路。
其中,输入端第一SDA线路发出数据包,被寻址目标位于第一链路上,所述多路复用芯片收到数据后建立通信链路,同时将第一链路的第一SDA线路锁定,在通信结束前,仅用来传输输入端第一SDA线路的数据,禁止输入端第二SDA线路进行访问。
其中,若第二SDA线路在此时有数据包发出,被寻址的目标位于第二链路上,所述多路复用芯片收到寻址数据后建立通信链路并完成转发,将第二链路锁定,两条链路独立运转,互相之间不产生影响。
其中,若第二SDA线路寻址的目标位于第一链路上,所述多路复用芯片收到到寻址数据后检测到第一链路是否处于工作态,若处于工作态则反馈NACK信号,取消第二SDA线路的请求,等待下一次通信。
另外,本发明还提供了一种I2C总线的三线扩展电路,所述电路包括:
多路复用芯片,主器件,从器件;所述多路复用芯片包括输入端和输出端,所述主器件通过所述输入端输入到所述多路复用芯片,所述输出端输出到从器件寻址;所述输入端包括输入端第一SDA线路、第二SDA线路及SCL线路,所述输出端包括输出端SCL线路、第一SDA线路、第二SDA线路及第三SDA线路。
其中,输入端第一SDA线路发出数据包,被寻址目标位于第一链路上,所述多路复用芯片收到数据后建立通信链路,同时将第一链路的第一SDA线路锁定,在通信结束前,仅用来传输输入端第一SDA线路的数据,禁止输入端第二SDA线路进行访问。
其中,若第二SDA线路在此时有数据包发出,被寻址的目标位于第二链路上,所述多路复用芯片收到寻址数据后建立通信链路并完成转发,将第二链路锁定,两条链路独立运转,互相之间不产生影响。
其中,若第二SDA线路寻址的目标位于第一链路上,所述多路复用芯片收到到寻址数据后检测到第一链路是否处于工作态,若处于工作态则反馈NACK信号,取消第二SDA线路的请求,等待下一次通信。
本发明提供了一种I2C总线的三线扩展方法及电路,本发明增加了一根主器件到复用芯片的SDA链路,两组I2C共用一条SCL链路,在链路上,使用多路复用芯片对链路数据进行处理,负责数据的转发和分析,并对整个链路进行监控,保证两根数据线不会同时访问同一条复用链路,当一条数据链路出现故障的时候,另一条数据链路可以完全承担整个系统的通信任务,实现从器件通信效率以及通信稳定性的提升,保证在同样提高从器件挂载数目的基础上,提高总线容量,提高通信的及时性和质量,节省了I/O资源,降低了成本。
附图说明
图1是本发明的方法流程图;
图2是本发明的I2C总线的三线扩展电路示意图;
图3是现有技术的I2C设备的拓展示意图。
具体实施方式
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
一方面,本发明的实施方式提供了一种I2C总线的三线扩展方法,附图1为本发明的方法流程图,附图2为I2C总线的三线扩展电路示意图,所述方法包括:
步骤101,提供多路复用芯片;
以常见的四链路复用芯片为例,复用芯片的管脚图如下图所示,输入端为一条SCL线路和两条SDA线路,而输出端则是一条SCL线路和三条SDA线路,通过将SCL分支成为四组,可以很容易实现四组传统的双线链路,不需要改变后端的接口。
步骤102,建立主器件与所述多路复用芯片的连接,所述主器件通过所述多路复用芯片输入端的第一SDA线路、第二SDA线路及SCL线路输入到所述多路复用芯片;
步骤103,所述多路复用芯片输出端通过输出端的SCL线路、第一SDA线路、第二SDA线路及第三SDA线路输出寻址,实现四组双线链路。
以0、1、2、3命名四组复用链路,如附图2,即复用芯片扩展的第一条链路的数据线为SDA0,SCL0。
假设sda_a首先发出数据包,寻址的从器件1位于链路0上。复用芯片收到数据后建立通信链路,同时将链路0的SDA0锁定,在通信结束前,仅用来传输sda_a的数据,禁止sda_b进行访问。
如果sda_b在此时有数据包发出,寻址的从器件2位于链路1上,那么复用芯片收到到寻址数据后建立通信链路并完成转发,将链路1锁定,两条链路独立运转,互相之间不产生影响。
如果sda_b寻址的从器件2位于链路0上,那么复用芯片收到到寻址数据后检测到链路0处于工作态,将反馈NACK信号,取消sda_b的请求,等待下一次通信。
在对I2C从器件进行布局分配的时候,应当提前作出评估,保证将即时性要求较高的从器件平均分配在四组总线上,达到最大的复用效果。
现有技术往往由于I2C设备过多,会有多组I2C链路,本专利仅仅在一组的基础上扩展了一条SDA线路,如果可以共用一条时钟线,那么假设有5组I2C链路,原本需要5条SDA线5条SCL线,共计10条信号线进行通信,在使用本方案后,可以使用1条SCL线,5条SDA线替代原有的通信系统,而且每一条链路的主器件都可以访问另一组链路的从器件,极大地节省了线路成本,提高了系统的稳定性和通信效率。
本发明在原有I2C总线SDA、SCL两根线的基础上,增加了一根SDA线,SDA_a与SDA_b公用一根时钟线,都按照I2C协议进行通信,其有益效果为:在保证从器件数目扩展的同时,也保证了通信的即时性;当一条数据链路出现故障的时候,另一条数据链路可以完全承担整个系统的通信任务;只增加一条I2C接口到复用芯片的链路,从器件方面不需要做任何改变,完全遵循I2C协议运作,提高了可用性;相比于使用两组I2C接口,少了一条SDA线,节省了I/O资源,降低了电路成本。
本发明提供了一种I2C总线的三线扩展方法,增加了一根主器件到复用芯片的SDA链路,两组I2C共用一条SCL链路,在链路上,使用多路复用芯片对链路数据进行处理,负责数据的转发和分析,并对整个链路进行监控,保证两根数据线不会同时访问同一条复用链路,当一条数据链路出现故障的时候,另一条数据链路可以完全承担整个系统的通信任务,实现从器件通信效率以及通信稳定性的提升,保证在同样提高从器件挂载数目的基础上,提高总线容量,提高通信的及时性和质量,节省了I/O资源,降低了成本。
另一方面,本发明的实施方式提供了一种I2C总线的三线扩展电路,附图2为I2C总线的三线扩展电路示意图,所述电路包括:
多路复用芯片,主器件,从器件;所述多路复用芯片包括输入端和输出端,所述主器件通过所述输入端输入到所述多路复用芯片,所述输出端输出到从器件寻址;所述输入端包括输入端第一SDA线路、第二SDA线路及SCL线路,所述输出端包括输出端SCL线路、第一SDA线路、第二SDA线路及第三SDA线路。
以常见的四链路复用芯片为例,复用芯片的管脚图如下图所示,输入端为一条SCL线路和两条SDA线路,而输出端则是一条SCL线路和三条SDA线路,通过将SCL分支成为四组,可以很容易实现四组传统的双线链路,不需要改变后端的接口。
以0、1、2、3命名四组复用链路,如附图2,即复用芯片扩展的第一条链路的数据线为SDA0,SCL0。
假设sda_a首先发出数据包,寻址的从器件1位于链路0上。复用芯片收到数据后建立通信链路,同时将链路0的SDA0锁定,在通信结束前,仅用来传输sda_a的数据,禁止sda_b进行访问。
如果sda_b在此时有数据包发出,寻址的从器件2位于链路1上,那么复用芯片收到到寻址数据后建立通信链路并完成转发,将链路1锁定,两条链路独立运转,互相之间不产生影响。
如果sda_b寻址的从器件2位于链路0上,那么复用芯片收到到寻址数据后检测到链路0处于工作态,将反馈NACK信号,取消sda_b的请求,等待下一次通信。
在对I2C从器件进行布局分配的时候,应当提前作出评估,保证将即时性要求较高的从器件平均分配在四组总线上,达到最大的复用效果。
现有技术往往由于I2C设备过多,会有多组I2C链路,本专利仅仅在一组的基础上扩展了一条SDA线路,如果可以共用一条时钟线,那么假设有5组I2C链路,原本需要5条SDA线5条SCL线,共计10条信号线进行通信,在使用本方案后,可以使用1条SCL线,5条SDA线替代原有的通信系统,而且每一条链路的主器件都可以访问另一组链路的从器件,极大地节省了线路成本,提高了系统的稳定性和通信效率。
本发明在原有I2C总线SDA、SCL两根线的基础上,增加了一根SDA线,SDA_a与SDA_b公用一根时钟线,都按照I2C协议进行通信,其有益效果为:在保证从器件数目扩展的同时,也保证了通信的即时性;当一条数据链路出现故障的时候,另一条数据链路可以完全承担整个系统的通信任务;只增加一条I2C接口到复用芯片的链路,从器件方面不需要做任何改变,完全遵循I2C协议运作,提高了可用性;相比于使用两组I2C接口,少了一条SDA线,节省了I/O资源,降低了电路成本。
本发明提供了一种I2C总线的三线扩展电路,增加了一根主器件到复用芯片的SDA链路,两组I2C共用一条SCL链路,在链路上,使用多路复用芯片对链路数据进行处理,负责数据的转发和分析,并对整个链路进行监控,保证两根数据线不会同时访问同一条复用链路,当一条数据链路出现故障的时候,另一条数据链路可以完全承担整个系统的通信任务,实现从器件通信效率以及通信稳定性的提升,保证在同样提高从器件挂载数目的基础上,提高总线容量,提高通信的及时性和质量,节省了I/O资源,降低了成本。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (2)

1.一种I2C总线的三线扩展方法,其特征在于:
步骤101,提供多路复用芯片;
步骤102,建立主器件与所述多路复用芯片的连接,所述主器件通过所述多路复用芯片输入端的第一SDA线路、第二SDA线路及SCL线路输入到所述多路复用芯片;
步骤103,所述多路复用芯片输出端通过输出端的SCL线路、第一SDA线路、第二SDA线路及第三SDA线路输出寻址,实现三组双线链路;
输入端第一SDA线路发出数据包,被寻址目标位于第一链路上,所述多路复用芯片收到数据后建立通信链路,同时将第一链路的输出端第一SDA线路锁定,在通信结束前,仅用来传输输入端第一SDA线路的数据,禁止输入端第二SDA线路进行访问;
若输入端第二SDA线路在此时有数据包发出,被寻址的目标位于第二链路上,所述多路复用芯片收到寻址数据后建立通信链路并完成转发,将输出端第二链路锁定,两条链路独立运转,互相之间不产生影响;
若输入端第二SDA线路寻址的目标位于输出端第一链路上,所述多路复用芯片收到寻址数据后检测到输出端第一链路是否处于工作态,若处于工作态则反馈NACK信号,取消输入端第二SDA线路的请求,等待下一次通信。
2.一种I2C总线的三线扩展电路,其特征在于:所述电路包括:
多路复用芯片,主器件,从器件;所述多路复用芯片包括输入端和输出端,所述主器件通过所述输入端输入到所述多路复用芯片,所述输出端输出到从器件寻址;所述输入端包括输入端第一SDA线路、第二SDA线路及SCL线路,所述输出端包括输出端SCL线路、第一SDA线路、第二SDA线路及第三SDA线路;
输入端第一SDA线路发出数据包,被寻址目标位于第一链路上,所述多路复用芯片收到数据后建立通信链路,同时将第一链路的输出端第一SDA线路锁定,在通信结束前,仅用来传输输入端第一SDA线路的数据,禁止输入端第二SDA线路进行访问;
若输入端第二SDA线路在此时有数据包发出,被寻址的目标位于输入端第二链路上,所述多路复用芯片收到寻址数据后建立通信链路并完成转发,将第二链路锁定,两条链路独立运转,互相之间不产生影响;
若输入端第二SDA线路寻址的目标位于第一链路上,所述多路复用芯片收到寻址数据后检测到第一链路是否处于工作态,若处于工作态则反馈NACK信号,取消输入端第二SDA线路的请求,等待下一次通信。
CN201710710776.6A 2017-08-18 2017-08-18 一种i2c总线的三线扩展方法及电路 Active CN107622032B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710710776.6A CN107622032B (zh) 2017-08-18 2017-08-18 一种i2c总线的三线扩展方法及电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710710776.6A CN107622032B (zh) 2017-08-18 2017-08-18 一种i2c总线的三线扩展方法及电路

Publications (2)

Publication Number Publication Date
CN107622032A CN107622032A (zh) 2018-01-23
CN107622032B true CN107622032B (zh) 2020-11-27

Family

ID=61088698

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710710776.6A Active CN107622032B (zh) 2017-08-18 2017-08-18 一种i2c总线的三线扩展方法及电路

Country Status (1)

Country Link
CN (1) CN107622032B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110347139A (zh) * 2019-05-22 2019-10-18 苏州浪潮智能科技有限公司 一种i2c总线的测试治具
CN111324568A (zh) * 2020-02-20 2020-06-23 深圳震有科技股份有限公司 一种多数据mdio总线
CN112491674A (zh) * 2020-10-23 2021-03-12 苏州浪潮智能科技有限公司 一种串行总线协议兼容通信方法、系统、终端及存储介质
CN112486756A (zh) * 2020-11-26 2021-03-12 江苏科大亨芯半导体技术有限公司 一种利用扩展i2c协议调试芯片的方法、存储介质、电子设备
CN114579491A (zh) * 2022-01-28 2022-06-03 新华三技术有限公司合肥分公司 一种集成电路总线复用装置以及网络设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101324875A (zh) * 2007-06-11 2008-12-17 大唐移动通信设备有限公司 一种扩展i2c总线的方法及i2c总线扩展装置
CN105279130A (zh) * 2015-10-22 2016-01-27 北方工业大学 一种对同地址的多个i2c器件进行操作的方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3017993B1 (ja) * 1999-04-20 2000-03-13 アルプス電気株式会社 電子チュ―ナ
DE10011662C2 (de) * 2000-03-10 2002-11-21 Microtune Gmbh & Co Kg Temperaturerfassungseinrichtung
CN102117253B (zh) * 2010-12-30 2013-01-02 中国人民解放军海军工程大学 同地址i2c器件复用系统及其方法
CN103092175B (zh) * 2013-01-21 2015-04-15 杭州华三通信技术有限公司 I2c主设备与从设备之间串行时钟线scl控制的方法及装置
CN104199796B (zh) * 2014-09-18 2018-11-02 歌尔股份有限公司 Iic通信方法以及实现iic通信的嵌入式系统
CN105159860B (zh) * 2015-10-10 2018-04-06 上海斐讯数据通信技术有限公司 Iic扩展系统及方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101324875A (zh) * 2007-06-11 2008-12-17 大唐移动通信设备有限公司 一种扩展i2c总线的方法及i2c总线扩展装置
CN105279130A (zh) * 2015-10-22 2016-01-27 北方工业大学 一种对同地址的多个i2c器件进行操作的方法

Also Published As

Publication number Publication date
CN107622032A (zh) 2018-01-23

Similar Documents

Publication Publication Date Title
CN107622032B (zh) 一种i2c总线的三线扩展方法及电路
US10476697B2 (en) Network-on-chip, data transmission method, and first switching node
CN101937253A (zh) 用于时钟同步的机制
US10645553B2 (en) Method and apparatus for processing signal in a mobile device
KR101699784B1 (ko) 버스 시스템 및 그것의 동작 방법
US20050174877A1 (en) Bus arrangement and method thereof
CN101557379B (zh) 一种pcie接口的链路重组方法和装置
US11921652B2 (en) Method, apparatus and system for device transparent grouping of devices on a bus
CN101631148A (zh) 串行通信协议中地址动态分配的通信方法
TW201322688A (zh) 具有經實體傳輸路徑作邏輯式多頻道通訊作用以在晶片間作串聯式資料傳輸的通訊裝置
JP2018520434A (ja) Usb2.0帯域幅予約のための方法およびシステム
EP3605967B1 (en) Method and device for transmitting data
CN105141483A (zh) 基于can总线的多节点网络最小通信间隔测定方法
CN209860929U (zh) 一种通信总线结构
JP2002135290A (ja) 物理リンクにより分離された2つまたはそれ以上のデバイスを有するリピータにより接続されたバス・インターフェイス・セグメント
CN111984576B (zh) 数据通信系统以及方法
JP5960220B2 (ja) I/oリンクのレーン分割多重化
CN111400238B (zh) 一种数据处理方法及装置
CN104899164B (zh) 集成电路总线的地址寻址方法、集成电路总线设备和系统
JP3639651B2 (ja) 少なくとも2台のプロセッサからなる情報処理装置
JP2018517961A (ja) マルチポート物理レイヤ(phy)のための位相ロックループ(pll)の共有制御
CN101667951A (zh) 网络设备及其数据传输方法
US11074210B2 (en) Bus protocol for multiple chipsets
CN114422614B (zh) 控制多链路设备发送数据的方法、装置、设备及存储介质
CN109164725A (zh) 一种pci总线转换电路及机器人

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201105

Address after: 215100 No. 1 Guanpu Road, Guoxiang Street, Wuzhong Economic Development Zone, Suzhou City, Jiangsu Province

Applicant after: SUZHOU LANGCHAO INTELLIGENT TECHNOLOGY Co.,Ltd.

Address before: 450000 Henan province Zheng Dong New District of Zhengzhou City Xinyi Road No. 278 16 floor room 1601

Applicant before: ZHENGZHOU YUNHAI INFORMATION TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant