具有多设备消息传输的总线通信制造技术

技术编号:13953847 阅读:236 留言:0更新日期:2016-11-02 09:58
描述了用于从与具有公共数据线的通信总线相连的多个从设备读取或者向所述多个从设备写入的方法和系统。所述从设备映射到虚拟设备地址,并且由主设备通过用信号通知开始条件和虚拟设备地址来发起通信。映射到所述虚拟设备地址的每个从设备识别与所述虚拟设备地址相关联的从设备中的寄存器,并且在通信内的各个预定时隙中针对其识别出的寄存器或者针对之前分配给从设备的相应虚拟寄存器地址,顺序地对总线执行读或写操作。

【技术实现步骤摘要】

本申请总体涉及一种通信总线,更具体地,涉及一种用于从多个设备获得数据的通信协议。
技术介绍
存在与总线通信相关(尤其是针对电路板级芯片间通信)的多个通信协议。在这些总线架构的一些中,存在单个公共数据线,并且协议对到数据线的控制和访问进行管理。一个普遍的示例是内置集成电路(I2C)总线通信协议。一些开发工作旨在规定可以被称为I3C的I2C改进版本。I2C协议的缺点在于,如果被读取或写入的消息的比特数短,则存在显著的信令开销。当总线上的主设备被配置为周期地或频繁地从多个从设备读取传感器数据或其它少量数据时,协议控制开销成本会压倒被读取或写入的数据的尺寸,导致其传输速率是仅发送原始设备数据且不存在协议所需的任何控制信息的情况的传输速率的3到4倍,这样是低效的。附图说明作为示例,参考示出了本专利技术的示例实施例的附图,在附图中:图1示意地示出了多设备两线双向通信总线的一个示例;图2A和图2B示出了I2C兼容总线上的分别用于写操作的示例结构和用于读操作的示例结构;图3示出了示例主设备和示例从设备的简化框图;图4示意地示出了虚拟设备寄存器和从设备寄存器之间的别名图5以流程图的形式示出了用于在总线上通信的一个示例方法;图6示意地示出了根据本申请一个方面的用于读操作的示例结构;图7示出了用于在具有公共数据线的通信总线上在主设备和多个从设备之间进行通信的示例方法;图8示出了用于在具有公共数据线的通信总线上在主设备和多个从设备之间进行通信的另一示例方法;图9示意地示出了用于虚拟线通信的示例结构;图10以流程图形式示出了用于虚拟线通信的示例方法;图11A和图11B示出了在单个消息中包括多个单独从ACK响应的示例消息结构;以及图11C示出了从设备(而不是主设备)在读期间发送ACK比特的示例消息结构。在不同的附图中已经使用类似的附图标记来表示类似的组件。具体实施方式在一个方面,本申请描述了一种主设备从与具有一条或多条公共数据线的通信总线相连的多个从设备读取或者向所述多个从设备写入的方法,其中,每个从设备具有关联的从设备地址。所述方法包括:向每个从设备提供与任何从设备地址不同的虚拟设备地址由所述主设备通过在数据线上用信号通知通信的开始并接着用信号通知所述虚拟设备地址,来在所述总线上发起通信;从设备检测所述通信的开始以及所述虚拟设备地址,并且作为响应,识别与所述虚拟设备地址相关联的从设备中的寄存器,并且每个从设备在所述数据线上通信期间的各个预定时隙中,针对其识别出的寄存器顺序地执行总线读/写操作;以及由所述主设备通过用信号通知所述通信的结束来终止所述通信。在另一方面,本申请描述了一种总线通信系统,包括:主设备;多个从设备,每个从设备具有关联的从设备地址,并且存储了与任何从设备地址都不同的虚拟设备地址;通信总线,具有与所述主设备和所述多个从设备互连的一条或多条公共数据线。所述主设备通过在数据线上用信号通知通信的开始并接着用信号通知所述虚拟设备地址,来在总线上发起通信。所述从设备检测所述通信的开始以及所述虚拟设备地址,并且作为响应,识别与所述虚拟设备地址相关联的从设备
中的寄存器,并且在所述数据线上通信期间的各个预定时隙中,针对其识别出的寄存器顺序地执行总线读/写操作。所述主设备通过用信号通知所述通信的结束来终止所述通信在又一方面,本申请描述了存储计算机可执行程序指令的非瞬时计算机可读介质,所述计算机可执行程序指令在被执行时将处理器配置为执行所描述的方法。本领域普通技术人员将通过结合附图阅读以下示例的描述,来理解本申请的其他方面和特征。在本申请中,术语“和/或”旨在覆盖列出元素的所有可能组合和子组合,包括列出元素的单独的任意一个、任意子组合或所有元素,而不是必须排除附加元素。在本申请中,短语“…或…中的至少一个”旨在覆盖列出元素的任意一个或多个,包括列出元素的单独的任意一个、任意子组合或所有元素,而不是必须排除任何附加元素,且不是必须要求所有元素。文本使用的术语“寄存器”旨在被广义地解释为可寻址存储器位置。不应将其限制为特定类型的存储器类型或者专用集成电路存储器。尽管在一些情况下,可以使用离散硬件存储器组件来实施寄存器,但是在一些情况下可以将寄存器实施在与处理单元或其它控制集成的存储器中。在此意义上,对从从设备中的寄存器读取或者向所述寄存器写入的指代可以表示可以使用存储器地址来访问的任意存储器的特定位置。在一些实施例中,对寄存器的指代可以表示8比特存储器位置(字节),在其它实施中可以是其它尺寸。本文使用的术语“虚拟设备”旨在被广义地解释为表示可以作为备选设备地址被分配给设备的可编程设备地址,从而使设备能够响应于该备选设备地址。术语“别名数据”旨在被广义地解释为到虚拟设备地址的读取或写入,并且使一个或多个设备将在与虚拟设备通信时被访问的寄存器地址转换为对虚拟设备地址进行响应的单独设备中的相同或其它寄存器地址。尽管结合I2C总线通信协议描述了下文的许多实施例以及利用该协议的后向兼容,但是将清楚的是,一些实施例可以符合和/或与
其它总线通信协议(包括由MIPI(移动工业处理器接口联盟)开发的I3C协议传感器总线(SensorWire))后向兼容。在电子设备和系统中,总线通信通常用于设备内或设备间命令和数据信令传输。例如,I2C总线是已经实际上成为控制总线标准的双向2线总线。一条线用于时钟,一条线用于数据。在“I2C-bus specification and user manual”,UM10204,Rev.6,April 4,2014,NXP Semiconductors N.V.中描述了I2C总线(在下文称为I2C),其内容通过引用合并于此。I2C及具有类似结构的变体的缺点在于存在显著的信令开销,尤其是在短消息的情况下。例如,I2C结构假设总线上的主设备首先利用开始符号(在I2C的情况下,当时钟信号为高时在数据线上的高到低转变)发起通信。在开始符号之后的是7或10位的从设备地址,其后接着指示读或写命令的比特。这随后被从设备确认,之后,由主设备(在写情况下)或由从设备(在读情况下)将数据置于总线上。每个字节分别被从设备或主设备确认。为了结束通信序列,主设备发送停止符号。在许多商业实施例中,读和写操作还指定了特定从设备中的寄存器地址。这意味着进一步的开销和确认比特,以及在读操作情况下的重新开始符号以及从设备地址的重新发送。该通信协议可以导致需要传输超过26比特的报头数据以从寄存器读取单个信息字节。在这种情况下,由于协议开销,协议相对于传输效率而言是非常低效的。在一些情况下,主设备(例如控制器、处理器或其它这样的集成电路设备)可以对多个传感器设备进行周期性的采样,以实现连续监视。对所选数目的地址的规则轮询可以导致与被读取的数据的量相比的大量传输开销。I2C提供了在一个消息内(即,在一个报头/报尾内)读/写从设备中的多个寄存器的能力。然而,该机制限制于寄存器都被顺序地寻址且都在同一从设备中的情况。I2C还提供用于使用全局地址0000000来向所有设备进行一次写入的机制,但是该机制主要针对重置总线上的从设备。该机制针对广播写操作的益处限制于利用到相同寄存器地址的相同数据来对所有从
设备进行本文档来自技高网
...

