I2C总线地址自适应系统及其自适应方法与流程

文档序号:35205919发布日期:2023-08-22 17:34阅读:35来源:国知局
I2C总线地址自适应系统及其自适应方法与流程

本发明涉及通信设备,尤其涉及i2c总线地址自适应系统及其自适应方法。


背景技术:

1、i2c总线是一种串行通信总线,其接口通用器件的器件地址是由种类型号和寻址码组成的,共7位。如图3所示,在i2c通信过程中,每个设备都必须有一个唯一的不重复地址才能正确实现主从设备之间的通信。

2、但在如果在某些特殊的情况下需访问多个同类型的i2c芯片,现有技术需要在软件上通过增加微控制器上i2c总线端口来实现总线控制切换,但对于一些资源紧张的微控制器来说这个方法往往不太容易实现;当然也可以在硬件上使用i2c多路复用器通过轮询输入的方式交换通信通道。这两种方法都会增加i2c的使用复杂度,使得应用层再访问这些i2c设备时变得复杂。


技术实现思路

1、本发明解决的技术问题是:解决了使用同一类型i2c器件的地址冲突问题,实现了i2c设备的地址自动适应。

2、本发明的目的是通过以下技术方案来实现的:

3、 i2c总线地址自适应系统,包括微控制器,两个分属同类型的从设备,单路scl线和单路sda线;所述从设备包括i2c器件和识别模块;所述微控制器包括scl线和sda线;所述i2c器件均包括scl线和sda线;所述两个分属同类型的从设备与微控制器级联。

4、具体地,所述i2c器件的scl线与所述单路scl线连接,sda线与所述单路sda线连接。

5、具体地,所述i2c器件的scl线与所述单路sda线连接,sda线与所述单路scl线连接。

6、i2c总线地址自适应方法,基于所述的i2c总线地址自适应系统将两个同类型的从设备与微控制器实现连接,当微控制器i2c连接方式为正接时(微控制器的scl线接i2c器件的scl线,微控制器的sda线接i2c器件的sda线),包括以下步骤:

7、步骤一:从设备收到微控制器发送的start信号时,从识别模块优先收到第一个sda的下降沿信号,并根据此下降沿信号及此时刻总线上的scl信号将识别模块中的可能为正常连接的信号位置为高电平(maybenormal = 1);

8、步骤二:当从设备收到微控制器发送的scl下降沿电平来到时,识别模块会根据此下降沿信号和此时刻的总线上的sda信号时将识别模块中的可能为交换连接信号位置为低电平(maybeswapped = 0);

9、步骤三:当从设备收到微控制器发送stop信号时,识别模块优先收到scl上升沿信号,识别模块会根据总线上的sda信号及所述的可能交换连接信号(maybeswapped = 0)一起去确定是否需要将交换信号置为低电平(isswapped = 0);

10、步骤四:当从设备收到微控制器发送来的sda上升沿信号时,识别模块会根据总线上scl上的数据及所述的可能正常连接信号(maybenormal = 1)确认是否需要将正常信号置为高电平(isnoramal = 1);

11、步骤五:基于低电平isswapped和高电平isnormal两个信号,判定从设备与主设备的scl和sda信号未交换,识别模块直接将微控制器发送来的scl信号接入给从设备的scl,sda信号接入给从设备的sda同时维持从设备的设备地址为a。

12、具体地,当微控制器i2c连接方式为反接时(微控制器的scl线接i2c器件的sda线,微控制器的sda线接i2c器件的scl线),包括以下步骤:

13、步骤1:从设备收到微控制器发送的start信号时,其内部总线交换识别模块会优先接收到微控制器发送过来的scl下降沿,并根据此scl的下降沿信号及此时刻的总线上的sda信号时将识别模块中的可能为反向连接信号置为高电平(maybeswapped = 1);

14、步骤2:从设备中的识别模块第二个会收到微控制器发送过来的sda下降沿信号,并根据此sda的下降沿信号及此时刻总线上的scl信号将识别模块中的可能为正向连接信号置为低电平(maybenormal = 0);

