CN108681517A - 变换i2c器件地址的方法及系统 - Google Patents
变换i2c器件地址的方法及系统 Download PDFInfo
- Publication number
- CN108681517A CN108681517A CN201810435884.1A CN201810435884A CN108681517A CN 108681517 A CN108681517 A CN 108681517A CN 201810435884 A CN201810435884 A CN 201810435884A CN 108681517 A CN108681517 A CN 108681517A
- Authority
- CN
- China
- Prior art keywords
- address
- signal
- devices
- translation circuit
- serial
- 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.)
- Granted
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
- G06F13/4291—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
Abstract
本发明公开了一种变换I2C器件地址的方法及系统,变换I2C器件地址的方法包括以下步骤:a、通过地址变换电路上的地址变换设定开关设置地址中的每位地址码的位地址变换值Ki;b、将地址变换电路接入I2C从机的串行数据线SDA1端与I2C主机的串行数据线SDA2端之间;c、地址变换电路将寻址命令D变换为新的寻址命令Dn;d、地址变换电路将寻址命令Dn输出至述I2C从机的串行数据线SDA2端,I2C从机接收所述寻址命令Dn并响应;其中,所述地址变换电路与所述I2C总线的串行时钟线SCL相连。本发明的变换I2C器件地址的方法,可对I2C器件的地址进行重新设置,解决I2C器件地址冲突的问题。
Description
技术领域
本发明涉及电子电路技术领域,更具体的说,是一种变换I2C器件地址的方法及系统。
背景技术
I2C总线是一种由PHILIPS公司开发的两线式串行总线,其主要用于连接微控制器及其外围设备,I2C总线包括串行数据线SDA及串行时钟线SCL,串行数据线SDA及串行时钟线SCL在连接到总线的I2C器件间传递信息,每个I2C器件都有一个唯一的地址识别,一般情况下为7位二进制地址识别码,连接到I2C总线上的从机通过识别主机发送的地址码并响应,但同时挂在I2C总线上的I2C器件可为多个,多个I2C器件的地址码是有限的,这样就导致I2C器件间存在相同的地址,而如何解决I2C总线上的器件的地址冲突问题就成为I2C总线应用的一个重要瓶颈。
发明内容
本发明的目的在于提供一种变换I2C器件地址的方法及系统,其对I2C总线上的器件的地址进行重新设定,解决I2C总线上的器件地址冲突的问题。
其技术方案如下:
本发明公开一种变换I2C器件地址的方法,包括以下步骤:
a、通过地址变换电路上的地址变换设定开关设置地址中的每位地址码的位地址变换值Ki;
b、将地址变换电路接入I2C从机的串行数据线SDA1端与I2C主机的串行数据线SDA2端之间;
c、所述地址变换电路接收所述I2C主机发出的寻址命令D,所述地址变换电路将所述寻址命令D中的地址位位信号与对应位的所述位地址变换值Ki经过或运算及异或运算后变换为新的寻址命令Dn;
d、所述地址变换电路将所述寻址命令Dn输出至所述I2C从机的串行数据线SDA2端,所述I2C从机接收所述寻址命令Dn并响应;
在所述步骤c,所述寻址命令Dn的产生步骤为:
所述控制信号Co将译码器进行复位,所述译码器将所述I2C主机发出所述寻址命令D时的对应的所述I2C总线的串行时钟线SCL的串行时钟信号译为并行的每位位信号Pi;
将并行的每位位信号Pi根据对应位设定开关设置的所述位地址变换值Ki产生并行的位地址变换信号Xi;
将每一并行的所述位地址变换信号Xi之间经过或逻辑运算产生串行的地址变换信号S;
将串行的所述地址变换信号S与所述寻址命令D中的地址位位信号进行异或运算,产生所述寻址命令Dn。
每一并行的所述位信号Pi以所述I2C总线上的所述串行时钟线SCL的上一个信号的下降沿开始有效,以每一所述位信号Pi对应的所述串行时钟线SCL信号的下降沿结束。
在所述步骤a中,所述位地址变换值Ki为“1”或“0”,其中,“1”代表对位地址数据进行变换,“0”代表原位地址数据不变。
所述步骤b包括:触发器捕获所述I2C主机在I2C总线的所述串行时钟线SCL上发出的开始命令的起始位,产生控制信号Co,所述控制信号Co控制模拟开关Kc,将所述地址变换电路接入I2C从机与所述I2C主机之间。
所述地址变换电路接收完所述寻址命令D后,所述控制信号Co解除,所述模拟开关Kc复位。
本发明还公开一种变换I2C器件地址的系统,包括I2C主机、I2C从机以及地址变换电路,所述I2C主机与所述I2C从机通过I2C总线相连,所述地址变换电路位于所述I2C从机的串行数据线SDA1端与所述I2C主机的串行数据线SDA2端之间,模拟开关控制所述地址变换电路与所述I2C主机及所述I2C从机的连接,所述地址变换电路与所述I2C总线的串行时钟线SCL相连,所述地址变换电路上设有地址变换设定开关。
所述I2C从机接收的I2C总线上的串行数据线SDA的有效信号比所述I2C总线上的串行时钟线SCL的信号宽。
所述I2C总线上还设有译码器。
所述地址变换设定开关为拨动开关或跳线。
下面对本发明的优点或原理进行说明:
1、地址变换电路通过改变I2C器件的地址,解决I2C总线上的I2C器件地址冲突的问题,通过地址变换电路,I2C器件可以随意接入I2C总线上,不受线路位置的限制,同时,不需要在电子电路上做预先设计,使用的灵活性高。
2、地址变换电路通过逻辑运算即可改变I2C总线上的I2C器件的地址,其成本低廉且响应速度快,地址变换电路可根据需要随时任意调整I2C器件的地址,使用简单方便。
3、对I2C总线上地址冲突的器件重新赋予一个新地址,方便对I2C器件进行管理。
4、地址变换电路不需要改变原I2C系统上的线路,且不需要任何的通讯命令,可方便的在已有的I2C系统上扩展。
5、位信号Pi以I2C总线上的串行时钟线SCL的上一个信号的下降沿开始有效,以每一位信号Pi对应的串行时钟线SCL信号的下降沿结束,确保I2C从机接收的I2C总线上的串行数据线SDA的有效信号比I2C总线上的串行时钟线SCL的信号宽,使变换I2C器件地址的系统的功能稳定可靠。
附图说明
图1是本实施例的I2C总线上的I2C主机发出的串行时钟线SDA及串线数时钟线SCL及控制信号Co的时序图;
图2是本实施例的I2C总线上串行时钟线SCL上的串行时钟信号与并行的位信号Pi及并行的位地址变换信号Xi的时序图;
图3是本实施例的位地址变换信号Xi的时序图及地址变换信号S的时序图;
图4是本实施例的寻址命令D变换成新的寻址命令Dn的时序图。
具体实施方式
下面对本发明的实施例进行详细说明。
本实施例公开一种变换I2C器件地址的方法及系统,其中变换I2C器件地址的系统包括I2C主机、I2C从机及地址变换电路,I2C主机与I2C从机通过I2C总线相连,I2C总线包括串行数据线SDA及串行时钟线SCL,地址变换电路位于I2C从机的串行数据线SDA1端与I2C主机的串行数据线SDA2端之间,且地址变换电路与I2C总线的串行时钟线SCL相连,地址变换电路上设有模拟开关Kc,模拟开关Kc控制地址变换电路与I2C主机及I2C从机的连接及断开,本实施例的模拟开关Kc为低电阻单刀双掷模拟开关,地址变换电路上设有地址变换设定开关,本实施例的地址变换设定开关为拨动开关或跳线,地址变换设定开关用于设置I2C总线上的器件的地址码的每位地址变换值Ki,I2C总线上还设有译码器。
本实施例的变换I2C器件地址的系统可以变换I2C器件地址,以下以具体实施例详细说明变换I2C器件地址的方法。
假设一个测量系统需使用16个ADS1110模数转换器,并需对每个ADS1110的转换精度进行修正,虽然ADS1110有8种地址的不同型号,但也不能解决16个ADS1110模数转换器的地址不冲突的问题,现以器件出厂地址为1001010X(X为1或0)的ADS1110模数转化器为例,其地址码从最高位第七位开始依次设为K7、K6、K5、K4、K3、K2、K1,如转换地址的地址识别符的高4位即K7至K4的地址识别码,则可获得如下表1的16个新地址。
表1
现以表1中地址1001010X变换为0011010X为例,其变换方法具体如下:
a、通过地址变换设定开关设置七位二进制地址码的每位地址码的位地址变换值Ki为“1”或“0”,其中,“1”代表对位地址数据进行变换(即1变成0,0变成1),“0”代表位地址数据保持不变,本实施例中的K7和K5位的位地址变换值Ki设置为“1”,其它位的位地址变换值Ki设置为“0”,并以开关状态“1”为高电平,“0”为低电平;
b、触发器捕获I2C总线的串行时钟线SCL的开始信号,当I2C总线的串行数据线为高电平时捕获到I2C总线的串行时钟线由高电平转换为低电平的下降沿信号时,触发器产生高电平的控制信号Co并维持,此时捕获到的是I2C主机发出的开始命令的起始位,控制信号Co控制模拟开关Kc,将地址变换电路接入I2C从机的串行数据线SDA1端与I2C主机的串行数据线SDA2端之间;
c、I2C主机在I2C总线的串行数据线SDA上发出寻址命令D,寻址命令D的地址码为1001010X,控制信号Co将串/并行译码器进行复位,串/并行译码器将I2C主机发出寻址命令D时的I2C总线的串行时钟线SCL的信号译为并行的每位位信号Pi,如图2所示,最高位第7位P7的位信号Pi为1000000X,第六位P6的位信号Pi为010000X,第五位P5的位信号Pi为0010000X,第四位P4的位信号Pi为0001000X,第三位P3的位信号Pi为0000100X,第二位P2的位信号Pi为0000010X,第一位P1的位信号Pi为0000001X;
将并行的P7至P1位的每一位信号Pi根据K7至K1对应位设定开关设置的位地址变换值Ki产生并行的位地址变换信号Xi,其中,第七位X7的位地址变换信号Xi为1000000X;第六位X6的位地址变换信号Xi为0000000X;第五位X5的位地址变换信号Xi为0010000X;第四位X4的位地址变换信号Xi为0000000X;第三位X3的位地址变换信号Xi为0000000X;第二位X2的位地址变换信号Xi为0000000X;第一位X1的位地址变换信号Xi为0000000X;
将X7至X1位并行的位地址变换信号Xi之间经过或逻辑运算产生串行的变换信号S,S的信号为1010000X;
将串行的地址变换信号S(1010000X)与寻址命令D(1001010X)中的地址位位信号进行异或运算,产生新的寻址命令Dn,Dn的寻址命令为0011010X;
d、地址变换电路将寻址命令Dn输出至I2C从机的串行数据线SDA2端,I2C从机接收寻址命令Dn并响应,从而完成寻址。
其中,地址变换电路接收完寻址命令D的7位寻址数据及第八位读写命令后,控制信号Co由高电平变为低电平,控制信号Co令模拟开关Kc复位,使I2C从机的串行数据线SDA1端直接与I2C主机的串行数据线SDA2端相连,此后,I2C从机直接接收I2C主机发出的命令并响应。
在本实施例中,P7至P1位的位信号Pi以I2C总线上的串行时钟线SCL上的上一个串行时钟信号的下降沿开始有效,以本串行时钟信号的下降沿结束,以P3位的位信号Pi为例,P3位的位信号Pi以P4位的位信号Pi的串行时钟信号的下降沿开始有效,以P3位的位信号Pi的下降沿结束,此种设置,使的产生的新的寻址命令Dn的数据在串行时钟信号的上一个下降沿开始有效,从而使I2C从器件接收到的串行数据线SDA的有效信号比串行时钟线SCL的信号要宽。
本实施例的优点或原理如下:
1、地址变换电路通过改变I2C器件的地址,解决I2C总线上I2C器件地址冲突的问题,通过地址变换电路,I2C器件可以随意接入I2C总线上,不受线路位置的限制,同时,不需要在电子电路上做预先设计,使用的灵活性高。
2、地址变换电路通过逻辑运算即可改变I2C总线上的I2C器件的地址,其成本低廉且响应速度快,地址变换电路可根据需要随时任意调整I2C器件的地址,使用简单方便。
3、对I2C总线上地址冲突的器件重新赋予一个新地址,方便对I2C器件进行管理。
4、地址变换电路不需要改变原I2C系统上的线路,且不需要任何的通讯命令,可方便的在已有的I2C系统上扩展。
5、位信号Pi以I2C总线上的串行时钟线SCL的上一个信号的下降沿开始有效,以每一位信号Pi对应的串行时钟线SCL信号的下降沿结束,确保I2C从机接收的I2C总线上的串行数据线SDA的有效信号比I2C总线上的串行时钟线SCL的信号宽,使变换I2C器件地址的系统的功能稳定可靠。
以上仅为本发明的具体实施例,并不以此限定本发明的保护范围;在不违反本发明构思的基础上所作的任何替换与改进,均属本发明的保护范围。
Claims (10)
1.变换I2C器件地址的方法,其特征在于,包括以下步骤:
a、通过地址变换电路上的地址变换设定开关设置地址中的每位地址码的位地址变换值Ki;
b、将地址变换电路接入I2C从机的串行数据线SDA1端与I2C主机的串行数据线SDA2端之间;
c、所述地址变换电路接收所述I2C主机发出的寻址命令D,所述地址变换电路将所述寻址命令D中的地址位位信号与对应位的所述位地址变换值Ki经过或运算及异或运算后变换为新的寻址命令Dn;
d、所述地址变换电路将所述寻址命令Dn输出至所述I2C从机的串行数据线SDA2端,所述I2C从机接收所述寻址命令Dn并响应。
2.如权利要求1所述的变换I2C器件地址的方法,其特征在于,在所述步骤c,所述寻址命令Dn的产生步骤为:
所述控制信号Co将译码器进行复位,所述译码器将所述I2C主机发出所述寻址命令D时的对应的所述I2C总线的串行时钟线SCL的串行时钟信号译为并行的每位位信号Pi;
将并行的每位位信号Pi根据对应位设定开关设置的所述位地址变换值Ki产生并行的位地址变换信号Xi;
将每一并行的所述位地址变换信号Xi之间经过或逻辑运算产生串行的地址变换信号S;
将串行的所述地址变换信号S与所述寻址命令D中的地址位位信号进行异或运算,产生所述寻址命令Dn。
3.如权利要求2所述的变换I2C器件地址的方法,其特征在于,每一并行的所述位信号Pi以所述I2C总线上的所述串行时钟线SCL的上一个信号的下降沿开始有效,以每一所述位信号Pi对应的所述串行时钟线SCL信号的下降沿结束。
4.如权利要求1至权利要求3任一项所述的变换I2C器件地址的方法,其特征在于,在所述步骤a中,所述位地址变换值Ki为“1”或“0”,其中,“1”代表对位地址数据进行变换,“0”代表原位地址数据不变。
5.如权利要求1至权利要求3任一项所述的变换I2C器件地址的方法,其特征在于,所述步骤b包括:触发器捕获所述I2C主机在I2C总线的所述串行时钟线SCL上发出的开始命令的起始位,产生控制信号Co,所述控制信号Co控制模拟开关Kc,将所述地址变换电路接入I2C从机与所述I2C主机之间。
6.如权利要求1至权利要求3任一项所述的变换I2C器件地址的方法,其特征在于,所述地址变换电路接收完所述寻址命令D后,所述控制信号Co解除,所述模拟开关Kc复位。
7.变换I2C器件地址的系统,其特征在于,包括I2C主机、I2C从机以及地址变换电路,所述I2C主机与所述I2C从机通过I2C总线相连,所述地址变换电路位于所述I2C从机的串行数据线SDA1端与所述I2C主机的串行数据线SDA2端之间,模拟开关控制所述地址变换电路与所述I2C主机及所述I2C从机的连接,所述地址变换电路与所述I2C总线的串行时钟线SCL相连,所述地址变换电路上设有地址变换设定开关。
8.如权利要求7所述的变换I2C器件地址的系统,其特征在于,所述I2C从机接收的I2C总线上的串行数据线SDA的有效信号比所述I2C总线上的串行时钟线SCL的信号宽。
9.如权利要求8所述的变换I2C器件地址的系统,其特征在于,所述I2C总线上还设有译码器。
10.如权利要求7至权利要求9任一项所述的变换I2C器件地址的系统,其特征在于,所述地址变换设定开关为拨动开关或跳线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810435884.1A CN108681517B (zh) | 2018-05-09 | 2018-05-09 | 变换i2c器件地址的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810435884.1A CN108681517B (zh) | 2018-05-09 | 2018-05-09 | 变换i2c器件地址的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108681517A true CN108681517A (zh) | 2018-10-19 |
CN108681517B CN108681517B (zh) | 2020-09-01 |
Family
ID=63805862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810435884.1A Active CN108681517B (zh) | 2018-05-09 | 2018-05-09 | 变换i2c器件地址的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108681517B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078606A (zh) * | 2019-11-18 | 2020-04-28 | 上海灵动微电子股份有限公司 | 一种模拟i2c从机及其实现方法、终端设备和存储介质 |
CN111221765A (zh) * | 2019-12-31 | 2020-06-02 | 苏州浪潮智能科技有限公司 | 一种防止i2c总线地址冲突的通信方法及通信系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1461440A (zh) * | 2000-09-19 | 2003-12-10 | 汤姆森特许公司 | 在集成电路间的环境中具有可编程地址的集成电路 |
CN1731383A (zh) * | 2005-08-29 | 2006-02-08 | 杭州华为三康技术有限公司 | 一种设备管理系统及方法 |
US20120005385A1 (en) * | 2010-06-30 | 2012-01-05 | Hon Hai Precision Industry Co., Ltd. | Communication circuit of inter-integrated circuit device |
CN102932049A (zh) * | 2012-10-24 | 2013-02-13 | 北京空间飞行器总体设计部 | 一种航天器信息传输方法 |
CN103095855A (zh) * | 2011-10-27 | 2013-05-08 | 无锡力芯微电子股份有限公司 | I2c通信接口装置 |
EP2778941B1 (en) * | 2013-03-14 | 2016-10-19 | Linear Technology Corporation | Address translation in i2c data communications system |
CN106502948A (zh) * | 2016-10-25 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种i2c地址可选的板载fpga设计方法 |
-
2018
- 2018-05-09 CN CN201810435884.1A patent/CN108681517B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1461440A (zh) * | 2000-09-19 | 2003-12-10 | 汤姆森特许公司 | 在集成电路间的环境中具有可编程地址的集成电路 |
CN1731383A (zh) * | 2005-08-29 | 2006-02-08 | 杭州华为三康技术有限公司 | 一种设备管理系统及方法 |
US20120005385A1 (en) * | 2010-06-30 | 2012-01-05 | Hon Hai Precision Industry Co., Ltd. | Communication circuit of inter-integrated circuit device |
CN103095855A (zh) * | 2011-10-27 | 2013-05-08 | 无锡力芯微电子股份有限公司 | I2c通信接口装置 |
CN102932049A (zh) * | 2012-10-24 | 2013-02-13 | 北京空间飞行器总体设计部 | 一种航天器信息传输方法 |
EP2778941B1 (en) * | 2013-03-14 | 2016-10-19 | Linear Technology Corporation | Address translation in i2c data communications system |
CN106502948A (zh) * | 2016-10-25 | 2017-03-15 | 郑州云海信息技术有限公司 | 一种i2c地址可选的板载fpga设计方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111078606A (zh) * | 2019-11-18 | 2020-04-28 | 上海灵动微电子股份有限公司 | 一种模拟i2c从机及其实现方法、终端设备和存储介质 |
CN111078606B (zh) * | 2019-11-18 | 2021-05-11 | 上海灵动微电子股份有限公司 | 一种模拟i2c从机及其实现方法、终端设备和存储介质 |
CN111221765A (zh) * | 2019-12-31 | 2020-06-02 | 苏州浪潮智能科技有限公司 | 一种防止i2c总线地址冲突的通信方法及通信系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108681517B (zh) | 2020-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7565470B2 (en) | Serial bus device with address assignment by master device | |
US7603501B2 (en) | Communication circuit of serial peripheral interface devices | |
CN106802871B (zh) | 总线系统 | |
US20100122003A1 (en) | Ring-based high speed bus interface | |
US20090234998A1 (en) | Connection system | |
TWI582596B (zh) | 具裝置類型及通訊類型自動辨識能力之多串列埠通訊系統及其方法 | |
CN1200818A (zh) | 具有数据总线通信协议的外业仪器 | |
JP2004326342A (ja) | モジュール型計算機システム及びi/oモジュール | |
CN109582623B (zh) | 一种能够实现多块不同类型扩展板级联的扩展板电路 | |
CN108681517A (zh) | 变换i2c器件地址的方法及系统 | |
CN104008082A (zh) | 1553b总线rt节点与can总线的转换器 | |
TW201201023A (en) | Inter-Integrated Circuit device communication circuit | |
CN1811480A (zh) | 一种电平信号的实时监测方法及装置 | |
CN101421705B (zh) | 具有高储存容量的多媒体卡 | |
CN111124972A (zh) | 基于相同i2c地址的芯片扩展方法、系统及存储介质 | |
CN106874228A (zh) | 基于i2c总线的控制器及通信方法、多控制器间的通信方法 | |
CN1175362C (zh) | 具有多个上游端口的usb集线器及使用该集线器的电脑系统 | |
CN113824741A (zh) | 一种iic设备的通信方法、装置、设备、系统及介质 | |
CN213458027U (zh) | Usb主从设备切换电路、控制电路以及交互平板 | |
CN101685433B (zh) | 由主装置指定地址的串联总线装置 | |
CN103412838A (zh) | 一种扩展系统、通信方法、地址配置方法、设备及装置 | |
CN108228520B (zh) | 一种面向bmc的i2c控制器的快速传输方法 | |
WO2005083577A2 (en) | Integrated circuit with two different bus control units | |
CN109977051A (zh) | 一种基于gpio扩展总线通道数量的方法和系统 | |
US20090119420A1 (en) | Apparatus and method for scaleable expanders in systems management |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |