CN116955265A - 一种i2c总线系统通信方法、装置、设备及介质 - Google Patents

一种i2c总线系统通信方法、装置、设备及介质 Download PDF

Info

Publication number
CN116955265A
CN116955265A CN202311212240.3A CN202311212240A CN116955265A CN 116955265 A CN116955265 A CN 116955265A CN 202311212240 A CN202311212240 A CN 202311212240A CN 116955265 A CN116955265 A CN 116955265A
Authority
CN
China
Prior art keywords
slave
bus system
bus
addresses
communication
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
Application number
CN202311212240.3A
Other languages
English (en)
Other versions
CN116955265B (zh
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.)
Hefei Chuangfa Microelectronics Co ltd
Original Assignee
Hefei Chuangfa Microelectronics 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 Hefei Chuangfa Microelectronics Co ltd filed Critical Hefei Chuangfa Microelectronics Co ltd
Priority to CN202311212240.3A priority Critical patent/CN116955265B/zh
Publication of CN116955265A publication Critical patent/CN116955265A/zh
Application granted granted Critical
Publication of CN116955265B publication Critical patent/CN116955265B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F13/4068Electrical coupling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0016Inter-integrated circuit (I2C)

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)
  • Small-Scale Networks (AREA)

Abstract

本发明提出了一种I2C总线系统通信方法、装置、设备及介质,涉及I2C通信领域,该方法包括:实时监控并解析当前I2C总线系统中每个主机连续发送的I2C总线数据封装包;当任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成当前I2C总线系统中所述主机对应的预设识别通信码时,将下一个I2C总线数据封装包中从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与当前I2C总线系统中对应所述主机进行通信,有效地提高了I2C总线系统通信的灵活性以及从机的通信利用率。

Description

