CN111552658B - 一种通信方法、通信控制装置及i2c总线系统 - Google Patents

一种通信方法、通信控制装置及i2c总线系统 Download PDF

Info

Publication number
CN111552658B
CN111552658B CN202010307182.2A CN202010307182A CN111552658B CN 111552658 B CN111552658 B CN 111552658B CN 202010307182 A CN202010307182 A CN 202010307182A CN 111552658 B CN111552658 B CN 111552658B
Authority
CN
China
Prior art keywords
slave
address
pin
pins
code
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
Application number
CN202010307182.2A
Other languages
English (en)
Other versions
CN111552658A (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.)
Beijing Zhongke Yinxin Technology Co ltd
Original Assignee
Beijing Zhongke Yinxin Technology 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 Beijing Zhongke Yinxin Technology Co ltd filed Critical Beijing Zhongke Yinxin Technology Co ltd
Priority to CN202010307182.2A priority Critical patent/CN111552658B/zh
Publication of CN111552658A publication Critical patent/CN111552658A/zh
Application granted granted Critical
Publication of CN111552658B publication Critical patent/CN111552658B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/404Coupling between buses using bus bridges with address mapping
    • 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

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)
  • Information Transfer Systems (AREA)

Abstract

本发明公开一种通信方法、通信控制装置及I2C总线系统,涉及总线通信技术领域,以解决从机地址引脚多所导致的从机地址修改效率低,应用场景有限的问题。所述通信方法包括:所述从机接收主机发送的寻址编码;所述从机响应寻址编码,确定每个地址引脚电连接的参考引脚的类型的情况下,根据m个地址引脚电连接的参考引脚的类型配置从机地址编码的低2m位;根据寻址编码的低2m位和从机地址编码的低2m位向主机发送链接信号。主机用于根据链接信号确定是否与所述从机建立通信。所述通信控制装置包括上述技术方案所提的通信方法。本发明提供的通信方法用于减少从机地址引脚的数量,提高从机地址的修改效率,增加其应用场景。

Description

