相机控制接口从设备到从设备通信转让专利

申请号 : CN201480054967.6

文献号 : CN105683933B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : S·森戈库

申请人 : 高通股份有限公司

摘要 :

在由主设备管理通信的共享总线中,实现了直接从设备到从设备(S2S)通信。想要与第二从设备通信的第一从设备可以向主设备作出S2S通信请求。该请求可包括该第一从设备希望在该共享总线上发送的所请求的码字数目。该主设备可以具有当前码字限制,该码字限制基于操作参数而变化。若所请求的码字数目大于当前码字限制或者若主设备不支持S2S通信,则主设备可以拒绝该请求。拒绝该请求也可能是为了其他原因,如该共享总线上的活动。若该主设备准予该请求,那么从设备可以在该共享总线上向另一从设备发送所请求数目的码字。

权利要求 :

1.一种通信主设备,包括:

总线接口电路,用以耦合到与多个从设备共享的控制数据总线;以及处理电路,其耦合到所述总线接口电路并配置成:控制所述多个从设备对于所述控制数据总线的访问;以及接收来自请求访问所述控制数据总线的从设备的从设备到从动设备通信请求,以及其中所述从设备到从设备通信请求包括要在所述控制数据总线上从请求方从设备转移到另一从设备的所请求的码字最大数目;以及向所述请求方从设备发送准予所述请求的响应,所述响应通过在响应中包括等于或大于所述请求中指定的码字最大数目的码字限制数目来准予所述请求。

2.如权利要求1所述的主设备,其特征在于,所述从设备到从设备通信请求包括要由请求方从设备转移到另一从设备的所请求的码字数目。

3.如权利要求1所述的主设备,其特征在于,所述处理电路被进一步配置成:监视所述控制数据总线以检测从设备到从设备通信的结束;以及在检测到从设备到从设备通信的结束之后,重新获取所述控制数据总线的控制。

4.如权利要求1所述的主设备,其特征在于,所述从设备到从设备通信请求包括要在所述控制数据总线上从请求方从设备转移到另一从设备的所请求的码字最大数目;以及所述处理电路被进一步配置成:向所述请求方从设备发送拒绝所述请求的响应。

5.如权利要求4所述的主设备,其特征在于,若所请求的码字最大数目大于所述主设备的当前码字限制,则拒绝所述从设备到从设备通信请求。

6.如权利要求4所述的主设备,其特征在于,所述处理电路被进一步配置成:通过在当所述请求方从设备提供的所请求的码字最大数目大于当前码字限制时发送码字的可接受数目来向所述请求方从设备发送拒绝所述请求的响应。

7.如权利要求4所述的主设备,其特征在于,若所述主设备不支持从设备到从设备通信,则所述主设备发送拒绝所述请求的响应。

8.一种由通信主设备操作的方法,包括:

控制对于与多个从设备共享的控制数据总线的访问;以及接收来自请求访问所述控制数据总线的从设备的从设备到从设备通信请求,其中所述从设备到从设备通信请求包括要在所述控制数据总线上从请求方从设备转移到另一从设备的所请求的码字最大数目;以及向所述请求方从设备发送拒绝所述请求的响应,其中拒绝所述请求的所述响应包括小于所请求的码字最大数目的码字的可接受数目。

9.如权利要求8所述的方法,其特征在于,进一步包括:向所述请求方从设备发送准予所述请求的响应。

10.如权利要求9所述的方法,其特征在于,进一步包括:监视所述控制数据总线以检测从设备到从设备通信的结束;以及在检测到从设备到从设备通信的结束之后,重新获取所述控制数据总线的控制。

11.如权利要求8所述的方法,其特征在于,进一步包括:接收来自所述请求方从设备的请求以使得所述主设备在所述请求方从设备和所述另一从设备之间转移特定量的信息;以及在所述请求方从设备和所述另一从设备之间转移所请求信息之间的数据。

12.一种通信从设备,包括:

总线接口电路,用以耦合到与多个从设备和至少一个主设备共享的控制数据总线;以及处理电路,其耦合到所述总线接口电路并配置成:在所述控制数据总线上从所述从设备向所述主设备发送从设备到从设备通信请求,其中所述通信请求包括要在所述控制数据总线上由所述从设备向另一从设备传送的所请求的码字最大数目;以及接收来自所述主设备的拒绝所述请求的响应,所述响应包括来自所述主设备的另外可接受的码字数目。

13.如权利要求12所述的从设备,其特征在于,所述处理电路被进一步配置成:向所述主设备发送新从设备到从设备通信请求,其中所述新从设备到从设备通信请求包括小于或等于所接收的码字的可接受数目的新的所请求的码字最大数目。

14.如权利要求12所述的从设备,其特征在于,所述处理电路被进一步配置成:发送新请求以使得所述主设备在所述请求方从设备和所述另一从设备之间转移特定量的信息。

15.如权利要求12所述的从设备,其特征在于,所述处理电路被进一步配置成执行以下任一者:在较晚的时间向所述主设备重新发送具有相同的码字最大数目的相同的从设备到从设备通信请求;或发送具有第二码字限制的新从设备到从设备通信请求,所述第二码字限制小于先前所请求的最大码字限制但是大于由所述主设备在其对于初始请求的拒绝中标识的码字的可接受数目。

16.如权利要求12所述的从设备,其特征在于,所述处理电路被进一步配置成:向所述主设备发送主机请求以将所述控制数据总线的控制转移给所述请求方从设备;

若所述主机请求被所述主设备准予,则作为所述控制数据总线的新主机操作;以及向另一从设备发送期望数量的数据码字。

17.如权利要求12所述的从设备,其特征在于,所述处理电路被进一步配置成:接收准予所述请求的响应;以及

向所述控制数据总线发送从设备到从设备通信。

18.如权利要求12所述的从设备,其特征在于,所述从设备到从设备通信被限制成由所述主设备批准的码字的可接受数目。

19.一种在从设备上操作的方法,包括:

将所述从设备耦合到控制数据总线,所述控制数据总线与多个从设备和至少一个主设备共享;