一种I2C总线系统通信方法、装置、设备及介质
技术领域
本发明涉及I2C通信领域,尤其是涉及一种I2C总线系统通信方法、装置、设备及介质。
背景技术
一般I2C(Inter-Integrated Circuit,串行通信总线)通信,需要主机与从机双方指定好slave address(从机地址),然后才能通信。
一个I2C总线系统上可以有多主机与多从机配置,为了展示方便简化,以单一主机为例进行说明,如图1所示。一个I2C总线系统中每个从机(从机1、从机2、从机3……从机N)都具有一个唯一不重复的从机地址来与主机进行通信,主机会使用从机地址来对目标从机通信。
相关技术中,从机的通信地址一般均是固定的,例如,如申请号为CN202310244987.0公开的基于I2C的设备通信方法,公开了主设备向各从设备的固定地址发起呼叫,所述从设备具有两类地址,分别为固定地址和事务地址;(2)处于准备状态下的从设备通过修改事务地址的大小表征事务的优先级,并向主设备发出响应,并将事务地址通过固定地址呼叫反馈给主设备,所述准备状态是指有事务需要与主设备通信处理的状态;(3)主设备获取到事务优先级最高的从设备的事务地址,然后通过访问事务地址和该从设备进行通信;(4)优先级最高的从设备处理完成后,依据当前实时状态调整自己的事务地址;(5)返回步骤(1);虽然也可以实现一个I2C总线系统中主机与从机的通信,但是,从机地址固定,仅可以使得该从机在一个固定的I2C总线系统中,与主机进行通信,不可以被应用到不同的I2C总线系统上,使得I2C总线系统通信的灵活性以及从机的通信利用率不高。
为解决现有技术中I2C总线系统通信的灵活性以及从机的通信利用率不高的问题,现提出本方案。
发明内容
本发明为了解决现有技术中存在的问题,创新提出了一种I2C总线系统通信方法、装置、设备及介质,有效解决由于现有技术造成I2C总线系统通信的灵活性以及从机的通信利用率不高的问题,有效地提高了I2C总线系统通信的灵活性以及从机的通信利用率。
本发明第一方面提供了一种I2C总线系统通信方法,运行于新接入I2C总线系统的从机中,包括:
实时监控并解析当前I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;
当任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成当前I2C总线系统中所述主机对应的预设识别通信码时,新接入当前I2C总线系统的从机,将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与当前I2C总线系统中对应所述主机进行通信,以便于新接入当前I2C总线系统的从机适用于不同的I2C总线系统中。
可选地,所述新接入当前I2C总线系统的从机的通信地址与当前I2C总线系统的其他已存在的从机的通信地址均不同。
可选地,所述预设识别通信码包括相邻的至少两组格式一致的从机地址,每个从机地址位于一个I2C总线数据封装包中,且相邻的从机地址对应的I2C总线数据封装包连续。
进一步地,所述预设识别通信码中的每个从机地址均为在当前I2C总线系统中不存在的从机地址。
进一步地,所述预设识别通信码中,不同从机地址之间递增,或递减,或满足预设地址间隔,或满足预设运算规则;所述预设运算规则包括加法、减法、逻辑与、逻辑或。
可选地,所述预设组合规则具体为:
将在构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址之间,按照预设运算规则进行计算后的从机地址,作为得到的从机地址,所述预设运算规则包括加法、减法、逻辑与、逻辑或。
进一步地,所述新接入当前I2C总线系统的从机在当前I2C总线系统接入到新的I2C总线系统时,删除从机在当前I2C总线系统的通信地址后,实时监控并解析新的I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;当新的I2C系统中任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成新的I2C总线系统中所述主机对应的预设识别通信码时,从机将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与新的I2C总线系统中对应所述主机进行通信。
本发明第二方面提供了一种I2C总线系统通信装置,运行于新接入I2C总线系统的从机中,包括:
监控及解析模块,实时监控并解析当前I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;
识别及通信模块,当任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成当前I2C总线系统中所述主机对应的预设识别通信码时,新接入当前I2C总线系统的从机,将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与当前I2C总线系统中对应所述主机进行通信,以便于新接入当前I2C总线系统的从机适用于不同的I2C总线系统中。
本发明第三方面提供了一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如本发明第一方面所述的一种I2C总线系统通信方法的步骤。
本发明第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面所述的一种I2C总线系统通信方法的步骤。
本发明采用的技术方案包括以下技术效果:
1、本发明技术方案中实时监控并解析当前I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;当任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成当前I2C总线系统中所述主机对应的预设识别通信码时,新接入当前I2C总线系统的从机,将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与当前I2C总线系统中对应所述主机进行通信,以便于新接入当前I2C总线系统的从机适用于不同的I2C总线系统中,而且不需要当前I2C系统的主机主动发送从机地址,不占用或影响当前I2C总线系统中的主机的业务,有效解决由于现有技术造成I2C总线系统通信的灵活性以及从机的通信利用率不高的问题,有效地提高了I2C总线系统通信的灵活性以及从机的通信利用率。
2、本发明技术方案中新接入当前I2C总线系统的从机的通信地址与当前I2C总线系统的其他已存在的从机的通信地址均不同,以避免当前I2C总线系统中的从机之间彼此干扰。
3、本发明技术方案中预设识别通信码包括相邻的至少两组格式一致的从机地址,每个从机地址位于一个I2C总线数据封装包中,且相邻的从机地址对应的I2C总线数据封装包连续,每个从机地址均为在当前I2C总线系统中不存在的从机地址;不同从机地址之间递增,或递减,或满足预设地址间隔,或满足预设运算规则,提高了预设识别通信码的灵活性以及适应性。
4、本发明技术方案中新接入当前I2C总线系统的从机在当前I2C总线系统接入到新的I2C总线系统时,删除从机在当前I2C总线系统的通信地址后,实时监控并解析新的I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;当新的I2C系统中任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成新的I2C总线系统中所述主机对应的预设识别通信码时,从机将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与新的I2C总线系统中对应所述主机进行通信,提高了新接入当前I2C总线系统的从机在不同的I2C总线系统中的适用性。
5、本发明技术方案可让一个从机不需事先设定一个固定的从机地址,可以在运作时实时由当前I2C总线系统中的主机分配一个不重复的从机地址,例如一个新的从机被接入一个I2C总线系统时可以实时被该I2C总线系统中的某一主机分配一个从机地址,这样此从机可以被应用到不同的I2C总线系统上,而又不担心与当前I2C总线系统上的既有从机地址重复。
应当理解的是以上的一般描述以及后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
为了更清楚说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见的,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术中I2C总线系统中主机与从机的通信示意图;
图2为本发明方案中实施例一方法的流程示意图;
图3为本发明方案中实施例一方法中每个I2C总线数据封装包的组成示意图;
图4为本发明方案中实施例一方法中当前I2C总线系统中主机e与新接入当前I2C总线系统中从机E的通信示意图;
图5为本发明方案中实施例一方法中预设识别通信码为某一主机连续发送的三个I2C总线数据封装包中的从机地址时,该主机连续发送的四个I2C总线数据封装包中的从机地址示意图;
图6为本发明方案中实施例一方法中新的I2C总线系统中主机e1与新接入新的I2C总线系统中从机E的通信示意图;
图7为本发明方案中实施例二装置的结构示意图;
图8为本发明方案中实施例三设备的结构示意图。
具体实施方式
为能清楚说明本方案的技术特点,下面通过具体实施方式,并结合其附图,对本发明进行详细阐述。下文的公开提供了许多不同的实施例或例子用来实现本发明的不同结构。为了简化本发明的公开,下文中对特定例子的部件和设置进行描述。此外,本发明可以在不同例子中重复参考数字和/或字母。这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施例和/或设置之间的关系。应当注意,在附图中所图示的部件不一定按比例绘制。本发明省略了对公知组件和处理技术及工艺的描述以避免不必要地限制本发明。
实施例一
如图2所示,本发明提供了一种I2C总线系统通信方法,运行于新接入I2C总线系统的从机中,包括:
S1,实时监控并解析当前I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;
S2,当任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成当前I2C总线系统中所述主机对应的预设识别通信码时,新接入当前I2C总线系统的从机将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与当前I2C总线系统中对应所述主机进行通信,以便于新接入当前I2C总线系统的从机适用于不同的I2C总线系统中。
其中,在步骤S1中,如图3所示,I2C总线数据封装包一般包括从机地址(slaveaddress)、数据1(Data1)、数据2(Data2)等,数据1(Data1)、数据2(Data2)……数据N(DataN)构成数据列(但是,数据列只有在从机响应后,主机才会发送,即如果从机地址为在当前I2C总线系统中不存在的从机地址时,主机不会发送数据列),即多笔通信数据。每个I2C总线数据封装包均包括一个从机地址(slave address)。
如图4所示,以三个I2C总线数据封装包以及单个主机为例,进行说明,当一个尚未寻址的从机E(或新接入当前I2C总线系统的从机,简称从机E)接入当前I2C总线系统后,此时当前I2C总线系统中的主机e虽然不能直接与从机E通信,但从机E可开始监听I2C总线上I2C总线系统中的主机e发送的I2C总线数据封装包,本发明实施例让从机E监听当前I2C总线系统中的主机e送出的所有从机地址,并从监听的数据规则来得知主机e所欲分配给从机E的从机地址。
在步骤S2中,新接入当前I2C总线系统的从机的通信地址与当前I2C总线系统的其他已存在的从机的通信地址均不同,一个I2C总线系统通常会在设计时让每个从机都设定一个专有不重复的从机地址,以避免从机之间彼此干扰。
预设识别通信码包括相邻的至少两组格式一致的从机地址,每个从机地址位于一个I2C总线数据封装包中,且相邻的从机地址对应的I2C总线数据封装包连续。
预设识别通信码中的从机地址均为在当前I2C总线系统中不存在的从机地址,预设识别通信码中,不同从机地址之间递增,或递减,或满足预设地址间隔,或满足预设运算规则;所述预设运算规则包括加法、减法、逻辑与、逻辑或。
具体地,如图4所示,以三个I2C总线数据封装包以及单个主机为例,进行说明,预设识别通信码可以是从机E(新接入当前I2C总线系统的从机)在监听到当前I2C总线系统中主机e发送的三个连续的I2C总线数据封装包中的三个连续从机地址时,即知或判定下一个I2C总线数据封装包中的从机地址组合中的从机地址为要分配给从机E的从机地址,从机E将该分配的从机地址作为自身的通信地址,与当前I2C总线系统中对应主机e进行通信。
如图5所示,I2C总线数据封装包1(即构成预设识别通信码对应的第一个I2C总线数据封装包)中的从机地址1,I2C总线数据封装包2中的从机地址2,I2C总线数据封装包3中的从机地址3,I2C总线数据封装包3中的从机地址4,即从机地址1,从机地址2,从机地址3,从机地址4,分别为55h,56h,57h(在当前I2C总线系统中均不存在),44h(在当前I2C总线系统中暂不存在),当从机E监听并解析到I2C总线从机地址组合的从机地址为连续的55h,56h,57h时,判定组成预设识别通信码,即知当前I2C总线系统中的主机e要赋予从机E的从机地址为44h,此后从机E即可用从机地址44h与主机e通信。以上述规则来说主机e可用不存在的连续的三个从机地址来当成预设识别通信码,并指定第4个真正从机目标地址给从机E,只要这三个地址连续即可,例如,12h,13h,14h(在当前I2C总线系统中均不存在) 或31h,32h,33h(在当前I2C总线系统中均不存在)均可符合。上述从机地址的数量与预设间隔说明只是举例说明,本发明不限制具体排列规则,只要事先设定好可供从机E解析识别的预设识别通信码即可,例如,可以是连续递减的从机地址18h,17h,16h(在当前I2C总线系统中均不存在);或预设间隔20h,30h,40h(在当前I2C总线系统中均不存在)等均可作为预设识别通信码;或是预设识别通信码可以不是三组连续的从机地址,例如,可以是连续的两组或五组从机地址;或满足预设运算规则;所述预设运算规则包括加法、减法、逻辑与、逻辑或,例如,可以是20h,30h,50h(在当前I2C总线系统中均不存在)可作为预设识别通信码,或可以是50h,30h,20h(在当前I2C总线系统中均不存在)可作为预设识别通信码等。
其中,预设组合规则具体可以为:在构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址中,将不同的I2C总线系统中不存在的从机地址之间,按照预设运算规则进行计算后的从机地址,作为得到的从机地址,即从机E自身通信地址;例如,I2C总线数据封装包1(即构成预设识别通信码对应的第一个I2C总线数据封装包)中的从机地址1、I2C总线数据封装包2中的从机地址2、I2C总线数据封装包3中的从机地址3,构成预设识别通信码,则得到的从机地址可以是最后一个I2C总线数据封装包3中从机地址3与I2C总线数据封装包2中的从机地址2或I2C总线数据封装包1中的从机地址1的和或差;具体地,例如,从机地址1为20h,从机地址2为30h,从机地址3为40h,则得到的从机地址(与当前I2C总线系统中对应所述主机进行通信的从机地址)为20h+40h=60h或30h+40h=70h或20h+30h=50h(以加法为例,其他运算规则类似);所述预设运算规则包括加法、减法、逻辑与(进行逻辑与时,首先要将从机地址转换为二进制后,再进行)、逻辑或(进行逻辑或时,首先要将从机地址转换为二进制后,再进行)。即本发明既可以在当任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成当前I2C总线系统中所述主机对应的预设识别通信码时,将下一个I2C总线数据封装包中的从机地址作为从机自身的通信地址,也可以根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与当前I2C总线系统中对应所述主机进行通信,保证了I2C总线系统通信的灵活性以及从机的通信利用率。
本发明为当从机E解析到某一主机连续发送的至少两个I2C总线数据封装包中的从机地址组成预设识别通信码后,即可推出目标从机地址,例如通关码是12h,13h,14h(在当前I2C总线系统中均不存在),而目标地址可以是预设识别通信码的连续,即15h(在当前I2C总线系统中暂不存在),也可以是18h(在当前I2C总线系统中暂不存在),本发明在此不做限制。
新接入当前I2C总线系统的从机E中存储有当前I2C总线系统中主机与预设识别通信码的对应关系,根据存储的当前I2C总线系统中主机与预设识别通信码的对应关系,在解析到某一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成当前I2C总线系统中主机对应的预设识别通信码时,新接入当前I2C总线系统的从机将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址;或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,与当前I2C总线系统中对应I2C总线主机e进行通信。
新接入当前I2C总线系统的从机E在由当前I2C总线系统接入到新的I2C总线系统时,删除从机E在当前I2C总线系统的通信地址。
进一步地,如图6所示,新接入当前I2C总线系统的从机E在当前I2C总线系统接入到新的I2C总线系统时,删除从机E在当前I2C总线系统的通信地址后,实时监控并解析新的I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;当新的I2C系统中某一主机e1连续发送的至少两个I2C总线数据封装包中的从机地址,组成新的I2C总线系统中主机e1对应的预设识别通信码时,从机将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与新的I2C总线系统中对应主机e1进行通信。
同时,从机E在接入到新的I2C总线系统时,存储有新的I2C总线系统中主机与预设识别通信码的对应关系,根据存储的新的I2C总线系统中主机与预设识别通信码的对应关系,在解析到某一主机e1连续发送的至少两个I2C总线数据封装包中的从机地址,组成新的I2C总线系统中主机e1对应的预设识别通信码时,从机E将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与新的I2C总线系统中对应I2C总线主机e1进行通信。
新的I2C总线系统中主机e1对应的预设识别通信码的设置规则与当前I2C总线系统中主机e对应的预设识别通信码的设置规则可以保持一致,也可以不同,即不同I2C总线系统中主机对应的预设识别通信码的设置规则可以相同,也可以不同;不同I2C总线系统中主机对应的预设识别通信码可以相同,也可以不同,可以根据实际情况进行灵活调整,本发明在此不做限制。
本发明技术方案中实时监控并解析当前I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;当任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成当前I2C总线系统中所述主机对应的预设识别通信码时,新接入当前I2C总线系统的从机将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与当前I2C总线系统中对应所述主机进行通信,以便于新接入当前I2C总线系统的从机适用于不同的I2C总线系统中,而且不需要当前I2C系统的主机主动发送从机地址,不占用或影响当前I2C总线系统中的主机的业务,有效解决由于现有技术造成I2C总线系统通信的灵活性以及从机的通信利用率不高的问题,有效地提高了I2C总线系统通信的灵活性以及从机的通信利用率。
本发明技术方案中新接入当前I2C总线系统的从机的通信地址与当前I2C总线系统的其他已存在的从机的通信地址均不同,以避免当前I2C总线系统中的从机之间彼此干扰。
本发明技术方案中预设识别通信码包括相邻的至少两组格式一致的从机地址,每个从机地址组位于一个I2C总线数据封装包中,且相邻的从机地址对应的I2C总线数据封装包连续,每个从机地址均为在当前I2C总线系统中不存在的从机地址;不同从机地址之间递增,或递减,或满足预设地址间隔,或满足预设运算规则,提高了预设识别通信码的灵活性以及适应性。
本发明技术方案中新接入当前I2C总线系统的从机在当前I2C总线系统接入到新的I2C总线系统时,删除从机在当前I2C总线系统的通信地址后,实时监控并解析新的I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址组合;当新的I2C系统中任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成新的I2C总线系统中所述主机对应的预设识别通信码时,从机将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址组合进行预设组合规则后得到的从机地址,作为自身的通信地址,与新的I2C总线系统中对应所述主机进行通信,提高了新接入当前I2C总线系统的从机在不同的I2C总线系统中的适用性。
本发明技术方案可让一个从机不需事先设定一个固定的从机地址,可以在运作时实时由当前I2C总线系统中的主机分配一个不重复的从机地址,例如一个新的从机被接入一个I2C总线系统时可以实时被该I2C总线系统中的某一主机分配一个从机地址,这样此从机可以被应用到不同的I2C总线系统上,而又不担心与当前I2C总线系统上的既有从机地址重复。
实施例二
如图7所示,本发明技术方案还提供了一种I2C总线系统通信装置,运行于新接入I2C总线系统的从机中,包括:
监控及解析模块101,实时监控并解析当前I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;
识别及通信模块102,当任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成当前I2C总线系统中所述主机对应的预设识别通信码时,新接入当前I2C总线系统的从机将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与当前I2C总线系统中对应所述主机进行通信,以便于新接入当前I2C总线系统的从机适用于不同的I2C总线系统中。
本实施例二中的监控及解析模块101、识别及通信模块102的实现过程与实施例一中的方法步骤相对应,本实施例二在此不做赘述。
本发明技术方案中实时监控并解析当前I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;当任一主机连续发送的至少两个I2C总线数据封装包中的从机地址组合,组成当前I2C总线系统中所述主机对应的预设识别通信码时,新接入当前I2C总线系统的从机将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与当前I2C总线系统中对应所述主机进行通信,以便于新接入当前I2C总线系统的从机适用于不同的I2C总线系统中,而且不需要当前I2C系统的主机主动发送从机地址,不占用或影响当前I2C总线系统中的主机的业务,有效解决由于现有技术造成I2C总线系统通信的灵活性以及从机的通信利用率不高的问题,有效地提高了I2C总线系统通信的灵活性以及从机的通信利用率。
本发明技术方案中新接入当前I2C总线系统的从机的通信地址与当前I2C总线系统的其他已存在的从机的通信地址均不同,以避免当前I2C总线系统中的从机之间彼此干扰。
本发明技术方案中预设识别通信码包括相邻的至少两组格式一致的从机地址,每个从机地址组合位于一个I2C总线数据封装包中,且相邻的从机地址对应的I2C总线数据封装包连续,每个从机地址均为在当前I2C总线系统中不存在的从机地址;不同从机地址之间递增,或递减,或满足预设地址间隔,或满足预设运算规则,提高了预设识别通信码的灵活性以及适应性。
本发明技术方案中新接入当前I2C总线系统的从机在当前I2C总线系统接入到新的I2C总线系统时,删除从机在当前I2C总线系统的通信地址后,实时监控并解析新的I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;当新的I2C系统中任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成新的I2C总线系统中所述主机对应的预设识别通信码时,从机将下一个I2C总线数据封装包中从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与新的I2C总线系统中对应所述主机进行通信,提高了新接入当前I2C总线系统的从机在不同的I2C总线系统中的适用性。
本发明技术方案可让一个从机不需事先设定一个固定的从机地址,可以在运作时实时由当前I2C总线系统中的主机分配一个不重复的从机地址,例如一个新的从机被接入一个I2C总线系统时可以实时被该I2C总线系统中的某一主机分配一个从机地址,这样此从机可以被应用到不同的I2C总线系统上,而又不担心与当前I2C总线系统上的既有从机地址重复。
实施例三
如图8所示,本发明技术方案还提供了一种电子设备,包括:存储器201,用于存储计算机程序;处理器202,用于执行所述计算机程序时实现如实施例一中的一种I2C总线系统通信方法的步骤。
本申请实施例中的存储器201用于存储各种类型的数据以支持电子设备的操作。这些数据的示例包括:用于在电子设备上操作的任何计算机程序。可以理解,存储器201可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory)、可编程只读存储器(PROM,Programmable Read-Only Memory)、可擦除可编程只读存储器(EPROM,ErasableProgrammable Read-Only Memory)、电可擦除可编程只读存储器(EEPROM,ElectricallyErasable Programmable Read-Only Memory)、磁性随机存取存储器(FRAM,ferromagneticrandom access memory)、快闪存储器(Flash Memory)、磁表面存储器、光盘、或只读光盘(CD-ROM,Compact Disc Read-Only Memory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(RAM,Random AccessMemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(SRAM,Static Random Access Memory)、同步静态随机存取存储器(SSRAM,Synchronous StaticRandom Access Memory)、动态随机存取存储器(DRAM,Dynamic Random Access Memory)、同步动态随机存取存储器(SDRAM,SynchronousDynamic Random Access Memory)、双倍数据速率同步动态随机存取存储器(DDRSDRAM,Double Data Rate Synchronous DynamicRandom Access Memory)、增强型同步动态随机存取存储器(ESDRAM,EnhancedSynchronous Dynamic Random Access Memory)、同步连接动态随机存取存储器(SLDRAM,SyncLink Dynamic Random Access Memory)、直接内存总线随机存取存储器(DRRAM,Direct Rambus Random Access Memory)。本申请实施例描述的存储器201旨在包括但不限于这些和任意其它适合类型的存储器。
上述本申请实施例揭示的方法可以应用于处理器202中,或者由处理器202实现。处理器202可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器202中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器202可以是通用处理器、DSP(Digital Signal Processing,即指能够实现数字信号处理技术的芯片),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器202可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器201,处理器202读取存储器201中的程序,结合其硬件完成前述方法的步骤。处理器202执行所述程序时实现本申请实施例的各个方法中的相应流程,为了简洁,在此不再赘述。
实施例四
本发明技术方案还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如实施例一中的一种I2C总线系统通信方法的步骤。
例如包括存储计算机程序的存储器201,上述计算机程序可由处理器202执行,以完成前述方法所述步骤。计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、FlashMemory、磁表面存储器、光盘、或CD-ROM等存储器。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。或者,本申请上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台电子设备(可以是个人计算机、服务器、或者网络设备等)执行本申请各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

Claims (10)

1.一种I2C总线系统通信方法,其特征是,运行于新接入I2C总线系统的从机中,包括:
实时监控并解析当前I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;
当任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成当前I2C总线系统中所述主机对应的预设识别通信码时,新接入当前I2C总线系统的从机,将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与当前I2C总线系统中对应所述主机进行通信,以便于新接入当前I2C总线系统的从机适用于不同的I2C总线系统中。
2.根据权利要求1所述的一种I2C总线系统通信方法,其特征是,所述新接入当前I2C总线系统的从机的通信地址与当前I2C总线系统的其他已存在的从机的通信地址均不同。
3.根据权利要求2所述的一种I2C总线系统通信方法,其特征是,所述预设识别通信码包括相邻的至少两组格式一致的从机地址,每个从机地址位于一个I2C总线数据封装包中,且相邻的从机地址对应的I2C总线数据封装包连续。
4.根据权利要求3所述的一种I2C总线系统通信方法,其特征是,所述预设识别通信码中的每个从机地址均为在当前I2C总线系统中不存在的从机地址。
5.根据权利要求4所述的一种I2C总线系统通信方法,其特征是,所述预设识别通信码中,不同从机地址之间递增,或递减,或满足预设地址间隔,或满足预设运算规则;所述预设运算规则包括加法、减法、逻辑与、逻辑或。
6.根据权利要求1所述的一种I2C总线系统通信方法,其特征是,所述预设组合规则具体为:
将在构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址之间,按照预设运算规则进行计算后的从机地址,作为得到的从机地址,所述预设运算规则包括加法、减法、逻辑与、逻辑或。
7.根据权利要求1-6任意一项所述的一种I2C总线系统通信方法,其特征是,所述新接入当前I2C总线系统的从机在当前I2C总线系统接入到新的I2C总线系统时,删除从机在当前I2C总线系统的通信地址后,实时监控并解析新的I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;当新的I2C系统中任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成新的I2C总线系统中所述主机对应的预设识别通信码时,从机将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与新的I2C总线系统中对应所述主机进行通信。
8.一种I2C总线系统通信装置,其特征是,运行于新接入I2C总线系统的从机中,包括:
监控及解析模块,实时监控并解析当前I2C总线系统中每个主机连续发送的I2C总线数据封装包,获取每个I2C总线数据封装包中的从机地址;
识别及通信模块,当任一主机连续发送的至少两个I2C总线数据封装包中的从机地址,组成当前I2C总线系统中所述主机对应的预设识别通信码时,新接入当前I2C总线系统的从机将下一个I2C总线数据封装包中的从机地址,作为自身的通信地址,或,根据构成预设识别通信码的至少两个I2C总线数据封装包中的从机地址进行预设组合规则后得到的从机地址,作为自身的通信地址,与当前I2C总线系统中对应所述主机进行通信,以便于新接入当前I2C总线系统的从机适用于不同的I2C总线系统中。
9.一种电子设备,其特征是,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如权利要求1至7任一项所述的一种I2C总线系统通信方法的步骤。
10.一种计算机可读存储介质,其特征是,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的一种I2C总线系统通信方法的步骤。
CN202311212240.3A 2023-09-20 2023-09-20 一种i2c总线系统通信方法、装置、设备及介质 Active CN116955265B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311212240.3A CN116955265B (zh) 2023-09-20 2023-09-20 一种i2c总线系统通信方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311212240.3A CN116955265B (zh) 2023-09-20 2023-09-20 一种i2c总线系统通信方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN116955265A true CN116955265A (zh) 2023-10-27
CN116955265B CN116955265B (zh) 2023-12-05

Family

ID=88442846

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311212240.3A Active CN116955265B (zh) 2023-09-20 2023-09-20 一种i2c总线系统通信方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN116955265B (zh)

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080485A1 (en) * 2004-09-21 2006-04-13 Renesas Technology Corp. Bus system and semiconductor integrated circuit
US20100306431A1 (en) * 2009-05-28 2010-12-02 Christopher Alan Adkins Dynamic Address Change for Slave Devices on a Shared Bus
US20110197000A1 (en) * 2010-02-05 2011-08-11 Hon Hai Precision Industry Co., Ltd. Master-slave device communication circuit and id address setting method thereof
WO2013105963A1 (en) * 2012-01-12 2013-07-18 Intel Corporation Pcie smbus slave address self-selection
US8631179B1 (en) * 2011-09-25 2014-01-14 Maxim Integrated Products, Inc. System and method for automatically assigning bus addresses to slave devices
CN106610906A (zh) * 2015-10-27 2017-05-03 深圳市中兴微电子技术有限公司 一种数据访问方法及总线
CN110290227A (zh) * 2019-05-28 2019-09-27 广州大学 集成电路总线地址的动态分配方法、系统及存储介质
CN111294413A (zh) * 2018-12-06 2020-06-16 航天信息股份有限公司 一种互联网协议ip地址的确定方法、装置和可读介质
WO2021058123A1 (de) * 2019-09-23 2021-04-01 Infineon Technologies Ag Slaveeinrichtung, bussystem und verfahren
CN113572674A (zh) * 2021-09-26 2021-10-29 北京芯格诺微电子有限公司 一种单线总线的链式连接通讯方法
US20220276972A1 (en) * 2021-02-26 2022-09-01 Stmicroelectronics (Rousset) Sas Communication on an i2c bus
CN115314470A (zh) * 2022-06-29 2022-11-08 广东南控云图科技有限公司 一种rs-485组网通信地址自动分配方法、主机、从机及系统
CN115982072A (zh) * 2023-03-16 2023-04-18 中京科信技术有限公司 信息通信方法、装置、计算机设备和存储介质

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060080485A1 (en) * 2004-09-21 2006-04-13 Renesas Technology Corp. Bus system and semiconductor integrated circuit
US20100306431A1 (en) * 2009-05-28 2010-12-02 Christopher Alan Adkins Dynamic Address Change for Slave Devices on a Shared Bus
US20110197000A1 (en) * 2010-02-05 2011-08-11 Hon Hai Precision Industry Co., Ltd. Master-slave device communication circuit and id address setting method thereof
US8631179B1 (en) * 2011-09-25 2014-01-14 Maxim Integrated Products, Inc. System and method for automatically assigning bus addresses to slave devices
WO2013105963A1 (en) * 2012-01-12 2013-07-18 Intel Corporation Pcie smbus slave address self-selection
CN106610906A (zh) * 2015-10-27 2017-05-03 深圳市中兴微电子技术有限公司 一种数据访问方法及总线
CN111294413A (zh) * 2018-12-06 2020-06-16 航天信息股份有限公司 一种互联网协议ip地址的确定方法、装置和可读介质
CN110290227A (zh) * 2019-05-28 2019-09-27 广州大学 集成电路总线地址的动态分配方法、系统及存储介质
WO2021058123A1 (de) * 2019-09-23 2021-04-01 Infineon Technologies Ag Slaveeinrichtung, bussystem und verfahren
US20220276972A1 (en) * 2021-02-26 2022-09-01 Stmicroelectronics (Rousset) Sas Communication on an i2c bus
CN113572674A (zh) * 2021-09-26 2021-10-29 北京芯格诺微电子有限公司 一种单线总线的链式连接通讯方法
CN115314470A (zh) * 2022-06-29 2022-11-08 广东南控云图科技有限公司 一种rs-485组网通信地址自动分配方法、主机、从机及系统
CN115982072A (zh) * 2023-03-16 2023-04-18 中京科信技术有限公司 信息通信方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN116955265B (zh) 2023-12-05

Similar Documents

Publication Publication Date Title
US20230259468A1 (en) Multi-core processing system and inter-core communication method therefor, and storage medium
US11341061B2 (en) Address translation method, apparatus, and system
US10339079B2 (en) System and method of interleaving data retrieved from first and second buffers
EP2919120A1 (en) Memory monitoring method and related device
CN116431530B (zh) 一种cxl内存模组、内存的处理方法及计算机系统
CN113127177A (zh) 处理装置及分布式处理系统
CN116955265B (zh) 一种i2c总线系统通信方法、装置、设备及介质
CN114416470A (zh) 一种云端监控方法、系统、设备及计算机存储介质
CN112817899B (zh) 基于pcie的数据传输方法、装置、存储介质和电子设备
WO2016095644A1 (zh) 数据库的高可用解决方法和装置
KR102303424B1 (ko) 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치
US11960720B2 (en) Data processing method and device
CN103488606A (zh) 基于节点控制器的请求响应方法和装置
CN115543894B (zh) 存储系统、数据处理方法及装置、存储介质及电子设备
CN109144853B (zh) 一种软件定义无线电SoC芯片调试系统
CN111651282B (zh) 报文处理方法、报文处理装置及电子设备
WO2017054405A1 (zh) 一种蓝牙寻呼方法和装置
CN115729849A (zh) 内存管理方法及计算设备
CN112423117B (zh) Web端视频播放方法、装置及计算机设备
US7350053B1 (en) Software accessible fast VA to PA translation
CN113904953B (zh) 通信设备的离线检测方法、装置和设备
CN115604688A (zh) 设备地址分配方法、装置、电子设备及存储介质
CN116107937A (zh) 数据处理方法、装置、电子设备及存储介质
CN117896351A (zh) 从机地址更新方法及相关装置
CN113810510A (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
GR01 Patent grant
GR01 Patent grant