一种通信方法、通信控制装置及I2C总线系统
技术领域
本发明涉及总线通信技术领域,尤其涉及一种通信方法、通信控制装置及I2C总线系统。
背景技术
I2C总线是Inter-Integrated Circuit的缩写,发音为"eye-squared cee"or"eye-two-cee",它是是双向、两线、串行以及多主控接口标准,具有总线仲裁机制,适合在器件之间进行近距离、非经常性的数据通讯。在标准的I2C总线协议中,物理层是由两条双向串行线所组成,包括数据线SDA及时钟线SCL。通常I2C通信系统由一个主机及单个或多个从机构成。每个从机一般具有唯一的地址,该地址可用于此从机与主机之间实现通信。
在传统方法中,每个从机的地址通过其地址引脚确定,并与主机所发送的寻址编码一一对应。图1为使用传统方式实现总线上挂载16个不同地址的从机的示意图。如图1所示,为了在总线上搭载16个从机,每个从机需要4个地址引脚A3-A0,此时SDA上由主机发送的7比特寻址编码D6-D0中的高三位码字D6-D4固定,低四位D3-D0用来寻找响应对应地址的从机。由于传统方法中引脚数量以及引脚间距的限制,致使传统方法中的从机地址的修改效率低,应用场景有限。
发明内容
本发明的目的在于提供一种通信方法、通信控制装置及I2C总线系统,用于减少从机地址引脚的数量,提高从机地址的修改效率,增加其应用场景。
为了实现上述目的,本发明提供一种通信方法,应用于具有主机以及多个从机的I2C总线系统,每个所述从机具有m个地址引脚以及n个参考引脚,m考引,m,n均为整数,每个所述地址引脚与相应所述参考引脚电连接,所述参考引脚用于向相应所述地址引脚提供赋值编码;所述通信方法包括:
所述从机接收主机发送的寻址编码;
所述从机响应所述寻址编码,确定每个所述地址引脚电连接的参考引脚的类型的情况下,根据m个所述地址引脚电连接的参考引脚的类型配置从机地址编码的低2m位;
根据所述寻址编码的低2m位和所述从机地址编码的低2m位向所述主机发送链接信号;所述主机用于根据所述链接信号确定是否与所述从机建立通信。
与现有技术相比,本发明提供的通信方法中,从机可响应主机发送的寻址编码,确定每个所述地址引脚电连接的参考引脚的类型的情况下,根据m个所述地址引脚电连接的参考引脚的类型配置从机地址编码的低2m位。由此可见,本发明提供的通信方法确定从机地址编码时,可以利用m个地址引脚配置出的从机地址编码的数据位至少大于2m位。由此可见,本发明的通信方法可以在地址引脚较少的情况下,配置出数据位更多的从机地址编码,以在从机地址引脚较少的情况下,在主机上搭载比较多的从机。由于在搭载同样的从机数量下,本发明的从机地址相较于现有技术中从机地址更少,因此在修改地址引脚时的效率更高。且每两个相邻的地址引脚间需要有固定的间距,因此地址引脚数量越多,从机器件的面积就越大,在对体积有要求的设备中部分从机器件就不能使用,这导致了从机器件的应用场景有限。由上可知,本发明由于地址引脚的减少可以扩大从机器件的应用场景。
本发明还提供了一种通信控制装置,应用于具有主机以及多个从机的I2C总线系统,每个所述从机具有m个地址引脚以及n个参考引脚,m考引,m,n均为整数,每个所述地址引脚与相应所述参考引脚电连接,所述参考引脚用于向相应所述地址引脚提供赋值编码;所述通信控制装置包括:处理器以及与处理器耦合的通信接口;
所述处理器用于运行计算机程序或指令,以实现上述通信方法。
与现有技术相比,本发明提供的通信控制装置的有益效果与上述技术方案所述通信方法的有益效果相同,此处不做赘述。
本发明还提供了I2C总线系统,包括:
主机;
与所述主机通信的多个从机;每个所述从机用于执行权利要求1-6任一项所述通信方法;每个所述从机具有m个地址引脚以及n个参考引脚,m≤n,m,n均为整数,每个所述地址引脚与相应所述参考引脚电连接,所述参考引脚用于向相应所述地址引脚提供赋值编码。
与现有技术相比,本发明提供的I2C总线系统的有益效果与上述技术方案所述通信方法的有益效果相同,此处不做赘述。
本发明还提供了一种计算机存储介质,所述计算机存储介质中存储有指令,当所述指令被运行时,实现上述技术方案所述通信方法。
与现有技术相比,本发明提供的计算机存储介质的有益效果与上述技术方案所述通信方法的有益效果相同,此处不做赘述。
本发明还提供了一种芯片,包括处理器以及与处理器耦合的通信接口;所述处理器用于运行计算机程序或指令,以实现上述技术方案所述通信方法。
与现有技术相比,本发明提供的芯片的有益效果与上述技术方案所述通信方法的有益效果相同,此处不做赘述。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为现有技术中I2C通信实现16个不同地址的从机示意图;
图2为本发明实施例中I2C总线系统的结构示意图;
图3是本发明的实施例中通信方法的实现流程图一;
图4是本发明的实施例中通信方法的实现流程图二;
图5是本发明的实施例中通信方法的实现流程图三;
图6是本发明的实施例中通信方法的实现流程图四;
图7是本发明的实施例中通信方法的实现流程图五;
图8是本发明的实施例中I2C总线上搭载4个从机的示意图;
图9是本发明的实施例中I2C总线上搭载4个从机的实现流程图;
图10是本发明的实施例中I2C总线上搭载16个从机的实现流程图;
图11是本发明的实施例提供的通信控制装置的结构示意图;
图12是本发明的实施例提供的通信控制装置的硬件结构示意图;
图13为本发明实施例提供的芯片的结构示意图。
具体实施方式
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。例如,第一阈值和第二阈值仅仅是为了区分不同的阈值,并不对其先后顺序进行限定。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
需要说明的是,本发明中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
本发明中,“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,a和b的结合,a和c的结合,b和c的结合,或a、b和c的结合,其中a,b,c可以是单个,也可以是多个。
在介绍本发明实施例之前首先对本发明实施例中涉及到的相关名词作如下释义:
I2C总线是由Philips公司开发的一种简单、双向二线制同步串行总线。它只需要两根线即可在连接于总线上的器件之间传送信息。
SCL为时钟线,传递由主控发出的时钟信号,控制数据的传输。上升沿将数据输入到每个EEPROM器件中;下降沿驱动EEPROM器件输出数据。(边沿触发)
SDA为数据线,在CPU与被控IC之间、IC与IC之间进行双向传送。
串行通信技术:指通信双方按位进行,遵守时序的一种通信方式。串行通信中,将数据按位依次传输,每位数据占据固定的时间长度,即可使用少数几条通信线路就可以完成系统间交换信息,特别适用于计算机与计算机、计算机与外设之间的远距离通信。串行通信多用于系统间通信(多主控制系统)、设备间(主控设备与附属设备)、器件间(主控CPU与功能芯片)之间数据的串行传送,实现数据的传输与共享。
主机100是指:发布主要指令的总线设备,可以是单片机,也可以是微控器或DSP等,只要该主机100具有数据处理能力即可。
从机200是指:接受指令的总线器件,可以为单片机,但不仅限于此。根据单总线系统的应用场景不同,该从机200还可以为其它连接在总线上的设备。
飞线(英语:Jump wire)也称跳线,是指印刷电路板上因设计缺陷、测试目的或是其他设计考量,将电路板上的两个节点直接用电线连通的一种方法。
图1示出了本发明实施例提供的I2C总线系统的结构示意图。该I2C总线系统包括主机以及搭载在主机上的16不同地址的从机。如图1所示,每个从机的地址通过其地址引脚确定,并与主机所发送的寻址编码一一对应。在总线上主和从、发和收的关系不是恒定,而取决于此时数据传送方向。
在标准的I2C总线协议中,物理层是由两条双向串行线所组成,包括数据线SDA及时钟线SCL。通常I2C通信系统由一个主机及单个或多个从机构成,其中每个从机一般具有唯一的地址,该地址可用于此从机与主机之间实现通信,方式如下:
(1)由主机首先发起通信请求,当SCL为高电平,SDA由高电平变为低电平时,产生起始信号;
(2)主机选择需要进行通信的从机,由SCL发送时钟,通过SDA线发送7比特寻址编码(D6-D0)及1比特读写位,并等待所选择的从机响应、返回ACK信号(低电平);若无匹配的从机响应,则返回NACK信号(高电平);
(3)当主机接收到ACK信号后,与对应从机建立通信,开始进行数据读写;
(4)主机发起通信终止命令,在SCL为高电平时将SDA由低电平拉高,结束通信。
由上可知,如果主机要发送数据给从机,则主机首先寻址从机,然后主动发送数据至从机,最后由主机终止数据传送。如果主机要接收从机的数据,首先由主机寻址从。然后主机接收从机发送的数据,最后由主机终止接收过程。在这种情况下,主机负责产生定时时钟和终止数据传送。
若使用该传统方式实现总线上挂载24个不同地址的从机,则每个从机需要4个地址引脚A3-A0。此时SDA上由主机发送的7比特寻址编码D6-D0中的高三位码字D6-D4固定,低四位D3-D0用来寻找响应对应地址的从机。由于从机各个引脚间的距离是有要求的,引脚的数量越多,会导致从机面积越大,这将会限制从机器件在一些对面积有要求的设备中的应用。并且由于总线中各个从机的引脚数量多,增加了修改了复杂程度,致使从机引脚的修改效率很低。
鉴于上述原因,图2示出本发明实施例提供的I2C总线系统的结构示意图。如图2所示,该I2C总线系统包括:主机100;以及与主机100通信的多个从机200;每个从机200用于执行通信方法;每个从机200具有m个地址引脚以及n个参考引脚,m≤n,m,n均为整数,每个地址引脚与相应所述参考引脚电连接。参考引脚用于向相应地址引脚提供赋值编码。上述参考引脚包括时脉脚位SCL、数据脚位SDA、接地脚位GND和电源电压VDD。
在实际应用中,从机200可以是设有1个地址引脚的芯片,在从机200在接入总线电路前已经和对应的参考引脚电连接。需要说明的是,这里的电连接可以是导线连接,飞线连接,或者有特殊需要时,可以不设置管脚,在封装前直接在芯片内部连接。
另外,两个或两个以上的地址引脚可以与不同的参考引脚电连接,也可以与同一参考引脚电连接。此时,从机200可以利用每个地址引脚电连接的参考引脚类型,配置出从机地址编码的多个数据位,以减少不必要的地址引脚。
在此基础上,本申请实施例提供了一种通信方法。该通信方法可应用于图2所示的I2C总线系统。该I2C总线系统中由主机100执行的步骤,也可以由应用于主机100的芯片执行,由从机200执行的步骤,也可以由应用于从机200的芯片执行。图3示例出本申请实施例提供的通信方法的流程图。下面以主机100和从机200分别为执行主体进行描述本发明实施例提供的通信方法。
如图3所示,该通信方法包括:
步骤110:主机100向具有m个地址引脚的从机200发送寻址编码。寻址编码可以包括7比特寻址编码(D6-D0)及1比特读写位。
步骤120:从机200接收主机100发送的寻址编码。此时,从机200可以使用数据线引脚SDA接收主机100发送的寻址编码。
步骤130:从机200响应寻址编码,确定每个地址引脚电连接的参考引脚的类型的情况下,根据m个地址引脚电连接的参考引脚的类型配置从机地址编码的低2m位。
在实际应用中,可以是从机200内部的处理器响应寻址编码,并执行步骤130的操作。
步骤140:从机200根据寻址编码的低2m位和从机200地址编码的低2m位向主机100发送链接信号。
步骤150:主机100根据链接信号确定是否与从机200建立通信。应理解,从机200可以使用数据线引脚SDA向主机100反馈寻址编码。此时,主机100可以利用数据线接收链接信号,并确认链接信号。
在一种示例中,如果从机200仅具有一个地址引脚,且该地址引脚与其中一个参考引脚电连接,则如果确定从机200地址引脚电连接的参考引脚的类型后,自动给该地址引脚配置出该从机200低2位的地址编码。该从机200根据低2位的地址编码与主机100寻址编码的低2位的对比结果向主机100发送链接信号。主机100根据链接信号确定是否与从机200建立通信。
在另一种示例中,如果从机200具有2个地址引脚A1A0,且地址引脚A1A0分别与一个参考引脚电连接,则如果确定从机200地址引脚A1A0电连接的参考引脚的类型后,自动给地址引脚A1A0分别配置出该从机200低4位的地址编码。该从机200根据低4位的地址编码与主机100寻址编码的低4位的对比结果向主机100发送链接信号。主机100根据链接信号确定是否与从机200建立通信。
作为一种可能的实现方式,如图4所示,从机200响应寻址编码,确定每个地址引脚电连接的参考引脚的类型,包括:
步骤1301:从机200确定每个地址引脚的赋值编码与参考引脚的赋值编码的异或运算结果恒为0的情况下,根据异或运算结果确定每个地址引脚相应的参考引脚的类型。
步骤1302:从机200根据每个地址引脚相应的参考引脚的类型配置相应地址引脚的地址,根据m个地址引脚的地址确定从机地址编码的低2m位。
在实际应用中,由于从机200在接入总线电路前其地址引脚已经和具体的参考引脚电连接,因此从机200的地址引脚的赋值编码与其连接的对应的参考引脚的赋值编码相同。在对地址引脚的赋值编码与每一个参考引脚的赋值编码进行异或运算时,与从机200的地址引脚电连接的参考引脚的赋值编码与从机200的地址引脚的赋值编码的异或运算结果一直为0,可以根据异或运算结果确定每个地址引脚相应的参考引脚的类型。
在一种示例中,如果从机200仅具有一个地址引脚,则从机200根据该地址引脚相连接的参考引脚的类型配置该地址引脚的地址,根据地址引脚的地址确定从机地址编码的低2位码字。
在另一种示例中,如果从机200具有2个地址引脚A1A0,则从机200根据该地址引脚A1A0相连接的参考引脚的类型配置该地址引脚A1A0的地址,根据地址引脚A1A0的地址确定从机地址编码的低4位码字。
作为一种可能的实现方式,如图5所示,从机200确定每个地址引脚电连接的参考引脚的类型,包括:
步骤1303:从机200确定地址引脚的赋值编码与一个参考引脚的赋值编码的异或运算结果大于0的情况下,对地址引脚的赋值编码与另一个参考引脚的赋值编码进行异或运算。
在实际应用中,由从机200确定从机地址引脚的赋值编码与其中一个参考引脚的赋值编码的异或运算结果大于0的情况下,从机200控制从机地址引脚的赋值编码与另一个参考引脚的赋值编码进行异或运算,直至从机200的地址引脚的赋值编码与一个参考引脚的赋值编码的异或运算结果一直为0时,由从机200根据异或运算结果确定每个地址引脚相应的参考引脚的类型。
作为一种可能的实现方式,如图6所示,从机200根据寻址编码的低2m位和从机地址编码的低2m位向主机100发送链接信号,包括:
步骤1401:从机200确定从机地址编码的低2m位与寻址编码的低2m位数据一致的情况下,向主机100发送链接成功信号。
步骤1402:从机200确定从机地址编码的低2m位与寻址编码的低2m位数据不同的情况下,向主机100发送链接失败信号。
相应的,如图7所示,主机100根据链接信号确定是否与从机200建立通信包括:
步骤1501:主机100接收从机200发送的链接信号。
步骤1502:主机100根据从机200发送的连接信号确定是否与从机200建立通信。
在一种示例中,如果从机200只有一个地址引脚,则由从机200确定该地址引脚的地址编码的低2位与主机100发送的寻址编码的低2位数据一致的情况下,从机200向主机100发送链接成功信号,即ACK信号。在该地址引脚的地址编码的低2位与主机100发送的寻址编码的低2位数据不一致的情况下,从机200向主机100发送链接失败信号,即NACK信号。相应的,当主机100接收到从机200发来的链接信号后,主机100选择和发送ACK链接信号的从机200连接,建立数据通信。
在另一种示例中,如果从机200有2个地址引脚,则由从机200确定该地址引脚的地址编码的低4位与主机100发送的寻址编码的低4位数据一致的情况下,从机200向主机100发送链接成功信号,即ACK信号。在该地址引脚的地址编码的低4位与主机100发送的寻址编码的低4位数据不一致的情况下,从机200向主机100发送链接失败信号,即NACK信号。相应的,当主机100接收到从机200发来的链接信号后,主机100选择和发送ACK链接信号的从机200连接,建立数据通信。
作为一种可能的实现方式,如图8至图10所示,本申请实施例中的具有m个地址引脚的从机200中的m=1或2。本申请实施例中的n个参考引脚中的n=4。
在实际应用中,本申请实施例中的从机200可以是具有一个地址引脚的从机200,也可以是具有两个地址引脚的从机200。本申请实施例中的4个参考引脚包括时脉脚位、数据脚位、接地脚位和电源电压。
为了理解本发明实施例提供的通信方法,下面以图8至图10所示的I2C总线系统为例描述该通信方法的实现过程。
如图8至图10所示,该I2C总线系统具有1个主机100和4个从机200构成的I2C总线系统以及具有1个主机100和16个从机200构成的I2C总线系统为例说明。应理解,每个从机200具有VDD引脚、GND引脚、SDA引脚、SCL引脚。其中SCL为时脉脚位、SDA为数据脚位、GND为接地脚位、VDD为电源电压。每个从机200在接入I2C总线系统之前,地址引脚已经和对应的参考引脚连接。
在一种示例中,如图8、图9所示,如果I2C总线上搭载4个从机,此时每个从机具有一个地址引脚A0。本申请的实现方法为,在各个从机接入I2C总线系统前,将每个从机的地址引脚A0选择与该从机的VDD引脚、GND引脚、SDA引脚或SCL引脚中的一个相连接。此时限定主机100发送的寻址编码高五位码字D6~D2固定,其余低两位D1~D0与A0的连接关系一一对应,以10010为例,主机100通过SDA总线发送的寻址编码与每个从机地址引脚A0的对应连接关系如表1所示。当主机100发送表中的某个寻址编码时,只有当A0引脚满足对应连接关系的从机能够进行响应,并返回ACK信号。以1001000为例,在主机100发送寻址编码的高五位码字D6~D2的过程中,每一个从机根据其A0引脚的赋值编码分别与该从机的VDD引脚、GND引脚、SDA引脚、SCL引脚分别进行异或运算,确定每一个从机具体连接的参考引脚类型,根据连接的参考引脚类型配置相应A0引脚的地址低2位的码字。每一个从机根据其A0引脚的地址低2位的码字与主机100发送的寻址编码的低两位的码字“00”对比,只有A0引脚与GND相连接时,从机A0引脚的地址低2位的码字为“00”。此时,在该I2C总线系统中只有A0引脚与GND相连接的从机能够进行响应,并返回ACK信号。其他连接方式的从机返回NACK信号。此时,主机100接收到从机发送的信号后,与返回ACK信号的从机建立通信连接。
表1主机发送的寻址编码与每个从机地址引脚A0的对应连接关系
寻址编码D<sub>6</sub>~D<sub>0</sub> A<sub>0</sub>连接关系
1001000 与GND相连
1001001 与VDD相连
1001010 与SDA相连
1001011 与SCL相连
在一种示例中,如图10所示,如果I2C总线上搭载16个从机200,此时每个从机200具有2个地址引脚A1A0。本申请的实现方法为,在各个从机200接入I2C总线系统前,将每个从机200的地址引脚A1A0分别选择与该从机200的VDD引脚、GND引脚、SDA引脚或SCL引脚中的一个相连接。因为从机200具有两个地址引脚A1A0,所以此时限定主机100发送的寻址编码中高三位D6~D4固定,其余D3~D2与A1的连接关系、D1~D0与A0的连接关系一一对应。主机100通过SDA总线发送的寻址编码与每个从机地址引脚A1A0的对应连接关系如表2所示。当主机100发送表中的某个寻址编码时,只有当A1A0引脚满足对应连接关系的从机200能够进行响应,并返回ACK信号。以1000000为例,如果A1引脚与GND相连接,A0引脚与GND相连接时,在主机100发送寻址编码的高三位码字“100”的传输过程中,每一个从机200的A1引脚分别与该从机200的VDD引脚、GND引脚、SDA引脚、SCL引脚进行异或运算,只有A1引脚与GND引脚的运算结果一直为0,确定A1引脚连接的参考引脚为GND引脚,根据GND引脚的定义值配置相应A1引脚的地址编码Y1Y0为“00”。在主机100发送寻址编码的D3~D2码字“00”的传输过程中,每一个从机200的A0引脚分别与该从机200的VDD引脚、GND引脚、SDA引脚、SCL引脚进行异或运算,只有A0引脚与GND引脚的运算结果一直为0,确定A0引脚连接的参考引脚为GND引脚,根据GND引脚的定义值配置相应A0引脚的地址编码X1X0为“00”。从机200根据从机200的低四位码字“0000”与主机100发送的寻址编码的低四位码字“0000”对比一致,向主机100返回ACK信号。主机100接收到从机200发送的信号后,与返回ACK信号的从机200建立通信连接。
表2主机发送的寻址编码与每个从机地址引脚A1、A0的对应连接关系
寻址编码D<sub>6</sub>~D<sub>0</sub> A<sub>1</sub>、A<sub>0</sub>连接关系 寻址编码D<sub>6</sub>~D<sub>0</sub> A<sub>1</sub>、A<sub>0</sub>连接关系
1000000 GND、GND 1001000 SDA、GND
1000001 GND、VDD 1001001 SDA、VDD
1000010 GND、SDA 1001010 SDA、SDA
1000011 GND、SCL 1001011 SDA、SCL
1000100 VDD、GND 1001100 SCL、GND
1000101 VDD、VDD 1001101 SCL、VDD
1000110 VDD、SDA 1001110 SCL、SDA
1000111 VDD、SCL 1001111 SCL、SCL
由上可知,本发明实施例中的I2C总线系统要实现搭载4个从机200仅需要一个地址引脚A0,而传统方法中至少需要2个从机地址引脚,相较于传统方法减少了一个地址引脚。搭载16个从机200仅需要2个地址引脚A0,而传统方法中至少需要4个从机地址引脚,相较于传统方法减少了2个地址引脚。因此本申请的I2C总线系统由于地址引脚的减少,在对从机地址引脚进行修改时会更加方便快捷。并且,由于相邻地址引脚间要设置固定的间距,会增加从机器件的面积,致使从机器件在一些对面积由限制的设备内无法使用。因此,本申请的I2C总线系统由于地址引脚的节省,增加了该从机器件的应用范围。
上述主要从主机100和从机200交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,通信控制装置300为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
本发明实施例可以根据上述方法示例对主机100和从机200进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用集成单元划分的情况下,图11示出本发明实施例提供的通信控制装置300的结构示意图。如图11所示,该通信控制装置300包括:处理单元301和通信单元302。可选的,该通信控制装置300还可以包括存储单元303,用于存储通信控制装置300的程序代码和数据。
在一种示例中,如图11所示,该通信控制装置300可以为图2所示的主机100,也可以为应用于图2所示的主机100的芯片。
通信单元302用于支持通信控制装置300执行上述实施例中由图2所示的主机100执行的步骤110。
处理单元301用于支持通信控制装置300执行上述实施例中由图2所示的主机100执行的步骤150。
在一种可能的实现方式中,处理单元301用于支持通信控制装置300执行上述实施例中由图2所示的主机100执行的步骤1501。
处理单元301用于支持通信控制装置300执行上述实施例中由图2所示的主机100执行的步骤1502。
在另一种示例中,如图11所示,该通信控制装置300可以为图2所示的从机200,也可以为应用于图2所示从机200的芯片。
如图11所示,上述通信单元302用于支持通信控制装置300执行上述实施例中由图2所示从机200执行的步骤120。
如图11所示,处理单元301用于支持通信控制装置300执行上述实施例中由图2所示通信控制装置300执行的步骤130。
如图11所示,上述通信单元302用于支持通信控制装置300执行上述实施例中由图2所示通信控制装置300执行的步骤140。
在一种可能的实现方式中,如图11所示,上述处理单元301用于支持通信控制装置300执行上述实施例中由图2所示通信控制装置300执行的步骤1301-步骤1302。
在一种可能的实现方式中,如图11所示,上述处理单元301还用于支持通信控制装置300执行上述实施例中由图2所示通信控制装置300执行的步骤1303。
在一种可能的实现方式中,如图11所示,上述通信单元302还用于支持通信控制装置300执行上述实施例中由图2所示通信控制装置300执行的步骤1401-步骤1402。
其中,如图11所示,处理单元301可以是处理器或控制器,例如可以是中央处理器(Central Processing Unit,CPU),通用处理器,数字信号处理器(Digital SignalProcessor,DSP),专用集成电路(Application-Specific Integrated Circuit,ASIC),现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。通信单元302可以是收发器、收发电路或通信接口等。存储单元303可以是存储器。
如图11所示,当处理单元301为处理器,通信单元302为收发器,存储单元303为存储器时,本发明实施例所涉及的通信控制装置300可以为图11所示的通信控制装置300的硬件结构示意图。
如图12所示,本发明实施例提供的通信控制装置300包括处理器310和通信接口330。通信接口330和处理器310耦合。
在一种示例,如图12所示,该通信设备为图2所示的主机100。处理器310用于运行计算机程序或指令,以实现上述实施例中由主机100执行的步骤。
在另一种示例中,如图12所示,该通信设备为图2所示的从机200。处理器310用于运行计算机程序或指令,以实现上述实施例中由从机200执行的步骤。
如图12所示,上述处理器310可以是一个通用中央处理器(central processingunit,CPU),微处理器,专用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。上述通信接口330可以为一个或多个。通信接口330可使用任何收发器一类的装置,用于与其他设备或通信网络通信。
如图12所示,上述通信控制装置300还可以包括通信线路340。通信线路340可包括一通路,在上述组件之间传送信息。
可选的,如图12所示,该通信控制装置300还可以包括存储器320。存储器320用于存储执行本发明方案的计算机指令,并由处理器310来控制执行。处理器310用于执行存储器320中存储的计算机指令,从而实现本发明实施例提供的通信方法。
如图12所示,存储器320可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、只读光盘(compactdisc read-only memory,CD-ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器320可以是独立存在,通过通信线路340与处理器310相连接。存储器320也可以和处理器310集成在一起。
可选的,本发明实施例中的计算机指令也可以称之为应用程序代码,本发明实施例对此不作具体限定。
在具体实现中,作为一种实施例,如图12所示,处理器310可以包括一个或多个CPU,如图12中的CPU0和CPU1。
在具体实现中,作为一种实施例,如图12所示,通信控制装置300可以包括多个处理器,如图12中的处理器310和处理器350。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。
图13为本发明实施例提供的芯片的结构示意图。如图13所示,该芯片400包括一个或两个以上(包括两个)处理器410和通信接口420。
可选的,如图13所示,该芯片400还包括存储器430,存储器430可以包括只读存储器和随机存取存储器,并向处理器410提供操作指令和数据。存储器430的一部分还可以包括非易失性随机存取存储器(non-volatile random access memory,NVRAM)。
在一些实施方式中,如图13所示,存储器430存储了如下的元素,执行模块或者数据结构,或者他们的子集,或者他们的扩展集。
在本发明实施例中,如图13所示,处理器410通过调用存储器430存储的操作指令(该操作指令可存储在操作系统中),执行相应的操作。
如图13所示,处理器410控制通信控制装置300中任一个的处理操作,处理器410还可以称为中央处理单元(central processing unit,CPU)。
如图13所示,存储器430可以包括只读存储器和随机存取存储器,并向处理器410提供指令和数据。存储器430的一部分还可以包括NVRAM。例如应用中存储器430、通信接口420以及存储器430通过总线系统440耦合在一起,其中总线系统440除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图13中将各种总线都标为总线系统440。
上述本发明实施例揭示的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digital signal processing,DSP)、ASIC、现成可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
本发明实施例还提供一种计算机可读存储介质。该计算机可读存储介质中存储有指令,当指令被运行时,实现上述实施例中由通信控制装置执行的功能。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机程序或指令。在计算机上加载和执行所述计算机程序或指令时,全部或部分地执行本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、终端、用户设备或者其它可编程装置。所述计算机程序或指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机程序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,SSD)。
尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (10)

1.一种通信方法,其特征在于,应用于具有主机以及多个从机的I2C总线系统,每个所述从机具有m个地址引脚以及n个参考引脚,m≤n,m,n均为整数,每个所述地址引脚与相应所述参考引脚电连接,所述参考引脚用于向相应所述地址引脚提供赋值编码;所述通信方法包括:
所述从机接收主机发送的寻址编码;
所述从机响应所述寻址编码,确定每个所述地址引脚电连接的参考引脚的类型的情况下,根据m个所述地址引脚电连接的参考引脚的类型配置从机地址编码的低2m位;
根据所述寻址编码的低2m位和所述从机地址编码的低2m位向所述主机发送链接信号;所述主机用于根据所述链接信号确定是否与所述从机建立通信。
2.根据权利要求1所述的通信方法,其特征在于,所述确定每个所述地址引脚电连接的参考引脚的类型,包括:
确定每个所述地址引脚的赋值编码与所述参考引脚的赋值编码的异或运算结果恒为0的情况下,根据所述异或运算结果确定每个所述地址引脚相应的参考引脚的类型;
根据每个所述地址引脚相应的参考引脚的类型配置相应地址引脚的地址,根据m个所述地址引脚的地址确定从机地址编码的低2m位。
3.根据权利要求2所述的通信方法,其特征在于,所述确定每个所述地址引脚电连接的参考引脚的类型,包括:
确定所述地址引脚的赋值编码与一个所述参考引脚的赋值编码的异或运算结果大于0的情况下,对所述地址引脚的赋值编码与另一个所述参考引脚的赋值编码进行异或运算。
4.根据权利要求1所述的通信方法,其特征在于,所述根据所述寻址编码的低2m位和所述从机地址编码的低2m位向所述主机发送链接信号,包括:
确定所述从机地址编码的低2m位与所述寻址编码的低2m位数据一致的情况下,向所述主机发送链接成功信号;
确定所述从机地址编码的低2m位与所述寻址编码的低2m位数据不同的情况下,向所述主机发送链接失败信号。
5.根据权利要求1所述的通信方法,其特征在于,所述m=1或2,n=4。
6.根据权利要求1-5任一项所述的通信方法,其特征在于,所述n个参考引脚包括时脉脚位、数据脚位、接地脚位和电源电压。
7.一种通信控制装置,其特征在于,应用于具有主机以及多个从机的I2C总线系统,每个所述从机具有m个地址引脚以及n个参考引脚,m≤n,m,n均为整数,每个所述地址引脚与相应所述参考引脚电连接,所述参考引脚用于向相应所述地址引脚提供赋值编码;所述通信控制装置包括:处理器以及与处理器耦合的通信接口;
所述处理器用于运行计算机程序或指令,以实现如权利要求1-6任一项所述通信方法。
8.一种I2C总线系统,其特征在于,包括:
主机;
与所述主机通信的多个从机;每个所述从机用于执行权利要求1-6任一项所述通信方法;每个所述从机具有m个地址引脚以及n个参考引脚,m≤n,m,n均为整数,每个所述地址引脚与相应所述参考引脚电连接,所述参考引脚用于向相应所述地址引脚提供赋值编码。
9.一种计算机存储介质,其特征在于,所述计算机存储介质中存储有指令,当所述指令被运行时,实现权利要求1-6任一项所述的通信方法。
10.一种芯片,其特征在于,包括处理器以及与处理器耦合的通信接口;所述处理器用于运行计算机程序或指令,以实现如权利要求1-6任一项所述通信方法。
CN202010307182.2A 2020-04-17 2020-04-17 一种通信方法、通信控制装置及i2c总线系统 Active CN111552658B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010307182.2A CN111552658B (zh) 2020-04-17 2020-04-17 一种通信方法、通信控制装置及i2c总线系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010307182.2A CN111552658B (zh) 2020-04-17 2020-04-17 一种通信方法、通信控制装置及i2c总线系统

Publications (2)

Publication Number Publication Date
CN111552658A CN111552658A (zh) 2020-08-18
CN111552658B true CN111552658B (zh) 2022-05-06

Family

ID=72000176

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010307182.2A Active CN111552658B (zh) 2020-04-17 2020-04-17 一种通信方法、通信控制装置及i2c总线系统

Country Status (1)

Country Link
CN (1) CN111552658B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113098487B (zh) * 2021-06-10 2021-09-24 上海亿存芯半导体有限公司 单输入端口多从机地址的io接口电路及通信设备
CN114050900B (zh) * 2022-01-13 2022-04-19 深圳市成为信息技术有限公司 一种车载终端的通信方法、车载终端、摄像终端
CN114967570B (zh) * 2022-07-27 2022-11-11 深圳市汤诚科技有限公司 一种i2c从机地址可编程控制电路结构及控制方法
CN117112475B (zh) * 2023-10-24 2024-01-30 成都电科星拓科技有限公司 一种i2c总线驱动能力自动调节系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102265266A (zh) * 2011-06-01 2011-11-30 华为技术有限公司 一种数据地址编码的方法及装置
CN103106113A (zh) * 2013-02-25 2013-05-15 广东威创视讯科技股份有限公司 一种中断事件处理方法和处理设备
CN103703702A (zh) * 2011-03-25 2014-04-02 应美盛股份有限公司 用于时分多路复用通信的系统、设备和方法
CN104516851A (zh) * 2014-12-31 2015-04-15 福州瑞芯微电子有限公司 一种rs485从设备地址分配的系统和方法
CN110647478A (zh) * 2019-09-26 2020-01-03 北京兴达智联科技有限公司 一种串行通信设备地址设置的方法和系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9037766B2 (en) * 2011-11-18 2015-05-19 Fairchild Semiconductor Corporation Pin selectable I2C slave addresses
US9979782B2 (en) * 2015-03-24 2018-05-22 Qualcomm Incorporated Low-power and low-latency device enumeration with cartesian addressing
CN108616610A (zh) * 2018-05-21 2018-10-02 深圳前海有电物联科技有限公司 地址分配方法、主机、从机及总线系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103703702A (zh) * 2011-03-25 2014-04-02 应美盛股份有限公司 用于时分多路复用通信的系统、设备和方法
CN102265266A (zh) * 2011-06-01 2011-11-30 华为技术有限公司 一种数据地址编码的方法及装置
CN103106113A (zh) * 2013-02-25 2013-05-15 广东威创视讯科技股份有限公司 一种中断事件处理方法和处理设备
CN104516851A (zh) * 2014-12-31 2015-04-15 福州瑞芯微电子有限公司 一种rs485从设备地址分配的系统和方法
CN110647478A (zh) * 2019-09-26 2020-01-03 北京兴达智联科技有限公司 一种串行通信设备地址设置的方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
I2C总线技术及其应用实例;赵辉等;《微型电脑应用》;20051231;61-63页 *