15、步骤3:从设备中收到微控制器发送的stop信号时,其中的识别模块会优先收到sda的上升沿跳变信号,此时识别模块会同时判读总线上scl的数据(sclfrombus)及所述的的可能正常连接信号(maybenormal)确认是否需要将正向连接信号置为低电平(isnoramal= 0);

16、步骤4:从设备中收到微控制器发送的stop信号时,从设备中的识别模块在收到scl的上升沿跳变信号,此时内别模块会根据总线上sda的数据(sdafrombus)以及所述的可能为反向连接信号(maybeswapped)确认是否需要将交换信号置为高电平(isswapped =1);

17、步骤5:基于高电平isswapped和低电平isnormal信号,判定从设备的scl和sda信号判断为未交换,识别模块将微控制器发送的scl信号接入给从设备的sda中,将sda信号接入给从设备的scl,同时动态切换从设备的设备地址为b。

18、具体地,还包括通信前的步骤:微控制器在与从设备开始通信前,发送一字节的数据给从设备。

19、具体地,所述从设备的i2c地址的自动识别仅需要微控制器后发送一次完整的i2c时序,而在后面的微控制器和从设备发送的i2c通信过程中不需要再次进行i2c总线地址的自动识别。

20、本发明的有益效果:

21、通过直接反向连接i2c器件,并利用微控制器与从设备的第一次通信达到i2c总线地址的自动适应,从而解决了使用同一类型i2c器件的地址冲突问题,而且也无需增加额外的地址自适应芯片或接口,实现了i2c设备的地址自动适应,也便于更好的管理i2c总线上的设备。



技术特征:

1. i2c总线地址自适应系统,其特征在于,包括微控制器,两个分属同类型的从设备,单路scl线和单路sda线;所述从设备包括i2c器件和识别模块;所述微控制器包括scl线和sda线;所述i2c器件均包括scl线和sda线;所述两个分属同类型的从设备与微控制器级联。

2.根据权利要求1所述的i2c总线地址自适应系统,其特征在于,所述i2c器件的scl线与所述单路scl线连接,sda线与所述单路sda线连接。

3.根据权利要求1所述的i2c总线地址自适应系统,其特征在于,所述i2c器件的scl线与所述单路sda线连接,sda线与所述单路scl线连接。

4.i2c总线地址自适应方法,基于权利要求1-3所述的i2c总线地址自适应系统将两个同类型的从设备与微控制器实现连接,其特征在于,当微控制器i2c连接方式为正接时(微控制器的scl线接i2c器件的scl线,微控制器的sda线接i2c器件的sda线),包括以下步骤:

5.根据权利要求4所述的i2c总线地址自适应方法,其特征在于,当微控制器i2c连接方式为反接时(微控制器的scl线接i2c器件的sda线,微控制器的sda线接i2c器件的scl线),包括以下步骤:

6.根据权利要求5所述的i2c总线地址自适应方法,其特征在于,还包括通信前的步骤:微控制器在与从设备开始通信前,发送一字节的数据给从设备。

7.根据权利要求6所述的i2c总线地址自适应方法,其特征在于,所述从设备的i2c地址的自动识别仅需要微控制器后发送一次完整的i2c时序,而在后面的微控制器和从设备发送的i2c通信过程中不需要再次进行i2c总线地址的自动识别。


技术总结
本发明公开了I2C总线地址自适应系统及其自适应方法,其中系统包括微控制器,分属给同一从设备的两个I2C器件,单路SCL线和单路SDA线;所述微控制器包括SCL线和SDA线;所述I2C器件均包括SCL线和SDA线。其中方法包括微控制器I2C连接方式为正接和微控制器I2C连接方式为反接两种方法。本发明通过直接反向连接I2C器件,并利用微控制器与从设备的第一次通信达到I2C总线地址的自动适应,从而解决了使用同一类型I2C器件的地址冲突问题,而且也无需增加额外的地址自适应芯片或接口,实现了I2C设备的地址自动适应,也便于更好的管理I2C总线上的设备。

技术研发人员:胡勇,滕鑫莉
受保护的技术使用者:成都维客昕微电子有限公司
技术研发日:
技术公布日:2024/1/14
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1