CN117112478A - 一种i2c从设备及其静态地址的自动修改方法 - Google Patents
一种i2c从设备及其静态地址的自动修改方法 Download PDFInfo
- Publication number
- CN117112478A CN117112478A CN202311081341.1A CN202311081341A CN117112478A CN 117112478 A CN117112478 A CN 117112478A CN 202311081341 A CN202311081341 A CN 202311081341A CN 117112478 A CN117112478 A CN 117112478A
- Authority
- CN
- China
- Prior art keywords
- data line
- slave device
- serial data
- clock line
- serial clock
- 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.)
- Pending
Links
- 230000003068 static effect Effects 0.000 title claims abstract description 78
- 238000002715 modification method Methods 0.000 title abstract description 6
- 238000004891 communication Methods 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 6
- 230000000977 initiatory effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
Abstract
本发明提供一种I2C从设备及其静态地址的自动修改方法,I2C从设备包括:串行时钟线引脚pad_scl;串行数据线引脚pad_sda;内部串行时钟线scl_in;内部串行数据线sda_in;切换模块,其能够工作在默认状态或切换状态;控制模块,其被配置的在与I2C主设备发起通信时检测内部串行时钟线scl_in和内部串行数据线sda_in哪个最先拉低,若检测到内部串行数据线sda_in最先拉低,则维持所述切换模块工作在默认状态,使I2C从设备维持当前的静态地址;若检测到内部串行时钟线scl_in最先拉低,则控制切换模块工作在切换状态,并使I2C从设备当前的静态地址的至少1位取反以修改静态地址。与现有技术相比,本发明通过将I2C从设备与串行数据线和串行时钟线反接,从而自动修改I2C从设备的静态地址。
Description
【技术领域】
本发明涉及数字IC技术领域,尤其涉及一种I2C从设备及其静态地址的自动修改方法。
【背景技术】
I2C(Inter-Integrated Circuit,即集成电路总线)是一种简单、双向二线制同步串行总线,它只需要两根线即可在连接于总线上的器件之间传送信息。假设总线上挂载两个完全相同的I2C slave设备(即I2C从设备),I2C mater(即I2C主设备)想要分别与它们通信的话,它们相应的静态地址要求是不一样的。那么在出厂的时候就要求它们各自的静态地址的某些bit是需要通过otp等可编程存储器来控制。这样用户在通信前就需要额外地进行地址初始化操作。
因此,有必要提出一种I2C从设备及其静态地址的自动修改方法。
【发明内容】
本发明的目的之一在于提供一种I2C从设备及其静态地址的自动修改方法,其可以自动修改I2C从设备的静态地址,这样用户在通信前就不需要额外地进行地址初始化操作。
根据本发明的一个方面,本发明提供一种I2C从设备,其包括:串行时钟线引脚pad_scl,其通过串行时钟线与I2C主设备的串行时钟线引脚相连,或通过串行数据线与所述I2C主设备的串行数据线引脚相连;串行数据线引脚pad_sda,其通过串行数据线与所述I2C主设备的串行数据线引脚相连,或通过串行时钟线与所述I2C主设备的串行时钟线引脚相连;内部串行时钟线scl_in;内部串行数据线sda_in;切换模块,其与所述串行时钟线引脚pad_scl、串行数据线引脚pad_sda、内部串行时钟线scl_in和内部串行数据线sda_in相连,所述切换模块能够工作在默认状态或切换状态,在默认状态下,所述串行时钟线引脚pad_scl通过所述切换模块与所述内部串行时钟线scl_in相连,所述串行数据线引脚pad_sda通过所述切换模块与内部串行数据线sda_in相连;在切换状态下,所述串行时钟线引脚pad_scl通过所述切换模块与所述内部串行数据线sda_in相连,所述串行数据线引脚pad_sda通过所述切换模块与所述内部串行时钟线scl_in相连,控制模块,其第一检测端1与所述内部串行时钟线scl_in相连,其第二检测端2与所述内部串行数据线sda_in相连,其输出端输出控制信号给所述切换模块的控制端,所述控制模块被配置的在与所述I2C主设备发起通信时检测所述内部串行时钟线scl_in和所述内部串行数据线sda_in哪个最先拉低,若检测到所述内部串行数据线sda_in最先拉低,则所述控制模块维持所述切换模块工作在默认状态,使所述I2C从设备维持当前的静态地址;若检测到所述内部串行时钟线scl_in最先拉低,则所述控制模块控制所述切换模块工作在切换状态,并使所述I2C从设备当前的静态地址的至少1位取反以修改静态地址。
根据本发明的另一个方面,本发明提供一种I2C从设备的静态地址的自动修改方法,其包括:提供如本发明所述的I2C从设备;将所述串行时钟线引脚pad_scl通过串行时钟线与I2C主设备的串行时钟线引脚相连,或通过串行数据线与所述I2C主设备的串行数据线引脚相连;将所述串行数据线引脚pad_sda通过串行数据线与所述I2C主设备的串行数据线引脚相连,或通过串行时钟线与所述I2C主设备的串行时钟线引脚相连;在与所述I2C主设备发起通信时,所述控制模块检测所述内部串行时钟线scl_in和所述内部串行数据线sda_in哪个最先拉低;若检测到所述内部串行数据线sda_in最先拉低,则所述控制模块维持所述切换模块工作在默认状态,并使所述I2C从设备维持当前的静态地址;若检测到所述内部串行时钟线scl_in最先拉低,则所述控制模块控制所述切换模块工作在切换状态,并使所述I2C从设备当前的静态地址的至少1位取反以修改静态地址。
根据本发明的另一个方面,本发明提供一种I2C从设备的静态地址的自动修改方法,其包括:提供第一I2C从设备和第二I2C从设备,所述第一I2C从设备和第二I2C从设备为如本发明所述的I2C从设备,且所述第一I2C从设备和第二I2C从设备的静态地址相同;将所述第一I2C从设备的串行数据线引脚pad_sda通过串行数据线SDA与I2C主设备的串行数据线引脚相连,将所述第一I2C从设备的串行时钟线引脚pad_scl通过串行时钟线SCL与所述I2C主设备的串行时钟线引脚相连;将所述第二I2C从设备的串行数据线引脚pad_sda通过串行时钟线SCL与所述I2C主设备的串行时钟线引脚相连,将所述第二I2C从设备的串行时钟线引脚pad_scl通过串行数据线SDA与所述I2C主设备的串行数据线引脚相连;在所述第一I2C从设备与所述I2C主设备发起通信时,所述第一I2C从设备的控制模块检测到串行数据线引脚pad_sda最先拉低,则所述第一I2C从设备的控制模块维持所述第一I2C从设备的切换模块工作在默认状态,使所述第一I2C从设备维持当前的静态地址;在所述第二I2C从设备与所述I2C主设备发起通信时,所述第二I2C从设备的控制模块检测到串行时钟线引脚pad_scl最先拉低,则所述第二I2C从设备的控制模块控制所述第二I2C从设备的切换模块工作在切换状态,并使所述第二I2C从设备当前的静态地址的至少1位取反以修改静态地址。
与现有技术相比,本发明通过将I2C从设备与串行数据线和串行时钟线反接,从而自动修改I2C从设备的静态地址,这样用户在通信前就不需要额外地进行地址初始化操作。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。其中:
图1为本发明在一个实施例中的可自动修改静态地址的I2C从设备的电路连接示意图;
图2为本发明在一个实施例中的I2C从设备的静态地址的自动修改方法的流程图;
图3为本发明在一个实施例中如图1所示的第一I2C从设备和第二I2C从设备与I2C主设备的电路连接示意图;
图4为本发明在一个实施例中如图3所示的I2C从设备的静态地址的自动修改方法的流程图;
图5为本发明在一个实施例中如图3所示的第一I2C从设备正接时各个信号的波形示意图;
图6为本发明在一个实施例中如图3所示的第二I2C从设备反接时各个信号的波形示意图。
【具体实施方式】
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
此处所称的“一个实施例”或“实施例”是指可包含于本发明至少一个实现方式中的特定特征、结构或特性。在本说明书中不同地方出现的“在一个实施例中”并非均指同一个实施例,也不是单独的或选择性的与其他实施例互相排斥的实施例。除非特别说明,本文中的连接、相连、相接的表示电性连接的词均表示直接或间接电性相连。
请参考图1所示,其为本发明在一个实施例中的可自动修改静态地址的I2C从设备的电路连接示意图。图1所示的可自动修改静态地址的I2C从设备包括串行时钟线引脚pad_scl、串行数据线引脚pad_sda、内部串行时钟线scl_in、内部串行数据线sda_in、切换模块110和控制模块120。
其中,串行时钟线引脚pad_scl通过串行时钟线与I2C主设备(未图示)的串行时钟线引脚相连,或通过串行数据线与I2C主设备(未图示)的串行数据线引脚相连。串行数据线引脚pad_sda通过串行数据线与I2C主设备(未图示)的串行数据线引脚相连,或通过串行时钟线与I2C主设备(未图示)的串行时钟线引脚相连。切换模块110与串行时钟线引脚pad_scl、串行数据线引脚pad_sda、内部串行时钟线scl_in和内部串行数据线sda_in相连,切换模块110能够工作在默认状态或切换状态,在默认状态下,串行时钟线引脚pad_scl通过切换模块110与内部串行时钟线scl_in相连,串行数据线引脚pad_sda通过切换模块110与内部串行数据线sda_in相连;在切换状态下,串行时钟线引脚pad_scl通过切换模块110与内部串行数据线sda_in相连,串行数据线引脚pad_sda通过切换模块110与内部串行时钟线scl_in相连。
控制模块120的第一检测端1与内部串行时钟线scl_in相连,其第二检测端2与内部串行数据线sda_in相连,其输出端输出控制信号给切换模块110的控制端。控制模块120被配置的在与I2C主设备(未图示)发起通信时检测内部串行时钟线scl_in和内部串行数据线sda_in哪个最先拉低,若检测到内部串行数据线sda_in最先拉低,意味着I2C从设备与串行时钟线和串行数据线正接(即I2C从设备的串行时钟线引脚pad_scl通过串行时钟线与I2C主设备的串行时钟线引脚相连;I2C从设备的串行数据线引脚pad_sda通过串行数据线与I2C主设备的串行数据线引脚相连),则控制模块120维持切换模块110工作在默认状态,使I2C从设备维持当前的静态地址130;若检测到内部串行时钟线scl_in最先拉低,意味着I2C从设备与串行时钟线和串行数据线反接(即I2C从设备的串行时钟线引脚pad_scl通过串行数据线与I2C主设备的串行数据线引脚相连;I2C从设备的串行数据线引脚pad_sda通过串行时钟线与I2C主设备的串行时钟线引脚相连),则控制模块120控制切换模块110工作在切换状态,并使I2C从设备当前的静态地址的至少1位取反以修改静态地址。在一个具体的实施例中,将I2C从设备当前的静态地址的最高位或任意多位取反,以修改静态地址。
在图1所示的具体实施例中,控制模块120用于产生并输出第一控制信号exchange和第二控制信号no_exchange给切换模块110的控制端,其中,若检测到内部串行数据线sda_in最先拉低,则控制模块120使得第二控制信号no_exchange由默认值跳变为有效值,其可以维持切换模块110工作在默认状态,并使I2C从设备维持当前的静态地址;若检测到内部串行时钟线scl_in最先拉低,则控制模块120使得第一控制信号exchange由默认值跳变为有效值,其控制切换模块110工作在切换状态,并使I2C从设备当前的静态地址的至少1位取反以修改静态地址。
在图1所示的具体实施例中,第一控制信号exchange是内部串行时钟线scl_in的时钟域,默认值为0,有效值为1;第二控制信号no_exchange是内部串行数据线sda_in的时钟域,默认值为0,有效值为1。其中,第一控制信号exchange和第二控制信号no_exchange互为屏蔽,换言之,不存在第一控制信号exchange和第二控制信号no_exchange同时为1的情况,即第一控制信号exchange和第二控制信号no_exchange不能同时为有效值。
需要特别说明的是,第一控制信号exchange为1(或有效值)后,只能被复位才会清零;第二控制信号no_exchange为1(或有效值)后,只能被复位才会清零。
请参考图2所示,其为本发明在一个实施例中的I2C从设备的静态地址的自动修改方法的流程图。图2所示的I2C从设备的静态地址的自动修改方法包括如下步骤。
步骤210、提供如图1所示的I2C从设备。
步骤220、将I2C从设备的串行时钟线引脚pad_scl通过串行时钟线与I2C主设备(未图示)的串行时钟线引脚相连,或通过串行数据线与I2C主设备(未图示)的串行数据线引脚相连。
步骤230、将I2C从设备的串行数据线引脚pad_sda通过串行数据线与I2C主设备(未图示)的串行数据线引脚相连,或通过串行时钟线与I2C主设备(未图示)的串行时钟线引脚相连。
步骤240、在I2C从设备与I2C主设备(未图示)发起通信时,控制模块120检测内部串行时钟线scl_in和内部串行数据线sda_in哪个最先拉低。
步骤250、若检测到内部串行数据线sda_in最先拉低,意味着I2C从设备与串行时钟线和串行数据线正接(即I2C从设备的串行时钟线引脚pad_scl通过串行时钟线与I2C主设备的串行时钟线引脚相连;I2C从设备的串行数据线引脚pad_sda通过串行数据线与I2C主设备的串行数据线引脚相连),则控制模块120维持切换模块110工作在默认状态,并使I2C从设备维持当前的静态地址。
步骤260、若检测到内部串行时钟线scl_in最先拉低,意味着I2C从设备与串行时钟线和串行数据线反接(即I2C从设备的串行时钟线引脚pad_scl通过串行数据线与I2C主设备的串行数据线引脚相连;I2C从设备的串行数据线引脚pad_sda通过串行时钟线与I2C主设备的串行时钟线引脚相连),则控制模块120控制切换模块110工作在切换状态,并使I2C从设备当前的静态地址的至少1位取反以修改静态地址。
综上可知,若两个如图1所示的I2C从设备的静态地址相同,其中,一个I2C从设备可通过与串行时钟线和串行数据线反接的方式将静态地址自动修改,从而使两个如图1所示的I2C从设备相区别,具体请参见下文所述。
请参考图3所示,其为本发明在一个实施例中如图1所示的第一I2C从设备和第二I2C从设备与I2C主设备的电路连接示意图。在图3所示的实施例中,第一I2C从设备300和第二I2C从设备400的电路结构与图1所示的I2C从设备的电路结构完全相同,且第一I2C从设备300和第二I2C从设备400的静态地址也相同,I2C主设备500想要分别与它们通信的话,第一I2C从设备300和第二I2C从设备400中的一个的静态地址需要修改。
其中,第一I2C从设备300和包括串行时钟线引脚pad_scl、串行数据线引脚pad_sda、内部串行时钟线scl_in、内部串行数据线sda_in、切换模块310、控制模块320和静态地址330。第二I2C从设备400和包括串行时钟线引脚pad_scl、串行数据线引脚pad_sda、内部串行时钟线scl_in、内部串行数据线sda_in、切换模块410、控制模块420和静态地址430。
在图3所示的实施例中,将第一I2C从设备300与串行时钟线SCL和串行数据线SDA正接:第一I2C从设备300的串行数据线引脚pad_sda通过串行数据线SDA与I2C主设备500的串行数据线引脚相连,第一I2C从设备300的串行时钟线引脚pad_scl通过串行时钟线SCL与I2C主设备500的串行时钟线引脚相连。将第二I2C从设备400与串行时钟线SCL和串行数据线SDA反接:第二I2C从设备400的串行数据线引脚pad_sda通过串行时钟线SCL与I2C主设备500的串行时钟线引脚相连,第二I2C从设备400的串行时钟线引脚pad_scl通过串行数据线SDA与I2C主设备500的串行数据线引脚相连。
请参考图4所示,其为本发明在一个实施例中如图3所示的I2C从设备的静态地址的自动修改方法的流程图。图4所示的I2C从设备的静态地址的自动修改方法包括如下步骤。
步骤610、提供第一I2C从设备300和第二I2C从设备400,其中,第一I2C从设备300和第二I2C从设备400的电路结构与图1所示的I2C从设备的电路结构完全相同,且第一I2C从设备300和第二I2C从设备400的静态地址也相同。
步骤620、将第一I2C从设备300与串行时钟线SCL和串行数据线SDA正接,即将第一I2C从设备300的串行数据线引脚pad_sda通过串行数据线SDA与I2C主设备500的串行数据线引脚相连,将第一I2C从设备300的串行时钟线引脚pad_scl通过串行时钟线SCL与I2C主设备500的串行时钟线引脚相连。
步骤630、将第二I2C从设备400与串行时钟线SCL和串行数据线SDA反接,即将第二I2C从设备400的串行数据线引脚pad_sda通过串行时钟线SCL与I2C主设备500的串行时钟线引脚相连,将第二I2C从设备400的串行时钟线引脚pad_scl通过串行数据线SDA与I2C主设备500的串行数据线引脚相连。
步骤640、在第一I2C从设备400与I2C主设备500发起通信时,控制模块320检测到串行数据线引脚pad_sda最先拉低,则控制模块320维持切换模块310工作在默认状态,使第一I2C从设备300维持当前的静态地址。
步骤650、在第二I2C从设备400与I2C主设备500发起通信时,控制模块420检测到串行时钟线引脚pad_scl最先拉低,则控制模块420控制切换模块410工作在切换状态,并使第二I2C从设备400当前的静态地址的至少1位取反以修改静态地址。
请参考图5所示,其为本发明在一个实施例中如图3所示的第一I2C从设备正接时各个信号的波形示意图;请参考图6所示,其为本发明在一个实施例中如图3所示的第二I2C从设备反接时各个信号的波形示意图。
综上所述,本发明提供一种I2C从设备及其静态地址的自动修改方法,当静态地址完全相同的两个I2C从设备与I2C连接时,将其中一个正接,另一个反接,正接的I2C从设备的静态地址保持不变,反接的I2C从设备的静态地址最高位或任意多位取反,以修改静态地址,从而使这两个I2C从设备相区别,这样用户在通信前就不需要额外地进行地址初始化操作。
在本发明中,“连接”、“相连”、“连”、“接”等表示电性连接的词语,如无特别说明,则表示直接或间接的电性连接。
以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。
Claims (9)
1.一种I2C从设备,其特征在于,其包括:
串行时钟线引脚pad_scl,其通过串行时钟线与I2C主设备的串行时钟线引脚相连,或通过串行数据线与所述I2C主设备的串行数据线引脚相连;
串行数据线引脚pad_sda,其通过串行数据线与所述I2C主设备的串行数据线引脚相连,或通过串行时钟线与所述I2C主设备的串行时钟线引脚相连;
内部串行时钟线scl_in;
内部串行数据线sda_in;
切换模块,其与所述串行时钟线引脚pad_scl、串行数据线引脚pad_sda、内部串行时钟线scl_in和内部串行数据线sda_in相连,所述切换模块能够工作在默认状态或切换状态,在默认状态下,所述串行时钟线引脚pad_scl通过所述切换模块与所述内部串行时钟线scl_in相连,所述串行数据线引脚pad_sda通过所述切换模块与内部串行数据线sda_in相连;在切换状态下,所述串行时钟线引脚pad_scl通过所述切换模块与所述内部串行数据线sda_in相连,所述串行数据线引脚pad_sda通过所述切换模块与所述内部串行时钟线scl_in相连,
控制模块,其第一检测端1与所述内部串行时钟线scl_in相连,其第二检测端2与所述内部串行数据线sda_in相连,其输出端输出控制信号给所述切换模块的控制端,所述控制模块被配置的在与所述I2C主设备发起通信时检测所述内部串行时钟线scl_in和所述内部串行数据线sda_in哪个最先拉低,若检测到所述内部串行数据线sda_in最先拉低,则所述控制模块维持所述切换模块工作在默认状态,使所述I2C从设备维持当前的静态地址;若检测到所述内部串行时钟线scl_in最先拉低,则所述控制模块控制所述切换模块工作在切换状态,并使所述I2C从设备当前的静态地址的至少1位取反以修改静态地址。
2.根据权利要求1所述的I2C从设备,其特征在于,
若检测到所述内部串行数据线sda_in最先拉低,意味着所述I2C从设备与串行时钟线和串行数据线正接:所述I2C从设备的串行时钟线引脚pad_scl通过串行时钟线与所述I2C主设备的串行时钟线引脚相连;所述I2C从设备的串行数据线引脚pad_sda通过串行数据线与所述I2C主设备的串行数据线引脚相连,
若检测到所述内部串行时钟线scl_in最先拉低,意味着所述I2C从设备与串行时钟线和串行数据线反接:所述I2C从设备的串行时钟线引脚pad_scl通过串行数据线与所述I2C主设备的串行数据线引脚相连;所述I2C从设备的串行数据线引脚pad_sda通过串行时钟线与所述I2C主设备的串行时钟线引脚相连。
3.根据权利要求2所述的I2C从设备,其特征在于,
所述控制模块用于产生并输出第一控制信号exchange和第二控制信号no_exchange给所述切换模块的控制端,
若检测到所述内部串行数据线sda_in最先拉低,则所述控制模块使得第二控制信号no_exchange由默认值跳变为有效值,其维持所述切换模块工作在默认状态,并使所述I2C从设备维持当前的静态地址;
若检测到所述内部串行时钟线scl_in最先拉低,则所述控制模块使得所述第一控制信号exchange由默认值跳变为有效值,其控制所述切换模块工作在切换状态,并使所述I2C从设备当前的静态地址的至少1位取反以修改静态地址。
4.根据权利要求1所述的I2C从设备,其特征在于,
将所述I2C从设备当前的静态地址的最高位或任意多位取反,以修改静态地址。
5.根据权利要求3所述的I2C从设备,其特征在于,
所述第一控制信号exchange是所述内部串行时钟线scl_in的时钟域,默认值为0,有效值为1;
所述第二控制信号no_exchange是所述内部串行数据线sda_in的时钟域,默认值为0,有效值为1。
6.根据权利要求3所述的I2C从设备,其特征在于,
所述第一控制信号exchange和第二控制信号no_exchange不能同时为有效值。
7.根据权利要求3所述的I2C从设备,其特征在于,
所述第一控制信号exchange为有效值后,只能被复位才会清零;
所述第二控制信号no_exchange为有效值后,只能被复位才会清零。
8.一种I2C从设备的静态地址的自动修改方法,其特征在于,其包括:
提供如权利要求1-7任一所述的I2C从设备;
将所述串行时钟线引脚pad_scl通过串行时钟线与I2C主设备的串行时钟线引脚相连,或通过串行数据线与所述I2C主设备的串行数据线引脚相连;
将所述串行数据线引脚pad_sda通过串行数据线与所述I2C主设备的串行数据线引脚相连,或通过串行时钟线与所述I2C主设备的串行时钟线引脚相连;
在与所述I2C主设备发起通信时,所述控制模块检测所述内部串行时钟线scl_in和所述内部串行数据线sda_in哪个最先拉低;
若检测到所述内部串行数据线sda_in最先拉低,则所述控制模块维持所述切换模块工作在默认状态,并使所述I2C从设备维持当前的静态地址;
若检测到所述内部串行时钟线scl_in最先拉低,则所述控制模块控制所述切换模块工作在切换状态,并使所述I2C从设备当前的静态地址的至少1位取反以修改静态地址。
9.一种I2C从设备的静态地址的自动修改方法,其特征在于,其包括:
提供第一I2C从设备和第二I2C从设备,所述第一I2C从设备和第二I2C从设备为如权利要求1-7任一所述的I2C从设备,且所述第一I2C从设备和第二I2C从设备的静态地址相同;
将所述第一I2C从设备的串行数据线引脚pad_sda通过串行数据线SDA与I2C主设备的串行数据线引脚相连,将所述第一I2C从设备的串行时钟线引脚pad_scl通过串行时钟线SCL与所述I2C主设备的串行时钟线引脚相连;
将所述第二I2C从设备的串行数据线引脚pad_sda通过串行时钟线SCL与所述I2C主设备的串行时钟线引脚相连,将所述第二I2C从设备的串行时钟线引脚pad_scl通过串行数据线SDA与所述I2C主设备的串行数据线引脚相连;
在所述第一I2C从设备与所述I2C主设备发起通信时,所述第一I2C从设备的控制模块检测到串行数据线引脚pad_sda最先拉低,则所述第一I2C从设备的控制模块维持所述第一I2C从设备的切换模块工作在默认状态,使所述第一I2C从设备维持当前的静态地址;
在所述第二I2C从设备与所述I2C主设备发起通信时,所述第二I2C从设备的控制模块检测到串行时钟线引脚pad_scl最先拉低,则所述第二I2C从设备的控制模块控制所述第二I2C从设备的切换模块工作在切换状态,并使所述第二I2C从设备当前的静态地址的至少1位取反以修改静态地址。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311081341.1A CN117112478A (zh) | 2023-08-24 | 2023-08-24 | 一种i2c从设备及其静态地址的自动修改方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311081341.1A CN117112478A (zh) | 2023-08-24 | 2023-08-24 | 一种i2c从设备及其静态地址的自动修改方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117112478A true CN117112478A (zh) | 2023-11-24 |
Family
ID=88808747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311081341.1A Pending CN117112478A (zh) | 2023-08-24 | 2023-08-24 | 一种i2c从设备及其静态地址的自动修改方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112478A (zh) |
-
2023
- 2023-08-24 CN CN202311081341.1A patent/CN117112478A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7849244B2 (en) | Apparatus for resolving conflicts happened between two I2C slave devices with the same addressed address in computer system | |
US5592633A (en) | Integrated circuit interface to control bus with either of two different protocol standards | |
US20060123168A1 (en) | System and method for dynamically allocating addresses to devices coupled to an integrated circuit bus | |
CN107066746B (zh) | 基于i2c接口通过cpld来实现pca9555功能的方法 | |
CN109359073B (zh) | 一种基于spi总线的设备间通信方法及装置 | |
CN216561769U (zh) | I2c通信设备及通信系统 | |
US9684619B2 (en) | I2C router system | |
US9197394B2 (en) | Clock for serial communication device | |
US11127468B2 (en) | Method for addressing a non-volatile memory on I2C bus and corresponding memory device | |
US6874050B2 (en) | Circuit and method for expanding a serial bus | |
CN114020673A (zh) | 自动跳线装置及通信设备 | |
US6438624B1 (en) | Configurable I/O expander addressing for I/O drawers in a multi-drawer rack server system | |
US7043592B2 (en) | External bus controller | |
CN101685433B (zh) | 由主装置指定地址的串联总线装置 | |
CN109101448B (zh) | 地址扩展电路和具有该电路的i2c通信接口芯片 | |
CN117112478A (zh) | 一种i2c从设备及其静态地址的自动修改方法 | |
CN216561773U (zh) | 自动跳线装置及通信设备 | |
CN116258113A (zh) | 一种多协议低速总线接口芯片架构 | |
CN113032321B (zh) | 地址扩展电路、通信接口芯片及通信系统 | |
KR102044212B1 (ko) | I2c 통신 프로토콜을 이용하는 복수 개의 슬레이브 장치에 서로 다른 주소를 자동으로 할당하는 방법 및 이를 위한 장치 | |
CN111913904B (zh) | 向利用主从通信协议的多个从属装置自动分配互不相同地址的方法及用于其的装置 | |
TWM321548U (en) | Control device for level shift of IIC | |
US7826402B2 (en) | Signal transfer systems and methods | |
JP3664387B2 (ja) | バストリガ回路とそれを用いた波形測定装置 | |
US20060200604A1 (en) | Method for dynamically identifying addresses of devices coupled to an integrated circuit bus |
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 |