Also Published As

Publication number Publication date
CN111552658A (zh) 2020-08-18

Similar Documents

Publication Publication Date Title
CN111552658B (zh) 一种通信方法、通信控制装置及i2c总线系统
US11854658B2 (en) Memory buffer with data scrambling and error correction
US4212057A (en) Shared memory multi-microprocessor computer system
US6842806B2 (en) Method and apparatus for interconnecting wired-AND buses
CN108280041B (zh) 一种内部集成电路主机的通信方法和装置
US10409737B2 (en) Apparatus, system, and method for positionally aware device management bus address assignment
US20190356412A1 (en) Fast termination of multilane double data rate transactions
TWI516942B (zh) 分配位址至互連上之裝置
US7231467B2 (en) Method and apparatus for providing an inter integrated circuit interface with an expanded address range and efficient priority-based data throughput
KR20230005628A (ko) 스토리지 장치, 스토리지 장치의 동작 방법, 그리고 전자 장치
CN113704160A (zh) 基于飞腾处理器的数据存储方法、系统及存储主板
TW202143061A (zh) 促進與積體電路間(ic)反向相容性之改良式積體電路間(i3c)集線器
US20080162974A1 (en) Universal serial bus host controller
WO2024051410A1 (zh) 数据访问方法、装置、网络接口卡、可读介质和电子设备
US20230350795A1 (en) Dual-port memory module design for composable computing
CN104899164B (zh) 集成电路总线的地址寻址方法、集成电路总线设备和系统
JP3477306B2 (ja) 拡張入出力インターフェイス
CN113282532B (zh) 一种通信装置、通信装置的通信方法和电子设备
JP4431768B2 (ja) 携帯型電子装置、読み出し方法及び書き込み方法
JP2014232414A (ja) I2c通信スレーブ装置
CN114996180B (zh) 一种访问控制方法、系统、芯片、板卡和电子设备
CN118331907B (zh) 服务器、服务器的数据传输方法以及存储介质
EP4113311A1 (en) Storage device, operating method of storage device, and electronic device
CN113961500B (zh) 一种iic总线从控制器及其工作方法
CN112685343A (zh) 一种双控sd卡通信的方法、装置及介质

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