【技术保护点】
一种主设备从与具有公共数据线的通信总线相连的多个从设备读取或者向所述多个从设备写入的方法,其中,每个从设备具有关联的从设备地址,所述方法包括:向每个从设备提供与任何从设备地址都不同的虚拟设备地址;由所述主设备通过在数据线上用信号通知通信的开始并接着用信号通知所述虚拟设备地址,来在所述总线上发起通信;所述从设备检测所述通信的开始以及所述虚拟设备地址,并且作为响应,识别与所述虚拟设备地址相关联的从设备中的寄存器,并且每个从设备在通信内的相应预定时隙中针对其识别出的寄存器,在所述数据线上顺序地执行总线读/写操作;以及由所述主设备通过用信号通知所述通信的结束来终止所述通信。

【技术特征摘要】
2015.04.21 US 14/691,7071.一种主设备从与具有公共数据线的通信总线相连的多个从设备读取或者向所述多个从设备写入的方法,其中,每个从设备具有关联的从设备地址,所述方法包括:向每个从设备提供与任何从设备地址都不同的虚拟设备地址;由所述主设备通过在数据线上用信号通知通信的开始并接着用信号通知所述虚拟设备地址,来在所述总线上发起通信;所述从设备检测所述通信的开始以及所述虚拟设备地址,并且作为响应,识别与所述虚拟设备地址相关联的从设备中的寄存器,并且每个从设备在通信内的相应预定时隙中针对其识别出的寄存器,在所述数据线上顺序地执行总线读/写操作;以及由所述主设备通过用信号通知所述通信的结束来终止所述通信。2.根据权利要求1所述的方法,其中,向每个从设备提供所述虚拟设备地址包括:所述主设备向所述从设备中的指定寄存器写入所述虚拟设备地址。3.根据权利要求2所述的方法,其中,写入所述虚拟设备地址还包括:写入相应虚拟寄存器地址,其中,所述相应虚拟寄存器地址被映射到所述识别出的寄存器。4.根据权利要求1所述的方法,其中,每个从设备存储针对所述虚拟设备地址的相应虚拟寄存器地址与所述从设备中的识别出的寄存器之间的关联,并且其中,识别包括读取所述关联以识别所述寄存器。5.根据权利要求1所述的方法,其中,每个从设备包含别名数据,所述别名数据将所述从设备中的从设备寄存器地址映射到相应虚拟设备寄存器地址。6.根据权利要求1所述的方法,其中,发起还包括:所述主设备在所述数据线上在所述虚拟设备地址之后用信号通知虚拟设备寄存器地址。7.根据权利要求6所述的方法,其中,每个从设备包含别名数据,所述别名数据将所述从设备中的从设备寄存器地址映射到相应虚拟设备寄存器地址,并且其中识别与所述虚拟设备地址相关联的从设备中的寄存器包括:所述从设备之一确定所述数据线上的所述虚拟设备寄存器地址对应于映射到所述从设备的从设备寄存器地址的相应虚拟设备寄存器地址。8.根据权利要求7所述的方法,其中,所述虚拟设备寄存器地址是顺序的,并且其中每个从设备顺序地执行总线读/写操作包括:从由所述主设备在所述数据线上用信号通知的虚拟设备寄存器地址开始,按照虚拟设备寄存器地址的序列的顺序来执行所述总线读/写操作。9.根据权利要求8所述的方法,其中,当所述主设备在每个读操作之后输出确认符号时,所述总线读操作继续所述序列,直到所述主设备输出不确认和停止符号为止。10.根据权利要求8所述的方法,其中,当相应从设备在每个写操作之后输出确认符号时,所述总线写操作继续所述序列,直到所述主设备输出停止符号为止。11.根据权利要求1所述的方法,其中,每个识别出的寄存器与相应虚拟设备寄存器地址相关联,所述虚拟设备寄存器地址是顺序的,并且其中所述序列包括:与顺序的虚拟设备寄存器地址依次相对应的从设备寄存器的预定序列。12.根据权利要求1所述的方法,其中,提供包括:向每个从设备提供多于一个虚拟设备地址,并且其中每个虚拟设备地址与从设备寄存器的序列相关联,并且其中所述方法还包括:所述主设备在所述虚拟设备地址之间进行选择以开始读操作和写操作的相应序列。13.根据权利要求1所述的方法,其中,在没有在各个读/写总线操作之间的开始符号或重复的开始符号的情况下,执行所述读/写总线操作的序列。14.根据权利要求1所述的方法,其中,从从设备读取的每个数据分组在来自于作为所述数据分组的源的所述从设备的确认比特之后或之前,以唯一地确定所述从设备是否正...

【专利技术属性】
技术研发人员:杰恩斯·克里斯蒂安·波尔森
申请(专利权)人:黑莓有限公司
类型:发明
国别省市:加拿大;CA

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1