CN104199796B - Iic通信方法以及实现iic通信的嵌入式系统 - Google Patents
Iic通信方法以及实现iic通信的嵌入式系统 Download PDFInfo
- Publication number
- CN104199796B CN104199796B CN201410478144.8A CN201410478144A CN104199796B CN 104199796 B CN104199796 B CN 104199796B CN 201410478144 A CN201410478144 A CN 201410478144A CN 104199796 B CN104199796 B CN 104199796B
- Authority
- CN
- China
- Prior art keywords
- iic
- devices
- sda line
- multichannel
- scl
- 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
Abstract
本发明提供了一种实现IIC通信的嵌入式系统,包括:主机、多个IIC器件、多路SDA线和单路SCL线;所述多个IIC器件中的每一个分别与所述多路SDA线中的一路连接;所述多个IIC器件中的每一个都与所述单路SCL线连接;所述主机通过所述多路SDA线和所述单路SCL线对所述多个IIC器件进行操作,其中,当通过所述单路SCL线向所述多个IIC器件提供SCL时序信号时,所述主机根据所述SCL时序信号和所述多个IIC器件的地址信息通过所述多路SDA线向相应的多个IIC器件传送数据信号。本发明还提供了IIC通信方法。采用本发明,可以实现多路IIC同步通信并降低I/O线的数量。
Description
技术领域
本发明涉及计算机通信技术领域,更具体地,涉及IIC通信方法及实现IIC通信的嵌入式系统。
背景技术
IIC芯片的通信除与电源、地线连接外,由时钟信号线SCL及数据线SDA两条线组成。IIC协议规定,器件如果有不同地址,可直接并联挂接到该两条总线上。
当前嵌入式系统设计中,IIC器件种类多,功能强大,且有时会同时使用多片同种类型的IIC芯片。由于多路IIC芯片的逻辑关系处于平等地位,优先级相同,不存在先后关系,甚至有的要求同时通信,这在传统IIC通信机制下,如果多个器件并联挂接到该两条总线上,只能单路通信完毕后,切到下一通道,不能同步,存在时间差别,且总体通信速度低。
并且,有时IIC器件提供有限地址或仅仅一个地址,为简化设计,多个相同器件模块化设计时,往往IIC器件的地址设计为同一地址,那么就不能多个器件并联挂接在同一总线上,为解决同步通信及相同地址问题,N个IIC器件意味着需要2N条嵌入式控制器I/O口线,如图1所示。
发明内容
针对上述技术问题,本发明提供了一种IIC通信方法及实现IIC通信的嵌入式系统,使得既可以实现IIC同步通信又可以降低I/O口线的数量。
根据本发明的一方面,提供了一种实现IIC通信的嵌入式系统,包括:主机、多个IIC器件、多路SDA线和单路SCL线;
所述多个IIC器件中的每一个分别与所述多路SDA线中的一路连接;
所述多个IIC器件中的每一个都与所述单路SCL线连接;
所述主机通过所述多路SDA线和所述单路SCL线对所述多个IIC器件进行操作,其中,当通过所述单路SCL线向所述多个IIC器件提供SCL时序信号时,所述主机根据所述SCL时序信号和所述多个IIC器件的地址信息通过所述多路SDA线向相应的多个IIC器件传送数据信号。
在可选实施例中,每一路SDA线上仅连接一个IIC器件,并且所述不同路SDA线上的多个IIC器件的地址相互之间可以相同或者不同。
在可选实施例中,所述多个IIC器件为相同类型的IIC芯片。
在可选实施例中,所述多路SDA线中的至少一路SDA线上连接有两个以上的IIC器件,并且所述两个以上的IIC器件之间的地址互不相同;以及,所述主机根据所述SCL时序信号和IIC器件的地址信息向相应的IIC器件传送SDA时序信号。
在可选实施例中,所述IIC器件基于与所述SCL时序信号对应的SDA时序信号执行相应的读取操作或写入操作。
在可选实施例中,所述主机接收IIC器件通过SDA线返回的应答信号;所述主机根据是否接收到IIC器件返回的应答信号确定后续对应答的IIC器件进行操作或者生成报警维修信息。
根据本发明的另一方面,还提供了一种IIC通信方法,包括:
将多个IIC器件中的每一个分别与多路SDA线中的一路连接;
将多个IIC器件中的每一个都与同一路SCL线连接;
通过所述单路SCL线向所述多个IIC器件提供SCL时序信号;
根据所述SCL时序信号和所述多个IIC器件的地址信息通过所述多路SDA线向相应的多个IIC器件传送数据信号。
在可选实施例中,每一路SDA线上仅连接一个IIC器件,并且所述不同路SDA线上的多个IIC器件的地址相互之间可以相同或者不同。
在可选实施例中,所述多个IIC器件为相同类型的IIC芯片。
在可选实施例中,所述多路SDA线中的至少一路SDA线上连接有两个以上的IIC器件,并且所述两个以上的IIC器件之间的地址互不相同;以及,根据所述SCL时序信号和IIC器件的地址信息向相应的IIC器件传送SDA时序信号。
本发明实施例的多路IIC同步通信方法采用单路SCL线向多个IIC器件提供SCL时序信号,通过SCL线的复用使得可以仅使用N+1条I/O口线来实现多路IIC同步通信,相比于现有技术中使用2N条I/O口线,减少了所使用的I/O口线的数量,并且可降低布线复杂度。此外,本发明的技术方案在通信整体速度上是单独各路通信整体速度的N倍。
附图说明
图1是现有技术的实现IIC同步通信的嵌入式系统的结构示意图。
图2是根据本发明一实施例的实现多路IIC同步通信的嵌入式系统的结构示意图。
图3是基于现有IIC标准通信协议的单主机与单从机实现IIC通信的时序信号示意图。
图4是图2所示的嵌入式系统中单主机与多从机实现多路IIC同步通信的时序信号示意图。
图5是根据本发明另一实施例的实现多路IIC同步通信的嵌入式系统的结构示意图。
具体实施方式
下面结合附图对本发明实施方式作进一步的说明。
图2是根据本发明一实施例的实现多路IIC同步通信的嵌入式系统的结构示意图。如图2所示,嵌入式系统包括主机、单路SCL线、3路SDA线以及3个IIC器件(也称从机)。3个IIC器件包括标号为12的器件1、标号为14的器件2以及标号为16的器件3。单路SCL线与器件1、器件2和器件3中的每一个都连接,即SCL线可以复用。3路SDA线中,SDA1线与器件1连接,SDA2线与器件2连接,SDA3线与器件3连接。
主机20通过SDA1、SDA2和SDA3线和单路SCL线对器件1、器件2和器件3进行操作。当主机20通过单路SCL线向器件1、器件2和器件3提供SCL时序信号时,主机20根据SCL时序信号和多个IIC器件的地址信息通过所述多路SDA线向相应的IIC器件传送数据信号。
在一可选实施例中,将相同的IIC器件配置为具有相同地址,例如,器件1、器件2和器件3类型相同并且被配置为地址相同。这种同步通信机制优选在通信内容相同的情况下适用,例如多路存储器、多路A/D转换器、多路D/A转换器和多路温度传感器等。
在另一可选实施例中,相同的IIC器件可以配置为具有互不相同的地址。例如,器件1、器件2和器件3类型相同但配置的地址不相同。这样,主机20根据SCL时序信号和多个IIC器件的地址信息通过多路SDA线向相应的IIC器件传送数据信号。
当通信内容不相同时,主机可以预先剔除不使用的IIC器件,然后与使用的IIC器件通过对应的SDA线进行通信。此外,该通信机制能够随时检测无应答的器件,例如,在主机向器件1通过SDA1线发送一个字节后,器件1会产生一个响应位,并通过该SDA1线将响应位传送给主机,如果主机没有接收到该响应位,则认为器件1无应答,因此后续不再操作对应于器件1的SDA线或生成关于器件1的报警维修信息。
图3是基于现有IIC标准通信协议的单主机与单从机实现IIC通信的时序信号示意图。图4是图2所示的嵌入式系统中单主机与多从机实现多路IIC同步通信的时序信号示意图。从图4可以看出,在复用SCL线情况下,通过各路SDA线向器件1、器件2和器件3传输数据的节拍一致,实现了多路IIC同步通信。为了便于理解本发明技术方案,本实施例中仅示出了3个IIC器件,然而本领域技术人员能够理解IIC器件可以是根据需求设置的任意数量。在本实施例中,由于SCL线复用,因此仅需要N+1条I/O口线;而且在通信整体速度上是单独各路通信整体速度的N倍。
图5是根据本发明另一实施例的实现多路IIC同步通信的嵌入式系统的结构示意图。如图5所示,该嵌入式系统包括主机、单路SCL线、3路SDA线以及4个IIC器件。4个IIC器件包括标号为12的器件1、标号为14的器件2、标号为16的器件3以及标号为18的器件4。在实施例中,器件1、器件2、器件3和器件4都与同一路SCL线连接;然而,器件1和器件2与SDA1线连接,器件3与SDA3线连接以及器件4与SDA4线连接。SCL线以及3路SDA线还与主机20连接。类似地,主机20可以通过SCL线向器件1、器件2、器件3和器件4提供SCL时序信号。连接在同一路SDA线(即SDA1线)上的器件1和器件2配置为地址信息不同。但器件1或2可以配置为与其他SDA线上的器件地址相同或不同,例如器件3和器件4。
例如在一实例中,将SDA1线上的器件1和器件2的地址配置为不相同,但将器件1、器件3的地址配置为相同,且将器件2和器件4的地址配置为相同,那么主机可以是在通过单路SCL线向器件1、器件2、器件3和器件4提供SCL时序信号的同时,基于多路通信需求,或根据器件1和器件3的地址信息通过SDA1线和SDA3线向器件1和器件3传送数据信号,或根据器件2和器件4的地址信息通过SDA1线和SDA4线向器件2和器件4传送数据信号,或根据器件1的地址信息、器件3的地址信息和器件4的地址信息分别通过SDA1线、SDA3线和SDA4线向器件1、器件3和器件4传送数据信号,或根据器件2的地址信息、器件3的地址信息和器件4的地址信息分别通过SDA1线、SDA3线和SDA4线向器件2、器件3和器件4传送数据信号。
例如在其他可选实例中,可以将器件1和器件2的地址配置为不相同,但将器件3和器件4的地址配置为与器件1和器件2的地址中的任一个都不相同,或者,将器件3和器件4的地址配置为与器件1相同,或者配置为与器件2相同。
总的来说,在本实施例的实现多路IIC同步通信的嵌入式系统中,主机可以同时与不同SDA线上的器件通信,但每个SDA线上同时只有一个器件与主机通信。
相应地,本发明实施例还提供了一种多路IIC通信方法,包括:将多个IIC器件中的每一个分别与多路SDA线中的一路连接;将多个IIC器件中的每一个都与同一路SCL线连接;通过所述单路SCL线向所述多个IIC器件提供SCL时序信号;根据所述SCL时序信号和所述多个IIC器件的地址信息通过所述多路SDA线向相应的多个IIC器件传送SDA时序信号。
可选地,可以是每一路SDA线上仅连接一个IIC器件,并且不同路SDA线上的多个IIC器件的地址可以相同,也可以不同。可选地,所述多个IIC器件为相同类型的IIC芯片。
可选地,所述多路SDA线中的至少一路SDA线上可连接有两个以上的IIC器件,并且所述两个以上的IIC器件之间的地址互不相同。在根据所述SCL时序信号和IIC器件的地址信息向相应的IIC器件传送SDA时序信号。
在本发明实施例中,主机在SCL时序的合适位置,同时操作多路I/O口,产生多个SDA时序;而各路IIC器件分析当前SCL时序信号节拍对应的SDA时序信号的电平,做相应的置高置低操作。从每个从设备节点(即各个单独的器件)本身看来,并不知道有其他设备的存在,其与主设备(即主机)正常通信,不知其为多路IIC同步通信中的一路。
尽管本发明允许许多不同形式的实施例,但说明书和附图仅详细描述了本发明的几个可能的实施例。需要理解的是,本公开应该视为对本发明原理的例示,并不是要将本发明限制为在所示例的实施例的范围内。在不脱离本发明的精神的情况下,本领域技术人员会想到许多变形,本发明的保护范围应当由所附权利要求书的内容确定。
Claims (6)
1.一种实现IIC通信的嵌入式系统,包括:主机、多个IIC器件、多路SDA线和单路SCL线;
所述多个IIC器件中的每一个分别与所述多路SDA线中的一路连接;
所述多个IIC器件中的每一个都与所述单路SCL线连接;
其中,每一路SDA线上仅连接一个IIC器件,并且不同路SDA线上的多个IIC器件的地址相互之间相同或者不同;或者,所述多路SDA线中的至少一路SDA线上连接有两个以上的IIC器件,并且所述两个以上的IIC器件之间的地址互不相同;
所述主机通过所述多路SDA线和所述单路SCL线对所述多个IIC器件进行操作,其中,当通过所述单路SCL线向所述多个IIC器件提供SCL时序信号时,所述主机根据所述SCL时序信号和所述多个IIC器件的地址信息通过所述多路SDA线向相应的多个IIC器件传送数据信号。
2.根据权利要求1所述的嵌入式系统,其特征在于,所述多个IIC器件为相同类型的IIC芯片。
3.根据权利要求1所述的嵌入式系统,其特征在于,
所述IIC器件基于与所述SCL时序信号对应的SDA时序信号执行相应的读取操作或写入操作。
4.根据权利要求3所述的嵌入式系统,其特征在于,所述主机接收IIC器件通过SDA线返回的应答信号;
所述主机根据是否接收到IIC器件返回的应答信号确定后续对应答的IIC器件进行操作或者生成报警维修信息。
5.一种IIC通信方法,包括:
将多个IIC器件中的每一个分别与多路SDA线中的一路连接;
将多个IIC器件中的每一个都与单路SCL线连接;
其中,每一路SDA线上仅连接一个IIC器件,并且不同路SDA线上的多个IIC器件相互之间相同或者不同;或者,所述多路SDA线中的至少一路SDA线上连接有两个以上的IIC器件,并且所述两个以上的IIC器件之间的地址互不相同;
通过所述单路SCL线向所述多个IIC器件提供SCL时序信号;
根据所述SCL时序信号和所述多个IIC器件的地址信息通过所述多路SDA线向相应的多个IIC器件传送数据信号。
6.根据权利要求5所述的IIC通信方法,其特征在于,所述多个IIC器件为相同类型的IIC芯片。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410478144.8A CN104199796B (zh) | 2014-09-18 | 2014-09-18 | Iic通信方法以及实现iic通信的嵌入式系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410478144.8A CN104199796B (zh) | 2014-09-18 | 2014-09-18 | Iic通信方法以及实现iic通信的嵌入式系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104199796A CN104199796A (zh) | 2014-12-10 |
CN104199796B true CN104199796B (zh) | 2018-11-02 |
Family
ID=52085092
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410478144.8A Active CN104199796B (zh) | 2014-09-18 | 2014-09-18 | Iic通信方法以及实现iic通信的嵌入式系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104199796B (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105279130A (zh) * | 2015-10-22 | 2016-01-27 | 北方工业大学 | 一种对同地址的多个i2c器件进行操作的方法 |
EP3217240A1 (en) * | 2016-03-07 | 2017-09-13 | Aldebaran Robotics | Data communication bus for a robot |
CN106168934B (zh) * | 2016-06-29 | 2018-12-14 | 锐捷网络股份有限公司 | 一种数据传输方法及装置 |
CN107622032B (zh) * | 2017-08-18 | 2020-11-27 | 苏州浪潮智能科技有限公司 | 一种i2c总线的三线扩展方法及电路 |
CN107526407B (zh) * | 2017-08-30 | 2020-05-08 | 深圳夏宝电子科技有限公司 | 一种易拆装电脑一体机 |
CN108255760A (zh) * | 2017-12-25 | 2018-07-06 | 北京摩高科技有限公司 | 一种多路i2c系统、及数据读写方法 |
CN111382100A (zh) * | 2018-12-29 | 2020-07-07 | 深圳市优必选科技有限公司 | 一种i2c总线的数据采集方法及系统 |
CN109977051A (zh) * | 2019-03-14 | 2019-07-05 | 苏州浪潮智能科技有限公司 | 一种基于gpio扩展总线通道数量的方法和系统 |
CN110347139A (zh) * | 2019-05-22 | 2019-10-18 | 苏州浪潮智能科技有限公司 | 一种i2c总线的测试治具 |
CN110781127A (zh) * | 2019-09-25 | 2020-02-11 | 广东宝莱特医用科技股份有限公司 | 一种星形拓扑的i2c通信装置及方法 |
CN111506325A (zh) * | 2020-03-27 | 2020-08-07 | 广州视源电子科技股份有限公司 | 固件升级方法、系统、存储介质和相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324875A (zh) * | 2007-06-11 | 2008-12-17 | 大唐移动通信设备有限公司 | 一种扩展i2c总线的方法及i2c总线扩展装置 |
CN101763331A (zh) * | 2010-01-18 | 2010-06-30 | 中兴通讯股份有限公司 | 一种实现i2c总线控制的系统及方法 |
CN101809557A (zh) * | 2007-08-15 | 2010-08-18 | Nxp股份有限公司 | 具有并行操作模式的i2c总线接口 |
CN102073611A (zh) * | 2011-02-16 | 2011-05-25 | 东莞市泰斗微电子科技有限公司 | 一种i2c总线控制系统及方法 |
CN102819516A (zh) * | 2012-08-07 | 2012-12-12 | 北京江南天安科技有限公司 | 一种用于微型计算机与外围设备互联的总线结构 |
-
2014
- 2014-09-18 CN CN201410478144.8A patent/CN104199796B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101324875A (zh) * | 2007-06-11 | 2008-12-17 | 大唐移动通信设备有限公司 | 一种扩展i2c总线的方法及i2c总线扩展装置 |
CN101809557A (zh) * | 2007-08-15 | 2010-08-18 | Nxp股份有限公司 | 具有并行操作模式的i2c总线接口 |
CN101763331A (zh) * | 2010-01-18 | 2010-06-30 | 中兴通讯股份有限公司 | 一种实现i2c总线控制的系统及方法 |
CN102073611A (zh) * | 2011-02-16 | 2011-05-25 | 东莞市泰斗微电子科技有限公司 | 一种i2c总线控制系统及方法 |
CN102819516A (zh) * | 2012-08-07 | 2012-12-12 | 北京江南天安科技有限公司 | 一种用于微型计算机与外围设备互联的总线结构 |
Also Published As
Publication number | Publication date |
---|---|
CN104199796A (zh) | 2014-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104199796B (zh) | Iic通信方法以及实现iic通信的嵌入式系统 | |
US7293127B2 (en) | Method and device for transmitting data using a PCI express port | |
US8880654B2 (en) | Protocol adapter for passing diagnostic messages between vehicle networks and a host computer | |
JP2013168164A5 (zh) | ||
US20090144471A1 (en) | Serial bus device with address assignment by master device | |
US9811483B2 (en) | Configurable serial communication hub | |
CN102104515A (zh) | 耦合装置、包括耦合装置的系统和用于该系统的方法 | |
RU2586580C2 (ru) | Обнаружение конфликтов в системах шин eia-485 | |
CN105279130A (zh) | 一种对同地址的多个i2c器件进行操作的方法 | |
CN107368219B (zh) | 触摸响应方法、芯片及智能设备 | |
CN102073611B (zh) | 一种i2c总线控制系统及方法 | |
CN105099844A (zh) | 媒体发布方法、媒体数据获取方法以及媒体发布系统 | |
CN103312636A (zh) | 信息处理装置、串行通信系统和装置以及通信初始化方法 | |
CN103729333A (zh) | 多路时隙共享的背板总线结构及其实现方法 | |
US8626972B2 (en) | I2C multi-slot circuit system and method for transmitting I2C signals | |
CN101082896A (zh) | 一种主从模块间的控制方法和装置 | |
CN103814367A (zh) | 具有通过用于串行芯片间数据传输的物理传输路径的逻辑多通道通信的通信装置 | |
US20060206626A1 (en) | Instrument and communications controller for instrument | |
CN101685433B (zh) | 由主装置指定地址的串联总线装置 | |
CN102298416A (zh) | 一种服务器系统 | |
US20140215106A1 (en) | Svid data test system and method | |
US11816059B2 (en) | Transmission device, transmission method, receiving device, and receiving method for performing signal transmission between a plurality of daisy chained devices | |
EP2802179B1 (en) | Concurrent activation and data exchange with multiple NFC-A devices | |
KR20140123713A (ko) | 직렬 인터페이스를 통한 디바이스 접근 장치 및 그 방법 | |
US20130010806A1 (en) | Transmission/reception system and transmission / reception method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 261031 Dongfang Road, Weifang high tech Development Zone, Shandong, China, No. 268 Applicant after: Goertek Inc. Address before: 261031 Dongfang Road, Weifang high tech Development Zone, Shandong, China, No. 268 Applicant before: Goertek Inc. |
|
COR | Change of bibliographic data | ||
GR01 | Patent grant | ||
GR01 | Patent grant |