CN108255760A - 一种多路i2c系统、及数据读写方法 - Google Patents
一种多路i2c系统、及数据读写方法 Download PDFInfo
- Publication number
- CN108255760A CN108255760A CN201711417632.8A CN201711417632A CN108255760A CN 108255760 A CN108255760 A CN 108255760A CN 201711417632 A CN201711417632 A CN 201711417632A CN 108255760 A CN108255760 A CN 108255760A
- Authority
- CN
- China
- Prior art keywords
- main equipment
- slave device
- data
- multipath
- 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.)
- Withdrawn
Links
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
- 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/40—Bus structure
- G06F13/4063—Device-to-bus coupling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Communication Control (AREA)
Abstract
本发明针对I2C总线提出了一种多路I2C系统、及数据读写方法。其中,所述多路I2C系统包括一个主设备和N个从设备,所述主设备通过一条公共串行时钟线与所述N个从设备连接;所述主设备通过N条串行数据线分别与所述N个从设备连接。本发明的多路I2C系统、及数据读写方法无需对多个从设备调整地址而且使用的接口少。
Description
技术领域
本发明属于电子通信技术领域,特别涉及一种多路I2C接口连接结构。
背景技术
I2C接口是在当前电子设备内部广泛使用的一种器件之间双向串行通 信总线,只使用两根信号线(串行数据线SDA,串行时钟线SCL)即可在连 接于总线上的器件之间传送信息,主设备依靠I2C地址区分访问不同的从设 备。如图1所示,N个从设备通过一条串行时钟线SCL和一条串行数据线SDA 与主设备连接。
在某些场景下,会存在如下的需求:主设备需要快速的访问大量的同 类从设备,比如处理单元MCU需要高速访问几十个相同型号的传感器,因为 这些传感器是相同型号,所以地址是一样的,无法在一路总线上区分。
针对这一问题,传统的作法是:
(1)有些传感器提供了在一定范围内调整地址的功能,但是调整的个 数有限,远远不能达到支持几十个甚至更多从设备的能力。即使有设备支 持配置大量地址区分,也存在主设备需要依次访问不同地址来轮询,效率 会大幅下降,对于高速访问的需求无法满足。
(2)把这些器件挂到不同的I2C总线上,但是这样也存在问题:占用 太多I2C接口。通常的主设备能提供的I2C接口最多只有几路。如果用软件 控制通用输入输出GPIO来模拟I2C接口,那么也会占用太多的输入输出IO口 (对于n个从设备,需要2xn个IO口来连接),并且控制这些IO口依次访问 不同设备同样存在效率低下的问题。
(3)更改主从器件的设计专用的接口来满足这种需求,这种方法同样 难以操作,因为主设备与从设备通常都是商用量产状态的芯片,对芯片进 行定制修改在通常情况下是无法做到的。
(4)增加外围芯片扩展出更多接口,这种方法会增加电路复杂度,造 成功耗,成本的大幅上升,在很多产品上也是无法接受的。
发明内容
针对上述问题,本发明针对I2C总线提出了一种多路I2C系统、及数据 读写方法。
本发明提供了一种多路I2C系统,所述多路I2C系统包括一个主设备 和N个从设备,其特征在于,
所述主设备通过一条公共串行时钟线与所述N个从设备连接;
所述主设备通过N条串行数据线分别与所述N个从设备连接。
进一步地,所述公共串行时钟线与所述主设备的时钟提供端口、所述N 个从设备的时钟端口连接;
所述N条串行数据线分别与所述主设备的N个数据端口、所述N个从 设备的数据端口连接。
本发明还提供了一种应用于上述多路I2C系统中的数据读取方法,其 特征在于,
主设备通过公共串行时钟线向N个从设备提供时钟信号;
主设备通过N个数据端口同时从所述N个从设备读取数据。
本发明还提供了一种应用于上述多路I2C系统中的数据写入方法,其 特征在于,
主设备通过公共串行时钟线向N个从设备提供时钟信号;
主设备通过N个数据端口同时向所述N个从设备写入数据。
本发明的多路I2C系统、及数据读写方法无需对多个从设备调整地址 而且使用的接口少。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对 实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地, 下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了根据现有技术的多路I2C接口外设结构示意图;
图2示出了根据本发明实施例的多路I2C接口外设结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本 发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说 明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。 基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提 下所获得的所有其他实施例,都属于本发明保护的范围。
本发明以1个主设备,N(其中,N≥2)个符合I2C总线协议的从设备 为例进行示例性说明本发明的连接结构及数据读写方法。该主设备的时钟 端口通过一条公共串行时钟线SCL与N个从属的时钟端口连接。如图2所 示,从设备1、从设备2…从设备N的时钟端口均通过所述公共串行时钟线 SCL与所述主设备的时钟输出端口连接。也就是说,N个从设备共用一条串 行时钟线与所述主设备的时钟输出端口连接。
主设备的各个数据读写端口分别与每个从设备的数据读写端口连接, 也就是说各个从设备分别通过独立的串行数据线SDA与主设备的各个数据 读写端口连接。如图2所示,从设备1的读写端口使用第一条串行数据线 SDA1与主设备的第一个数据读写端口连接,从设备2的读写端口使用第二 条串行数据线SDA2与主设备的第二个数据读写端口连接…从设备N的读写 端口使用第N条串行数据线SDA N与主设备的第N个数据读写端口连接。
主设备向从设备写入数据时,通过所述公共串行时钟线SCL同时向所 述N个从设备提供时钟信号。在时钟信号的驱动下,各个从设备接收主设 备通过各条串行数据线SDA发送的数据。如图2所示,所述主设备通过公 共串行时钟线向所有N个从设备提供时钟信号。在所述时钟信号的驱动下, 第一个从设备1通过第一条串行数据线SDA1接收主设备从其第一个数据端 口输出的数据,第二个从设备2通过第二条串行数据线SDA2接收主设备从其第二个数据端口输出的数据…第N个从设备N通过第N条串行数据线SDA N接收主设备从其第N个数据端口输出的数据。通过上述连接结构,实现了 主设备能够同时向多个从设备写入数据的目的。
主设备读取从设备的数据时,通过所述公共串行时钟线SCL同时向所 述N个从设备提供时钟信号。在时钟信号的驱动下,各个从设备通过与其 连接的串行数据线SDA,将数据发送给主设备。如图2所示,所述主设备通 过公共串行时钟线向所有N个从设备提供时钟信号。在所述时钟信号的驱 动下,第一个从设备1通过第一条串行数据线SDA1向所述主设备的第一个 数据端口发送数据,第二个从设备2通过第二条串行数据线SDA2向所述主 设备的第二个数据端口发送数据…第N个从设备N通过第N条串行数据线 SDA N向所述主设备的第N个数据端口发送数据。所述主设备的各个数据端 口检测串行数据线上的数据,并将检测到的数据读取到主设备中。通过上 述连接结构,实现了主设备能够同时从多个从设备读取数据的目的。
通过本发明的连接结构,所有的从设备能够同时完成读写。假设从设 备的串行时钟线SCL支持100KHz的时钟速度,那么主设备在串并行处理速 度满足要求的情况下可以直接驱动100K的时钟,读写n个设备的数据与读 写1个设备的数据使用的时间是相同的,从而达成了多路设备的高效读写。
本发明优点在于,针对I2C接口,不改变原有器件设计,而是直接使 用主设备和从设备芯片原有设计;而且不需要接入专用外围接口芯片,因 此不会增加外围芯片。同时本发明的设计结构占用了最少的IO管脚,以20 路从设备为例,传统方式需要使用至少40个IO端口,本方法只需要21个 IO端口。本发明的设计结构能够高速访问所有通道,而传统方法由于逐个 轮询使得在从设备增多的情况下访问速度会随之线性下降。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术 人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相 应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (4)
1.一种多路I2C系统,所述多路I2C系统包括一个主设备和N个从设备,其特征在于,
所述主设备通过一条公共串行时钟线与所述N个从设备连接;
所述主设备通过N条串行数据线分别与所述N个从设备连接。
2.根据权利要求1所述的多路I2C系统,其特征在于,
所述公共串行时钟线与所述主设备的时钟提供端口、所述N个从设备的时钟端口连接;
所述N条串行数据线分别与所述主设备的N个数据端口、所述N个从设备的数据端口连接。
3.一种应用于权利要求1或2所述的多路I2C系统中的数据读取方法,其特征在于,
主设备通过公共串行时钟线向N个从设备提供时钟信号;
主设备通过N个数据端口同时从所述N个从设备读取数据。
4.一种应用于权利要求1或2所述的多路I2C系统中的数据写入方法,其特征在于,
主设备通过公共串行时钟线向N个从设备提供时钟信号;
主设备通过N个数据端口同时向所述N个从设备写入数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711417632.8A CN108255760A (zh) | 2017-12-25 | 2017-12-25 | 一种多路i2c系统、及数据读写方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711417632.8A CN108255760A (zh) | 2017-12-25 | 2017-12-25 | 一种多路i2c系统、及数据读写方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108255760A true CN108255760A (zh) | 2018-07-06 |
Family
ID=62723951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711417632.8A Withdrawn CN108255760A (zh) | 2017-12-25 | 2017-12-25 | 一种多路i2c系统、及数据读写方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108255760A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977051A (zh) * | 2019-03-14 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种基于gpio扩展总线通道数量的方法和系统 |
CN110781127A (zh) * | 2019-09-25 | 2020-02-11 | 广东宝莱特医用科技股份有限公司 | 一种星形拓扑的i2c通信装置及方法 |
CN116166594A (zh) * | 2023-04-26 | 2023-05-26 | 闪极科技(深圳)有限公司 | 一种单地址多从机的iic总线电路及其传输方法和装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003141062A (ja) * | 2001-11-05 | 2003-05-16 | Sharp Corp | Iicバス制御システム |
CN1599343A (zh) * | 2003-09-16 | 2005-03-23 | 华为技术有限公司 | 一种扩展i2c总线的系统及方法 |
CN103530261A (zh) * | 2013-10-30 | 2014-01-22 | 广东威创视讯科技股份有限公司 | 一种访问多个具有相同i2c地址从机的电路和管理方法 |
CN104199796A (zh) * | 2014-09-18 | 2014-12-10 | 歌尔声学股份有限公司 | Iic通信方法以及实现iic通信的嵌入式系统 |
CN105279130A (zh) * | 2015-10-22 | 2016-01-27 | 北方工业大学 | 一种对同地址的多个i2c器件进行操作的方法 |
-
2017
- 2017-12-25 CN CN201711417632.8A patent/CN108255760A/zh not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003141062A (ja) * | 2001-11-05 | 2003-05-16 | Sharp Corp | Iicバス制御システム |
CN1599343A (zh) * | 2003-09-16 | 2005-03-23 | 华为技术有限公司 | 一种扩展i2c总线的系统及方法 |
CN103530261A (zh) * | 2013-10-30 | 2014-01-22 | 广东威创视讯科技股份有限公司 | 一种访问多个具有相同i2c地址从机的电路和管理方法 |
CN104199796A (zh) * | 2014-09-18 | 2014-12-10 | 歌尔声学股份有限公司 | Iic通信方法以及实现iic通信的嵌入式系统 |
CN105279130A (zh) * | 2015-10-22 | 2016-01-27 | 北方工业大学 | 一种对同地址的多个i2c器件进行操作的方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109977051A (zh) * | 2019-03-14 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种基于gpio扩展总线通道数量的方法和系统 |
CN110781127A (zh) * | 2019-09-25 | 2020-02-11 | 广东宝莱特医用科技股份有限公司 | 一种星形拓扑的i2c通信装置及方法 |
CN116166594A (zh) * | 2023-04-26 | 2023-05-26 | 闪极科技(深圳)有限公司 | 一种单地址多从机的iic总线电路及其传输方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7603501B2 (en) | Communication circuit of serial peripheral interface devices | |
US10817443B2 (en) | Configurable interface card | |
EP2179364B1 (en) | 12c-bus interface with parallel operational mode | |
US10459862B2 (en) | Dynamic definition of slave address in I2C protocol | |
US7584305B2 (en) | Serial peripheral interface circuit | |
CN109359073B (zh) | 一种基于spi总线的设备间通信方法及装置 | |
CN108255760A (zh) | 一种多路i2c系统、及数据读写方法 | |
CN102073611B (zh) | 一种i2c总线控制系统及方法 | |
CN103389845A (zh) | 一种电容式触摸屏烧录测试系统 | |
TW201201023A (en) | Inter-Integrated Circuit device communication circuit | |
CN105279130A (zh) | 一种对同地址的多个i2c器件进行操作的方法 | |
CN103098039A (zh) | 高速外围器件互连总线端口配置方法及设备 | |
CN116450552B (zh) | 基于i2c总线异步批量读写寄存器的方法及系统 | |
CN101882466A (zh) | 非易失性半导体存储装置 | |
CN104991876A (zh) | 一种串行总线控制方法及装置 | |
US20080005393A1 (en) | Duplicator | |
CN105512085A (zh) | 一种信息处理方法与电子设备 | |
US10628366B2 (en) | Method and system for a flexible interconnect media in a point-to-point topography | |
CN206741445U (zh) | 一种具有kvm功能的国产化瘦客户机系统 | |
CN112199312B (zh) | 通信设备的接口转换装置及通信系统 | |
CN103631749B (zh) | 扩充模块 | |
CN208432937U (zh) | 一种计算机模块和主板 | |
CN110113869B (zh) | 模块化装置及其控制方法 | |
CN207853121U (zh) | 一种集成接口标准连接器 | |
CN103079094B (zh) | 机顶盒主芯片与前面板的通信方法及机顶盒 |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20180706 |