在所述控制数据总线上从所述从设备向所述主设备发送从设备到从设备通信请求,其中所述从设备到从设备通信请求包括要在所述控制数据总线上由所述从设备转移到另一从设备的所请求的码字数目;以及接收准予所述请求的响应,其中所述响应通过在响应中包括等于或大于所述请求中指定的码字最大数目的码字限制数目来准予所述请求。

20.如权利要求19所述的方法,其特征在于,进一步包括:向所述控制数据总线发送从设备到从设备通信。

21.如权利要求19所述的方法,其特征在于,所述从设备到从设备通信被限制成由所述主设备批准的码字的可接受数目。

说明书 :

相机控制接口从设备到从设备通信

[0001] 相关申请的交叉引用
[0002] 本专利申请要求2013年10月7日提交的题为“Camera Control Interface Slave Device to Slave Device Communication(相机控制接口从设备到从设备通信)”的临时申请No.61/887,895,以及2014年10月6日提交的题为“Camera Control Interface Slave Device to Slave Device Communication(相机控制接口从设备到从设备通信)”的非临时申请No.14/507,179的优先权,其被转让予本申请受让人并且通过援引被明确纳入于此。
[0003] 领域
[0004] 本公开涉及使得能够进行共享控制数据总线上的操作,并且尤其涉及在多线数据和/或时钟控制数据总线上从一个从到设备到另一从设备的数据通信。

背景技术

