CN107209743B - 串行总线的接收时钟校准 - Google Patents

串行总线的接收时钟校准 Download PDF

Info

Publication number
CN107209743B
CN107209743B CN201680008675.8A CN201680008675A CN107209743B CN 107209743 B CN107209743 B CN 107209743B CN 201680008675 A CN201680008675 A CN 201680008675A CN 107209743 B CN107209743 B CN 107209743B
Authority
CN
China
Prior art keywords
clock
line
sda
bus
slave device
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
CN201680008675.8A
Other languages
English (en)
Other versions
CN107209743A (zh
Inventor
S·森戈库
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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
Priority claimed from US14/616,572 external-priority patent/US9684624B2/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107209743A publication Critical patent/CN107209743A/zh
Application granted granted Critical
Publication of CN107209743B publication Critical patent/CN107209743B/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/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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Small-Scale Networks (AREA)

Abstract

主控设备和从动设备可以被耦合到控制数据总线。一种方法包括使用主控设备来控制总线上的数据传输。由主控设备在串行总线的时钟线(SCL)上提供时钟信号,使用延迟来校准在从动设备正在SDA线上传送数据时从SCL线上的转变生成的接收时钟,该延迟基于在SCL线上提供的时钟信号的边沿与响应于该时钟信号的边沿由从动设备在SDA线上产生的至少一个转变之间测得的时间历时。包括双倍数据率数据的数据可使用经校准的接收时钟来可靠地接收。

Description

串行总线的接收时钟校准
相关申请的交叉引用
本申请要求于2015年2月6日向美国专利商标局提交的非临时申请No.14/616,572的优先权和权益,其全部内容通过援引纳入于此。
技术领域
本公开涉及在无需专用中断线或引脚的情况下在共享控制数据总线上启用带内中断操作。
背景技术
集成电路间串行总线(也可被称为I2C总线或I2C总线)是旨在用于将低速外围设备连接至处理器的串行单端计算机总线。I2C总线是多主控总线,其中每个设备可以针对I2C总线上传送的不同消息充当主控设备和从动设备。I2C总线可以仅使用两个双向开漏(open-drain)连接器(包括串行数据线(SDA)和串行时钟线(SCL))来传送数据。这些连接器通常包括由上拉电阻器终接的信号导线。
管控I2C总线操作的协议定义了基本类型的消息,其中每种消息始于START(开始)并结束于STOP(停止)。I2C总线使用7位寻址并且定义两种类型的节点。主控节点是生成时钟并发起与从动节点的通信的节点。从动节点是接收时钟并在被主控节点寻址时进行响应的节点。I2C总线是多主控总线,这意味着可存在任何数目的主控节点。另外,主控角色和从动角色可以在消息之间(即,在STOP被发送之后)改变。
在相机实现的上下文中,单向传输可被用于从传感器捕捉图像并向基带处理器中的存储器传送此类图像数据,而控制数据可在该基带处理器与这些传感器以及其他外围设备之间被交换。在一个示例中,相机控制接口(CCI)协议可被用于基带处理器与图像传感器(和/或一个或多个从动节点)之间的此类控制数据。在一个示例中,CCI协议可在图像传感器与基带处理器之间的I2C串行总线上实现。CCI扩展(CCIe)协议已被定义以扩展I2C总线上的吞吐量。
在CCIe协议内,中断被用来允许从动节点向主控节点指示它希望使用总线。需要有准许从动节点向主控节点发送此类中断的机制。传统的基于I2C或相机控制接口的相机系统对每一从动节点使用单独的中断(IRQ)线,这由于大量引脚而增加了设备成本。用于每一从动节点的单独中断引脚这一概念意味着每一从动节点必须具有单个专用中断引脚。
因此,对CCIe实现消除对共享总线的主控节点和从动节点中的专用中断引脚的使用将会是合乎需要的。
发明内容
以下给出本公开的一个或多个方面的简要概述以提供对这些方面的基本理解。此概述不是本公开的所有构想到的特征的详尽综览,并且既非旨在标识出本公开的所有方面的关键性或决定性要素亦非试图界定本公开的任何或所有方面的范围。其唯一目的是以简化形式给出本公开的一个或多个方面的一些概念作为稍后给出的更详细描述之序言。
在各个方面,一种在主控设备上操作的方法包括:在串行总线的SCL线上提供时钟信号;当从动设备正在SDA线上传送数据时从SCL线上的转变生成接收时钟;基于在SCL线上提供的时钟信号的边沿与响应于该时钟信号的边沿而由从动设备在SDA线上产生的至少一个转变之间测得的时间历时来校准延迟;通过向该接收时钟添加该延迟来提供SDA时钟;以及使用该SDA时钟来从SDA线接收数据。该时钟信号可控制串行总线的SDA线上的数据传输。
在一方面,生成接收时钟包括:在第一操作模式中从SDA或SCL上的信令状态的转变生成第一接收时钟;在第二操作模式期间掩蔽SDA;以及在第二操作模式中从SCL上的信令状态的转变生成第二接收时钟。SDA时钟可从第二接收时钟生成。
在一方面,时钟和数据恢复电路可被用于生成接收时钟。
在一方面,串行总线上的传输与I2C操作模式兼容。
在一方面,在SCL线上提供的时钟信号控制SDA线上的双倍数据率传输。当在SCL线上提供的时钟信号控制SDA线上的双倍数据率传输时,在SCL线上提供的时钟信号可被耦合至串行总线的一个或多个I2C从动设备忽略。主控设备可在第一时间段期间与I2C从动设备通信,并且在第二时间段期间与不同于I2C从动设备的从动设备通信,其中双倍数据率时钟信号在第二时间段期间在SCL线上被传送。
在各个方面,一种配置成在耦合至串行数据链路时用作主控设备的装置包括:传送电路,配置成在串行数据链路的SCL线上传送第一时钟信号;时钟生成电路,配置成在从动设备正在SDA线上传送数据时从时钟信号的转变生成第二时钟;校准逻辑,配置成基于在第一时钟信号的边沿与响应于第一时钟信号的边沿而由从动设备在SDA线上产生的至少一个转变之间测得的时间历时来校准延迟,以及通过向第二时钟添加该延迟来提供第三时钟;以及接收电路,配置成使用第三时钟来从SDA线接收数据。第一时钟信号可被用于控制串行数据链路的SDA线上的数据传输。
在各个方面,一种配置成在耦合至串行数据链路时用作主控设备的装备包括:用于在串行总线的SCL线上提供时钟信号的装置;用于在从动设备正在SDA线上传送数据时从SCL线上的转变生成接收时钟的装置;用于基于在SCL线上提供的时钟信号的边沿与响应于该时钟信号的边沿而由从动设备在SDA线上产生的至少一个转变之间测得的时间历时来校准延迟的装置;用于通过向接收时钟添加该延迟来提供SDA时钟的装置;以及用于使用SDA时钟来从SDA线接收数据的装置。时钟信号可控制串行总线的SDA线上的数据传输。
在各个方面,一种处理器可读存储介质存储或维持指令和/或数据。该存储介质可包括瞬态和/或非瞬态存储介质。这些指令可由处理电路的一个或多个处理器执行。这些指令在由该一个或多个处理器执行时可使处理电路:在串行总线的SCL线上提供时钟信号;在从动设备正在SDA线上传送数据时从SCL线上的转变生成接收时钟;基于在SCL线上提供的时钟信号的边沿与响应于该时钟信号的边沿而由从动设备在SDA线上产生的至少一个转变之间测得的时间历时来校准延迟;通过向接收时钟添加该延迟来提供SDA时钟;以及使用SDA时钟来从SDA线接收数据。时钟信号可控制串行总线的SDA线上的数据传输。
在各个方面,一种在从动设备上操作的方法包括:在串行总线的SCL线上接收时钟信号;在对等方从动设备正在SDA线上传送数据时从SCL线上的转变生成接收时钟;基于在SCL线上提供的时钟信号的边沿与响应于该时钟信号的边沿而由从动设备在SDA线上产生的至少一个转变之间测得的时间历时来校准延迟;通过向接收时钟添加该延迟来提供SDA时钟;以及使用该SDA时钟来从SDA线接收数据。时钟信号可由主控设备生成以控制串行总线的SDA线上的数据传输。时钟信号可被适配成控制SDA线上的双倍数据率传输。
在一方面,生成接收时钟包括在双倍数据率下的对等传输期间掩蔽SDA线。
在一方面,时钟和数据恢复电路可被用于生成接收时钟。
在一方面,串行总线上的传输与I2C操作模式兼容。
在各个方面,一种从动设备可包括:第一接收机,配置成在串行总线的SCL线上接收时钟信号;时钟生成电路系统,配置成在对等方从动设备正在SDA线上传送数据时从SCL线上的转变生成接收时钟;校准逻辑和/或电路,配置成基于在SCL线上提供的时钟信号的边沿与响应于该时钟信号的边沿而由从动设备在SDA线上产生的至少一个转变之间测得的时间历时来校准延迟,以及通过向接收时钟添加该延迟来产生SDA时钟;以及第二接收机,配置成使用该SDA时钟来从SDA线接收数据。时钟信号可由主控设备生成以控制串行总线的SDA线上的数据传输。时钟信号可被适配成控制SDA线上的双倍数据率传输。
在各个方面,一种装备包括:用于在串行总线的SCL线上接收时钟信号的装置;用于在对等方从动设备正在SDA线上传送数据时从SCL线上的转变生成接收时钟的装置;用于基于在SCL线上提供的时钟信号的边沿与响应于该时钟信号的边沿而由从动设备在SDA线上产生的至少一个转变之间测得的时间历时来校准延迟的装置;用于通过向接收时钟添加该延迟来提供SDA时钟的装置;以及用于使用该SDA时钟来从SDA线接收数据的装置。时钟信号可由主控设备生成以控制串行总线的SDA线上的数据传输。时钟信号可被适配成控制SDA线上的双倍数据率传输。
在各个方面,一种处理器可读存储介质存储或维持指令和/或数据。该存储介质可包括瞬态和/或非瞬态存储介质。这些指令可由处理电路的一个或多个处理器执行。这些指令在由该一个或多个处理器执行时可使处理电路:在串行总线的SCL线上接收时钟信号;在对等方从动设备正在SDA线上传送数据时从SCL线上的转变生成接收时钟;基于在SCL线上提供的时钟信号的边沿与响应于该时钟信号的边沿而由从动设备在SDA线上产生的至少一个转变之间测得的时间历时来校准延迟;通过向接收时钟添加该延迟来提供SDA时钟;以及使用SDA时钟来从SDA线接收数据。时钟信号可由主控设备生成以控制串行总线的SDA线上的数据传输。时钟信号可被适配成控制SDA线上的双倍数据率传输。
附图说明
在结合附图理解下面阐述的详细描述时,各种特征、本质和优点会变得明显,在附图中,同样的参考特征贯穿始终作相应标识。
图1描绘了在各集成电路设备之间采用数据链路的装置,该数据链路根据多个可用标准之一来选择性地操作。
图2是解说具有基带处理器和图像传感器并且实现图像数据总线和控制数据总线的设备的框图。
图3是解说根据本文所公开的某些方面的采用IC设备之间的数据链路的装置的简化系统架构的示图。
图4是解说根据本文公开的一些方面的单导线IRQ总线可如何由多个从动设备和一个或多个主控设备共享的框图。
图5解说根据本文公开的一些方面的可被指派或与不同群相关联的不同IRQ信号的示例。
图6解说根据本文公开的一些方面的由主控设备监视IRQ信号并标识IRQ断言方从动设备。
图7解说根据本文公开的一些方面的可避免共享的单线IRQ总线上的各IRQ的同时断言的第一技术。
图8解说根据本文公开的一些方面的可处置共享的单线IRQ总线上的各IRQ的同时断言的第二技术。
图9解说与最短IRQ信号长度相关联的定时。
图10是解说根据本文公开的一些方面的可被配置用于带内中断的多个从动设备的框图。
图11是解说I2C一字节写数据操作的时序图。
图12是解说根据CCIe协议的串行总线上的数据传输的示例的时序图。
图13是解说冲突的潜在发生的时序图。
图14是解说用于避免图13中所解说的冲突的技术的时序图。
图15是解说在使用带内IRQ时附加或错误时钟脉冲的潜在发生的时序图。
图16是解说根据本文公开的一些方面的对附加或错误时钟脉冲的抑制的时序图。
图17解说根据本文公开的一些方面的用以在支持I2C模式和CCIe模式两者的同时实现带内IRQ时段的一种办法。
图18解说其中当处于CCIe模式时发出带内IRQ的示例。
图19解说用于在发射机处将数据位转码成经转码码元以将时钟信号嵌入在这些经转码码元内的方法的示例。
图20解说CCIe传输中的位19的编码的示例。
图21解说其中位19可以跨越各种数的示例。
图22解说位19数空间内的可被用于定义如本文公开的心跳的范围。
图23解说了根据本文公开的一些方面的心跳时钟。
图24解说了根据本文公开的一些方面的可以遵循CCIe协议并且以使CCIe设备能够获取心跳时钟的方式来传送的控制字的示例。
图25解说了心跳时钟在CCIe总线的SDA线上被传送的示例。
图26解说了根据本文公开的一些方面的用于三进制转变数与顺序码元之间的转换的方案。
图27解说了用于将转变数转换成码元数的技术的一个示例。
图28解说了图27中所解说的编码技术的一些方面。
图29解说了当SDA掩蔽在带内IRQ时段期间被断言时可能发生的一些状况。
图30解说了使用SDA掩蔽的副作用。
图31解说了与用于带内IRQ的心跳时钟的使用相关的某些方面。
图32解说了使用图31中所解说的三进制数的位19来映射CCIe模式传输的示例。
图33和34解说了根据本文公开的一些方面的用于在控制数据总线330上实现在或能在CCIe模式中操作的带内IRQ的技术。
图35解说了在采用SDA掩蔽时可能发生的混叠状况。
图36解说了根据本文公开的一些方面的与在带内IRQ期间提供的心跳时钟有关的一些方面。
图37解说了可藉以在主控设备处于活跃模式或功率节省模式中时传送心跳的方法。
图38解说了根据本文公开的一些方面的组合同步字和心跳字。
图39解说了根据本文公开的一些方面的CCIe协议的位19内的同步和心跳映射的示例。
图40解说了根据本文所公开的某些方面的可由主控设备在控制数据总线上向从动设备发出的“SID扫描全部”命令的一个示例。
图41解说了根据本文公开的一些方面的从动设备对从主控设备接收到的“SID扫描全部”命令的响应的定时。
图42解说了根据本文公开的一些方面的可由CCIe协议使用的可能的SID扫描响应字。
图43解说了CCIe协议的一个示例内且根据本文公开的一些方面的中断群询问调用。
图44解说了用于图43中所解说的中断群询问调用的终止符字的一个示例。
图45解说了根据本文公开的一些方面的对群询问调用的响应的示例。
图46解说了根据本文公开的一些方面的DDR全局时钟读取实现的一个示例。
图47解说了根据本文公开的一些方面的与DDR全局时钟读取字相关联的定时。
图48解说了较高吞吐量接口中的定时。
图49是解说其中SCL线和SDA线上的信号在写操作期间对齐的接口的时序图。
图50是解说其中SCL线和SDA线上的信号在读操作期间不对齐的接口的时序图。
图51解说了根据本文公开的某些方面的将经校准延迟用于高速串行接口的效果。
图52解说了可根据本文公开的某些方面来适配的CDR电路。
图53解说了根据本文公开的某些方面的用于时钟信号的对齐的经校准延迟电路。
图54解说了与图53的经校准延迟电路相关联的定时。
图55解说了根据本文公开的某些方面的其中从动设备可使用经校准接收时钟的对等DDR数据传输。
图56是解说采用可根据本文公开的某些方面来适配的处理电路的装置的示例的框图。
图57是根据本文公开的某些方面的方法的第一示例的流程图。
图58是根据本文公开的某些方面的方法的第二示例的流程图。
图59是解说被适配成用于处置共享IRQ总线上的IRQ的装置的硬件实现的示例的示图。
图60是根据本文公开的某些方面的方法的第三示例的流程图。
图61是根据本文公开的某些方面的方法的第四示例的流程图。
图62是解说被适配成用于校准接收时钟信号的装置的硬件实现的示例的示图。
具体实施方式
在以下描述中,给出了具体细节以提供对诸实施例的透彻理解。然而,本领域普通技术人员将理解,没有这些具体细节也可实践这些实施例。例如,电路可能用框图示出以免使这些实施例混淆在不必要的细节中。在其他实例中,公知的电路、结构和技术可能不被详细示出以免使这些实施例不明朗。
本文公开的一些实施例提供了可以改善使用串行总线的通信接口的性能的系统、方法和装置,该串行总线支持常规的I2C总线操作和使用公共I2C总线的增强型通信接口两者。在一个示例中,相机控制接口(CCI)可以基于I2C总线且可使用配置为连接主控设备和一个或多个从动设备的总线的双导线、双向、半双工、串行接口来部署。CCI操作可兼容I2C总线操作。根据一些方面,提供了使支持连接到I2C或CCI总线的多个外围设备所需的IRQ线的数量最小化的系统、装置和方法。
概览
如本申请中所使用的,术语“组件”、“模块”、“系统”及类似术语旨在包括计算机相关实体,诸如但并不限于硬件、固件、硬件与软件的组合、软件、或执行中的软件。例如,组件可以是但不限于是,在处理器上运行的进程、处理器、对象、可执行件、执行的线程、程序和/或计算机。作为解说,在计算设备上运行的应用和该计算设备两者皆可以是组件。一个或多个组件可驻留在进程和/或执行的线程内,且组件可以本地化在一台计算机上和/或分布在两台或更多台计算机之间。此外,这些组件能从其上存储着各种数据结构的各种计算机可读介质来执行。这些组件可借助于本地和/或远程进程来通信,诸如根据具有一个或多个数据分组的信号来通信,这样的数据分组诸如是来自藉由该信号与本地系统、分布式系统中另一组件交互的、和/或跨诸如因特网之类的网络与其他系统交互的一个组件的数据。
此外,术语“或”旨在表示包含性“或”而非排他性“或”。即,除非另外指明或从上下文能清楚地看出,否则短语“X采用A或B”旨在表示任何自然的可兼排列。即,短语“X采用A或B”得到以下任何实例的满足:X采用A;X采用B;或X采用A和B两者。另外,本申请和所附权利要求书中所用的冠词“一”和“某”一般应当被理解成表示“一个或多个”,除非另外声明或者可从上下文中清楚看出是指单数形式。
本发明的某些方面可适用于被部署在电子设备之间的通信链路,这些电子设备可包括装置(诸如电话、移动计算设备、电器、汽车电子设备、航空电子系统等)的子组件。图1描绘了可采用集成电路(IC)设备之间的通信链路的装置。在一个示例中,装置100可包括无线通信设备,该无线通信设备通过RF收发机与无线电接入网(RAN)、核心接入网、因特网和/或另一网络通信。装置100可包括可操作地耦合至处理电路102的通信收发机106。处理电路102可具有一个或多个IC设备,诸如专用IC(ASIC)108。ASIC 108可包括一个或多个处理设备、逻辑电路等等。处理电路102可包括和/或耦合至处理器可读存储(诸如存储器112),该处理器可读存储可维护可由处理电路102执行的指令和数据。处理电路102可由操作系统以及应用编程接口(API)110层中的一者或多者来控制,该API 110层支持并允许执行驻留在存储介质(诸如无线设备的存储器设备112)中的软件模块。存储器设备112可包括只读存储器(ROM)或随机存取存储器(RAM)、电可擦除可编程ROM(EEPROM)、闪存卡、或可以在处理系统和计算平台中使用的任何存储器设备。处理电路102可包括或访问本地数据库114,该本地数据库114可维护用于配置和操作该装置100的操作参数和其它信息。可使用数据库模块、闪存、磁介质、EEPROM、光学介质、磁带、软盘或硬盘等中的一者或多者来实现本地数据库114。处理电路也可以可操作地耦合至外部设备,诸如天线122、显示器124、操作者控件(诸如按钮128和/或按键板126)、以及其他组件。
使用专用IRQ线的中断机制
图2是解说具有基带处理器204和图像传感器206的设备202的简化示例的框图200。图像数据总线216和多模控制数据总线208可以在设备202中实现。示图200仅作为示例解说了相机设备202,并且各种其他设备和/或不同功能性可以实现、操作、和/或使用控制数据总线208来通信。在所描绘的示例中,可以在图像数据总线216(诸如由MIPI定义的“DPHY”高速差分链路)上从图像传感器206向基带处理器204发送图像数据。在一个示例中,控制数据总线208可以具有能配置成用于I2C总线模式中的操作的两条导线。相应地,控制数据总线208可以包括SCL和SDA导线。SCL可携带时钟信号,该时钟信号可被用于根据I2C协议来同步在控制数据总线208上的数据传输。数据线SDA和时钟线SCL可以耦合至控制数据总线208上的多个设备212、214和218a-218c。在该示例中,可以经由控制数据总线208在基带处理器204与图像传感器206以及其他外围设备218之间交换控制数据。根据I2C协议,SCL上的时钟速度对于正常I2C操作可高达100KHz,对于I2C快速模式可高达400KHz,并且对于I2C快速模式+(Fm+)可高达1MHz。在用于相机应用时,I2C总线上的这些操作模式可被称为CCI模式。
在一些实例中,两个或更多个从动设备214或218a可通过在相应的IRQ线220或222上断言预定义的逻辑电平来请求基带处理器204的关注。
解说使用共用IRQ总线来减少IRQ线的第一示例
图3是解说可以采用通信总线(诸如CCIe总线330)的装置300的某些方面的示意性框图。装置300可以实施在无线移动设备、移动电话、移动计算系统、无线电话、笔记本计算机、平板计算设备、媒体播放器、游戏设备等中的一者或多者中。装置300可以包括使用CCIe总线330来通信的多个CCIe设备302、320和/或322a-322n。CCIe总线330可以为被配置成用于CCIe总线330所支持的增强型特征的设备扩展常规CCI总线的能力。例如,CCIe总线330可以支持比CCI总线330高的比特率。根据本文所公开的某些方面,CCIe总线330的一些版本可以被配置或适配成支持16.7Mbps或更大的比特率,并且CCIe总线的一些版本可以被配置或适配成支持每秒至少23兆比特的数据率。
在图3中解说的示例中,成像设备302被配置成作为CCIe总线330上的从动设备来操作。成像设备302可被适配成提供例如管理图像传感器的传感器控制功能304。另外,成像设备302可包括配置寄存器306和/或其他存储设备324、处理电路和/或控制逻辑312、收发机310和线驱动器/接收器314a和314b。处理电路和/或控制逻辑312可包括处理器,诸如状态机、定序器、信号处理器或通用处理器。收发机310可包括接收机310a、发射机310c和某些共用电路310b,包括定时、逻辑和存储电路和/或设备。在一些实例中,收发机310可包括编码器和解码器、时钟和数据恢复电路和类似物。
发射时钟(TXCLK)信号328可被提供给发射机310c,其中TXCLK信号328可被用来确定用于CCIe通信模式的数据传输速率。当SDA导线318和SCL导线316两者被用于编码所传送的数据时,TXCLK信号328可被嵌入在CCIe总线330上传送的码元序列内。在一个示例中,TXCLK信号328可以使用转变时钟转码来被嵌入,由此要在物理链路330上传送的数据被转码,以使得在CCIe总线330上传送的每一对连贯码元之间发生至少一根导线316和/或318的状态改变。
CCIe设备302、320和/或322a-322n可使用CCIe总线330的双导线316、318来通信。例如,双导线CCIe总线330可以支持可提供比I2C或CCI操作模式所支持的数据率显著更大的数据率的CCIe双向、半双工通信模式。CCIe设备302、320和/或322a-322n可以在控制数据总线330的SCL线316和SDA线318两者上传送数据,其中时钟信息嵌入在双导线控制数据总线330上传送的码元序列中。某些CCIe设备320可被配置为总线主控方,而某些设备302和/或322a-322n可被配置为从动设备。CCIe设备302、320和/或322a-322n可以兼容耦合至控制数据总线330的I2C和/或CCI设备或者与其共存,以使得CCIe设备302、320和/或322a-322n可以使用CCIe协议和信令规范来与一个或多个其他CCIe设备302、320和/或322a-322n通信,甚至在I2C设备正在监视控制数据总线330时亦是如此。本文所公开的一个示例提供了能在CCIe和I2C/CCI设备两者均部署在同一总线上时用单个主控设备320来处置耦合到总线的多个从动设备302和/或322a-322n的接口。在后一示例中,两个或更多个CCIe设备302、320和/或322a-322n可以使用CCIe协议来通信,并且与I2C或CCI设备的任何通信事务根据I2C总线协议来进行。
根据本文公开的一些方面,CCIe设备302、320和/或322a-322n可以被耦合到共享中断请求(IRQ)总线326。根据一方面,共享IRQ总线326可以是耦合到从动设备302和/或322a-322n以及主控设备320的单条线。该共享IRQ总线326可以在空闲时使用电阻332或类似物等来被上拉(例如,拉高)。共享IRQ总线326可以在从动设备302、322a-322n断言中断信号时被拉低。即,每个从动设备302、322a-322n可通过向主控设备320发送IRQ信号来独立地请求接入以在控制数据总线330上进行传送。
在一些示例中,单线IRQ总线326可以是不受主控设备320或任何其他设备302、322a-322n管理的异步总线。相应地,从动设备302、322a-322n能在任何时间单方断言IRQ信号。
在另一示例中,单线IRQ总线326可专用于自从动设备到主控设备的单向信号传输。即,单线IRQ总线可被仅用于IRQ信号,而不被用于其他类型的信号。
在一个示例中,控制数据总线330可以是CCIe兼容总线。
在另一示例中,控制数据总线330可以是从动设备302、322a-322n与主控设备320之间的双向总线。
解说使用共用IRQ总线来减少IRQ线的第二示例
图4是解说其中一个或多个从动设备410、412、414、416、418可通过在共用或共享的单线IRQ总线422上断言预定义的逻辑电平来请求总线主控方404的关注的示例的框图400。单线IRQ总线420可由多个从动设备410、412、414、416、418共享,它们可包括I2C、CCI和/或CCIe设备。在所描绘的示例中,从动设备410、412、414、416、418中的每一者可被适配成支持CCIe通信模式,且总线主控设备404可被适配成充当I2C、CCI和CCIe操作模式中的总线主控方。
根据一个方面,共享的单线IRQ总线422被耦合到从动设备410、412、414、416、418和主控设备404。上拉电阻420可被耦合到IRQ总线422的导线以定义在从动设备410、412、414、416、418中没有一个从动设备正在断言中断请求时IRQ总线422的信令状态。在一个示例中,从动设备410、412、414、416、418可以将IRQ总线422驱低,以中断或请求主控设备404的中断。即,每一从动设备410、412、414、416和418可通过驱动IRQ信号来独立地断言中断请求,以请求来自主控设备404的关注。
共用、共享的单导线IRQ总线422可通过将从动设备410、412、414、416、418中的每一者配置成提供对已断言中断请求的一个或多个从动设备410、412、414、416和/或418的身份的指示来由多个从动设备410、412、414、416、418共享。在一些实例中,从动设备410、412、414、416、418中的两者或更多者可能竞争主控设备404的关注,且对这些竞争的从动设备410、412、414、416和/或418的身份的指示可被用来确定要准予对来自主控设备404的关注的哪一个请求。在一个示例中,每一个从动设备410、412、414、416、418可被配置成通过驱动IRQ总线422达具有与驱动IRQ总线422的设备410、412、414、416、418的身份相对应的长度的时间段来断言中断请求。
在一些实例中,用来驱动IRQ总线422的脉冲的长度可以标识从动设备410、412、414、416、418的包括正在竞争来自主控设备404的关注的从动设备410、412、414、416、418的群406、408。在一个示例中,第一多个从动设备410、412可以在第一群406中,而第二多个从动设备414、416可以在第二群408中,并且这样的编群可以例如是预先配置的或者在主控设备108引导之际动态地定义的(例如通过枚举)。这样的编群允许主控设备404更快地标识出哪个从动设备在IRQ总线422上触发了IRQ信号而没有不可接受的延迟。每一个从动设备410、412、414、416或418可被配置成生成具有针对从动设备410、412、414、416或418所属于的群406、408所定义和/或指派的宽度的脉冲。例如,第一群406中的从动设备410和412可被配置成生成共享单导线IRQ总线422上的具有与第二群408中的从动设备414和416所生成的脉冲的历时不同的历时的脉冲。每一群406和408包括至少一个从动设备。
IRQ总线422的断言的历时可以确定请求方从动设备410、412、414、416或418是否被准予主控设备404的关注。在一个示例中,区分优先次序方案可以将较长脉宽指派给较高优先级从动设备410、412、414、416、418且将较短脉宽指派给较低优先级从动设备410、412、414、416、418。在操作中,第一从动设备410、412、414、416或418可以通过在IRQ总线422上提供脉冲来断言中断请求。第二、较高优先级从动设备410、412、414、416或418可以通过在IRQ总线422上提供具有比第一从动设备410、412、414、416或418所提供的脉冲的宽度更长的宽度的脉冲来断言中断请求。在IRQ总线422已被断言时,主控设备404可以使用IRQ总线422的断言的历时来标识包括断言方从动设备410、412、414、416的最高优先级群406或408和/或断言IRQ总线422的最高优先级从动设备410、412、414、416或418。主控设备随后可使用控制数据总线402上的信令来扫描一个或多个从动设备410、412、414、416、418上的被指派了在IRQ总线422上观察到的脉宽的IRQ状态寄存器。
在一些实例中,在第一从动设备410、412、414、416或418所提供的脉冲的终止之后IRQ总线422继续被活跃地驱动时,第一从动设备410、412、414、416或418可让步于第二从动设备410、412、414、416或418,从而指示至少第二、较高优先级从动设备410、412、414、416或418也正在通过用更长脉宽驱动IRQ总线422来请求主控设备404的关注。在这样的情形下,第一从动设备410、412、414、416或418可返回空闲或睡眠模式,直至竞争控制数据总线402的下一机会出现。
在一些实例中,单导线IRQ总线422可由从动设备410、412、414、416、418和一个或多个主控设备404共享。在该示例中,从动设备410、412、414、416、418可在逻辑上编组在一起。例如,第一群406可包括第一多个从动设备410和412,且第二群408可包括第二多个从动设备414和416。这样的编组可以例如是预配置的、动态地定义的和/或由主控设备404在初始化时通过枚举来定义。群406、408的使用可以准许主控设备404更快速地标识通过驱动IRQ总线422来断言中断请求的一个或多个从动设备410、412、414、416和/或418。
在一些实例中,单线IRQ总线可以异步地操作,而无需主控设备404或另一设备的管理。在异步操作中,从动设备410、412、414、416或418可在任何时间单方驱动IRQ总线422。在一些实例中,从动设备410、412、414、416、418可以在断言中断请求之前确认IRQ总线422是空闲的(即,没有被另一设备驱动)。
在一些实例中,单线IRQ总线422可专用于从从动设备410、412、414、416、418到主控设备404的单向信号传输。即,IRQ总线422可被保留用于中断请求信令且其他类型的信号在IRQ总线422上不被支持。
从动设备410、412、414、416的群406、408可被配置成使用特异的IRQ信号。在一个示例中,第一群406可以使用具有第一时段的第一信号,第二群408可以使用具有第二时段的第二信号,以此类推。在一些实例中,未与另一从动设备编组在一起的从动设备418可被当作一个设备的群来对待,且可被指派使用具有第三时段的第三信号。IRQ信号的时段可被定义为IRQ总线420被断言方从动设备410、412、414、416或418所驱动(例如,拉低)的时长。其他形式的信号区分可被使用。例如,不同IRQ信号电压电平可被指派给从动设备410、412、414、416的不同群406、408和/或指派给未被指派到群或以其他方式被当作群的唯一成员来对待的从动设备418。
在一些实例中,群406、408可以定义从动设备410、412、414、416、418的逻辑群,以使得每一群406、408可包括至少一个从动设备410、412、414、416、418。群406、408可包括多个从动设备410、412、414、416、418。指派给每一群406、408的从动设备410、412、414、416、418的数量可以基于诸如查询并标识群406、408中的每一个潜在的断言方从动设备410、412、414、416、418的历时等因素来确定。例如,在耦合到IRQ总线422的所有从动设备410、412、414、416、418由主控设备404查询时,可结果造成不可接受的长延迟。
标识断言方从动设备410、412、414、416、418的时间可通过使用特异的IRQ信号标识其中从动设备410、412、414、416、418已断言IRQ的群406、408并随后查询所标识的群406、408中的每一成员从动设备410、412、414、416、418来显著得以减少。主控设备404可以检测IRQ总线422的断言的发生,且主控设备404可以确定该断言的历时。基于所确定的IRQ断言的历时,主控设备404可以标识与主控设备404观察到的长度的历时相对应的群406、408。主控设备404随后可查询群406、408中的每一个从动设备410、412、414、416、418以标识哪个从动设备触发或断言了该IRQ信号。在一个示例中,主控设备404可以确定IRQ断言源自第一群406。主控设备404可以通过控制数据总线402向第一从动设备410或412传送请求或命令。主控设备404可以例如传送寄存器状态请求。作为响应,第一从动设备410或412可以向主控设备404传送状态信息。如果状态信息指示第一从动设备410或412不是IRQ请求的源,则主控设备404可以通过控制数据总线402向第一群406中的第二从动设备412或410传送寄存器状态请求。这一过程可针对第一群406中的所有从动设备410、412重复,直至标识出断言了该IRQ信号的从动设备410、412。
图5是解说分别由不同群406、408、514所使用的IRQ信号502、504、506的定时的示例的时序图500。不同IRQ信号定时可被指派或关联于每一不同群406、408、514,和/或每一群406、408或514的成员从动设备410、412、414、416、418的IRQ信号定时可以基于或导出自所指派或关联于对应群406、408、514的IRQ信号定时。每一群406、408、514可包括成员从动设备410、412、414、416、418中的单独一个从动设备或成员从动设备410、412、414、416、418中的多个从动设备。第一群406可以使用具有第一脉宽508的IRQ信号502,第二群408可以使用具有第二脉宽510的IRQ信号504,且第n群506可被配置成使用具有第三脉宽512的第三IRQ信号506。
图6解说从总线主控设备404的观点来看的共享IRQ总线422的操作。该示例可适用于根据I2C、CCI和/或CCIe协议操作的控制数据总线402上的操作的定时612。总线主控设备404可以监视IRQ总线422上的信号的定时602以确定中断请求是否已被断言。总线主控设备404可以基于IRQ总线422上的脉冲608、610的历时604、606来标识断言中断请求的从动设备。
在该示例中,从动设备的群406、408可被配置成驱动IRQ总线422达预定义时段604、606。相应地,总线主控设备404可监视IRQ总线422以发现脉冲608、610,且可测量或计时任何检测到的脉冲608、610的历时604、606。在一个示例中,总线主控设备404可包括在脉冲608、610的开始处检测到转变620、622之际发起的定时器或计数器。在脉冲608、610终止后的定时器或计数器值随后可与关联于每一群406、408的预定义历时进行比较。
在该示例中,在第一时段614期间、在接收到第一脉冲608之前,数据控制总线402可以是空闲的。在第一IRQ信号被断言在共享单线IRQ总线422上时,总线主控设备404检测到IRQ总线已被拉低,并且确定该脉冲的时段、宽度、或历时604。例如,总线主控设备404可以在第一脉冲608终止之际确定第一脉冲608的历时604与来自设备的第一群406的成员的中断请求相一致。总线主控设备404可以发起对设备的第一群406的成员的扫描616以确定它们的IRQ状态并标识第一群406中的哪个或数个成员断言了IRQ请求608。在一个示例中,总线主控设备404可以在控制数据总线402上向第一群406的每一成员传送导致每一请求的接收方用IRQ状态进行响应的命令和/或请求。总线主控设备404可以与第一群406中的所标识出的中断方成员交换数据、控制以及其他信息。
第二中断请求脉冲610可以在第一中断请求脉冲608之后的某一点被接收。第二中断请求脉冲610可具有与从动设备的第二群408相对应的历时606。在接收到第二中断请求脉冲610之际,总线主控设备404可检测、确定或计算脉宽、时段或历时606。总线主控设备404随后可以发起对设备的第二群409的成员的扫描618以确定它们的IRQ状态并标识第二群408中的哪个或数个成员断言了与第二脉冲610相对应的IRQ请求。
图7是解说根据本文公开的一些方面的用于避免同时的、交叠的、和/或冲突的中断请求的发生的方法的时序图。在一些实例中,避免可导致冲突或竞争的中断请求的交叠的IRQ脉冲的发生可能是合乎需要的。冲突的中断请求可通过将从动设备配置成在断言中断请求之前监视IRQ总线422来避免。如果另一设备已经在共享的单线IRQ总线422上断言了中断请求708,则中断请求712可被推迟714。
在所描绘的示例中,第一脉冲704被来自设备的第一群406的从动设备断言在IRQ总线422上。第二从动设备可能希望在第一脉冲708的历时704期间断言中断请求。根据一个方面,第二从动设备可延迟该中断请求在IRQ总线422上的断言。在时刻718,第二从动设备可决定发起中断请求。在检查IRQ总线422之际,第二从动设备可确定脉冲708已被另一从动设备断言在IRQ总线422上。相应地,第二设备可发起拖延或延迟时段712以允许IRQ总线422返回空闲状态。拖延时段712可具有预定义历时、包括最小退避时段和/或随机延迟的历时、或在IRQ总线422返回空闲状态之后的预定义时间终止的时段。第二从动设备可被排除断言中断请求达最小时段710,在该最小时段期间IRQ总线422将是自由或空闲的。IRQ总线空闲时段710可以从IRQ总线422上的第一脉冲708终止且例如IRQ总线422返回逻辑高状态的时间点720来测量。下一中断请求716可以在最小总线自由时间710期满之后被断言。在最小总线自由时间710期满之际,第二从动设备可以通过在IRQ总线422上提供脉冲716来断言中断请求。在该示例中,第二从动设备是从动设备的第二群408的成员,且第二脉冲716的历时706可以不同于第一脉冲708的历时704。
图8是解说在I2C、CCI和/或CCIe接口支持同时的IRQ信号时可被采用的单线IRQ总线的操作模式的示例的时序图800。同时的IRQ信号可能导致个体从动设备之间和/或使用共享的单个IRQ总线422的不同群406、408中的从动设备之间的竞争和/或冲突。IRQ总线422上的信号的定时在第一时序图802中示出,而第一和第二群406、408中的从动设备所作的贡献分别在第二和第三时序图表812、822中解说。第一IRQ脉冲814由第一群406中的第一从动设备断言,与此同时或并发地,第二IRQ脉冲824由第二群408中的第二从动设备断言。第二IRQ脉冲824可具有比第一脉冲806的历时更长的历时804。在第一脉冲814终止之后,第一从动设备可因为IRQ总线422上第二脉冲824的一部分808的存在而认识到更高优先级设备已断言了中断请求。第一从动设备可通过在第一脉冲814终止之后监视IRQ总线422来将IRQ总线422的这一状况808识别为有效冲撞、竞争或冲突。第一设备随后可确定第二从动设备具有更高优先级且可推迟更新的请求,直至在第二脉冲824终止之后开始的IRQ总线空闲时段818之后。总线主控设备404可检测第二脉冲824的历时并且处理设备的第二群408以标识和服务中断请求的源。总线主控设备404可不知晓第一脉冲814。
第一从动设备可通过在IRQ总线空闲时段818期满之后在IRQ总线422上提供第三脉冲826来重新发出其中断请求。
图9是解说与IRQ脉冲相关的定时容差的时序图900,其中该容差可以决定最小IRQ脉宽。在一些实例中,管控I2C、CCI和/或CCIe接口上的信令的协议可以定义长达低历时(tLOW)的最小值906以准许I2C、CCI和/或CCIe主控设备404进行检测,但出于本描述的目的,可以假定该低历时可以不受制于指定的最小值。时序图900解说了单个脉冲902。
在该示例时序图900中,用于检测“高”信令状态的最小阈值电压是开关电路电源电压(“VDD”)电平的70%,且用于检测“低”信令状态的最大阈值电压是VDD电平的30%取决于接收机输入电平,接收机可以对IRQ总线422的位于VDD电平的30%和70%之间的电压电平确定高或低信令状态。最大下降-上升时间(TFRmax)904可被定义。TFRmax 904的历时可以决定指派给从动设备以用于断言中断请求的低时段(TLOW)910的历时。TLOW 910的值可被选择以使主控设备404能够在来自不同从动设备群的IRQ信号之间加以区分。从主控设备404的观点来看,在以下情况下可在IRQ总线422上观察到低状况:
TRFmax<TLOW
为了在从动设备的各群406、408之间加以区分,不同的TLOW单位可被指派为群406、408的IRQ脉宽。在一个示例中,第一群406可被指派TLOW的IRQ脉宽,而第二群408可被指派2xTLOW的IRQ脉宽。在该示例中,总线主控设备404观察到的低时段可如下计算:
第一群406:TLOW-TFR<tLOW<TLOW+TFR
第二群406:2TLOW-TFR<tLOW<2TLOW+TFR。
注意,在第一从动设备将IRQ信号断言为低之后,第二从动设备可能没有检测到IRQ信号为低长达将TFRmax延伸到tLOWmin的时段,其历时必然至少为TFRmax。因此,TLOW>3TFR max,且tLOW min>2TFRmax。相应地,tLOW 906的最小值可如下计算:
2TLOW-TFR>TLOW+TFR
→2TFRmax<TLOW
→3TFRmax<TLOW
Figure GDA0002310357430000201
图3-9中所解说的边带IRQ方法要求对每一从动设备和主控设备使用额外引脚。具体而言,从动设备经常受限于可用尺寸/空间,并且消除对边带中断的使用将会是合乎需要的。
共享总线上的带内中断机制
图10是解说其中中断总线已经被消除以利于带内中断的系统1000的框图。系统1000可包括耦合到共享控制数据总线1002的主控设备1004以及多个从动设备10061-1006N。在一个示例中,控制数据总线1002可以是I2C总线,其包括两条导线:时钟线(SCL)和串行数据线(SDA)。时钟线SCL可以被用来同步I2C总线1002上的所有数据传递。数据线SDA和时钟线SCL被耦合至I2C总线1004上的所有设备1004和10061-1006N。在该示例中,中断是在数据控制中心1002上被带内地发送的。在一些情形中,数据控制总线1002可同时支持I2C设备和CCIe设备两者。
图11是解说在根据I2C协议操作串行总线330(参见图3)时单字节写数据操作的示例的时序图1100。每个I2C传输1120始于在串行总线330上断言的开始状况1106,并且终止于在串行总线330上断言了停止状况1116时。开始状况1106在SDA信号导线318转变为低而SCL信号导线被保持在高状态之时被断言。停止状况1116在SDA信号导线318转变为高而SCL信号导线被保持在高状态之时被断言。根据I2C协议,SDA信号导线318上的转变在SCL信号导线316为低时发生,开始状况1106和停止状况1116除外。
在典型I2C操作中,I2C主控节点在SDA线318上发送7位从动方ID 1102以指示该主控节点希望访问I2C总线上的哪个从动节点,继以指示该操作是读操作还是写操作的读/写位1112,由此读/写位1112在逻辑0以指示写操作,以及在逻辑1以指示读操作。只有其ID匹配于该7位从动方ID 1102的从动节点才被准许响应该写(或任何其他)操作。为了使I2C从动节点检测其自己的ID 1102,主控节点在SDA线318上传送至少8位,连同SCL线316上的8个时钟脉冲。这种行为可被利用于在CCIe操作模式中传送数据以防止旧式I2C从动节点对CCIe操作作出反应。
图12是解说根据CCIe协议操作的串行总线330上、并且在两个或更多个通信设备202、220、222a-222n被配置或适配成根据CCIe协议来通信时的数据传输的时序图1200。在CCIe传输中,数据位可被转码成十二个码元以供在SDA线318和SCL线316上传输,并且传输模式可被称为“CCIe模式”。CCIe模式是源同步的,由推挽式驱动器来驱动。在控制数据总线330上传送数据的设备也传送嵌入在该数据中的时钟信息。因此,在任一时间,控制数据总线上仅一个设备被允许驱动该总线。
在特定CCIe操作模式中,数据被编码成在CCIe总线的信号导线316、318上顺序传送的一组2位码元。码元序列1202、1204可在相继传输区间1206、1208中传送。每个码元序列1202、1204之前有开始状况1216、1218、1220。开始状况1216、1218、1220在SDA信号导线318转变为低而SCL信号导线保持在高状态时被断言。根据CCIe协议,当正在传送码元序列1202、1204时在SCL信号导线318上发生转变的同时,SDA信号导线316上的转变可发生。在一些CCIe模式中,开始状况1216、1218、1220可占用两个码元区间。
在所解说的示例中,每个码元序列1202、1204包括12个码元并编码可包括16位数据和3位开销的20位数据元素。12个码元的序列1202、1204中的每个码元针对每个码元周期(tsym)1210定义SDA信号导线318和SCL信号导线316的信令状态。在一个示例中,用于驱动信号导线316、318的推挽式驱动器214a、214b可使用20MHz码元时钟来支持50ns历时的码元周期1210。在连贯码元序列1202与1204之间的时段1214中传送可记为{3,1}的二码元序列。对于结果所得的14码元传输(12码元有效载荷以及开始状况1216、1218、1220),第一传输1206的开始与第二传输1208的开始之间的最小流逝时间1212可如下计算:
tword=14×tsym=700ns。
由此,可每700ns传送20位,从而产生约28.6Mbps的原始比特率,其中有用比特率约为22.86Mbps,因为在每个12码元字(word)1206、1208中传送16个数据位。
主控设备控制对总线的接入,并且希望在控制数据总线330上进行传送的任何设备都被要求向主控设备请求接入控制数据总线330的准予。这一请求可通过发出中断请求来做出。根据一些方面,CCIe设备可通过根据预定义定时来发生的带内中断机制来发出中断请求。对这一带内中断机制的使用可防止总线争用和/或冲突。图13包括解说冲突1304的发生的时序图1300。当中断机制阻止从动设备在主控设备正在驱动1302控制数据总线330之时驱动控制数据总线330的SDA线318或SCL线316时,冲突1304可得以避免。
图14是解说用以避免图13的冲突潜在可能性的解决方案的时序图1400。在该办法中,该协议定义何时可发出带内IRQ。在一个示例中,当从动设备被准许驱动SDA线318时,主控设备可以在所定义的时间段1420期间在SCL线316上驱动时钟。在操作中,主控设备可将SDA线318驱动为高并启用上拉以便在SDA线318上的传送1402、1404之后维持高状态。SDA线318可以在某一点1414被释放,此后从动方可以在SDA线318上进行传送1406、1408。该从动方然后可将SDA线318驱动1416为高并在时间点1418释放SDA线318。主控设备然后可以在SDA线318上开始进行传送1410。
如在图15的时序图1500中解说的,由从动设备在SDA线318上发送的带内IRQ可导致错误时钟1510被检测到。在CCIe模式中,码元转变被用来生成接收机时钟(RXCLK)1504。所有接收设备从控制数据总线330的状态转变中恢复时钟定时。状态转变对应于SDA线318和/或SCL线316的信令状态改变,并且状态转变将在SDA线318与SCL线316之间进行定时对齐。CCIe时钟数据恢复(CDR)电路可容忍SDA线318与SCL线316之间的一些偏斜,但大于CDR的容限的偏斜可导致CDR生成额外的接收机时钟脉冲1510,结果导致CCIe字边界处的同步丢失。
图16是解说可避免在RXCLK 1504上生成额外脉冲1510以及潜在的同步丢失的一种解决方案的时序图1600。在时钟数据恢复电路处门控或掩蔽用于带内IRQ的信号的SDA掩蔽(SDAMASK)信号1608由包括主控设备和从动设备在内的每一设备输入。例如,每一CDR电路在带内IRQ传输期间掩蔽SDA线318或SCL线(哪条线被用于带内IRQ就掩蔽哪条)。例如,如果主控设备准许从动设备用特定带内IRQ协议来驱动SDA线318,则控制数据总线330上的所有设备然后被要求在该时段期间掩蔽其SDA线318输入以防止错误/额外RXCLK脉冲被检测到。在一个示例中,每一设备门控SDA线318以便在带内IRQ时段期间保持其值作为1(或高)进入CDR电路。
图17是解说用以在支持I2C模式和CCIe模式两者的同时实现带内IRQ时段的一种办法的示图1700。在该办法中,退出CCIe模式,然后在处于I2C模式之时发出带内IRQ。在发出带内IRQ后,控制数据总线回退到CCIe模式。然而,仅仅为了发出带内IRQ而不得不切换到I2C模式造成太大的开销(硬件和时间两者)。
图18是解说其中当处于CCIe模式之时发出带内IRQ(IBI)的示例的示图1800。理想地,该协议可被维持为如一个或两个CCIe字那样紧凑,以使得带内IRQ能在具有尽可能最小的协议开销的情况下尽可能频繁地被发出。例如,可以定义周期性IRQ窗口。
尤其,此带内IRQ时段可以甚至在总线系统处于低功率模式时也是可用的,以防止从动设备“挨饿”。对此的一个解决方案可以是在由主控设备在总线上周期性地传送以允许从动设备同步的CCIe“心跳”字内定义带内IRQ。主控设备可以按足够慢以用于功率节省但足够快以不使从动设备挨饿的速率发送该“心跳”CCIe字。该“心跳”CCIe字可以用作对从动设备的指示它们可以发出IRQ的指示符。
图19是解说用于在发射机处将数据位转码成经转码码元以将时钟信号嵌入在这些经转码码元内的方法的一个示例的框图。在发射机1900处,输入数据位1904被转换成多数位三进制(基数为3)数,其中每一数位可被称为“转变数”。随后,该三进制数被转换成在物理链路1902的时钟线SCL 1912和数据线SDA 1914上传送的一组(顺序)码元。在一个示例中,原始的20位二进制数据被输入到位至转变数转换器块1908以被转换成12数位三进制数。该12数位三进制数的每一数位表示“转变数”。两个连贯的转变数可以具有相同的值。每个转变数在转变至码元块1910处被转换成顺序码元,以使得任何两个连贯的顺序码元不具有相同值。因为在每对顺序码元中的码元之间保证码元值(以及导线1912、1914的信令状态)上的转变,所以该顺序码元转变可以用于嵌入时钟信号。每个顺序码元1916随后在双导线物理链路1902上被发送,该双导线物理链路302可包括具有SCL线1912和SDA线1914的I2C总线。
图20是解说位19(即,当位计数在第一位为位0开始时的第20位)的编码的示例的示图2000。换言之,如计算机科学中典型的情况,从零开始逐比特计数,并且比特19为第20比特。此处,比特0-18在三进制数范围0000_0000_00003到2221_2201_20013内表示。范围2221_2201_20023到2222_2222_22223中的三进制数可以不被用于数据传输。因此,三进制数范围2221_2201_20023到2222_2222_22223可被用于表示位19(即,第20个位)。换言之,三进制2221_2201_20023是二进制1000_0000_0000_0000_0000(十六进制0x80000),并且三进制2222_2222_22223(0x81BF0)是最大可能的12数位三进制数。图21和22解说了第20位(位19)利用的一个示例以及其中可传送心跳的第20位(位19)的数空间。
图21是解说其中位19可以跨越数字2221_2201_20023到2222_2222_22223,并且数字范围可被细分成图21左侧2102的各个分部的表2100。CCIe是多主控方控制数据总线架构,并且对控制数据总线的控制可以从一个主控设备转移到另一主控设备。因此,“主控总线请求”命令是可用的(在子范围2222_1121_02103至2222_2112_11213内),“主控切换”(在子范围2222_2220_00023至2222_2221_12103内)也是。
图22是解说位19数空间内的可被用于定义如本文公开的心跳的范围的表2200。
图23是解说具有心跳脉冲2302a、2302b、2302c、2302d的心跳时钟2300的时序图。根据本文公开的一些方面来定义的控制字2202(参见图22)可被用于提供心跳时钟2300。心跳时钟2300可提供具有相对较短的历时2306的脉冲2302a、2302b、2302c、2302d,这些脉冲被相对较大的时间段2304分隔开。在一个示例中,脉冲2302a、2302b、2302c、2302d可被定义为一码元历时(例如,50ns)并且这些脉冲可相隔30微秒(30μs),由此提供具有33.33kHz频率的心跳时钟。在该示例中,CCIe从动设备可以使用从心跳字中提取的33.33kHz时钟以用于各种待机操作。
图24解说了可遵循CCIe协议并以使得CCIe设备能够获取心跳时钟(包括图23中解说的心跳时钟2300)的方式来传送的控制字2416的示例2400。在一个示例中,控制字2416可被表达为十六进制数0x81BEE,该十六进制数产生被映射到可被表达为12数位三进制数2412的转变数的位模式2414。可以随开始状况值封装以产生14个转变数2424的集合的转变数被计算以产生在码元流2422中提供的12码元序列2428。如时序图2420中所解说的,12码元序列2428的每隔一个码元2430具有值‘3’,这导致SDA信号导线318和SCL信号导线316两者上的高电压电平。在该示例中,在SDA信号导线318和SCL信号导线316两者皆处于高状态时,最小电流可在SDA信号导线318和SCL信号导线316中流动。码元值‘3’可使与串行总线330相关联的功耗最小化。12码元序列2422还包括具有值‘1’或‘2’的码元2432、2434,其导致SDA信号导线318或SCL信号导线316被驱动为低,而SDA信号导线318或SCL信号导线316中的另一者保持为高。在每个12码元传输2428中,一个码元2434可被提供有值‘2’,而其余码元2432具有值‘1’。作为结果,心跳控制字2416在每次控制字2416被传送时在SDA信号导线318上产生6个脉冲并在SCL信号导线316上产生一个脉冲。在一个示例中,可通过重复地传送心跳控制字2416来在SCL信号导线316上提供1.43MHz时钟。
带内IRQ技术的第一示例
图25解说了心跳时钟可以在SDA线318和SCL线316上被传送的示例。在该示例中,心跳时钟包括该心跳时钟的在SDA线318上被传送的第一部分2502,而该心跳时钟的第二部分2504可以在SCL线316上被传送,藉此在SDA线318上为带内IRQ创造更大空间2506。
根据该协议,接收方从动设备可以检测例如在开始S指示符2514之后的第n个RXCLK 2512。第n个RXCLK 2514可触发接收方从动设备内的内部SDA掩蔽2524以内部地掩蔽SDA线318。
在n+1RXCLK 2516,该从动设备可通过拉低SDA线318来触发IRQ。SDA线318由主控设备拉高或浮置,以使得在它被拉低(由从动设备拉低)时这用于指示带内IRQ。在n+2RXCLK2518,主控设备可以对SDA线318进行采样以查实带内IRQ是否已被断言。在n+3RXCLK 2520,从动设备可释放SDA线318,以使得带内IRQ被解除断言。在n+3与n+4RXCLK 2522之间,主控设备重新启用SDA驱动器并且开始将SDA线318驱高。因此,接收设备(例如,从动设备)能够在n+4RXCLK 2522处安全地释放SDA掩蔽2824。在n+4RXCLK 2522,从动设备可释放SDA掩蔽2524。以此方式,IRQ可由从动设备在SDA线318上所定义的IRQ时段2506期间传送。
图26是解说用于在三进制数(转变数)2602与(顺序)码元2604之间进行转换的方案的一个示例的示图2600。三进制数(基数为3的数,也被称为转变数)可具有这三个可能数位或状态0、1或2之一。虽然在两个连贯三进制数中可能出现相同值,但任何两个连贯码元不具有相同值。
图6中解说性地阐述了转换功能。在传送侧(TX:T到S),逻辑是Ttmp=T=0?3:T和Cs=Ps+Ttmp。换言之,将转变数T与0进行比较,并且在T=0时,Ttmp(T临时)变成等于3,否则(在T不等于0时)Ttmp变成等于T。并且当前码元(Cs)变成先前码元值(Ps)值加Ttmp。例如,在第一循环2606中,T为2,所以Ttmp也为2,并且在Ps为1的情况下,新的Cs现在为3。
在第二循环2608中,转变数1在此下一循环中被输入,并且转变数不为3,所以将先前码元的为3的值加上为1的T值。由于该加法的结果4大于3,因此翻转数0成为当前码元。
在第三循环2610中,相同转变数1被输入。因为T为1,所以Ttmp也为1。转换逻辑将先前码元0加上1与以生成当前码元1。
在第四循环2612中,转变数0被输入。在T为0时,转换逻辑使Ttmp等于3。因此,将先前码元1加上3以生成当前码元0(由于该加法的结果4大于3,因而翻转数0成为当前码元)。
因此,即使两个连贯三进制数位2602具有相同数,该转换仍保证了两个连贯码元数具有不同状态值。正因如此,码元序列2604中的有保证码元转变可以用于嵌入时钟信号,藉此释放I2C总线中的时钟线SCL以用于数据传输。在接收机侧(RX:S到T),该逻辑反转:Ttmp=Cs+4–Ps并且T=Ttmp=3?0:Ttmp
图27是解说用于将转变数转换成码元数的技术的一个示例的第一示图2700。码元S可以在控制数据总线330在CCIe模式中操作时在SDA线318和SCL线316上被传送。在一个示例中,每一码元都可由2位构成,其中LSB被指派给SCL线216且MSB被指派给SDA线218。
每一三进制转变数T可被如下表征:
当S在码元排序圆圈上从前一状态顺时针转变一个状态至当前状态时,T=1;
当S在码元排序圆圈上从前一状态顺时针转变两个状态至当前状态时,T=2;以及
当S在码元排序圆圈上从前一状态顺时针转变三个状态至当前状态时,T=0。
CCIe模式中的数据控制总线330上的数据传输可采用任何转变数。即,所有可能的转变数值都可供用于生成编码了数据的每一码元。码元使用转变数来被选择以标识与先前传送的码元不同的码元。
图28是解说图27中所解说的编码技术的一些方面的第二示图2800。在该示图2800中,每一三进制转变数T可被如下表征:
当S在码元排序圆圈上从前一状态顺时针转变一个状态至当前状态时,T=1;以及
当S跨越码元排序圆圈上从前一状态转变至当前状态时,T=2;以及
当S在码元排序圆圈上从前一状态逆时针转变一个状态至当前状态时,T=0。
第二示图2800示出SCL线316在T=0或1时总是翻转,并且SCL线316在T=2时不翻转。
图29是解说可能在SDA掩蔽3122被断言时发生的一些状况的示图,该状况可能在带内IRQ时段期间发生。如本文所提及的,SDA线318在带内IRQ时段期间被掩蔽以避免生成额外的时钟脉冲。SCL线316在转变数T=2被发送时不翻转,并且根据I2C协议,SDA线318在SDA信号被掩蔽时被观察到始终为高(无码元转变),而不管其实际状态如何。因此,T=2可以在SDA掩蔽=1时被禁止,因为从动设备在T=2是在SDA掩蔽时段期间的情况下不按其接收时钟生成任何转变。
图30解说了图25和29中的使用SDA掩蔽的副作用。即使T不等于2,任何将导致SDA线318为逻辑0的转变T值都被混叠至T[2:0]=010,其假定SDA位始终为1,这是因为SDA线318在带内IRQ时段期间始终被视作逻辑1状态。
图31包括解说与对带内IRQ使用心跳时钟有关的一些方面的表3100和时序图3120。心跳可使用占用三进制数空间内的数空间0x81BD6到0x81BF0(即,27个地址)的值来生成。在SDA掩蔽=1之时T=2被禁止且任何其它T个组合被混叠至T=010这一事实意味着支持带内IRQ的心跳字占用不仅仅是一个地址,而且它在实效上占用了位19区域的27个地址。对该特定心跳模式的使用禁止使用三进制数2222_2222_2222(即十六进制81BF0),并且作为双字CCIe同步的第一字是非常有用的。三进制数2222_2222_2222促成绝对同步。
图32是解说使用图31中所解说的三进制数的位19来映射CCIe模式传输的示例的表3200。在该示例中,心跳可被指派给三进制数2222_2222_20103。注意在该示例中,只要检测到2222_2222_2xxx3的范围内的三进制数,这就可被解读为心跳和/或带内IRQ(例如,十六进制为0x81BD9)。
带内IRQ技术的第二示例
图33和34包括解说用于在控制数据总线330上实现在或能在CCIe模式中操作的带内IRQ的技术的时序图3300、3400。在一个示例中,执行带内IRQ所需的接收机时钟RXCLK循环数的减少可以是相对于参照图25描述的示例减少。时序图3300对应于用于提供带内IRQ时段3306的协议,其中接收方从动设备可以检测例如在开始S指示符3312之后的第n个RXCLK脉冲3314。第n个RXCLK脉冲3314可触发内部SDA掩蔽3324以内部地(例如,在接收从动设备内)掩蔽SDA线318。
在n+1RXCLK脉冲3316,从动设备可通过拉低SDA线318来触发IRQ。在n+1RXCLK脉冲3316到达之前,主控设备可使用电阻式上拉等来使得SDA线318来被(弱)拉至高状态。带内IRQ可以在从动设备将SDA线318拉低时被指示。
在n+1RXCLK脉冲3316之间但在n+2RXCLK脉冲3318之前,主控设备可监视SDA线318以查实该SDA线318是否和/或何时走低(作为带内IRQ请求已被断言的指示),而不是等待直至下一时钟循环。将领会到,由主控设备对SDA线318的这一监视可以只在IRQ时段期间被执行以便异步地检测来自从动设备的任何IRQ请求。在n+2RXCLK脉冲3318,从动设备可以释放SDA线318以解除断言该带内IRQ。在n+2与n+3RXCLK脉冲之间,主控设备可以重新启用SDA驱动器并且可以开始将SDA线318驱动至高电平。因此,断言方从动设备的接收机能够在n+3RXCLK脉冲3320处安全地释放SDA掩蔽。在n+3RXCLK脉冲3320处,从动设备可释放SDA掩蔽3324。以此方式,带内IRQ可在SDA线上所定义的IRQ时段3306期间由从动设备传送。
图35是解说当采用SDA掩蔽3324时的混叠状况的时序图3500,并且图36包括解说根据图33-35中提出的示例的与在带内IRQ期间提供的心跳时钟有关的一些方面的时序图3600。心跳字可占用三进制数空间内的数空间0x81BBB~0x81BD5(即,27个地址)。类似于参照图25-32讨论的心跳,图33-35的示例中的替代心跳也占用位19区域的27个地址。然而,该替代心跳不禁止使用2222_2222_2xxx三进制数空间,以使得2222_2222_2222字仍然可供用于同步。该心跳模式还可使得主控设备必须使用异步带内IRQ检测电路来容适更短的带内IRQ时段。
图37是解说可藉以在主控设备处于活跃模式3700时以及在主控设备处于功率节省模式3720时传送心跳的方法的示图。在正常操作期间,主控设备可以处于活跃模式3700,且主控设备可以周期性地发送心跳字3702以允许从动设备发出带内IRQ。心跳字区间可以使其将不会使从动设备缺少断言中断的机会。
当主控设备处于功率节省模式3720时,相同的心跳3702也可被传送,由此给予总线上的诸从动设备在功率节省模式期间发出带内IRQ的机会。
图38是解说组合同步字3804和心跳字3802的时序图3800。心跳字3802可用作二字同步字序列中的第二字。在一个示例中,此二字同步序列可以开始于所有数位=2(值=2222_2222_2222)且记为“SY-”的第一字3804,而心跳字3802可具有值=2222_2222_1101且记为“-NC”。“SY-”字可使得接收设备生成14个转变状态“2”,包括与开始状况相关联的一个“2”、以及最后码元后的一个“2”,此时表示总线信令状态的码元从1(SDA=0,SCL=1)转变为3(SDA=1,SCL=1)。“-NC”字可使得接收设备生成9个转变状态“2”,包括与开始状况相关联的一个“2”。
“SY-”和“-NC”字的组合可被称为“SYNC”,其提供总共23个转变状态“2”继以“1101”序列。该序列是唯一性序列并且不发生在其它CCIe事务中。CCIe设备可使用该序列来同步至CCIe字边界。
图39是解说CCIe协议的位19内的同步和心跳映射的表3900。跨越27个数的数空间0x81BD6到0x81BEF hex可被禁止以使得包括二十三个“2”以及“1101”位模式的此二字模式“SY-NC”是唯一性的且仅被用于同步。主控设备能够周期性地在心跳(其为“-NC”字)之前发送“SY-”字,以允许从动设备在同步丢失的情形中重新同步,或者准许热插入的从动设备同步到总线。
带内SID扫描和响应
耦合到控制数据总线330的每一从动设备可由从动方标识符(SID)来唯一性地标识。主控设备可执行对耦合到控制数据总线的从动设备的扫描以获悉其SID。扫描可以在设备的启动和/或上电时,在有新设备已被插入该总线(例如,热插入)时,和/或周期性地被执行。当主控设备感测到IRQ已由从动设备发出时,它然后可扫描从动设备以标识哪个设备发出了该IRQ。在一个办法中,主控设备可发起SID扫描,其中SID或其元素的序列被发送并且匹配这一SID或SID元素的从动设备拉低SDA线以指示匹配。
图40解说了包括SID“扫描全部(Scan All)”命令4002及其相应的有效载荷4004的CCIe传输的一个示例4000。SID“扫描全部”命令4002(由“0x4码标识)可由主控设备发布。有效载荷4004可包括单元SID询问序列4010。每一单元SID询问序列4010包括SID掩码对4008以及响应(RESP)字4006。SID掩码对4008可定义标识SID内要询问的位位置的掩码。
如表4020中所解说的,该32位SID掩码对4008(展布在两个16位数据D0和D1上)用于标识16位SID是否有一个或多个位位置正被查询,并且若是,则还标识正为其查询哪个值(或位设置)。例如,SID掩码对4008的位[1]可定义SID的位[0]将被校验还是掩蔽(即,不被校验)。如果位[1]指示“校验”,则SID掩码对4008的位[0]定义该询问是针对“0”还是“1”。
由RESP字4006定义的时段允许从动设备在共享总线上带内地对SID询问进行响应。对于每个单元SID询问序列4010,具有匹配于相应的询问位的一个或多个未被掩蔽的SID位的每个从动设备(即,该从动设备的SID在所询问的一个或数个位置处具有与该一个或多个询问位相匹配的一个或多个位)在共享总线的至少一条线上带内地发送询问响应。这允许主控设备查明总线上是否有任何从动设备具有部分匹配的SID(即,在所询问的位位置处具有与该询问位相匹配的位的SID)。
多个单元SID询问序列4010由主控设备发送以完全标识耦合至共享总线的所有设备的SID。
“扫描全部”命令4002或其变型可在与主控的引导不直接相关的时机被发布。在一个示例中,主控设备可扫描耦合至控制总线的所有从动设备以检查是否所有从动设备都处于同步。在该示例中,主控设备不一定需要执行完整的“盲扫描”,并且主控方可以发布无掩码和/或带有不将任何SID位从比较中排除的掩码的询问,因为主控设备可能已经知道哪些从动设备耦合至总线。在另一示例中,主控设备可扫描耦合至控制总线的所有从动设备以检查一个或多个特定设备是否处于同步。在该示例中,主控设备针对要被扫描的每个从动设备可仅发送一个单元SID询问。
图41解说了在包括SDA线和SCL线的共享总线上的SID扫描响应(RESP字4006)的时序图4100。在该示例中,SID扫描响应4130由三进制数2222_2221_21013或即十六进制0x81B8F(其等于12码元序列3131_3130_2323)标识。这些码元在SDA线4126和SCL线4127上被传送。为了允许从动设备在响应时段4106期间使用SDA线4126来对SID扫描询问作出响应,主控设备释放SDA线4126并使得SDA线4126被弱拉高。每个接收机设备随后掩蔽至其时钟数据恢复电路(CDR)的SDA线输入长达该响应时段4106。主控方翻转SCL线(改变其状态),从而每个接收机设备能够在SDA线处于使用中时从SCL线上的此类翻转中恢复时钟。
RESP字4006可以近乎等同于心跳字。RESP字4006可具有相对于心跳字的至少一个区别,以使得主控设备和/或从动设备能将RESP字4006与心跳字区分开来。心跳字和RESP字4006在位19三进制空间(即,其中位19值是恒定的地址空间)内可以是毗邻或近乎毗邻的,从而留下可用于其它控制和信令目的的大连续区域。在一个示例中,位19高区域的较低部分中的大连续区域可被保留和/或用于其它目的。RESP字4006提供的带内响应能力的可用性使从动设备能够带内地发送响应,而不是使用专用边带IRQ线。
根据CCIe协议,接收方从动设备可以例如检测在开始S指示符4112之后的第n个RXCLK 4114。第n个RXCLK 4114可触发内部SDA掩码4124以内部地(例如,在接收方从动设备内)掩蔽每一监听方CCIe设备内的SDA线4126。
在n+1RXCLK 4116处,从动设备可通过拉低SDA线4126来断言/发出响应。SDA线4126由主控设备弱拉高,从而在它被(从动设备)拉低时这用于指示对SID扫描询问的肯定响应。通过将SDA线4126弱拉高,这允许从动设备将SDA线4126拉低以断言对SID扫描询问的响应。
在n+1RXCLK 4116之间但在n+2RXCLK 4118之前,主控设备可监视SDA线4126以查明其是否和/或何时变低(意味着响应已被断言/发布),而非等待直至下一个时钟循环。注意,由主控设备对SDA线4126的此种监视可以仅在响应时段4106期间被执行以便异步地检测来自从动设备的任何所断言/发布的响应。
在n+2RXCLK 4118处,从动设备可释放SDA线4126。
在n+2RXCLK 4118与n+3RXCLK 4120之间,主控设备可重新启用其SDA线驱动器并开始将SDA线4126驱高。因此,接收机设备(例如,断言方从动设备)能够安全地在n+3RXCLK4120处释放SDA掩码4124。
在n+3RXCLK 4120处,从动设备可释放SDA掩码4124。以此方式,SID扫描响应可由从动设备在SDA线4126上所定义的响应时段4106期间传送。
图42是解说可由CCIe协议使用以使用三进制数2222_2221_21013(0x81B8F hex)的可能的SID扫描响应字的表4200。
IRQ群询问
为了标识IRQ断言方从动设备,诸从动设备可被指派或关联于“群”。由此,主控设备可以发送询问以标识断言了IRQ请求的从动设备。断言了IRQ的从动设备只可在其所被指派的群内响应该询问,藉此向主控设备标识断言方从动设备。
图43是解说示例性CCIe协议内的IRQ群询问一般调用的示图4300。主控设备可以在共享总线上向所有从动设备广播一般调用IRQ群询问4320。在IRQ群询问命令0x0007(十六进制)4302后,多个IRQ群询问字4304被发送。在一个示例中,每一询问字都具有三个询问响应时隙,且对于群0到群32而言有总共33个时隙。在一个示例中,询问字4304可包括从一(1)到十一(11)的IRQ群询问字(IQ)以及末尾处的一个终止符字(Term)4306。终止符字4400的示例在图44中解说。对于每一询问字4304,所有从动设备掩蔽共享总线的SDA线。在一般调用的有效载荷4304的每一IRQ群询问(IQ)字4308处,每一从动接收机必须在T11 RXCLK开始掩蔽SDA并在虚设(T-1)RXCLK释放该掩蔽。
在图43中所描绘的示例中,IRQ群询问可以在调用的消息类型具有值0x7时被确定。如所提及,在指派给三个不同IRQ群的一般调用的有效载荷的每一IQ字中可以有三个时隙。在每一时隙中,每一所指派的群中的一个或多个从动设备可驱动SDA线作为询问响应以指示它已发出IRQ或者具有尚未被服务的IRQ。主控设备可基于与总线相关联的IRQ群的数目来选取IRQ群询问(IQ)字的数目。
在一些情形中,或在需要时,主控设备可以发送比覆盖所有现存群所需的序列长度要短的询问字序列。在一个示例中,此较短的询问字序列可被发送以缩短针对频繁且短等待时间事件的询问时间,并且完整询问可被不那么频繁地执行以覆盖总线上的所有群。IRQ群询问(IQ)字的序列可以结束于终止符字(Term)。
如图44中所解说的,终止符字4400的码元模式可被选取成使得每一接收机能在位置T11识别出该字是终止符字4400(即,Term字4306),而不是IRQ群询问(IQ),从而使得接收机知晓何时要停止掩蔽SDA并要终止IRQ群询问一般调用处理。使用终止符(Term字4400)方案准许有效载荷的长度被灵活地设置,且IRQ群询问(IQ)字序列的长度在必要时可以超过11字。
IRQ群询问调用可以为特定字定义位值以简化从动设备处的与可变长度传输和SDAMASK信号4124、4424的激活有关的逻辑和决策制定。在一个示例中,与一般调用相关联的RESP字4006(参见图40)与特定其它字之间的区别可以在图41中所解说的RESP字的初始码元4103与图44中所解说的Term字4306(参见图43)的初始码元4403之间的区别中观察到。即,在码元4104、4404的相应的已传送序列的第一(最高有效)码元4103、4403之间明显的区别可由接收机用来在整个字的解码完成之前快速确定SDAMASK信号4124、4424的布置。具体而言,从动设备可将START状况检测为收到码元序列4104、4404两者中的码元值{3,1}。在检测到START状况之际,每一从动设备可初始化码元计数器(SYMCNT)4402,其能被用于跟踪从动设备接收到的码元的数目。在一个示例中,SYMCNT 4402可以用值0xB来初始化,并且对于接收到的每一码元,SYMCNT 4402可以被递减。相应地,从动设备可基于在SYMCNT 4402具有值0xB时接收到的码元4103或4403的值来确定SDAMASK信号4124、4424的状态。当RESP字4006正被接收时,码元4103在SYMCNT 4402具有值0xB时具有值3,这指示SDAMASK信号4124将被启用。当Term字4306正被接收时,码元4403在SYMCNT 4402具有值0xB时不具有值3(此处,该值为0),这指示SDAMASK信号4424将被禁用。用于编码RESP字4006和Term字4306的码元的配置使从动设备能够在中途终止RESP或一般调用序列,由此使得能够处置可变长度序列。
在一些实例中,用于第一IRQ群询问(IQ)的三个时隙被指派给群0、1和2。具有较小数字的群被指派给较早的响应时隙。群0可被保留以用于热插入设备或用于主控方尚未在总线系统上识别出的设备。由于必须发送至少一个IRQ群询问(IQ)字,因此发出IRQ的任何热插入设备总是能被识别出。
图45解说了对群询问调用的响应。在该示例中,一个或多个响应时段(即,询问字)可以通过将时钟计时转移至SCL线4510并使用SDA掩蔽4512来在SDA线4508上被定义。在该示例中,这些单独时隙4502、4504和4506已经针对每一询问(IQ)字4308来被定义(参见图43)。每一IQ字4308中的三个时隙4502、4504和4506中的每一者都可被指派给三个不同IRQ群。指派给每一时隙4502、4504和4506的从动设备可以在所指派的时隙4502、4504和4506期间驱动SDA线4508以作为询问响应来指示它已经发出IRQ或者具有尚未被服务的IRQ。由于每一IRQ群询问字4308具有三个询问响应时隙4502、4504和4506,并且在一般调用有效载荷4304中可以有最多11个IRQ群询问(IQ)字,因此在一个调用中可以有最多33个群时隙。
最多达三十二(32)个设备可被指派给各群以使得在一群中只有一个设备,藉此提供对IRQ发出者的即时标识。该办法一次标识多个IRQ群,藉此减少所需的IRQ扫描的次数(例如,更少的IRQ嵌套)。替代地,多个设备可被指派给每一群,但主控设备可能需要附加询问来标识该群中的这多个设备中的哪个设备发出了该IRQ。
主控设备可基于总线系统上的IRQ群的数目来选择要包括在一般调用中的IRQ群询问(IQ)字的数目。在一些示例中,主控设备可发送较少数目的询问字4308(例如,少于最大数目十一(11))。这可允许缩短用于IRQ群询问一般调用的时间。
IRQ群询问(IQ)字的序列以终止符字(Term)4306结束。终止符字4306的码元模式可被选择成使得每一接收机从动设备能在T11 RXCLK识别出该字是终止符(Term),而不是IRQ群询问(IQ),以知晓何时要停止掩蔽SDA线4508以及结束IRQ群询问一般调用。
用于第一IRQ群询问(IQ)的三个时隙4502、4504和4506可被指派给群0、1和2。具有更少数目的群可被指派给较早的响应时隙。
在一个示例中,群0可被保留用于主控设备尚未在共享总线上识别出的一个或数个热插入设备。由于至少一个IRQ群询问(IQ)字必须被发送,因此发出过IRQ的任何热插入设备总是被识别出。
归功于使用终止符(Term)字4306,有效载荷4304的长度可以被灵活地设置,且IRQ群询问(IQ)字序列的长度在有需要时可以超过11字。
IRQ群询问可用于边带IRQ,其中单独的IRQ信号线可由从动设备用来请求中断服务。主控方可使用IRQ群询问来标识请求方设备,并且主控设备无需通过用精确的自由运行的计时器测量IRQ断言时段来确定IRQ群。在这方面,从动设备无需以精确的定时生成IRQ,并且从动设备无需仲裁IRQ。相应地,从动设备和/或主控设备可以在没有精确的自由运行的计时器的情况下操作以创建并测量用于群标识的IRQ时段。
根据一些方面,IRQ群询问可以支持由多个群进行同时IRQ断言而没有任何群遭受仲裁损失。主控设备可以一次识别所有IRQ,并且从动设备无需因仲裁损失而不断重复IRQ。相应地,从动设备不太可能经历接入“挨饿”。
全局时钟读取
CCIe是源同步码元转变时钟计时系统。在控制数据总线上发送数据的设备还发送嵌入在该数据内的时钟信息。不像I2C的是,所有从动设备必须使用其自己的时钟源来生成具有时钟信息的读取数据。本文描述的用于IRQ群询问的技术(例如,始终翻转SCL线而同时使所有从动设备掩蔽其SDA输入并允许从动设备驱动SDA线)也可被用于执行全局时钟读取。
如从图43-45中可以领会的,IRQ群询问字可被限于携带仅3个从动方响应,主要是为了允许具有不同RXCLK定时的多个从动方在同一时隙内驱动SDA线。然而,只允许单个从动设备在SDA掩蔽期间驱动SDA线准许实现双倍数据率(DDR)全局时钟读取。
图46解说了对应于DDR全局时钟读取实现的示例的全局时钟读取一般调用的示例4600。在开始DDR全局时钟读取序列之前,主控设备可发出某一CCIe协议传输(诸如一般调用)。该一般调用传输可指示:
以下序列是DDR全局时钟读取。
DDR全局时钟读取的字数。
要自其读取数据的设备的SID。
要自其读取数据的设备的寄存器地址。
总线上的每一设备都被适配或配置成理解一般调用之后的所有CCIe事务都涉及DDR全局时钟读取,直到已发送指定数目的字。
在DDR全局时钟模式中,总线上的所有设备都可以在字末尾包括虚设码元的码元时段期间掩蔽至其时钟数据恢复(CDR)电路的SDA输入。被寻址的从动设备在第二个RXCLK脉冲(不包括藉由START状况的RXCLK)将SDA线318驱低,并且该逻辑0被主控设备用来校准其时钟以对SDA线(SDACLK)进行采样。从第三个RXCLK,被寻址的从动设备可以串行地驱动出9个数据位。该9个数据位可以是MSB居先或LSB居先或取决于系统要求的其它格式。在该时段期间,主控设备在SCL线上提供或驱动DDR全局时钟。从动设备可以在第12个RXCLK将SDA线318驱高,并在第13个RXCLK释放SDA线318。
主控设备在第一个码元“3”被发送后释放SDA线318,并在最后码元“2”之后启用其SDA驱动器并将SDA线318驱高。在释放SDA线318后,SDA线318可被弱拉至高状态。主控方以SDACLK定时在SDA线318中采样以移入这9个读取数据位。主控方可以在最后码元(“2”)后通过传送码元“3”来重新继续驱动SDA线318。
图47是解说全局时钟读取字的一些方面的时序图。第一时钟信号SDACLK 4702和第二时钟信号RXCLK 4704指示主控设备内的内部信号。第二时钟信号RXCLK 4704可由主控设备的时钟数据恢复电路(CDR)生成。第一时钟信号SDACLK 4702可由时钟生成电路4706生成,该时钟生成电路可由主控设备用来在被从动设备信号驱动时对来自SDA线4708(其为共享总线的一部分)的数据值进行采样。第一时钟信号SDACLK 4702只可在SDAMASK信号4710为1(对CDR的SDA线4708输入被掩蔽)时生成。
由于是从动设备在全局时钟读取时段期间驱动SDA线4708,因此总线上的所有设备(包括主控设备)在该时段期间掩蔽SDA线4708对其CDR的输入,该时段始于第二时钟信号RXCLK从START状况上升4712,且止于该字藉由虚设码元的最后RXCLK上升沿4714。
在该示例中,主控设备针对全局时钟读取字发送0x5BE75(2010_1010_10103)。由于这是全局时钟读取一般调用的有效载荷部分,因此共享总线上的每一设备都知道这些全局时钟读取字跟在调用消息“6”之后,每一设备还知道何时要开始和结束SDAMASK 4710。
在一些情形中,SDACLK 4702可以在主控设备处被生成,且具有相对于其RXCLK4704而言的延迟以应对SDA线318上的读取数据周转延迟。此延迟的历时可通过测量主控设备处的第一已知数据(例如,SDA线318上的1到0下降)的周转延迟来优化。
在一些实例中,从动设备可以只在全局调用之后的每一全局时钟读取字处才激活SDAMASK。SDA线318的掩蔽可防止总线上任何未被寻址的从动设备不受GCR字数据(被每一从动方视作2010_1010_10103)所影响。
每一设备预期针对下一字的全局时钟读取字,除非下一字是在第一码元具有特异信号模式的“终止符”字。
由于SDA线4708上的数据信号由从动设备使用来自该从动设备的CDR的RXCLK4716来驱动,因此主控设备必须“正确地”延迟其来自该主控设备的CDR的第二时钟信号RXCLK 4704以使该主控设备在有足够建立和保持时间的情况下对数据进行采样。主控设备获悉由从动设备按照全局时钟读取协议在主控设备发送出全局时钟读取字(即,T10循环)的第二码元后驱动的SDA线4708的第一下降沿处的此正确摂延迟。“校准逻辑”4718测量从T10循环的开头下降的SDA线4708的延迟,并使用该延迟来配置“SDACLK延迟”,以使得主控设备可靠地从下一码元对来自从动设备的SDA线4708传输进行采样。
全局时钟读取的其他方面和使用
某些串行总线接口可被适配成将DDR传送时钟用作用于增加串行总线上的吞吐量的手段。传送时钟的频率也可被增加。在一个示例中,串行通信总线的吞吐量可通过针对在SCL线316上传送的时钟信号的每个循环传送两个比特来增加。在此示例中,接收机可使用负和正转变来采样数据。在另一示例中,CCIe总线等可被适配成针对每个传送时钟循环传送两个码元。在采用DDR时钟的接口中的较高频率下,由于传送时钟循环的分配给信号上升时间的比例的增加以及与传播时间的差异相关联的信号偏斜等而可出现信令问题。
图48解说了较高吞吐量接口中的定时。第一时序图4800涉及其中根据在SCL线316上传送的DDR时钟来在SDA线318上传送数据的串行总线接口。由第一时序图4800表示的接口可使较高速度从动设备能够与常规I2C设备共存。
与I2C设备的共存可通过防止SCL信号316上的脉冲保持在高状态4822中达长到足以被I2C设备识别的时间来达成。高状态4822的历时(tHIGH)可从SCL信号316的上升沿达到电压电平(Vdd)的30%的时间4816直至SCL信号316的下降沿达到电压电平的30%的时间4818来测量。I2C协议指定SCL信号316和SDA信号318上的脉冲的最大历时(tSP=50ns),并且I2C设备具有阻挡SCL信号316和SDA信号318上的具有小于50ns的历时的脉冲的窄带滤波器。相应地,与I2C设备的共存可在SCL信号316上的时钟脉冲具有小于50ns的历时时达成。
在期望与I2C设备的共存时,DDR时钟控制的接口可被适配成维持SCL信号316的最小低时段(t)4820,以使得时钟循环中剩余的时间可被分配以计及SCL信号316上的边沿的上升和下降时间。被分配用于SCL信号316的上升时间的时间可对应于从逻辑低转变到第一切换电压电平4802所需要的时间,第一切换电压电平4802是逻辑低与逻辑高之间的电压的30%。被分配用于SCL信号316的下降时间的时间可对应于从逻辑高转变到第二切换电压电平4804所需要的时间,第二切换电压电平4804是逻辑低与逻辑高之间的电压的70%。上升和下降时间还影响SDA信号的定时。
被分配用于SDA信号318的上升时间的时间可对应于从逻辑低转变到第一切换电压电平4806所需要的时间,第一切换电压电平4806是逻辑低与逻辑高之间的电压的30%。被分配用于SDA信号318的下降时间的时间可对应于从逻辑高转变到第二切换电压电平4808所需要的时间,第二切换电压电平4808是逻辑低与逻辑高之间的电压的70%。
眼图开口4182a、4182b、4812c、4812d的历时(teye)可被计算为剩余时钟周期(tSP)与SCL上升点(30%)至SCL下降点(70%)之间的差异。取决于开口关于下降沿还是上升沿出现,眼图开口4182a、4182b、4812c、4812d可具有可变历时。
对于读和写操作,眼图开口4182a、4182b、4812c、4812d的历时可具有不同含义。在写操作期间,SCL信号处于高逻辑状态的时段的最小历时(tHIGH)4816可以是不重要的。对于读操作,tHIGH 4816的值可被指定以确保眼图开口4182a、4182b、4812c、4812d的最小历时。
参照图49-51,可根据本文公开的某些方面来适配串行总线接口,以通过对齐在SCL线316和SDA线318上传送的信号来改善眼图开口。图49中的时序图4900解说了其中在写操作期间SCL线316和SDA线318上的信号被对齐的接口。即,除了SCL线316上的时钟信号之外,主控设备在SDA线318上传送信号。图49中的时序图4900解说了其中SCL线316和SDA线318上的信号被对齐的接口。SCL线316和SDA线318上的信号的对齐可导致比不对齐的信令更大的teye 4906。CDR电路可被用于可靠地采样在串行总线上传送的数据比特。
图50中的时序图5000解说了其中在读操作期间SCL线316和SDA线318上的信号在主控设备处被对齐的接口。这里,主控设备在SCL线316上传送时钟信号,而从动设备在SDA线318上传送信号。从动设备包括从SCL信号316中的转变生成RXCLK信号的CDR。在读操作期间,在CDR输入处掩蔽SDA信号318。SDA信号318中的转变可能不与SCL信号316中的转变对齐,因为从动设备使用在该从动设备处生成的接收时钟来生成SDA信号318,该接收时钟具有关于SCL信号316中的相应转变延迟的转变。时序图5000解说了在主控设备处执行的将其内部生成的SDACLK与SDA信号318的对齐。
在所描绘的示例中,对齐可通过校准主控设备上的一个或多个时钟来达成。主控设备上的CDR电路可被配置成基于SCL线316上的信号的转变来生成接收时钟(RXCLK)上的脉冲5006。RXCLK可使用一个或多个延迟5002来关于SCL线316上的转变进行延迟。来自SDA线318的至CDR电路的输入可在读操作期间被掩蔽。RXCLK上的脉冲5006可进一步使用经校准延迟5004来延迟以产生用于采样SDA线318的时钟(SDACLK)上的脉冲5008。SDACLK可通过在从SDA线318读取的第一比特处配置经校准延迟5004来校准。图51解说了将经校准延迟5004用于高速串行接口的效果。用经校准延迟5004来生成SDACLK可通过控制主控设备RX端中的接收机电路处的时钟定时来使SCL线316和SDA线318上的信号几乎对齐。眼图开口可使用此类校准来最大化。
图52提供了可根据本文公开的某些方面来适配的CDR电路5200、5220的示例。CDR电路5200、5220可通过生成输出RXCLK信号5208、5228上的脉冲来操作。双延迟CDR电路5200可具有在单触发电路5210中使用的延迟元件,该延迟元件可在检测到信号转变之后在SCL线316和/或SDA线318上存在毛刺达某个时间段的情况下消除这些毛刺。单延迟电路5220可忽略单触发电路5210。CDR电路5200、5220具有可被控制以在读操作期间阻挡来自SDA线318的输入的掩蔽逻辑5202、5222。即,RXCLK信号5208、5228可仅在读操作期间基于SCL信号316中的转变来生成。CDR电路5200、5220可采用附加的逻辑和电路来确定模式进入、离开和重启条件。CDR电路5200、5220可包括可由控制信号5206、5226配置的延迟电路5204、5224。
图53解说了可被用于对齐主控设备中的时钟信号的经校准延迟电路的某些方面。图54解说了与图53中的电路5320相关联的定时。控制电路5300使得能够从RXCLK 5208生成SDACLK 5308。RXCLK 5208被提供给由校准逻辑5306控制的延迟电路5302,该校准逻辑5306选择要被应用于RXCLK 5208的恰适的或所确定的延迟。可基于用于在读操作期间掩蔽来自SDA线318的输入的SDAMASK信号的使能信号5310确定是否要提供SDACLK 5308。
可编程延迟电路5320可被用于实现控制电路5300的SDACLK延迟元件5302。RXCLK5208可被提供给可使用串联连接的缓冲器来实现的延迟线5302,每个缓冲器的输出提供具有不同于其他缓冲器的输出的延迟的RXCLK5208版本。这些缓冲器的输出可被用于使用触发器5304来采样SDA线316上的信号。复用器5306可由选择(校准)逻辑5310控制以提供RXCLK 5208的所选延迟版本,该延迟版本可被进一步延迟以产生SDACLK 5308。选择逻辑5310可输出选择值,该选择值是在校准时段期间基于触发器5304的输出的状态5312来确定的。在此示例中,主控设备可从其自己的至SCL线316的输出生成RXCLK 5208。SDACLK 5308是RXCLK 5208的延迟版本,其中该延迟使用校准逻辑5306来优化。校准可在DDR读命令之后驱动的第一DDR读比特期间发生。被寻址的从动设备可被配置成使SDA状态翻转以促成校准。
根据某些方面,SDACLK 5308的校准可优化眼图开口的大小,并且容适宽偏斜余裕。CDR电路的使用可提供转变毛刺免疫性。经校准的SDACLK5308不需要相移来实现从SDA线318的比特捕捉。
图55解说了其中从动设备可被适配成使用经校准接收时钟的对等DDR数据传输的示例5500。在示例5500中,串行总线上的数据通信由主控设备5502控制,主控设备5502可被适配成在串行总线5510的SCL线316上提供DDR时钟信号5508。两个从动设备5504和5506可被配置成使得数据可在从动设备5504与5506之间直接交换而无需通过主控设备5502。由主控设备5502提供的时钟信号5508控制数据的这种对等交换。当该交换是DDR传输时,接收方从动设备5506可经历类似于本文讨论的关于由主控设备5502进行的读操作的问题。即,由传送方从动设备5504使用的时钟信号可以是在SCL线316上提供的时钟5508的经延迟版本。接收方从动设备5506可校准其内部生成的接收时钟以最优地采样在SDA线518上传送的DDR数据5512。相应地,接收方从动设备5506可被适配成使用图52中解说的CDR电路和/或图53中解说的校准电路中的一者或多者。
涉及共用IRQ总线的装置、系统和方法的示例
图56是解说采用可被配置成执行本文所公开的一个或多个功能的处理电路5602的装置的硬件实现的简化示例的概念图5600。根据本公开的各种方面,可使用处理电路5602来实现本文所公开的用于使用共用IRQ总线来管理或发起中断的元件、或元件的任何部分、或元件的任何组合。处理电路5602可包括一个或多个处理器5604,其由硬件和软件模块的某种组合来控制。处理器5604的示例包括:微处理器、微控制器、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、状态机、定序器、门控逻辑、分立的硬件电路、以及其他配置成执行本公开中通篇描述的各种功能性的合适硬件。该一个或多个处理器5604可包括执行特定功能并且可由软件模块5616之一来配置、增强或控制的专用处理器。例如,该处理电路可被配置为适配成处置对数据的编码和解码以供在一个或多个无线网络上传输的通信处理器或另一类型的处理器。一个或多个处理器5604可通过在初始化期间加载的一个或多个软件模块5616的组合来配置,且可通过在操作期间加载或卸载软件模块5616中的一者或多者来进一步配置。
在所解说的示例中,处理电路5602可使用由总线5610一般化地表示的总线架构来实现。取决于处理电路5602的具体应用和整体设计约束,总线5610可包括任何数目的互连总线和桥接器。总线5610将各种电路链接在一起,包括一个或多个处理器5604、和存储5606。存储5606可包括存储器设备和大容量存储设备,并且在本文可被称为计算机可读介质。总线5610还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。总线接口5608可提供总线5610与一个或多个收发机或线接口电路5612之间的接口。线接口电路5612可包括被用于通过可包括多导线串行总线的传输介质来与各种其他装置通信的差分线驱动器和接收机、CDR、编码器和解码器。取决于该装置的本质,也可提供用户接口5618(例如,按键板、显示器、扬声器、话筒、操纵杆),并且该用户接口可直接或通过总线接口5610通信地耦合至总线5608。
处理器5604可负责管理总线5610和/或一般处理,包括对存储在计算机可读介质(其可包括存储5606)中的软件的执行。在这一方面,处理电路5602(包括处理器5604)可被用来实现本文所公开的方法、功能和技术中的任一种。存储5606可被用于存储处理器5604在执行软件时操纵的数据,并且该软件可被配置成实现本文所公开的方法中的任一种。
处理电路5602中的一个或多个处理器5604可执行软件。软件应当被宽泛地解释成意为指令、指令集、代码、代码段、程序代码、程序、子程序、软件模块、应用、软件应用、软件包、例程、子例程、对象、可执行件、执行的线程、规程、函数、算法等,无论其是用软件、固件、中间件、微代码、硬件描述语言、还是其他术语来述及皆是如此。软件可按计算机可读形式驻留在存储5606中或驻留在外部计算机可读介质中。计算机可读介质和/或存储5606可以是非瞬态计算机可读介质。作为示例,非瞬态计算机可读介质包括:磁存储设备(例如,硬盘、软盘、磁条)、光盘(例如,压缩碟(CD)或数字多功能碟(DVD))、智能卡、闪存设备(例如,“闪存驱动器”、卡、棒、或钥匙驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可编程ROM(PROM)、可擦式PROM(EPROM)、电可擦式PROM(EEPROM)、寄存器、可移动盘、以及任何其他用于存储可由计算机访问和读取的软件和/或指令的合适介质。作为示例,计算机可读介质和/或存储5606还可包括载波、传输线、和任何其它用于传送可由计算机访问和读取的软件和/或指令的合适介质。计算机可读介质和/或存储5606可驻留在处理电路5602中、处理器5604中、在处理电路5602外部、或跨包括该处理电路5602在内的多个实体分布。计算机可读介质和/或存储5606可实施在计算机程序产品中。作为示例,计算机程序产品可包括封装材料中的计算机可读介质。本领域技术人员将认识到如何取决于具体应用和加诸于整体系统上的总体设计约束来最佳地实现本公开中通篇给出的所描述的功能性。
存储5606可维持以可加载代码段、模块、应用、程序等来维持和/或组织的软件,其在本文中可被称为软件模块5616。软件模块5616中的每一者可包括在安装或加载到处理电路5602上并由一个或多个处理器5604执行时有助于运行时映像5614的指令和数据,运行时映像5614控制一个或多个处理器5604的操作。在被执行时,某些指令可使得处理电路5602执行根据本文所描述的某些方法、算法和过程的功能。
软件模块5616中的一些可在处理电路5602初始化期间被加载,并且这些软件模块5616可配置处理电路5602以实现本文所公开的各种功能的执行。例如,一些软件模块5616可配置处理器5604的内部设备和/或逻辑电路5622,并且可管理对外部设备(诸如,线接口电路5612、总线接口5608、用户接口5618、定时器、数学协处理器等)的访问。软件模块5616可包括控制程序和/或操作系统,其与中断处理程序和设备驱动器交互并且控制对由处理电路5602提供的各种资源的访问。这些资源可包括存储器、处理时间、对线接口5612的访问、用户接口5618等。
处理电路5602的一个或多个处理器5604可以是多功能的,由此软件模块5616中的一些被加载和配置成执行不同功能或相同功能的不同实例。这一个或多个处理器5604可附加地被适配成管理响应于来自例如用户接口5618、线接口电路5612和设备驱动器的输入而发起的后台任务。为了支持多个功能的执行,这一个或多个处理器5604可被配置成提供多任务环境,由此多个功能中的每个功能按需或按期望实现为由一个或多个处理器5604服务的任务集。在一个示例中,多任务环境可使用分时程序5620来实现,分时程序5620在不同任务之间传递对处理器5604的控制权,由此每个任务在完成任何未决操作之际和/或响应于输入(诸如中断)而将对一个或多个处理器5604的控制权返回给分时程序5620。当任务具有对一个或多个处理器5604的控制权时,处理电路有效地专用于由与控制方任务相关联的功能所针对的目的。分时程序5620可包括操作系统、在循环基础上转移控制权的主循环、根据各功能的优先级化来分配对一个或多个处理器5604的控制权的功能、和/或通过将对一个或多个处理器5604的控制权提供给处置功能来对外部事件作出响应的中断驱动式主循环。
图57是解说根据本文公开的一些方面的用于断言、接收和/或处理带内IRQ的方法的第一示例的流程图5700。该方法可由例如主控设备、或主控设备和从动设备的组合来实现。
在框5702,可控制总线上的来自主控设备的数据传输。数据比特可被转码成码元以供跨该总线的两条线进行传输,并且时钟信号被嵌入在这些数据传输的码元转变内。
在框5704,可以在与由主控设备在该总线的第一线和第二线上进行的心跳字的传输相关联的中断时段期间监视该总线。可使得该一个或多个从动设备能够响应于心跳字的传输使用该总线的第一线来断言中断请求。在总线处于空闲操作模式之时,心跳字的传输可以按从第一线和第二线的信令状态生成的接收时钟来产生脉冲。
在一些示例中,心跳字可以选自具有被设为第一逻辑值的最高有效位的二十位字的集合。在主控设备与该一个或多个从动设备之间传送的有效载荷数据可包括具有被设为第二逻辑电平的最高有效位的二十位字。该一个或多个从动设备可被适配成通过在总线的第一线和第二线上传送响应字来断言中断请求。响应字与心跳字的不同之处可以在于一个位,并且具有与心跳字的最高有效位相同的最高有效位。
在另一示例中,该一个或多个从动设备可被适配成在中断时段期间内部地掩蔽第一线以用于解码从总线接收到的经转码数据位。可以在由主控设备在总线的第一线和第二线上发起的从动方标识符扫描的部分内提供从动方标识符扫描响应时段,在该时段期间,耦合到该总线的一个或多个从动设备能在该总线的第一线上提供其唯一性标识符。
在另一示例中,该一个或多个从动设备中的每一者可被配置成掩蔽第一数据线。SID扫描响应时段可以在总线上的全局调用的传输期间被提供。该一个或多个从动设备中的每一者可被配置成当在已经在总线上传送全局调用后传送响应时掩蔽第一数据线。
在一个示例中,主控设备可以在总线上执行对从动设备的扫描以标识断言该中断请求的从动设备。主控设备可以在第一线上从断言方从动设备接收指示符。
在另一示例中,从动设备可以在中断时段期间通过下拉第一线来断言中断请求。从动设备可以在中断时段期间内部地掩蔽第一线以用于解码在总线上接收到的经转码数据位。根据一些方面,耦合到总线的所有从动设备也在该中断时段期间内部地掩蔽第一线。
在另一示例中,可提供从动方标识符扫描响应时段。在该时段内,耦合到总线的一个或多个从动设备可以在由主控设备在总线的第一线和第二线上发起的从动方标识符扫描的部分内在总线的第一线上提供其唯一性标识符。
在另一示例中,可定义数据读取时段,其中先前标识的从动设备被允许在总线的第一线上传送数据,而此时主控设备在该总线的第二线上发送全局读取时钟。全局读取时钟可以是双倍数据率时钟。
图58是解说根据本文所公开的某些方面的用于生成IRQ的方法的示例的流程图5800。该方法可以由例如从动设备来实现。
在框5802,从动设备可以在总线上从主控设备接收数据传输。该数据中的数据位可被转码成码元以供跨该总线的两条线传输。时钟信号可被嵌入在这些数据传输的码元转变内。中断时段可被定义在该总线上所接收到的这些码元内。
在框5804,当在总线的第一线和第二线上从主控设备接收心跳传输之时,从动设备可以在该总线的第一线上断言中断请求该中断请求可以是断言方从动设备希望请求由主控设备作出的某一动作的指示符。该中断请求可以在中断时段期间通过下拉第一线来被断言。
在一个示例中,该中断请求是断言方从动设备希望请求由主控设备作出的某一动作的指示符。该中断请求可以在中断时段期间通过下拉第一线来被断言。
在另一示例中,从动设备可以在检测到心跳字后掩蔽第一数据线。当在已经在总线上传送一般调用后传送对心跳字的响应之时,可掩蔽第一数据线。
在另一示例中,从动设备可以在总线的第一线和第二线上从主控设备接收从动方标识符扫描请求,并且可以在从动方标识符扫描请求所提供的从动方标识符扫描响应时段的部分内在该总线的第一线上提供唯一性从动方标识符。
在另一示例中,从动设备可以在主控设备所定义的数据读取时段期间在总线的第一线上发送数据,在该数据读取时段中,先前标识的从动设备被允许在总线的第一线上传送数据,而此时主控设备在该总线的第二线上发送全局读取时钟。在一些情形中,耦合到总线的所有从动设备也在全局时钟读取时段期间内部地掩蔽SDA线。
图59是解说采用处理电路5902的装置5900的硬件实现的示例的概念图。在该示例中,处理电路5902可被实现成具有由总线5916一般化地表示的总线架构。取决于处理电路5902的具体应用和整体设计约束,总线5916可包括任何数目的互连总线和桥接器。总线5916将包括一个或多个处理器(由处理器5912一般化地表示)和计算机可读介质(由处理器可读存储介质5914一般化地表示)的各种电路链接在一起。一个或多个定时器可连接到总线和/或可以是可直接访问的或实施在处理器5912中。总线5916还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。线接口电路5912可包括将处理电路5902耦合到控制数据总线的差分驱动器和接收机和/或将处理电路耦合至IRQ总线的电路。取决于该装置的性质,用户接口可被提供以支持诸如小键盘、显示器、扬声器、话筒、操纵杆等的设备。
处理器5912负责管理总线5916和一般处理,包括对存储在处理器可读存储介质5914上的软件的执行。该软件在由处理器5912执行时使处理电路5902执行上文针对任何特定装置描述的各种功能。处理器可读存储介质5914可被用于存储由处理器5912在执行软件时操纵的数据。处理器可读存储介质5914还可被用于存储与一个或多个远程管理的设备以及装置5900本身相关的系统信息(例如,简档)。
在一种配置中,处理电路5902可以执行适配成作为I2C、CCI和/或CCIe总线上的总线主控设备来通信的设备的一个或多个功能。在第二配置中,处理电路5902可以执行适配成作为从动设备在I2C、CCI和/或CCIe总线上通信的设备的一个或多个功能。处理电路5902可通过接口电路5918连接到控制数据总线5920。处理电路5902可包括被配置成监视CCIe总线5904以查明带内IRQ信号何时被断言或何时能被至少一个从动设备断言的模块或电路5920、被配置成对在CCIe总线5906上传送的数据进行编码或解码的模块或电路5920、以及被配置成使用CCIe总线5908来传送和/或接收数据的模块或电路5920。
图60是解说根据本文所公开的某些方面的用于校准接收时钟的方法的示例的流程图6000。该方法可由主控设备实现并且可包括校准用于将接收时钟与在串行总线上传送的数据比特对齐的延迟电路。
在框6002,主控设备可在串行总线的SCL线上提供时钟信号。该时钟信号可控制串行总线的SDA线上的数据传输。在SCL线上提供的时钟信号控制SDA线上的双倍数据率传输。
在框6004,主控设备可在从动设备正在SDA线上传送数据时从SCL线上的转变生成接收时钟。接收时钟可通过以下方式来生成:在第一操作模式中从SDA或SCL上的信令状态的转变生成第一接收时钟;在第二操作模式期间掩蔽SDA;以及在第二操作模式中从SCL上的信令状态的转变生成第二接收时钟。SDA时钟可从第二接收时钟生成。在一个示例中,时钟和数据恢复电路可被用于生成接收时钟。
在框6006,主控设备可基于在SCL线上提供的时钟信号的边沿与响应于时钟信号的边沿而由从动设备在SDA线上产生的至少一个转变之间测得的时间历时来校准延迟。
在框6008,主控设备可通过将该延迟添加至接收时钟来提供SDA时钟。
在框6010,主控设备可使用该SDA时钟来从SDA线接收数据。
在一个示例中,串行总线上的传输可与I2C操作模式兼容。主控设备可与耦合至串行总线的一个或多个I2C从动设备通信。当在SCL线上提供的时钟信号控制SDA线上的双倍数据率传输时,在SCL线上提供的时钟信号可被该一个或多个I2C从动设备忽略。主控设备可在第一时间段期间与I2C从动设备通信,并且在第二时间段期间与不同于I2C从动设备的从动设备通信。双倍数据率时钟信号可在第二时间段期间在SCL线上传送。
图61是解说根据本文所公开的某些方面的用于校准接收时钟的方法的示例的流程图6100。该方法可由从动设备实现并且可包括校准用于将接收时钟与在对等交换期间在串行总线上传送的数据比特对齐的延迟电路。
在框6102,可从串行总线的SCL线接收时钟信号。该时钟信号可由主控设备生成并且控制串行总线的SDA线上的数据传输。
在框6104,可在对等方从动设备正在SDA线上传送数据时从SCL线上的转变生成接收时钟。该接收时钟可在以双倍数据率进行的对等传输期间掩蔽SDA线之后生成。
在框6106,可基于在SCL线上提供的时钟信号的边沿与响应于时钟信号的边沿而由从动设备在SDA线上产生的至少一个转变之间测得的时间历时来校准延迟。
在框6108,可通过将该延迟添加至接收时钟来提供SDA时钟。
在框6110,可使用该SDA时钟来从SDA线接收数据。
在一些示例中,时钟和数据恢复电路可被用于生成接收时钟。串行总线上的传输与集成电路间(I2C)操作模式兼容。在SCL线上提供的时钟信号可控制SDA线上的双倍数据率传输。
图62是解说采用处理电路6202的装置6200的硬件实现的示例的概念图。在该示例中,处理电路6202可被实现成具有由总线6216一般化地表示的总线架构。取决于处理电路6202的具体应用和整体设计约束,总线6216可包括任何数目的互连总线和桥接器。总线6216将包括一个或多个处理器(由处理器6212一般化地表示)和计算机可读介质(由处理器可读存储介质6214一般化地表示)的各种电路链接在一起。一个或多个定时器可连接到总线和/或可以是可直接访问的或实施在处理器6212中。总线6216还可链接各种其他电路,诸如定时源、定时器、外围设备、稳压器、和功率管理电路。线接口电路6212可包括将处理电路6202耦合到控制数据总线的差分驱动器和接收机和/或将处理电路耦合至IRQ总线的电路。取决于该装置的性质,用户接口可被提供以支持诸如小键盘、显示器、扬声器、话筒、操纵杆等的设备。
处理器6212负责管理总线6216和一般处理,包括对存储在处理器可读存储介质6214上的软件的执行。该软件在由处理器6212执行时使处理电路6202执行上文针对任何特定装置描述的各种功能。处理器可读存储介质6214可被用于存储由处理器6212在执行软件时操纵的数据。处理器可读存储介质6214还可被用于存储与一个或多个远程管理的设备以及装置6200本身相关的系统信息(例如,简档)。
在一种配置中,处理电路6202可以执行适配成作为I2C总线、CCI总线、CCIe总线、或此类总线的衍生或扩展上的总线主控设备来通信的设备的一个或多个功能。处理电路6202可通过接口电路6218连接到控制数据总线6220。处理电路6202可包括:配置成生成要用于在总线6220上从从动设备接收数据的接收时钟的模块或电路6204;配置成校准应用于接收时钟的延迟以关于在串行总线6220上传送的数据比特来定位接收时钟的边沿的模块或电路6206;以及配置成使用串行总线6220来传送和/或接收数据的模块或电路6208。
应理解,所公开的方法中各步骤的具体次序或阶层是示例性过程的解说。基于设计偏好,应理解,可以重新编排这些方法中各步骤的具体次序或阶层。所附方法权利要求以样本次序呈现各种步骤的要素,且并不意味着被限定于所呈现的具体次序或阶层,除非在本文中有特别叙述。
提供先前描述是为了使本领域任何技术人员均能够实践本文中所述的各种方面。对这些方面的各种修改将容易为本领域技术人员所明白,并且在本文中所定义的普适原理可被应用于其他方面。因此,权利要求并非旨在被限定于本文中所示出的各方面,而是应被授予与权利要求的语言相一致的全部范围,其中对要素的单数形式的引述并非旨在表示“有且仅有一个”——除非特别如此声明,而是旨在表示“一个或多个”。除非特别另外声明,否则术语“某个”指的是“一个或多个”。引述一列项目“中的至少一个”的短语是指这些项目的任何组合,包括单个成员。作为示例,“a、b或c中的至少一者”旨在涵盖:a;b;c;a和b;a和c;b和c;以及a、b和c。本公开通篇描述的各种方面的要素为本领域普通技术人员当前或今后所知的所有结构上和功能上的等效方案通过引述被明确纳入于此,且旨在被权利要求所涵盖。此外,本文中所公开的任何内容都并非旨在贡献给公众,无论这样的公开是否在权利要求书中被显式地叙述。权利要求的任何要素都不应当在35U.S.C.§112第六款的规定下来解释,除非该要素是使用措辞“用于……装置”来明确叙述的或者在方法权利要求情形中该要素是使用措辞“用于……步骤”来叙述的。

Claims (23)

1.一种在主控设备上操作的方法,包括:
在串行总线的串行时钟线SCL线上提供时钟信号,其中所述时钟信号控制所述串行总线的串行数据线SDA线上的数据传输;
在从动设备正在所述SDA线上传送数据时从所述SCL线上的转变生成接收时钟;
基于一时间历时来校准延迟,所述时间历时是在所述SCL线上提供的所述时钟信号的边沿与响应于所述时钟信号的所述边沿而由从动设备在所述SDA线上产生的至少一个转变之间测得的;
通过将所述延迟添加至所述接收时钟来提供SDA时钟;以及
使用所述SDA时钟来从所述SDA线接收数据,
其中在至少一个时间段中,在所述SCL线上提供的所述时钟信号控制所述SDA线上的双倍数据率传输。
2.如权利要求1所述的方法,其特征在于,生成所述接收时钟包括:
在第一操作模式中从所述SDA线或所述SCL线上的信令状态的转变生成第一接收时钟;
在第二操作模式期间掩蔽所述SDA线;以及
在第二操作模式中从所述SCL线上的信令状态的转变生成第二接收时钟。
3.如权利要求2所述的方法,其特征在于,所述SDA时钟是从所述第二接收时钟生成的。
4.如权利要求1所述的方法,其特征在于,进一步包括:
使用时钟和数据恢复电路来生成所述接收时钟。
5.如权利要求1所述的方法,其特征在于,所述串行总线上的传输与集成电路间I2C操作模式兼容。
6.如权利要求1所述的方法,其特征在于,进一步包括:
在第一时间段期间根据I2C协议来与耦合至所述串行总线的I2C从动设备通信,
其中在所述SCL线上提供的所述时钟信号在第二时间段期间在所述SCL线上提供的所述时钟信号控制所述SDA线上的双倍数据率传输时被所述I2C从动设备忽略。
7.如权利要求1所述的方法,其特征在于,进一步包括:
在第一时间段期间与I2C从动设备通信;以及
在第二时间段期间与不同于I2C从动设备的从动设备通信,
其中双倍数据率时钟信号在所述第二时间段期间在所述SCL线上被传送。
8.一种配置成在耦合至串行数据链路时用作主控设备的装置,包括:
传送电路,其配置成在所述串行数据链路的串行时钟线SCL线上传送第一时钟信号,其中所述第一时钟信号控制所述串行数据链路的串行数据线SDA线上的数据传输;
时钟生成电路,其配置成在从动设备正在所述SDA线上传送数据时从所述时钟信号的转变生成第二时钟;
校准逻辑,其配置成:
基于一时间历时来校准延迟,所述时间历时是在所述第一时钟信号的边沿与响应于所述第一时钟信号的所述边沿而由从动设备在所述SDA线上产生的至少一个转变之间测得的,以及
通过将所述延迟添加至所述第二时钟来提供第三时钟;以及
接收电路,其配置成使用所述第三时钟来从所述SDA线接收数据,
其中在至少一个时间段中,所述第一时钟信号控制所述SDA线上的双倍数据率传输。
9.如权利要求8所述的装置,其特征在于,所述时钟生成电路被配置成:
在第一操作模式中使用所述SDA线或所述SCL线上的信令状态的转变来生成第四时钟;
在第二操作模式期间掩蔽所述SDA线;以及
在第二操作模式中从所述SCL线上的信令状态的转变生成所述第二时钟。
10.如权利要求8所述的装置,其特征在于,所述串行数据链路上的传输与集成电路间I2C操作模式兼容。
11.如权利要求8所述的装置,其特征在于:
所述第一时钟信号包括一系列时钟脉冲;
所述一系列时钟脉冲中的每个脉冲在第一操作模式中具有其历时超过阈值历时的高状态;
所述一系列时钟脉冲中的每个脉冲在第二操作模式中具有其历时小于所述阈值历时的高状态;
在所述第一操作模式中,所述从动设备被配置成根据I2C协议来在所述串行数据链路上通信;以及
在所述第二操作模式中,所述第一时钟信号被所述从动设备忽略。
12.如权利要求11所述的装置,其特征在于,所述阈值历时为50纳秒。
13.一种配置成在耦合至串行数据链路时用作主控设备的装备,包括:
用于在串行总线的串行时钟线SCL线上提供时钟信号的装置,其中所述时钟信号控制所述串行总线的串行数据线SDA线上的数据传输;
用于在从动设备正在所述SDA线上传送数据时从所述SCL线上的转变生成接收时钟的装置;
用于基于一时间历时来校准延迟的装置,所述时间历时是在所述SCL线上提供的所述时钟信号的边沿与响应于所述时钟信号的所述边沿而由从动设备在所述SDA线上产生的至少一个转变之间测得的;
用于通过将所述延迟添加至所述接收时钟来提供SDA时钟的装置;以及
用于使用所述SDA时钟来从所述SDA线接收数据的装置,
其中在至少一个时间段中,在所述SCL线上提供的所述时钟信号控制所述SDA线上的双倍数据率传输。
14.如权利要求13所述的装备,其特征在于,所述用于生成所述接收时钟的装置被配置成:
在第一操作模式中从所述SDA线或所述SCL线上的信令状态的转变生成第一接收时钟;
在第二操作模式期间掩蔽所述SDA线;以及
在第二操作模式中从所述SCL线上的信令状态的转变生成第二接收时钟。
15.如权利要求14所述的装备,其特征在于,所述SDA时钟是从所述第二接收时钟生成的。
16.如权利要求13所述的装备,其特征在于,所述用于生成接收时钟的装置包括:
时钟和数据恢复电路。
17.如权利要求13所述的装备,其特征在于,所述串行总线上的传输与集成电路间I2C操作模式兼容。
18.如权利要求13所述的装备,其特征在于,进一步包括:
用于在第一时间段期间根据I2C协议来与耦合至所述串行总线的I2C从动设备通信的装置,
其中在所述SCL线上提供的所述时钟信号在第二时间段期间在所述SCL线上提供的所述时钟信号控制所述SDA线上的双倍数据率传输时被所述I2C从动设备忽略。
19.如权利要求13所述的装备,其特征在于,进一步包括:
用于与I2C从动设备通信的装置,该装置被配置成:
在第一时间段期间与I2C从动设备通信;以及
在第二时间段期间与不同于I2C从动设备的从动设备通信,
其中双倍数据率时钟信号在所述第二时间段期间在所述SCL线上被传送。
20.一种在从动设备上操作的方法,包括:
从串行总线的串行时钟线SCL线接收时钟信号,其中所述时钟信号是由主控设备生成的并且控制所述串行总线的串行数据线SDA线上的数据传输;
在对等方从动设备正在所述SDA线上传送数据时从所述SCL线上的转变生成接收时钟;
基于一时间历时来校准延迟,所述时间历时是在所述SCL线上提供的所述时钟信号的边沿与响应于所述时钟信号的所述边沿而由从动设备在所述SDA线上产生的至少一个转变之间测得的;
通过将所述延迟添加至所述接收时钟来提供SDA时钟;以及
使用所述SDA时钟来从所述SDA线接收数据,
其中在至少一个时间段中,在所述SCL线上提供的所述时钟信号控制所述SDA线上的双倍数据率传输。
21.如权利要求20所述的方法,其特征在于,生成所述接收时钟包括:
在以双倍数据率进行的对等传输期间掩蔽所述SDA线。
22.如权利要求20所述的方法,其特征在于,进一步包括:
使用时钟和数据恢复电路来生成所述接收时钟。
23.如权利要求20所述的方法,其特征在于,所述串行总线上的传输与集成电路间I2C操作模式兼容。
CN201680008675.8A 2015-02-06 2016-01-26 串行总线的接收时钟校准 Active CN107209743B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/616,572 2015-02-06
US14/616,572 US9684624B2 (en) 2014-01-14 2015-02-06 Receive clock calibration for a serial bus
PCT/US2016/014977 WO2016126466A1 (en) 2015-02-06 2016-01-26 Receive clock calibration for a serial bus

Publications (2)

Publication Number Publication Date
CN107209743A CN107209743A (zh) 2017-09-26
CN107209743B true CN107209743B (zh) 2020-04-21

Family

ID=55300809

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680008675.8A Active CN107209743B (zh) 2015-02-06 2016-01-26 串行总线的接收时钟校准

Country Status (5)

Country Link
EP (1) EP3254203B1 (zh)
JP (1) JP6612885B2 (zh)
KR (1) KR102445344B1 (zh)
CN (1) CN107209743B (zh)
WO (1) WO2016126466A1 (zh)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10128964B2 (en) 2016-03-10 2018-11-13 Qualcomm Incorporated Multiphase preamble data sequences for receiver calibration and mode data signaling
KR102495030B1 (ko) * 2018-11-15 2023-02-06 매그나칩 반도체 유한회사 클록 장애를 복원하는 수신 장치 및 이를 포함하는 전송 시스템
EP3688638B1 (en) 2018-12-03 2023-01-04 Hewlett-Packard Development Company, L.P. Logic circuitry package
CN113168457A (zh) 2018-12-03 2021-07-23 惠普发展公司,有限责任合伙企业 逻辑电路系统封装
US10894423B2 (en) 2018-12-03 2021-01-19 Hewlett-Packard Development Company, L.P. Logic circuitry
WO2021080607A1 (en) 2019-10-25 2021-04-29 Hewlett-Packard Development Company, L.P. Logic circuitry package
CA3113998C (en) * 2018-12-03 2023-06-20 Hewlett-Packard Development Company, L.P. Logic circuitry
PL3682359T3 (pl) * 2018-12-03 2021-05-17 Hewlett-Packard Development Company, L.P. Obwód logiczny
BR112021010672A2 (pt) 2018-12-03 2021-08-24 Hewlett-Packard Development Company, L.P. Circuitos lógicos
CA3120980A1 (en) 2018-12-03 2020-06-11 Hewlett-Packard Development Company, L.P. Logic circuitry
US11338586B2 (en) 2018-12-03 2022-05-24 Hewlett-Packard Development Company, L.P. Logic circuitry
ES2955564T3 (es) 2018-12-03 2023-12-04 Hewlett Packard Development Co Sistema de circuitos lógicos
US20210001635A1 (en) 2018-12-03 2021-01-07 Hewlett-Packard Development Company, L.P. Logic circuitry
US10572438B1 (en) * 2019-03-07 2020-02-25 Qualcomm Incorporated Dynamic optimal data sampling time on a multi-drop bus
JP2020167634A (ja) * 2019-03-29 2020-10-08 ソニーセミコンダクタソリューションズ株式会社 送信装置、受信装置、及び伝送システム
DE102019112447A1 (de) * 2019-05-13 2020-11-19 Jenoptik Optical Systems Gmbh Verfahren und Auswerteeinheit zur Ermittlung eines Zeitpunkts einer Flanke in einem Signal
CN110928826A (zh) * 2019-11-21 2020-03-27 中电科仪器仪表有限公司 一种低功耗数据传送模式的dphy总线协议解码与触发的方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6839393B1 (en) * 1999-07-14 2005-01-04 Rambus Inc. Apparatus and method for controlling a master/slave system via master device synchronization
US7089338B1 (en) * 2002-07-17 2006-08-08 Cypress Semiconductor Corp. Method and apparatus for interrupt signaling in a communication network
WO2010013340A1 (ja) * 2008-07-31 2010-02-04 富士通株式会社 データ転送装置、データ送信装置、データ受信装置およびデータ転送方法
CN101667167B (zh) * 2009-10-23 2011-05-11 威盛电子股份有限公司 通用串行总线装置以及其校正方法
US9137008B2 (en) * 2013-07-23 2015-09-15 Qualcomm Incorporated Three phase clock recovery delay calibration

Also Published As

Publication number Publication date
EP3254203A1 (en) 2017-12-13
WO2016126466A1 (en) 2016-08-11
EP3254203B1 (en) 2019-08-28
KR102445344B1 (ko) 2022-09-19
JP6612885B2 (ja) 2019-11-27
JP2018506232A (ja) 2018-03-01
KR20170110610A (ko) 2017-10-11
CN107209743A (zh) 2017-09-26

Similar Documents

Publication Publication Date Title
CN107209743B (zh) 串行总线的接收时钟校准
US9690725B2 (en) Camera control interface extension with in-band interrupt
US9684624B2 (en) Receive clock calibration for a serial bus
US10353837B2 (en) Method and apparatus to enable multiple masters to operate in a single master bus architecture
EP3055779B1 (en) Coexistence of i2c slave devices and camera control interface extension devices on a shared control data bus
US9921998B2 (en) Sensors global bus
US10007628B2 (en) Dynamically adjustable multi-line bus shared by multi-protocol devices
US20150095537A1 (en) Camera control interface sleep and wake up signaling
JPH0319740B2 (zh)
US9921981B2 (en) Method to minimize the number of IRQ lines from peripherals to one wire
JP2017514394A (ja) マルチシンボルワードのための同期方法
WO2017172269A1 (en) Method and apparatus to enable multiple masters to operate in a single master bus architecture

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