CN216719084U - I2c总线系统 - Google Patents
I2c总线系统 Download PDFInfo
- Publication number
- CN216719084U CN216719084U CN202122693081.6U CN202122693081U CN216719084U CN 216719084 U CN216719084 U CN 216719084U CN 202122693081 U CN202122693081 U CN 202122693081U CN 216719084 U CN216719084 U CN 216719084U
- Authority
- CN
- China
- Prior art keywords
- gpio
- ports
- slave devices
- bus system
- port
- 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
- 230000006854 communication Effects 0.000 abstract description 12
- 238000004891 communication Methods 0.000 description 10
- 238000000034 method Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
本实用新型涉及一种I2C总线系统,通过I2C总线系统包括:主器件,所述主器件具有N个通用输入/输出GPIO端口,每个所述GPIO端口用于模拟I2C总线通道,N为大于等于2的整数;多个从器件,每个所述从器件的时钟信号端口与所述主器件的N个GPIO端口中的一个电连接,串行数据端口与所述主器件的N个GPIO端口中的另一个电连接;解决了现有技术中采用I2C总线扩展芯片或者采用多路I2C总线对I2C总线进行扩展,存在占用系统资源多,扩展芯片的可重复利用性低和系统可靠性降低的问题,本实用新型提供的I2C总线系统在进行总线扩展时,配置方式更加灵活,连接方式更加简单,通信过程更加稳定可靠。
Description
技术领域
本实用新型涉及集成电路技术领域,特别是涉及一种I2C总线系统。
背景技术
I2C(Inter-Integrated Circuit,集成电路)总线是飞利浦(Philips)公司定义的同步串行数据传输总线,是一种2线串行接口总线,其中包括2路信号线,分别为串行数据线(Serial Data Line,SDA)和串行时钟线(Serial Clock Line,SCL)。I2C总线上通常只有一个主设备,可挂接多个从设备。
随着I2C总线技术的发展,越来越多的I2C器件应用于各种电子产品中,因此,在应用系统设计中,如何扩展I2C通道是个重要的技术问题。
然而,在实际的测试系统中,比如芯片的老化测试中,通常需要在一块PCB上搭载多个相同地址的器件,通常的方案需要采用I2C总线扩展芯片,或者采用多路I2C总线,上述方式存在占用系统资源多,扩展芯片的可重复利用性低的问题,而且采用多路总线扩展,需要增加相应的I2C上拉电阻,系统可靠性一定程度会降低。
发明内容
基于此,有必要针对上述技术问题,提供一种I2C总线系统,可简单灵活、稳定可靠地扩展总线通道。
本实用新型一实施例提供一种I2C总线系统,所述I2C总线系统包括:
主器件,所述主器件具有N个通用输入/输出GPIO端口,每个所述GPIO端口用于模拟I2C总线通道,N为大于等于2的整数;
多个从器件,每个所述从器件的时钟信号端口与所述主器件的N个GPIO端口中的一个电连接,串行数据端口与所述主器件的N个GPIO端口中的另一个电连接;
其中,所述主器件根据时钟信号和所述从器件的地址信息,通过所述GPIO端口向相应的所述从器件传输串行数据信号。
在一种实施方式中,所述多个从器件具有相同的地址信息。
在一种实施方式中,具有相同地址的所述从器件的时钟端口电连接不同的所述GPIO端口;或者,具有相同地址的所述从器件的串行数据端口电连接不同的所述GPIO端口。
在一种实施方式中,当多个从器件具有相同的地址信息时,所述I2C总线系统可接入从器件的数量最大为N(N-1)个,其中N为所述GPIO端口的数量。
在一种实施方式中,当所述I2C总线系统接入N(N-1)个所述从器件时,每个所述GPIO端口可与(N-1)个所述从器件的时钟端口电连接;每个所述GPIO端口可与(N-1)个所述从器件的串行数据端口电连接。
在一种实施方式中,所述主器件通过所述GPIO端口向所述从器件发送时钟信号或串行数据信号。
在一种实施方式中,所述I2C总线系统还包括电源和N个上拉电阻;
每个所述GPIO端口通过一个所述上拉电阻与所述电源电连接。
在一种实施方式中,所述主器件包括MCU、CPU、CPLD或FPGA。
在一种实施方式中,所述多个从器件为相同类型的I2C芯片。
在一种实施方式中,所述从器件基于与所述时钟信号对应的串行数据信号执行相应的读取操作或写入操作。
本实用新型提供的一种I2C总线系统,通过I2C总线系统包括:主器件,所述主器件具有N个通用输入/输出GPIO端口,每个所述GPIO端口用于模拟I2C总线通道,N为大于等于2的整数;多个从器件,每个所述从器件的时钟信号端口与所述主器件的N个GPIO端口中的一个电连接,串行数据端口与所述主器件的N个GPIO端口中的另一个电连接;其中,所述主器件根据时钟信号和所述从器件的地址信息,通过所述GPIO端口向相应的所述从器件传输串行数据信号;解决了现有技术中采用I2C总线扩展芯片或者采用多路I2C总线对I2C总线进行扩展,存在占用系统资源多,扩展芯片的可重复利用性低和系统可靠性降低的问题,本实用新型提供的I2C总线系统在进行总线扩展时,配置方式更加灵活,连接方式更加简单,通信过程更加稳定可靠。
附图说明
为了更清楚地说明本实用新型实施例或传统技术中的技术方案,下面将对实施例或传统技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一实施例中SDA信号和SCL信号示意图;
图2为本实用新型一实施例中I2C总线系统的示意图;
图3为本实用新型另一实施例中I2C总线系统的示意图;
图4为本实用新型又一实施例中I2C总线系统的示意图;
图5为本实用新型再一实施例中I2C总线系统的示意图。
具体实施方式
为了便于理解本实用新型,下面将参照相关附图对本实用新型进行更全面的描述。附图中给出了本实用新型的实施例。但是,本实用新型可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使本实用新型的公开内容更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本实用新型的技术领域的技术人员通常理解的含义相同。本文中在本实用新型的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本实用新型。
可以理解,本实用新型所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。
需要说明的是,当一个元件被认为是“连接”另一个元件时,它可以是直接连接到另一个元件,或者通过居中元件连接另一个元件。此外,以下实施例中的“连接”,如果被连接的对象之间具有电信号或数据的传递,则应理解为“电连接”、“通信连接”等。
在此使用时,单数形式的“一”、“一个”和“/该”也可以包括复数形式,除非上下文清楚指出另外的方式。还应当理解的是,术语“包括/包含”或“具有”等指定所陈述的特征、整体、步骤、操作、组件、部分或它们的组合的存在,但是不排除存在或添加一个或更多个其他特征、整体、步骤、操作、组件、部分或它们的组合的可能性。
请参考图1,在I2C总线通信系统中,主设备通过串行数据总线和时钟总线与从设备进行通信。例如在I2C总线通信系统中,I2C启动条件定义为串行数据信号SDA由高位切换为低位时,时钟信号为高位;I2C停止条件定义并为串行数据信号SDA由低位切换为高位时,时钟信号为高位。
在实际使用过程中,比如芯片的老化测试中,通常需要在一块印刷电路板上搭载多个相同地址的器件,通常的方案需要采用I2C总线扩展芯片,或者采用多路I2C总线,上述方式存在占用系统资源多,扩展芯片的可重复利用性低的问题。
结合参考图2和图3,为了解决上述问题,本实用新型提供了一种I2C总线系统,该I2C总线系统包括:主器件100和多个从器件200。
主器件100具有N个GPIO(GeneralPurpose Input Output,通用输入/输出)端口,分别为GPIO1、GPIO2、GPIO3…GPION,每个GPIO端口用于模拟I2C总线通道,N为大于等于2的整数。
每个所述从器件200的时钟信号端口与主器件100的N个GPIO端口中的一个电连接,串行数据端口与主器件100的N个GPIO端口中的另一个电连接。
其中,主器件100根据时钟信号和从器件200的地址信息,通过GPIO端口向相应的从器件200传输串行数据信号。
具体的,在本实用新型实施例中,主器件100可以是MCU(Microcontroller Unit,微控制单元)、CPU(Central Processing Unit,中央处理器)、CPLD(Complex ProgrammableLogic Device,复杂可编程逻辑器)或FPGA(Field-Programmable Gate Array,现场可编程门阵列)等等,本实用新型在此不做限定。当主器件100为MCU时,通过软件的配置及MCU的Bit Bang模式来进行I2C时钟信号的模拟,GPIO端口可以自由地在串行数据总线和时钟总线之间切换,以作为I2C总线使用,且切换方式十分灵活。
在本实用新型的I2C总线系统中,当需要进行I2C总线扩展时,直接将主器件100中闲置的GPIO端口用来模拟I2C总线通道。主器件100可通过GPIO端口向从器件200传输时钟信号和串行数据信号。解决了现有技术中I2C总线扩展方式复杂、可靠性低的问题。本实用新型的I2C总线系统只需要通过软件的配置去模拟I2C总线通道的时钟信号和串行数据信号的传输,配置方式更加灵活,连接方式更加简单,通信过程更加稳定可靠。
另外,在本实用新型实施例中,多个从器件200可以具有相同的地址信息,或者说多个从器件200为多个相同类型的I2C芯片。且具有相同地址信息的从器件200的时钟端口电连接不同的GPIO端口;或者,具有相同地址的从器件200的串行数据端口电连接不同的所述GPIO端口。换句话说,每个从器件200的时钟端口和串行数据端口不能与同一个GPIO端口电连接。并且,具有相同地址的从器件200的串行数据端口若连接了同一个GPIO端口,那这些具有相同地址的从器件200的时钟端口需要连接不同的GPIO端口,不能连接相同的GPIO端口;若具有相同地址的从器件200的时钟端口连接了同一个GPIO端口,那这些具有相同地址的从器件200的串行数据端口需要连接不同的GPIO端口,不能连接的GPIO端口。这么做的目的是为了避免从器件200无法独立与主器件100进行通信。若所有具有相同地址的从器件200的时钟端与同一个GPIO端口电连接,所有具有相同地址的从器件200的串行数据端与同一个GPIO端口电连接,那等于是多个相同的从器件200通过相同的连接方式与主器件100电连接。在主器件100通过时钟信号和地址信息向从器件200传输串行数据信号时,则无法区分所要响应的从器件200。
举例来讲,第一从器件和第二从器件具有相同的地址信息,若第一从器件的时钟端与GPIO1端口电连接,第一从器件的串行数据端与GPIO2端口电连接,那第二从器件的时钟端和串行数据端不能分别于GPIO1端口和GPIO2端口电连接,即第二从器件的与主器件100的连接方式不能与第一从器件与主器件100的连接方式相同。
进一步的,在本实用新型实施例中,当多个从器件200具有相同的地址信息时,N个GPIO端口最多可供N(N-1)个地址相同的从器件200接入,即I2C总线系统可接入从器件200的最大数量取决于主器件100具备的GPIO端口的数量,可接入的数量最大为N(N-1)个。此外,当I2C总线系统接入N(N-1)个从器件200时,每个GPIO端口可与(N-1)个从器件200的时钟端口电连接;每个GPIO端口可与(N-1)个从器件200的串行数据端口电连接。同一个GPIO不允许同时连接同一个从器件200的时钟端口和串行数据端口。
具体的,结合参考图3,图3中主器件100具有2个GPIO端口,那图3中的主器件100最多可以接入2个具有相同地址的从器件200,每个GPIO端口可以最多与1个从器件200的时钟端口电连接,最多与1个从器件200的串行数据端口电连接。
继续参考图4,图4中主器件100具有3个GPIO端口,图4中的主器件100最多可以接入6个具有相同地址的从器件200,每个GPIO端口可以最多与2个从器件200的时钟端口电连接,最多与2个从器件200的串行数据端口电连接。
继续参考图5,图5中主器件100具有4个GPIO端口,图5中的主器件100最多可以接入12个具有相同地址的从器件200,且每个GPIO端口可以最多与3个从器件200的时钟端口电连接,最多与3个从器件200的串行数据端口电连接。
以此类推,当主器件100具有N个GPIO端口时,主器件100最多可以接入N(N-1)个从器件200,每个GPIO端口可与(N-1)个从器件200的时钟端口电连接;每个GPIO端口可与(N-1)个从器件200的串行数据端口电连接。
在本实用新型实施例中,主器件100通过GPIO端口向从器件200发送时钟信号和串行数据信号,从器件200基于与时钟信号对应的串行数据信号执行相应的读取操作或者写入操作。主器件100的一个GPIO端口既可以作为串行数据端口使用发送串行数据信号,也可以作为时钟端口使用发送时钟信号。但是,一个GPIO端口同时只能发送一种信号,即GPIO作为串行数据端口使用发送串行数据信号时,不可以同时发送时钟信号,只能在下次作为时钟端口使用时才能发送时钟信号。
当主器件100通过GPIO端口与多个具有相同地址的从器件200电连接时,可以采用顺序通信的方式按照连接顺序逐个与从器件200建立通信,也可以采用随机通信的方式与任意一个从器件200建立通信,只需要将相应的从器件200对应的GPIO端口设置为对应的SDA或者SCL模式就可以正常通讯。
进一步的,主器件100需要对从器件200进行通信时,主器件100通过GPIO端口,采用bit bang模式软件模拟I2C时钟信号与从器件200进行通信,GPIO端口在不同的组合中按照实际需求通过软件控制配置为串行数据总线或时钟总线,以实现与相应的从器件200建立通信。
在本实用新型实施例中,I2C总线系统还包括电源和N个上拉电阻(图中未示出),每个GPIO端口通过一个上拉电阻与电源电连接。通过设置上拉电阻能够通过调整上拉电阻的阻值,灵活优化主器件100的GPIO的端口上升时间和下降时间。
需要说明的一点是,本实用新型提供的I2C总线系统只需要利用少数主器件100的GPIO端口,就可以扩展大量的I2C接口,大大增加允许接入相同地址的I2C从器件的数量。并且,采用时分复用的方法,相同地址的I2C从器件互相无干扰,实现可靠的I2C通信。相对于现有技术中的I2C总线扩展方式,本实用新型提供的I2C总线系统无需增加外围器件,只需要在相应的主器件100的GPIO端口按照I2C规范增加上拉电阻,假设使用了N个GPIO(N可以为大于2的整数),则可以利用这N个GPIO端口,连接N(N-1)个相同地址的I2C从器件。
此外,本实用新型提供的I2C总线系统,充分利用了GPIO端口的灵活性,通过软件的配置,以及bit bang模式的I2C时序模拟,GPIO端口可以自由的在串行数据数据总线SDA以及时钟总线SCL之间切换,不同的GPIO端口灵活的两两组合,可以实现N(N-1)种组合,从而可以控制N(N-1)个相同的I2C地址的从器件,操作方式灵活多变。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本实用新型所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
在本说明书的描述中,参考术语“有些实施例”、“其他实施例”、“理想实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特征包含于本实用新型的至少一个实施例或示例中。在本说明书中,对上述术语的示意性描述不一定指的是相同的实施例或示例。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本实用新型的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对实用新型专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本实用新型构思的前提下,还可以做出若干变形和改进,这些都属于本实用新型的保护范围。因此,本实用新型专利的保护范围应以所附权利要求为准。
Claims (8)
1.一种I2C总线系统,其特征在于,所述I2C总线系统包括:
主器件,所述主器件具有N个通用输入/输出GPIO端口,每个所述GPIO端口用于模拟I2C总线通道,N为大于等于2的整数;
多个从器件,每个所述从器件的时钟信号端口与所述主器件的N个GPIO端口中的一个电连接,串行数据端口与所述主器件的N个GPIO端口中的另一个电连接;
其中,所述主器件根据时钟信号和所述从器件的地址信息,通过所述GPIO端口向相应的所述从器件传输串行数据信号;
所述多个从器件具有相同的地址信息,且所述I2C总线系统可接入从器件的数量最大为N(N-1)个,其中N为所述GPIO端口的数量。
2.根据权利要求1所述的I2C总线系统,其特征在于,具有相同地址的所述从器件的时钟端口电连接不同的所述GPIO端口;或者,
具有相同地址的所述从器件的串行数据端口电连接不同的所述GPIO端口。
3.根据权利要求1所述的I2C总线系统,其特征在于,当所述I2C总线系统接入N(N-1)个所述从器件时,每个所述GPIO端口可与(N-1)个所述从器件的时钟端口电连接;
每个所述GPIO端口可与(N-1)个所述从器件的串行数据端口电连接。
4.根据权利要求1所述的I2C总线系统,其特征在于,所述主器件通过所述GPIO端口向所述从器件发送时钟信号或串行数据信号。
5.根据权利要求1所述的I2C总线系统,其特征在于,所述I2C总线系统还包括电源和N个上拉电阻;
每个所述GPIO端口通过一个所述上拉电阻与所述电源电连接。
6.根据权利要求1所述的I2C总线系统,其特征在于,所述主器件包括MCU、CPU、CPLD或FPGA。
7.根据权利要求2所述的I2C总线系统,其特征在于,所述多个从器件为相同类型的I2C芯片。
8.根据权利要求1所述的I2C总线系统,其特征在于,所述从器件基于与所述时钟信号对应的串行数据信号执行相应的读取操作或写入操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202122693081.6U CN216719084U (zh) | 2021-11-05 | 2021-11-05 | I2c总线系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202122693081.6U CN216719084U (zh) | 2021-11-05 | 2021-11-05 | I2c总线系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN216719084U true CN216719084U (zh) | 2022-06-10 |
Family
ID=81877213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202122693081.6U Active CN216719084U (zh) | 2021-11-05 | 2021-11-05 | I2c总线系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN216719084U (zh) |
-
2021
- 2021-11-05 CN CN202122693081.6U patent/CN216719084U/zh active Active
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100224965B1 (ko) | 다층 구조의 아이2씨 버스를 이용한 진단/제어 시스템 | |
KR101468835B1 (ko) | 직렬로 상호접속된 장치들에 대한 id 생성 기기 및 방법 | |
US8315122B2 (en) | Multi-chip package semiconductor memory device providing active termination control | |
CN101281783B (zh) | 编制片内终结值的方法、系统及集成电路 | |
CN216561769U (zh) | I2c通信设备及通信系统 | |
CN109359073B (zh) | 一种基于spi总线的设备间通信方法及装置 | |
US10325637B2 (en) | Flexible point-to-point memory topology | |
CN103246628B (zh) | Smi接口管理方法及可编程逻辑器件 | |
CN110597745A (zh) | 一种交换机系统多主多从i2c通信实现方法和装置 | |
US7269088B2 (en) | Identical chips with different operations in a system | |
CN116994624A (zh) | 存储芯片、存储器、电子设备和存储器的控制方法 | |
CN111309665A (zh) | 并行写操作、读操作控制系统及方法 | |
US11308021B2 (en) | Methods and apparatus for using an addressable serial peripheral interface | |
WO2005106689A1 (en) | Bus system for selectively controlling a plurality of identical slave circuits connected to the bus and method therefore | |
TWI220738B (en) | Method for effectively re-downloading data to a field programmable gate array | |
CN216719084U (zh) | I2c总线系统 | |
CN109977051A (zh) | 一种基于gpio扩展总线通道数量的方法和系统 | |
CN111352879A (zh) | 一种基于多路选通的同地址从机扩展电路及方法 | |
CN100383544C (zh) | 一种电平信号的实时监测方法及装置 | |
CN101599050A (zh) | 可适配的pci-e控制器核及其方法 | |
CN216561773U (zh) | 自动跳线装置及通信设备 | |
CN212229628U (zh) | 从机设备 | |
CN116258113A (zh) | 一种多协议低速总线接口芯片架构 | |
CN113032321B (zh) | 地址扩展电路、通信接口芯片及通信系统 | |
CN115129643A (zh) | Bmc与cmc间传输频宽提升方法、装置、设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
GR01 | Patent grant | ||
GR01 | Patent grant |