[0005] I2C(也称为I2C)是被用于将低速外围设备附连至母板、嵌入式系统、蜂窝电话或其他电子设备的多主控串行单端控制数据总线。I2C控制数据总线包括具有7比特寻址的时钟(SCL)和数据(SDA)线。该控制数据总线具有两个节点角色:主节点和从节点。主节点是生成时钟并发起与从节点的通信的节点。从节点是接收时钟并在被主节点寻址时进行响应的节点。I2C控制数据总线是多主控数据总线,这意味着可存在任何数目的主节点。另外,主角色和从角色可以在消息之间改变。I2C定义了消息的基本类型,其中每种消息始于开始(START)并结束于停止(STOP)。
[0006] 在相机实现的此上下文中,单向传输可被用于从传感器捕捉图像并向基带处理器中的存储器传送此类图像数据,而控制数据可在该基带处理器与这些传感器以及其他外围设备之间交换。在一个示例中,相机控制接口(CCI)协议可被用于基带处理器与图像传感器(和/或一个或多个从节点)之间的此类控制数据。在一个示例中,CCI协议可在图像传感器与基带处理器之间的I2C串行控制数据总线上实现。
[0007] 主设备控制对于控制数据总线的访问。尽管一些从设备可以具有切换到主机操作模式的能力,但是其他的从设备不能在主机模式中操作。只有从动能力的从设备和具备主机能力的从设备之间的一个主要区别在于在中断请求线(IRQ)上接收(例如,处置)中断的能力。只有从动能力的从设备能够引起/发送中断但是不能够处置此类中断。因此,因为中断处置是极其重要的,所以迄今从设备都不能够直接与其他从设备通信。相应地,可期望实现在由主设备控制的共享数据总线上的从设备到从设备通信。
[0008] 概述
[0009] 主设备被提供为包括总线接口电路和处理电路。该总线接口电路可用于耦合到与多个从设备共享的控制数据总线。该处理电路可被耦合至该总线接口并配置成:(a)控制多个从设备对于该控制数据总线的访问;和/或(b)从请求访问该控制数据总线的从设备接收从设备到从设备通信请求。
[0010] 在一个示例中,该从设备到从设备通信请求可包括要由请求方从设备转移到另一从设备的所请求的码字数目。
[0011] 在另一示例中,该从设备到从设备通信请求可包括要在该控制数据总线上从该请求方从设备转移到另一从设备的所请求的码字最大数目。该处理电路可以被进一步配置成向该请求方从设备发送准予该请求的响应。该响应通过在该响应中包括等于或大于该请求中指定的码字最大数目的码字限制数目来准予该请求。该处理电路可以被进一步配置成:(a)监视该控制数据总线以检测从设备到从设备通信的结束;和/或(b)在检测到从设备到从设备通信的结束之后重新获取该控制数据总线的控制。
[0012] 在还有另一示例中,该从设备到从设备通信请求可包括要在该控制数据总线上从该请求方从设备转移到另一从设备的所请求的码字最大数目。该处理电路可以被进一步配置成向该请求方从设备发送拒绝该请求的响应。若所请求的码字最大数目大于该主设备的当前码字限制,则可以拒绝该从设备到从设备通信请求。该处理电路可以被进一步配置成通过在当该请求方从设备所提供的所请求的码字最大数目大于当前码字限制时发送码字的可接受数目,来向该请求方从设备发送拒绝该请求的响应。若主设备不支持从设备到从设备通信,则该主设备也可以发送该拒绝该请求的响应。
[0013] 提供了一种可由主设备操作的方法,包括:(a)控制对于与多个从设备共享的控制数据总线的访问;和/或(b)从请求访问该控制数据总线的从设备接收从设备到从设备通信请求。该从设备到从设备通信请求可包括要在该控制数据总线上从该请求方从设备转移到另一从设备的所请求的码字最大数目。
[0014] 该方法可进一步包括:(a)向该请求方从设备发送准予该请求的响应;(b)监视该控制数据总线以检测从设备到从设备通信的结束;和/或(c)在检测到从设备到从设备通信的结束之后重新获取该控制数据总线的控制。
[0015] 该方法可进一步包括向该请求方从设备发送拒绝该请求的响应。在一个示例中,响应于该请求拒绝,该方法可进一步包括:(a)接收来自该请求方从设备的请求以使得该主设备在该请求方从设备和该另一从设备之间转移特定量的信息;和/或(b)在该请求方从设备和该另一从设备之间转移所请求的信息之间的数据。在另一示例中,拒绝该请求的响应可包括小于所请求的码字最大数目的码字的可接受数目。
[0016] 一种从设备,包括总线接口电路和处理电路。该总线接口电路可用于将该从设备耦合到与多个从设备以及至少一个主设备共享的控制数据总线。该处理电路可以被耦合到该总线接口电路并且配置成在该控制数据总线上向该主设备发送来自于该从设备的从设备到从设备通信请求。该通信请求可包括要在该控制数据总线上由该从设备传送到另一从设备的所请求的码字数目。
[0017] 在一个示例中,该处理电路可被进一步配置成接收来自该主设备的拒绝该请求的响应。该拒绝响应可包括来自该主设备的另外可接受的码字数目。
[0018] 在用于拒绝响应的另一办法中,该处理电路可以被进一步配置成向该主设备发送新从设备到从设备通信请求,其中该新从设备到从设备通信请求包括小于或等于接收到的可接受的码字数目的新请求的码字最大数目。
[0019] 在用于拒绝响应的还有另一替换性办法中,该处理电路可以被进一步配置成发送新请求以使得该主设备在该请求方从设备和该另一从设备之间转移特定量的信息。
[0020] 在用于拒绝响应的还有另一个替换性办法中,该处理电路可以被进一步配置成执行以下任一者:(a)在较晚的时间向该主设备重新发送具有相同的码字最大数目的相同的从设备到从设备通信请求;或者(b)发送具有第二码字限制的新从设备到从设备通信请求,该第二码字限制小于先前所请求的最大码字限制但是大于该主设备在其对初始请求的拒绝中所标识的可接受的码字数目。
[0021] 在用于拒绝响应的还有另一个替换性办法中,该处理电路可以被进一步配置成:(a)向该主设备发送主机请求以向该请求方从设备转移该控制数据总线的控制;(b)若该主设备准予该主机请求,那么就作为该控制数据总线的新主机操作;和/或(c)向另一从设备发送期望数量的数据码字。
[0022] 在另一示例中,该处理电路可被进一步配置成:(a)接收准予该请求的响应;和/或(b)向该控制数据总线发送从设备到从设备通信。
[0023] 该从设备到从设备通信可以被限制成该主设备所批准的可接受数目的码字。
[0024] 根据另一方面,提供可在从设备上操作的方法,包括:(a)将该从设备耦合到与多个从设备和至少一个主设备共享的控制数据总线;和/或(b)在该控制数据总线上从该从设备向该主设备发送从设备到从设备通信请求。该从设备到从设备通信请求可包括要在该控制数据总线上从该从设备转移到另一设备的所请求的码字最大数目。在一个示例中,该方法可进一步包括:(a)接收准予该请求的响应;和/或(b)向该控制数据总线发送从设备到从设备通信。该从设备到从设备通信可以被限制成该主设备所批准的可接受数目的码字。
[0025] 附图概述
[0026] 在结合附图理解下面阐述的详细描述时,各种特征、本质、和优点会变得明显,在附图中,相像的附图标记贯穿始终作相应标识。
[0027] 图1是解说具有基带处理器和图像传感器并且实现图像数据总线和多模式控制数据总线的示例性设备的框图。
[0028] 图2解说了示例性从设备到从设备通信过程。
[0029] 图3概念性地解说了示例性写数据码字。
[0030] 图4是解说用于在发射机处将数据比特转码成顺序码元以在这些顺序码元内嵌入时钟信号的示例性方法的框图。
[0031] 图5解说了转变数与顺序码元之间的示例性转换。
[0032] 图6解说在发射机处从比特至转变数以及随后在接收机处从转变数至比特的示例性转换。
[0033] 图7解说了将三进制数(基数为3的数)转换成二进制数的一般示例,其中{T11、T10...T2、T1、T0}中的每个T是码元转变数。
[0034] 图8解说了将二进制数(比特)转换成12位三进制数(基数为3的数)的示例方法。
[0035] 图9解说了图8的除法和取模运算的一个可能的实现的示例,其可以由任何商业合成工具来合成。
[0036] 图10解说了包括19比特数据区域(例如,比特0-18)和附加的第20比特区域(例如,比特19)的20比特区域的示例
[0037] 图11解说了除了比特19为数字2221_2201_22033到2222_2222_22223设置之外,数字的范围能够被细分为六个部分。
[0038] 图12解说了图11的比特19映射的一部分的示例性映射。
[0039] 图13概念性地解说了可以为从设备到从设备通信执行的控制数据总线上的传输序列。
[0040] 图14概念性地解说了示例性从设备到从设备转移请求。
[0041] 图15概念性地解说了针对从设备到从设备通信协议的准予命令。
[0042] 图16概念性地解说了针对从设备到从设备转移的准予命令的细节。
[0043] 图17是解说适配用于从设备到从设备通信的示例性主设备的框图。
[0044] 图18解说了可在主设备上操作以促成从设备到从设备通信的方法。
[0045] 图19是解说适配用于从设备到从设备通信的示例性从设备的框图。
[0046] 图20解说了可在从设备上操作以执行从设备到从设备通信的方法。
[0047] 详细描述
[0048] 在以下描述中,给出了具体细节以提供对诸实施例的透彻理解。然而,本领域普通技术人员将理解,没有这些具体细节也可实践这些实施例。例如,电路可能用框图示出以免使这些实施例混淆在不必要的细节中。在其他实例中,公知的电路、结构、和技术可能不被详细示出以免使这些实施例不明朗。
[0049] 总览
[0050] 第一特征提供了由主设备管理的共享数据总线上的直接从设备到从设备通信。想要与第二从设备通信的第一从设备可以向主设备作出从设备到从设备通信请求。该请求可包括第一从设备希望在由主设备管理的共享控制数据总线上发送的所请求的码字数目。此类通信请求可以用于第一从设备和第二从设备之间的直接转移(例如,读或写操作)而绕过主设备(例如,要被转移的数据不由主设备管理或发送)。该主设备可以具有当前的码字限制,该码字限制基于操作参数而变化。例如,主设备可以允许不同数目的码字在不同时间在从设备之间传达。例如,在峰值控制总线使用时段期间,从设备可以被限制成一次使用不大于八个码字来彼此通信。可能存在不允许从设备到从设备通信的时间(即,当前码字限制可能为零)。此外,例如,在低控制总线使用期间,当前码字限制可以为1024码字。因此,当前码字限制可以由管理总线的主设备来动态调节,并且可以根据控制数据总线条件或者由于任何其他可期望原因而随着时间改变。
[0051] 因为,码字限制可以动态地改变,并且从设备可能不知晓当前码字限制是什么,所以第二特征提供了向从设备传达当前码字限制。例如,期望与第二从设备通信的第一从设备发送从设备到从设备通信请求,该请求包括要被传达给第二从设备的码字的期望数目。当码字的期望数目大于当前码字限制时,主设备向第一从设备发送拒绝消息,该拒绝消息包括当前码字限制,从而从动方能够请求向第二从设备发送较小的消息。主设备接收这一对于较小消息的请求并且向第一从设备发送准予该请求的消息。第一从设备随后向第二从设备发送该消息。主设备监视正在从第一从设备发送到第二从设备的(诸)消息。一旦检测到“结束”控制码正在从第一从设备发送到第二从设备,主设备就知晓通信已经结束并且完全如主设备在准予第一从设备的通信请求前所做的一样重新获取控制数据总线的控制。此外,当第一从设备正与第二从设备通信时,主设备可以持续监视IRQ线。一旦从设备到从设备通信已结束,就处置从设备到从设备通信期间发生的任何中断请求。在一个特征中,当前码字限制并不仅基于控制数据总线话务可变,其也基于中断请求的最近频度而可变的。因此,在相对高中断请求时段期间,当前码字限制可以低于相对低中断请求的时段。
[0052] 用于从设备到从设备通信的示例性系统
[0053] 图1是解说具有基带处理器104和图像传感器106并实现图像数据总线116和多模式控制数据数据总线108(其中可以如本文中所描述的实现从设备到从设备通信)的设备102的框图。虽然图1解说了相机设备内的多模式控制数据总线108,应当清楚,该控制数据总线108可在各种不同设备和/或系统中实现。可在图像数据总线116(例如,高速差分DPHY链路)上将图像数据从图像传感器106发送到基带处理器104。在一个示例中,控制数据总线
108可以是包括以下两条线路的I2C控制数据总线:时钟线(SCL)和串行数据线(SDA)。时钟线SCL可以被用来同步I2C总线(控制数据总线108)上的所有数据转移。数据线SDA和时钟线SCL可耦合至I2C总线(控制数据总线108)上的所有设备112、114和118。在该示例中,可以经由控制数据总线108在基带处理器104与图像传感器106以及其他外围设备118之间交换控制数据。在一些实现中,当用于相机应用时,I2C控制数据总线上的这些操作模式可被称为相机控制接口(CCI)模式。
[0054] 根据一个方面,可以在多模式控制数据总线108上实现改进的操作模式以支持相机操作。I2C控制数据总线上的这种改进的操作模式在用于相机应用时可被称为相机控制接口扩展(CCIe)模式。在该示例中,基带处理器104包括主设备112且图像传感器106包括从设备114,主设备112和从设备114两者可根据相机控制接口扩展(CCIe)模式在控制数据总线108上操作,而不影响耦合至控制数据总线108的其他旧式I2C设备的恰当操作。根据一个方面,控制数据总线108上的该改进模式可在CCIe设备与任何旧式I2C从设备之间没有任何桥接设备的情况下实现。中断请求(IRQ)线/总线120将从设备114和118耦合到主设备112,从而允许从设备告知主设备112从设备114和118需要注意。换言之,请求注意的从设备将通常为高的IRQ线拉低(将IRQ线120接地),且主设备通过首先标识哪个从设备请求中断,并且其次针对IRQ状态来轮询该从设备来进行响应。例如,该状态可以是对于执行从设备到从设备通信的请求。
[0055] 图2解说了示例性从设备到从设备通信过程。类似图1,设备可包括共享控制数据总线202(例如,CCIe总线),以及多个设备可以耦合到的单独的单线中断总线204。在该示例中,活跃/当前主设备206可控制/管理一个或多个其他设备(例如,非活跃主设备和/或从设备)对于控制数据总线202的访问。
[0056] 在第一阶段210,第一从设备208可希望发起与第二从设备216的通信。为了达成此举,第一从设备可以在中断总线204上发布/发送中断信号218。只要没有其他设备已经断言了中断信号,中断总线204就可允许耦合到中断总线204的任何设备在中断总线204上单方地发布中断信号。响应于感测到或接收到中断请求信号218,主设备206可尝试查明请求方从设备(例如,发布中断信号218的设备)。这可以由轮询或请求(220)每个从设备提供其状态的主设备206来完成。在一个示例中,这可以由请求(220)来自耦合到控制数据总线202的每个设备的状态直到标识出发布该终端信号218的第一从设备208的主设备206完成。
[0057] 在第二阶段212,响应于接收到状态请求220,第一从设备208可以发送其状态222,该状态222将会指示其发布了中断218和/或其希望执行从设备到从设备转移/通信。此类从设备到从设备通信请求可以用于第一从设备208和第二从设备216之间的直接数据转移(例如,读或写操作)而绕过主设备206(例如,要被转移的数据不由主设备管理或发送)。在一个示例中,状态222可以由读取第一从设备208的状态寄存器内的信息的主设备206获取。
[0058] 一旦将第一从设备208标识为中断信号的发布者并且查明期望的服务(例如,将控制数据总线202用于从设备到从设备通信),主设备206就可通过经由中断总线204发送准予指示符224来准予此类请求。在该点,第一从设备208已经被准予有限的许可以将控制数据总线202用于其自身与另一从设备216的通信。注意,因为主设备206控制或管理耦合到控制数据总线202的所有设备对控制数据总线202的使用,所以没有机会让另一设备对控制数据总线202进行冲突使用。在一个示例中,第一从设备208被准予使用控制数据总线202来发送或接收预定数目的数据码字。使用从设备到从设备通信请求有别于将控制数据总线202的控制转移到第一从设备。
[0059] 在第三阶段214,第一从设备208识别到主设备206准予了其请求并且可以执行从设备到从设备转移或通信224。该从设备到从设备转移或通信224可以从第二从设备216读取数据或向第二从设备216发送数据。在已经在控制数据总线202上发送了预定数目的数据码字之后,主设备可以重新获取对控制数据总线202的控制和使用。该第一从设备208在发送和/或接收预定数目的数据码字之后停止在控制数据总线202上进行传送。
[0060] 支持从设备到从设备通信的示例性通信协议
[0061] 图3解说了示例性写数据码字格式。这解说了每个数据码字300包括16比特数据部分302、2比特控制码304、1比特检错常量310和备用比特306。16比特数据部分302可以被分割成14比特最低有效位部分312(位于数据码字300的比特5到18)以及2比特最高有效位部分308(位于数据码字300的比特1到2)。若值是除了所期望的常量(例如“0”)之外的任何值,则1比特检错常量310可用于检测数据码字300上的差错。在一个示例中,写数据码字300可以是CCIe写数据码字。
[0062] 控制码表314解说了控制码304的各种可能值。在一个示例中,多个写数据码字可以被顺序发送。若当前写码字的控制码是‘00’(码元C0),那么数据要被写入到先前地址。若当前写码字的控制码是‘01’(码元C1),那么数据要被写入到先前地址+1。若当前写码字为控制码‘10’(码元E),这指示了帧的结束,并且下一码字可以是从设备标识符(SID)或退出码。
[0063] 数据码字300也可以具有备用比特306(例如,比特19,也被称为第20比特),其可以被用来在主设备和一个或多个从设备之间传送命令和其他信息。备用比特306(例如,比特19)可以被用来编码耦合到控制数据总线108的设备之间的命令。可以通过使用该备用比特
306定义的备用比特数据区域(例如,比特19,也称为第20比特)可以在图10、11和12中被进一步解说和讨论。
[0064] 图4是解说用于在发射机处将数据比特转码成顺序码元以在这些顺序码元内嵌入时钟信号的示例性方法的框图。在发射机402处,数据比特序列404被转换成三进制(基数为3)数(例如,其中三进制数的各个数位是“转变数”),并且这些三进制数被转换成在包括时钟线SCL 412和数据线SDA 414的控制数据总线上传送的顺序码元。
[0065] 在一个示例中,原始的20比特二进制数据404被输入到比特至转变数转换器块408以转换成12位三进制数409。该12位三进制数的每一数位可以表示“转变数”。转变数的两个连贯数位可以是相同的数位值。转变数的每一数位在转变到码元块410处被转换成顺序码元,从而没有两个连贯的顺序码元具有相同值。由于在每个顺序码元处保证有转变(例如,改变),因而此类顺序码元转变可用于嵌入时钟信号。每个顺序码元416随后在双线物理链路(例如,包括SCL线412和SDA线414的I2C控制数据总线)上被发送。
[0066] 在接收机420处,该过程被反向以将顺序码元转换回比特,并且在该过程中,时钟信号被提取自顺序码元转换。接收机420在双线物理链路(例如,包括SCL线422和SDA线424的I2C控制数据总线)上接收顺序码元422。所接收的顺序码元422被输入时钟数据恢复(CDR)块428以恢复时钟定时并采样顺序码元(S)。码元到转变数转换器块430随后将每个顺序码元转换成转变数,其中每个转变数表示三进制数的一数位。随后,转变数至比特转换器432转换十二(12)个转变数(即,三进制数)以从12位三进制数恢复二十(20)比特原始数据。
[0067] 本文解说的技术可被用来增加控制数据总线108(图1)的链路速率,超出I2C标准控制数据总线提供的链路速率,并且于此被称为CCIe模式。在一个示例中,耦合至控制数据总线108的主节点/设备和/或从节点/设备可以实现在顺序码元改变/转变内嵌入时钟信号的发射机和/或接收机(如图5中所解说的),从而在相同控制数据总线上达成比使用标准I2C控制数据总线可能达成的更高比特率。
[0068] 图5解说了转变数502与顺序码元504之间的示例性转换。三进制数(基数为3的数)的各个数位(也被称为转变数)可具有三(3)个可能数位或状态0、1或2之一。虽然在三进制数的两个连贯数位中可能出现相同数字,但没有任何两个连贯顺序码元具有相同值。转变数和顺序码元之间的转换保证顺序码元即使在连贯的转变数是相同的情况下也总是改变(从顺序码元到顺序码元)。
[0069] 在一个示例中,转换函数将转变数(例如,三进制数的数位)加1再与先前的原始顺序码元值相加。如果该加法导致大于3的数,则其从0翻转,随后该结果变成当前顺序码元的状态号或值。
[0070] 在第一循环506中,当第一转变数(Ta)1被输入时先前顺序码元(Ps)是1,所以将转变数1加1再与先前顺序码元(Ps)相加,并且所得的当前顺序码元(Cs)3变成被发送给物理链路的当前顺序码元。
[0071] 在第二(下一)循环508中,第二转变数(Tb)0被输入,并且将第二转变数0加1再与先前顺序码元(Ps)3相加。由于该加法的结果(0+1+3)等于4,大于3,因此翻转数0变成当前顺序码元(Cs)。
[0072] 在第三循环510中,第三转变数(Tc)0被输入。转换逻辑将第三转变数0加1再与先前顺序码元(Ps)0相加以生成当前顺序码元(Cs)1。
[0073] 在第四循环512中,第四转变数(Td)2被输入。转换逻辑将第四转变数(Td)2加1再与先前码元(Ps)1相加以生成当前码元(Cs)0(由于该加法的结果4大于3,因此翻转数0变成当前顺序码元)。
[0074] 因此,即使两个连贯三进制数位Tb和Tc具有相同数,但该转换保证了两个连贯顺序码元具有不同状态值。由于该转换,码元序列504中的保证顺序码元改变或转变可用于嵌入时钟信号,藉此释放I2C控制数据总线中的时钟线SCL以供数据传输。
[0075] 注意,虽然该转变数到顺序数转换的示例增加保证的数字“1”以在连贯的顺序码元之间递增,但是在其他实现中可以使用其他值以保证顺序码元之间的转变或改变。
[0076] 再次参照图4,在接收机420处,图5中所解说的过程被反向以将顺序码元转换回比特,并且在该过程中,从码元转变中提取时钟信号。接收机420在双线物理链路(例如,包括SCL线424和SDA线426的I2C总线)上接收顺序码元422。所接收的顺序码元422被输入到时钟数据恢复(CDR)块428中以恢复时钟定时并采样经转码码元(S)。码元到转变数转换器块430随后将每个顺序码元转换成转变数,即,该转变数构成了三进制数中的一数位。随后,转变数至比特转换器32转换12个转变数(即,三进制数)以从12位三进制数恢复20比特原始数据。
[0077] 图6解说在发射机处602从比特到转变数以及随后在接收机604处从转变数到比特的示例性转换。该示例解说了使用12个转变码元的双线系统的传输。发射机602将二进制信息(比特)馈送到“比特到12×T”转换器606中以生成12个码元转变数T0到T11。接收机604接收12个码元转变数(T0到T11),这些码元转变数被馈入到“12×T到比特”转换器608以取回二进制信息(比特)。如果每一个T(T0到T11)存在r个可能的码元转变状态,则12个转变可发送r12个不同状态。对于双线总线,r=22-1。因此,转变T0…T11包含可具有(22-1)12个不同状态的数据。因此,r=4-1=3,并且状态数目=(4-1)^12=531441。
[0078] 在该使用12个码元转变数的双线系统的示例中,可以假设每一个T的可能码元转2
变r是3(=2 -1)。若组中码元的数目为12,那么可使用12位三进制数(基数为3的数):T11、T10…T2、T1、T0,其中每个Ti:0、1、2。例如,对于{T11,T10,…T2,T1,T0}={2,1,0,0,1,1,0,
1,0,1,2,1},三进制数是:
[0079] 2100_1101_01213(三进制数)
[0080] =2×311+1×310+0×39+0×38
[0081] +1×37+1×36+0×35+1×34
[0082] +0×33+1×32+2×31+1×30
[0083] =416356(0x65A64).
[0084] 以此方式,12个转变数可被转换成一个数字。注意,例如在图4中,三进制数2100_1101_01213可用作转变数,从而每一个转变数(例如,三进制数的数位)可以映射到顺序码元,反之亦然。
[0085] 图6中针对双线系统和12个码元转变数解说的示例可被推广为n线系统和m个码元转变数。如果每一个T(T0到Tm-1)存在r个可能的码元转变状态,那么m个转变可发送rm个不同状态(即,r=2n-1)。因此,转变数T0…Tm-1包含可具有(2n-1)m个不同状态的数据(例如,顺序数字)。
[0086] 图7解说了将三进制数(基数为3的数)转换成二进制数的一般示例,其中{T11、T10...T2、T1、T0}中的每个T是转变数。
[0087] 图8解说了将二进制数(比特)转换成12位三进制数(基数为3的数)的示例方法。三进制数中的每一数位可如下计算:将在较高数位计算中余数(取模运算的结果)除以3的该数位号次幂,丢弃小数点后面的数字。
[0088] 图9解说了图8的除法和取模运算的一个可能的实现的示例,其可以由任何商业合成工具来合成。
[0089] 图10概念性地解说了比特19(图3中的第20比特或者“备用比特”306)几乎未用在CCIe协议中,并且可以被用来实现从设备到从设备通信。更具体地,图10解说了比特19(即,当比特计数在为比特0的第一比特开始时)。换言之,如计算机科学中典型的情况,从零开始逐比特计数,第20个比特通常被称为比特19。此处,在三进制数范围0000_0000_00003到2221_2201_20013内表示比特0-18。范围2221_2201_20023到2222_2222_22223中的三进制数未被使用。因此,三进制数范围2221_2201_20023到2222_2222_22223可被用于表示比特19(即,第20个比特)。换言之,三进制2221_2201_20023是二进制10,000,000,000,000,000,
000(十六进制0x80000),并且三进制2222_2222_22223(0x81BF0)是可能的最大12位三进制数。在从设备到从设备通信的一个实现中,第20个比特(比特19)可以如本文中所描述的那样被利用。
[0090] 图11概念性地解说了针对三进制数0000_0000_00003到2222_2222_22223的CCIe比特19映射协议。注意,不同类型的命令可以被编码在比特19区域(例如,第20比特)内。
[0091] 图12解说了图11的比特19映射的一部分的示例性映射。
[0092] 图13概念性地解说了可以为从设备到从设备通信执行的控制数据总线上的传输序列。在该示例中,从设备到从设备通信协议利用从2222_2112_11223到2222_2202_21203的范围。从设备可以在单独的中断总线/线路上向主设备发送中断信号。响应于此类中断信号1301,主设备可以在控制数据总线上发起/发送IRQ询问1303,该询问1303使得请求方从设备(S1)进行响应1304。主设备可以随后读取请求方从设备(S1)的状态1305,在该状态中指示了从设备到从动方通信请求1306。该从设备到从设备通信请求1306可包括用于去往另一从设备的所请求的传输的码字的上限(最大限制)。码字的数目可以不仅仅是消息的数据部分,也可以包括要在从设备之间传送的码字的全部数目,包括所有开销和/或包络信息,诸如从设备标识符(SID),循环冗余校验或校验和(CRC)和/或同步(SYNC)信息。主设备在准予
1308从设备的请求之后,随后监视从设备的传输1310,并且在从传送方从设备发送结束码之后,主设备恢复对控制数据总线的控制。换言之,在告知发送请求的从设备其请求被准予之后,主设备监视控制数据总线以检测准予访问的结束。注意,在这一从设备到从设备传输帧1310期间,请求方从设备可以向另一从设备发送写命令1312和/或读命令1314。
[0093] 图14概念性地解说了示例性从设备到从设备转移请求。该示例性从设备到从设备转移请求1403可以嵌有图11和12中解说的比特19映射的部分1402(例如,利用从2222_2112_11223到2222_2202_21203的范围)。从设备到从设备转移请求1403的一个示例由第一比特序列1404结合两个表1406和1408来定义。该从设备到从设备转移请求1403可包括要在从设备到从设备转移期间在控制数据总线上传送的码字的数目1408。
[0094] 图15概念性地解说了针对从设备到从设备通信协议的准予命令。在该示例中,从设备到从设备通信协议1502利用发送请求准予和/或拒绝中的从2222_2112_11223到2222_2202_21203的范围。该主设备通过向请求方从设备返回包括与从从设备向主设备原始发送的从设备到从设备通信请求中相同的码字限制数目的消息来准予该从设备到从设备通信请求。替换地,主设备返回小于所请求的数目的码字限制数目,从设备将其理解为对于原始请求的拒绝和供给新码字限制。当新(即,当前)码字限制为零时,从设备知晓从设备到从设备通信当前被禁用并且在作出第二次请求之前等待预编程的时间量。否则,若返回的当前码字限制为非零,从设备随后将原始的太长的消息分拆成不大于所返回的当前码字限制的多个消息。附加地,在一些实施例中,一个或多个从设备可以具有睡眠模式来节省能量,并且当从设备到从设备通信的预期接收方处于睡眠模式时,主设备可以在准予请求方从设备的通信请求之前唤醒睡眠的从设备。替换地,主设备可以首先通过发送为零的当前码字限制来拒绝请求方从设备的通信请求,并且随后唤醒睡眠的从设备。在预编程的时间段之后,被拒绝的从设备发起主设备现在可能准予的第二次请求。
[0095] 从设备到从设备转移准予1503的一个示例由第一比特序列1504结合两个表1506和1508来定义。该从设备到从设备转移准予1503可包括被允许在从设备到从设备转移期间在控制数据总线上传送的码字的数目1508。
[0096] 图16概念性地解说了针对从设备到从设备转移的准予命令的细节。在该示例中,主设备可以发送帧1602,其包括请求方从设备的标识符(SID)和额外的码字1606。作为“地址”字段的一部分,主设备可提供从设备到从设备准予1608。
[0097] 示例性的主设备和其中可操作的方法
[0098] 图17是解说适配用于从设备到从设备通信的示例性主设备的框图。主设备1702可包括第一通信接口/电路1706、第二通信接口/电路1708、和/或处理电路1704。第一通信接口/电路1706可用于耦合至单线中断请求(IRQ)总线,多个其他设备可耦合至该单线中断请求(IRQ)总线。第二通信接口/电路1708可用于耦合至控制数据总线,多个其他设备也可耦合至该控制数据总线。
[0099] 处理电路1704可包括各种子电路和/或模块以执行本文所描述的一种或多种功能。例如,通信管理电路/模块1710可被适配成基于在IRQ总线上被断言的中断信号为耦合至控制数据总线的所有设备管理该数据总线上的通信。IRQ总线监视电路/模块1712可被适配成监视IRQ总线以查明IRQ信号何时被(例如,从设备)断言。从设备到从设备通信准予/拒绝电路/模块1714可以被适配成响应于(例如,准予或拒绝)从设备的请求来在控制数据总线上与另一从设备直接通信。数据总线监视电路/模块1716可被适配成允许主设备监视控制数据总线来查明从设备到从设备通信何时结束。
[0100] 图18解说了可在主设备上操作以促成从设备到从设备通信的方法1800。该方法1800包括使得主设备控制/管理对于与多个从设备共享的控制数据总线的访问(1802)。该主设备可以从请求访问控制数据总线的从设备接收从设备到从设备通信/转移请求(1804)。该从设备到从设备通信/转移请求可包括请求方从设备希望在控制数据总线上传送的码字最大数目。响应于此类请求,当所请求的码字最大数目大于当前最大码字限制时,主设备可以通过发送可接受的码字最大数目来向请求方从设备发送拒绝该请求的响应(1806)。例如,可接受的码字数目可以等于当前最大码字限制(由主设备维护)和/或其可以是小于所请求的码字最大数目的数字。替换地,主设备可以向请求方从设备发送准予请求的响应(1808)。此外,主设备可以监视控制数据总线以检测对于请求方从设备的准予接入的结束(1810)。一旦检测到共享控制总线上的从设备到从设备通信的结束,主设备可以重新获取控制数据总线的控制。
[0101] 在一个示例中,来自主设备的响应通过在响应中包括等于或大于请求中所指定的码字最大数目的码字限制数目来准予请求。即,若该响应包括匹配于请求方从设备所指定的所请求的码字最大数目或者大于所请求的码字最大数目的码字限制数目,该请求方从设备可以将其识别为请求的准予。
[0102] 根据另一方面,若主设备不支持从设备到从设备通信,那么主设备在其响应中用为零(0)的码字限制数目来响应于该请求。因此,若主设备可以被要求(例如,通过协议标准)回复从设备到从设备通信请求,但是其可以通过包括为零(0)的码字限制数目来拒绝该请求。由于这一原因,支持从设备到从设备通信的主设备在其响应中用非零码字限制数目来回复是明智的。
[0103] 根据一方面,若主设备拒绝从设备到从设备通信请求,那么该从设备可以等待一些时间量并且随后在控制数据总线上向主设备重新发送相同的从设备到从设备通信请求(例如,相同的要被转移的码字的期望数目)。注意,原始的拒绝可能是由于控制数据总线繁忙,所以在较晚的时间进行重试可以导致请求被准予。此外,从设备可以在放弃之前重试发送相同的请求多次。
[0104] 根据另一方面,若主设备拒绝从设备到从设备通信请求,那么该从设备可重新发送请求,但是该请求具有要由该请求方从设备在控制数据总线上转移的较低的码字最大数目。在一些实现中,从设备可以将大于主设备所准许的码字最大数目的数据转移分拆到多个从设备到从设备通信请求中。
[0105] 在替换性办法中,若主设备拒绝从设备到从设备通信请求,但是该从设备不能够将数据转移分拆成多个部分,那么该从设备可以请求主设备接管请求方从设备和另一从设备之间的数据转移。
[0106] 示例性从设备和其中可操作的方法
[0107] 图19是解说适配成执行从设备到从设备通信的示例性从设备的框图。从设备1902可包括第一通信接口/电路1906、第二通信接口/电路1908、和/或处理电路1904。第一通信接口/电路1906可用于耦合至单线中断请求(IRQ)总线,多个其他设备可耦合至该单线中断请求(IRQ)总线。第二通信接口/电路1908可用于耦合至控制数据总线,多个其他设备也可耦合至该控制数据总线。
[0108] 处理电路1904可包括各种子电路和/或模块以执行本文所描述的一种或多种功能。例如,中断(IRQ)生成器电路/模块1910可以被适配成在中断总线上生成中断请求。从设备到从设备通信请求电路/模块1912可以被适配成向主设备请求控制数据总线的使用,从而执行直接与另一从设备的从设备到从设备通信。从设备到从设备通信传输电路/模块1914可以被适配成在控制数据总线上发送从设备到从设备通信。
[0109] 图20解说了可在从设备上操作以促成从设备到从设备通信的方法2000。该方法2000包括将从设备耦合到控制数据总线(2002),该控制数据总线与多个从设备共享且由主设备管理。该从设备可以在控制数据总线上向主设备发送从设备到从设备通信请求(2004)。响应于该请求,从设备可以接收来自主设备的拒绝该请求的响应(2006),该响应包括另外可接受的码字最大数目。若该请求初始被拒绝,从设备可以简单地等待一段时间量并且重新发送相同的初始请求。替换地,从设备可以向主设备发送新的从设备到从设备通信请求(2008),该请求包括小于或等于接收到的可接受的码字最大数目的所请求的码字最大数目。
[0110] 从设备可以接收来自主设备的准予请求的响应(2010)。一旦接收到来自主设备的准予响应,从设备可以在至多为所请求数目的码字中在控制数据总线上向第二从设备传送信息2012。
[0111] 根据一方面,若主设备拒绝从设备到从设备通信请求,那么该从设备可以等待一些时间量并且随后在控制数据总线上向主设备重新发送相同的从设备到从设备通信请求(例如,相同的要被转移的码字的期望数目)。注意,原始的拒绝可能是由于控制数据总线繁忙,所以在较晚的时间重试可以导致请求被准予。此外,从设备可以在放弃之前重试发送相同的请求多次。
[0112] 根据另一方面,若主设备拒绝从设备到从设备通信请求,那么该从设备重新发送请求,但是该请求具有要由该请求方从设备在控制数据总线上转移的较低的码字最大数目。在一些实现中,从设备可以将大于主设备所准许的码字最大数目的数据转移分拆到多个从设备到从设备通信请求中。
[0113] 在替换性办法中,若主设备拒绝从设备到从设备通信请求,但是该从设备不能够将数据转移分拆成多个部分,那么该从设备可以请求主设备接管该请求方从设备和另一从设备之间的数据转移。
[0114] 在还有另一个办法中,若主设备拒绝从设备到从设备通信请求,并且该请求方从设备能够在主机模式或从动模式中操作,那么该请求方从设备可以请求成为共享控制数据总线的主机,从而转移所期望数目的码字。
[0115] 附图中解说的组件、步骤、特征、和/或功能之中的一个或多个可以被重新编排和/或组合成单个组件、步骤、特征、或功能,或可以实施在数个组件、步骤或功能中。还可添加附加的元件、组件、步骤、和/或功能而不会脱离本文中所公开的新颖特征。附图中所图解的装置、设备和/或组件可以被配置成执行在这些附图中所描述的方法、特征、或步骤中的一个或多个。本文中描述的新颖算法还可以高效地实现在软件中和/或嵌入在硬件中。
[0116] 另外应注意,这些实施例可能是作为被描绘为流程图、流图、结构图、或框图的过程来描述的。尽管流程图可能会把诸操作描述为顺序过程,但是这些操作中有许多操作能够并行或并发地执行。另外,这些操作的次序可以被重新安排。过程在其操作完成时终止。过程可以对应于方法、函数、规程、子例程、子程序等。当过程对应于函数时,其终止对应于该函数返回到调用方函数或主函数。
[0117] 此外,存储介质可以代表用于存储数据的一个或多个设备,包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光学存储介质、闪存设备、和/或其他用于存储信息的机器可读介质。术语“机器可读介质”包括但不限于:便携或固定的存储设备、光学存储设备、无线信道以及能够存储、包含、或承载指令和/或数据的各种其它介质。
[0118] 此外,诸实施例可以由硬件、软件、固件、中间件、微代码、或其任何组合来实现。当在软件、固件、中间件、或微码中实现时,执行必要任务的程序代码或代码段可被存储在诸如存储介质之类的机器可读介质或其它存储中。处理器可以执行这些必要的任务。代码段可表示规程、函数、子程序、程序、例程、子例程、模块、软件包、类,或是指令、数据结构、或程序语句的任何组合。通过传递和/或接收信息、数据、自变量、参数、或存储器内容,一代码段可被耦合到另一代码段或硬件电路。信息、自变量、参数、数据等可以经由包括存储器共享、消息传递、令牌传递、网络传输等的任何合适的手段被传递、转发、或传输。
[0119] 结合本文中公开的示例描述的各个解说性逻辑块、模块、电路、元件和/或组件可用设计成执行本文中描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑组件、分立的门或晶体管逻辑、分立的硬件组件、或其任何组合来实现或执行。通用处理器可以是微处理器,但在替换方案中,该处理器可以是任何常规的处理器、控制器、微控制器、或状态机。处理器还可以实现为计算组件的组合,例如DSP与微处理器的组合、数个微处理器、与DSP核心协作的一个或多个微处理器、或任何其他此类配置。
[0120] 结合本文中公开的示例描述的方法或算法可直接在硬件中、在能由处理器执行的软件模块中、或在这两者的组合中以处理单元、编程指令、或其他指示的形式实施,并且可包含在单个设备中或跨多个设备分布。软件模块可驻留在RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动盘、CD-ROM、或本领域中所知的任何其他形式的存储介质中。存储介质可耦合到处理器以使得该处理器能从/向该存储介质读写信息。替换地,存储介质可以被整合到处理器。
[0121] 本领域技术人员将可进一步领会,结合本文中公开的实施例描述的各种解说性逻辑块、模块、电路、和算法步骤可被实现为电子硬件、计算机软件、或两者的组合。为清楚地解说硬件与软件的这一可互换性,各种解说性组件、块、模块、电路、和步骤在上面是以其功能性的形式作一般化描述的。此类功能性是被实现为硬件还是软件取决于具体应用和施加于整体系统的设计约束。
[0122] 本文所述的本发明的各种特征可实现于不同系统中而不脱离本发明。应注意,以上实施例仅是示例,且不应被解释成限定本发明。这些实施例的描述旨在是说明性的,而并非旨在限定权利要求的范围。由此,本发明的教导可以现成地应用于其他类型的装置,并且许多替换、修改和变形对于本领域技术人员将是显而易见的。