CN108255760A - 一种多路i2c系统、及数据读写方法 - Google Patents

一种多路i2c系统、及数据读写方法 Download PDF

Info

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
Application number
CN201711417632.8A
Other languages
English (en)
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.)
Beijing Mogao Science & Technology Co Ltd
Original Assignee
Beijing Mogao Science & 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 Beijing Mogao Science & Technology Co Ltd filed Critical Beijing Mogao Science & Technology Co Ltd
Priority to CN201711417632.8A priority Critical patent/CN108255760A/zh
Publication of CN108255760A publication Critical patent/CN108255760A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-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接口连接结构。
背景技术
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个从设备写入数据。
CN201711417632.8A 2017-12-25 2017-12-25 一种多路i2c系统、及数据读写方法 Withdrawn CN108255760A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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器件进行操作的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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