具体实施方式
现在参考附图在下文中更全面地描述说明性实施例,在附图中示出了代表性示例。实际上,所公开的通信系统和方法可以以许多不同的形式来体现,并且不应该被解释为限于本文所阐述的实施例。相同的标号贯穿全文始终指代相同的元素。
在以下详细描述中,出于解释的目的,阐述了许多具体细节以提供对各种实施例的透彻理解。本领域普通技术人员将认识到的是,这些各种实施例仅仅是说明性的,并不旨在以任何方式进行限制。对于受益于本公开的这些技术人员,将容易地想到其它实施例。
此外,为了清楚起见,并未示出或描述本文描述的实施例的所有常规特征。本领域的普通技术人员将容易理解,在任何这样的实际实施例的开发中,可能需要许多特定于实施例的决定来实现特定的设计目标。这些设计目标将从一个实施例到另一个实施例以及从一个开发人员到另一个开发人员不同。此外,将理解的是,这样的开发工作可能是复杂且耗时的,但是对于受益于本公开的本领域普通技术人员而言仍然是经历的常规工程任务。
在当今社会和无所不在的计算环境中,高带宽模块化和便携式电子设备越来越多地被使用。这些设备之间和内部的通信的安全性和稳定性对于它们的操作是重要的。为了提供改进的安全高带宽通信,电子设备之间以及每个设备内的子电路之间的无线通信的独特能力可以在创新和有用的布置中加以利用。
这种通信可以发生在RF通信单元之间,并且在非常近距离的通信可以在EHF通信单元中使用EHF频率(通常为30-300GHz)来实现。EHF通信单元的示例是EHF通信链路(comm-link)芯片。贯穿本公开,术语通信链路芯片和通信链路芯片封装用于指代嵌入在IC封装中的EHF天线。通信链路芯片是通信设备的示例,也称为通信单元,无论它们是否提供无线通信,以及无论它们是否在EHF频带中操作。
术语“收发器”可以指代诸如包括传送器(“Tx”)和接收器(“Rx”)的集成电路(“IC”)的设备,使得集成电路既可以用于传送信息又可以用于接收信息,信息诸如数据。通常,收发器可以操作在半双工模式(在传送和接收之间交替)、全双工模式(同时传送和接收)、或者被配置为或者作为Tx或者作为Rx。收发器可以包括用于传送和接收功能的单独的集成电路。如本文使用的术语“非接触式”、“耦合对”和“紧密接近耦合”是指实现实体(诸如设备)之间的电磁连接而不是(有线的、基于接触的)电气连接和信号传输。如本文所使用的,术语“非接触式”可以指载波辅助的介电耦合系统,其可以具有在零至五厘米范围内的最佳范围。连接可以通过一个设备到第二设备的接近度来验证。多个非接触式传送器和接收器可能占用小的空间。与通常广播到几个点的无线链路相比,利用电磁建立的非接触式链路可以是点对点的。
由本文描述的EHF收发器输出的RF能量可以被设计为遵守由一个或多个政府或其代理规定的各种要求。例如,FCC可以颁布对于在RF频带中传送数据的认证要求。
“标准”和诸如“基于标准的”、“基于标准的接口”、“基于标准的协议”等的相关术语可以指有线接口标准,其可以包括但不限于USB(例如,USB 2.0、USB 3.0、USB 3/2或USBOTG)、DisplayPort(“DP”)、Thunderbolt、HDMI、SATA/SAS、PCIe、以太网SGMII、超级传输(Hypertransport)、Quickpath、I2S、GPIO、I2C及其扩展或修订。
本文描述的EHF通信系统可以通过在EHF非接触式通信链路上映射适当的USB信号条件来选择性地实现USB标准中的任何一个。EHF非接触式通信链路可以用作常规板对板和设备对设备连接器的替代,并且因此使得有线连接USB信令协议能够用在由EHF非接触式通信链路提供的非有线环境中。在EHF通信链路上使用USB协议可以通过建立对方EHF通信单元之间的EHF链路,并且然后通过在链路上建立适当的USB协议来完成。可以通过使每个EHF单元前进通过由在每个EHF通信单元中正在实现的一个或多个状态机控制的一系列步骤来建立链路。(一个或多个)状态机在本文可以被称为(一个或多个)意识进展(“POC”)状态机,其在下面主要结合与图4相关联的描述进行更详细的讨论。在链路上建立USB信令协议可以通过实现适合于期望的USB接口的状态机来执行。这个接口状态机在本文可以被称为PI状态机,并且可以在POC状态机内实现,或者它可以独立于POC状态机实现。如下面更详细地解释的,EHF通信单元的PI状态机可以与其它EHF通信单元中的PI状态机协作,以当它在所建立的EHF链路上建立接口(例如,USB接口)时逐渐地过渡通过其状态。在一些实施例中,PI状态机可以作为POC状态机的状态之一的一部分来执行。
本文给出的通信系统可以比现有方案消耗少得多的功率并且具有少得多的复杂度和成本。围绕公共载波频率最大化带宽使用需要使用多个通信单元,每个通信单元在某个时间段或者作为传送器或者作为接收器操作。每个单元可以用同一载波在或者全双工模式或者半双工模式下操作。在一些情况下,对于同一系统中的不同通信单元使用相同的载波(或基本上相似的载波频率)需要通信单元的空间分离。为了使系统中的通信单元与伙伴系统高效且有效地进行通信,它们必须能够同步它们的操作(和/或状态)。同一系统中的通信单元可以使用电信令来传达关于状况或状态的控制信息,而这些相同的单元可以通过EHF信令与伙伴通信单元(在不同的系统中)通信。基于特定系统的要求,特定通信单元可以基于来自主机系统的请求来加电,并且该通信单元可以负责发起相同系统中和/或伙伴系统中的(一个或多个)通信单元的链路启用。通信单元可能需要经过多个状态,其中状态过渡可以部分地取决于一个或多个其它通信单元的状态。这需要所有通信单元中的状态同步。为了实现这一点,控制信息可以在闭环中经过通信单元。此外,来自通过通信单元通信的主机系统的数据必须在很少或没有来自主机系统的干预的情况下透明地传达。即,即使EHF链路被插入在USB主机和USB设备之间,链路对主机或设备也不是“可见的”。实际上,通信单元可以用作对USB系统的端到端功能没有影响的USB重新驱动器。通过EHF链路在EHF通信单元之间传达的控制信息可以使用与通过EHF链路在两个主机系统之间传达的数据信息类似的信令特征。例如,控制信息可以利用调制方案通过EHF载波被发送,该调制方案可以类似于当通过EHF链路在两个主机系统之间发送数据信息时的调制方案。
本文给出的通信系统具有几个关键的优点。通过物理上分离同一系统中的通信单元并优化非接触式通信的连接距离,通信单元可以通过空间分离在相同的EHF频率上以最小的干扰进行操作。通信单元在设计上可以更简单,因为来自典型无线系统的许多约束(例如,使用频率的多个频带进行通信)已被放宽或者被全部去除。例如,由于通信距离近并且与相邻单元的干扰最小,因此单元可以被设计为以EHF信号的简单调制通信,并且没有附加的错误检测或校正电路系统。此外,EHF传送单元可以与EHF接收单元在物理上相同(相同的硅掩模组),并且单个芯片可以被配置为传送器、接收器,或者可以替代地被编程为或者传送器或者接收器。通过对所有通信单元使用非常类似的设计,开发和实现成本可以被降低。
结合附图18-22的描述更详细地讨论了各种PI接口实施例。这些PI状态机实施例可以启用接口协议,包括但不限于与EHF非接触式通信系统结合使用的USB 2.0、USB 3.0和USB 3/2自动可切换协议。因此,虽然EHF非接触式通信系统提供非有线近场链路,但是接口协议的行为与使用有线物理链路的系统的行为相同。这有利地消除了使用来自主机处理器的更高层次的干预的需要,这些主机处理器为了建立USB接口会在工业标准内核堆栈(例如,iOS、Android、Windows)中施加附加驱动器软件层。因此,与使用本文描述的实施例的相同外围接口的实现相比,需要较高层次干预并且使用无线通信链路上的诸如USB和DP的接口(诸如Wireless-USB(RF链路上的USB)或Wi-Fi Direct(用于DP))的常规工业实现需要大量的工程努力以便采用这样的实现,并且需要更大的功耗。
例如,提供了用于在与和第二USB设备相关联的第一CCRU建立非接触式通信链路中使用并且用于在经由至少一个有线路径与第二CCRU通信中使用的第一USB设备中的CCTU。该CCTU可以包括几个引脚,其中至少第一引脚用于经由有线路径与第二CCRU通信,并且至少第二引脚用于与第一USB设备、用于将EHF非接触式信号传送到第一CCRU的换能器以及电路系统通信。电路系统可操作以执行在建立非接触式通信链路期间跟踪CCTU的状态的CCTU状态机,其中状态机响应于由第一引脚接收到的信号而过渡通过多个状态,其中多个状态中的一个状态包括用于确定数据传输协议的能力状态。电路系统可以在能力状态期间执行USB状态机以使得第一USB设备能够经由非接触式通信链路与第二USB设备建立USB连接,其中USB状态机响应于由该至少第一引脚和至少第二引脚接收到的信号而过渡通过多个USB状态。电路系统可以响应于CCTU状态机和USB状态机中的至少一个中的状态过渡而使用换能器来选择性地传送EHF信号。
作为另一个示例,提供了用于在建立与第一CCTU的非接触式通信链路中使用并且用于在经由至少一个有线路径与至少第二CCTU通信中使用的CCRU。CCRU可以包括几个引脚,其中至少第一引脚用于经由有线路径与第二CCTU通信,并且至少第二引脚用于与第一USB设备、用于从第一CCTU接收EHF非接触式信号的换能器和电路系统通信。电路系统可操作以执行在建立非接触式通信链路期间跟踪CCRU的状态的CCRU状态机,其中状态机响应于由换能器接收到的信号而过渡通过多个状态,其中多个状态中的一个包括用于确定数据传输协议的能力状态。电路系统可以在能力状态期间执行USB状态机以建立与和第一CCTU相关联的第二USB设备的USB连接,其中USB状态机响应于由换能器接收到的信号而过渡通过多个USB状态。电路系统可以响应于CCRU状态机和USB状态机中的至少一个中的状态过渡而选择性地驱动用于与第二CCTU通信的第一引脚上的信号。
Tx和Rx单元也可以解析要使用哪种USB模式。例如,在一个实施例中,提供了用于解析由CCRU使用的USB模式的方法。该方法可以包括在非接触式通信链路上从第一CCTU接收能力消息——其中该消息包括第一CCTU USB参数,从CCRU检索CCRU USB参数、比较CCTUUSB和CCRU USB参数以解析CCRU应该使用多个USB模式中的哪个、以及基于该解析选择USB模式。
作为另一个实施例,提供了用于解析由CCTU使用的USB模式的方法。该方法可以包括经由至少第一引脚上的至少一个有线路径从第一CCRU接收信号——其中该信号指定第一CCRU USB能力参数和第一CCRU USB解析参数中的一个,在非接触式通信链路上将CCTUUSB参数传送到第二CCRU——其中传送的CCTU USB参数基于从第一CCRU接收到的信号,以及基于接收到的信号来选择第一USB模式。
本文描述的EHF通信单元与常规EHF技术的不同之处在于从一个CCU传送到另一个CCU的任何数据在其通过非接触式链路传送之前不被重新打包。而是,数据通过非接触式链路被直接逐比特发送。例如,如果主机处理器正在将根据USB协议打包的数据提供给CCTU,那么CCTU不需要重新打包USB打包数据,以便通过非接触式链路将其传送到CCRU。由于USB打包数据没有被CCTU重新打包,因此CCRU不需要解包接收到的USB打包数据。因此,CCRU可以将接收到的数据照原样传递给接收方设备中包含的组件。通过消除为了在非接触式链路上传递数据而打包和解包数据的需要,这有利地加速了数据传递。
可以在不需要POC状态机的情况下执行USB EHF链路的建立。例如,可能存在其中针对正在彼此通信的两个设备预设/固定特定的USB协议的实施例,并且因此不需要能力状态协商。对于固定USB协议设备,可以在加电时训练EHF链路,并且在两个设备都进入到数据传输模式中之后,可以通过EHF链路传送数据和/或USB状态信息。
图1图示了通信系统100,其中两个电子设备102和122可以通过非接触式通信链路150彼此通信。数据可以在至少一个方向上传递,从可以被视为用于发送要被传递的数据的“源”的第一设备102到可以被视为用于接收被传递的数据的“目的地”的第二设备122。参考图1,可以描述数据从第一设备102到第二设备122的传递。但是,应该理解的是,数据可以替代地或附加地从第二设备122(充当用于发送数据的“源”)传递到第一设备102(充当用于接收数据的“目的地”),并且信息经常可以在给定的通信会话期间在设备102和122之间的两个方向上进行交换。
为了说明清楚,设备102和122将被描述为彼此的“镜像(mirror image)”,但是应该理解的是,两个设备102和122可以彼此不同。例如,其中一个设备可以是膝上型计算机,另一个设备可以是移动电话。可以从本文公开的技术受益的电子设备的一些示例可以包括蜂窝电话(或者手持电话或者智能电话)、计算机、扩展坞(驻坞站)、膝上型电脑、平板电脑或相当的电子设备,等等。
第一电子设备102可以包括主机系统104和非接触式通信单元(其可以被称为“智能”非接触式连接器、通信子系统、“智能连接器”、“非接触式连接器”或者简称为“连接器”)106。与电子设备相关联的单元106可通常能够执行以下中的至少一者,即与第二设备122的单元126的非接触式链路150的建立和操作管理、监视和修改经过单元106到链路150上的数据、以及与主机系统104接口并为其提供应用支持。单元106的关于与链路150、数据和主机系统104交互的这些功能可以在下文中(或者在本公开中的其它地方)更详细地描述和详细说明以及讨论。
与第一设备102相关联的单元106可以包括以下元件中的一些或全部:电气接口108、处理器110和相关联的存储器112、控制电路114、测量电路116以及一个或多个收发器118。这些各种元件(110-118)的操作可以在下文中(或者在本公开中的其它地方)更详细地描述和详细说明以及讨论。
第二电子设备122可以包括主机系统124和非接触式通信单元(其可以被称为“智能”非接触式连接器或“通信单元”或“智能连接器”、或者“非接触式连接器”或者简称为“连接器”)126。与电子设备相关联的单元126可通常能够建立与第一设备102的单元106的非接触式链路150并管理该链路的操作、监视和修改经过单元126传递到链路150上的数据、以及与主机系统124接口并为其提供应用支持。单元126的关于与链路150、数据和主机系统124交互的这些功能可以在下文中(或者在本公开中的其它地方)更详细地描述和详细说明以及讨论。
与第二设备122相关联的单元126可以包括以下元件中的一些或全部:电气接口128、处理器130和相关联的存储器132、控制电路134、测量电路136以及一个或多个收发器138。这些各种元件(130-138)的操作可以在下文中(或者在本公开中的其它地方)更详细地描述和详细说明以及讨论。
单元106和126可以在没有来自主机处理器(分别在主机系统104和124中)的干预的情况下操作,并且可以分别控制主机系统104和124或其部分。单元106和126可以打开/激活应用、返回状况/功率级别、连接参数、数据类型、关于被连接的设备/系统的信息、内容信息、被传递的数据的量和类型,包括基于连接类型、链路管理、配额信息、频道控制的设备配置,等等。
围绕单元106和126(在图中)示出的虚线矩形可以简单地表示功能的“划分”,分别将单元106和126与主机系统104和124分离(区分)。在虚线矩形之外(用符号)示出的天线可以被认为在单元106和126的功能块内,但是可以布置在构成非接触式连接器的通信芯片的内部或外部。围绕单元106和126(在图中)示出的虚线矩形还可以表示非导电屏障(外壳、壳体等,未示出),诸如分别封闭单元106和126或整个设备102和122的塑料或丙烯酸,如上文所描述的。
电气接口108和128可以包括分别与主机系统104和124通信的(一个或多个)通信端口/(一个或多个)信道。主机系统104和124可以具有它们自己的处理器和相关联的电路系统(未示出)。
处理器110和130可以是嵌入式微处理器或者微控制器或者状态机,可以运行用于连接的管理OS,并且可以具有内置的认证/加密引擎。处理器110和130(或者单独地或者与本文给出的其它元件组合)可以是可操作的,以管理通信链路150、监视传递经过单元和通过通信链路的数据、或者为主机系统提供应用支持、或者执行一个或多个状态机或其变体,如从本文阐述的几个功能描述中可以变得明显的。在更广泛的意义上,单元106和126能够执行本文描述的各种功能中的一个或多个(至少一个)。
存储器112和132可以是RAM(随机存取存储器)、NVRAM(非易失性RAM)等,并且可以包括包含配置、状况、许可、内容许可、用于认证/加密的密钥等的寄存器。
控制电路114和134可以包括能够监视链路的状态和/或在数据分别经过单元106或126时同时(“即时(on-the-fly)”)主动对数据附加或改变数据的任何合适的电路系统。
测量电路116和136可以包括能够观察(监视)连接状态/状况、连接类型和被传送的数据的任何合适的电路系统。可以包括传感器(未示出)以监视信号强度、周围环境条件等。信噪比可以用作信号质量的指示符。
收发器118和138可以包括适合于在(用于主机系统的)电信号和(用于非接触式通信链路的)电磁信号之间转换的任何收发器(以及相关联的换能器或天线),诸如上文已经描述的。收发器118和138可以每个都是半双工收发器,其可以将基带信号异步地转换成从内部或外部天线(仅示意性地示出)辐射的调制EHF载波,或者可以接收和解调载波并且再现原始基带信号。EHF载波可以穿透广泛各种常用的非导电材料(玻璃、塑料等)。
应该理解的是,如果仅需要单向通信,诸如从第一设备102到第二设备122,那么收发器118可以由Tx代替并且收发器138可以由Rx代替。
如果需要,可以控制收发器118和138的传送功率和接收灵敏度以使电磁干扰效应最小化并且简化FCC认证。
收发器118和138可以被实现为包括Tx、Rx和相关组件的IC芯片。(一个或多个)收发器芯片可以以常规方式封装,诸如以BGA(球栅阵列)格式。天线可以被集成到封装中、或者可以在封装外部、或者可以被结合到芯片自身上。示例性单元106、126可以包括一个、两个或更多个收发器芯片。收发器118和138的一些特征或特性可以包括低等待时间信号路径、多千兆比特数据速率、链路检测和链路训练。由收发器118和138传送的信号可以以任何合适的方式被调制,以把从一个设备传递的数据运送到另一个设备,本文给出了其一些非限制性示例。调制可以是OOK(开/关键控)、ASK、PSK、QPSK、QAM或其它类似的简单调制技术。信号可以由一个收发器(诸如118)编码和分组化并传送,并且由另一个收发器(诸如138)接收和去分组化并解码。可以使用带外(OOB)信令或其它合适的技术来运送与在两个设备之间传递的数据不同或与其相关的信息。
可以被实现为芯片的收发器118和138或者单独的传送器和接收器可以在工厂被序列化(factory-serialized),使得芯片及其传送可以被“标记”(加指纹),这可以使得能够随后为数字版权管理(DRM)执行取证分析。例如,受保护的(高级)内容可以自由地从一个设备传递到另一个设备,但是事务可以被追踪到所涉及的特定设备,使得事务中的参与者可以承担责任(诸如,被计费)。高级保护内容可以被修改、向其附加数据、并且可以利用芯片ID、用户ID或其它手段来记录。
通信链路150可以是“非接触式”链路,并且第一和第二单元106和126可以是如本文所述的“非接触式”连接器。本文公开的单元106和126与常规的机械连接器之间的差别可以是立即显现的,并且可以在本文中进行描述。这些单元可以被认为是主机设备的通信子系统。在这方面,本文公开的非接触式连接器106和126与控制器(诸如以太网(标准)控制器)之间的差别可能不是立即显现的,因为两者都可以处理主机系统和通信链路之间的数据流。但是,本文公开的非接触式连接器和示例性标准控制器之间的区别在于,本文公开的非接触式连接器既建立非接触式通信链路又将来自主机系统的数据直接传递到非接触式通信链路上,而不需要(例如)机械(电气、非RF)连接器和电缆的媒介。进一步的区分可以以本文公开的非接触式连接器能够与主机系统独立且透明地操作而无需主机意识或交互的方式进行。
电子设备102和122之间的数据传递可以通过分别基本上完全地由第一和第二设备102和122的单元106和126处理的“非接触式”RF电磁通信链路(接口)150来实现。信号通过非电(介电)介质在设备102和122之间电磁地流动,非电(介电)介质诸如空气间隙、波导、塑料(聚乙烯、热塑性聚合物、聚偏二氟乙烯、含氟聚合物、ABS以及其它塑料),包括这些材料的组合。EHF信号可以穿过诸如纸板的其它介电材料。EHF信号可以穿过一系列不同的介电材料和/或波导。
与诸如NFC的现有技术相比,由于EHF非接触式通信启用的高数据速率,因此,诸如电影、音频、设备图像、操作系统等大型数据文件可以在非常短的时间段内被传递。作为示例,1千兆字节的数据文件可以在仅仅2秒钟内被传递。通常可以通过空气间隙的电磁通信可以被限制到短距离,诸如0-5cm。诸如介电耦合器的介电介质可以用于将设备102和122之间的非接触式链路的范围扩展到几厘米(cm)、几米或更多。
通信链路可以包括介电介质,其可以包括空气间隙、波导和塑料中的一个或多个。可替代地,通信链路可以是导电介质中的缝隙天线,缝隙天线在期望的方向上引导非接触式连接性。除期望从伙伴设备(至少其非接触式连接器)接收EHF辐射和发射EHF辐射的位置之外,设备(至少非接触式连接器)可以基本上完全被导电介质包围,其中伙伴设备也可以类似地基本上完全被导电介质包围。
应该理解的是,在本文讨论的非接触式链路的这个和任何其它实施例中,整个通信系统可以被实现为非接触式和物理链路的组合。此外,本文描述的一些技术可以应用到通过物理链路传递数据。在这种链路中,收发器可以非接触地将数据传送到用作数据的物理管道的电缆。
设备102和122中的一个或两者可以具有两个(或更多个)收发器。具有两个(或更多)收发器可以支持反馈回路、等待时间、变化、全双工操作,并且同时建立第二通信链路(诸如用于与主机系统通信)。示例性“数据流”可以如下前进。源自主机系统104的数据(或者源自单元106的数据)可以由单元106经由其收发器118提供到通信链路150上。数据经过(或通过)通信链路150。由单元126的收发器138从通信链路150接收到的数据可以被提供给主机系统124(或者可以保留在单元126中)。数据可以在反方向上经由单元126(或源自单元126)从主机系统124流动到非接触式链路150上再到单元106,单元106可以将数据传递到主机系统104。
图2图示了根据实施例的通信系统200,其中两个电子设备210和220可以通过两条或更多条非接触式通信链路彼此通信。系统200可以在许多方面类似于系统100,但是为了说明和简化的讨论目的,示出每个设备包括两个EHF通信单元。而且,系统200中的任何EHF通信单元可以与系统100中的任何EHF通信单元相同或基本相同。因此,图2中示出了单元106和126的更简化表示。如果期望,每个设备可以包括三个、四个、五个或更多个EHF通信单元。第一设备210可以包括EHF通信单元212、EHF通信单元214和主机系统216。一条或多条有线路径213可以将EHF通信单元212和214直接连接在一起。主机系统216可以与EHF通信单元212和214通信。在一些实施例中,EHF通信单元212和214可以通过主机系统216彼此通信。在其它实施例中,主机系统216可以能够在至少一条有线路径213上驱动信号。类似地,第二设备220可以包括EHF通信单元222、EHF通信单元224和主机系统226。一条或多条有线路径223可以将EHF通信单元222和224直接连接在一起。主机系统226可以与EHF通信单元222和224通信。在一些实施例中,EHF通信单元222和224可以通过主机系统226彼此通信。在其它实施例中,主机系统226可以能够在至少一条有线路径223上驱动信号。主机系统216和226可以类似于主机系统104和124,其两者都包括特定于其各自设备的电路系统,并且从而使得设备210和220能够为其预期的功能而操作。
在一些实施例中,EHF通信单元212、214、222和224中的每一个可以与以上讨论的EHF通信单元106或126相同。因此,EHF通信单元212、214、222和224包括能够被配置为传送和/或接收EHF信号的收发器。例如,在一种方法中,单元212和224可以被配置为接收EHF信号,并且单元214和222可以被配置为传送EHF信号。因此,在这种方法中,EHF通信单元212和222之间可以存在非接触式通信链路230,并且EHF通信单元214和224之间可以存在非接触式通信链路232。如图所示,单元212和222可以作为经由链路230通信的耦合单元对一起工作,并且单元214和224可以作为经由链路232通信的另一个耦合单元对一起工作。如果在系统200中要包括一个或多个附加的耦合单元对,那么还将存在附加的通信链路。
本文讨论的实施例涉及用于在耦合的EHF通信单元对之间建立非接触式通信链路的系统、方法和电路。为了让设备210和220使用一条或多条非接触式链路彼此通信,负责建立那些链路的EHF单元可能必须在数据可以在设备之间传递之前经过一系列步骤。这些步骤可以由在每个非接触式通信单元中实现的一个或多个状态机来控制。总而言之,不管是否使用一个或多个状态机来建立链路,这(一个或多个)状态机都可以在本文中被称为POC状态机。每个非接触式通信单元可以实现其自己的POC状态机以便建立与对方单元的链路。
每个POC状态机可以协作以在启用一个或多个非接触式通信链路之前使它们各自的通信单元逐渐地过渡通过多个状态。协作可能是必要的,因为建立非接触式通信链路以及使得数据能够从主机系统直接传递到非接触式通信链路的机制和过程是在没有(例如)机械(电气、非RF)连接器和电缆的媒介的情况下执行的。因此,因为在例如单元212和222之间不存在电气连接(除了可能用于输送功率之外),因此POC状态机可以依赖于“唤醒”回路(在本文中有时被称为闭合链路回路)以在建立非接触式通信链路之前彼此通信。在一些实施例中,POC状态机可以与主机系统的状态机协作。例如,进入到加电或断电状态中可以由主机系统引导。
唤醒回路可以是包括有线和非接触式路径的组合的单元间通信信道。唤醒回路还可以包括如所需那么多的非接触式单元以提供建立一条或多条通信链路所需的通信信道。在一些实施例中,可以只使用两个单元。只使用两个单元的唤醒回路可能需要选择性地门控每个单元的收发器,使得可以在单条非接触式路径上存在回路。在其它实施例中,诸如图2所示的实施例,可以使用至少四个单元来定义唤醒回路。如图所示,系统200中的唤醒回路可以包括单元212、有线路径213、单元214、非接触式路径232、单元224、有线路径223、单元222和非接触式路径230。因此,在这种布置中,虽然单元212和222可以是可操作的以建立链路230,但是它们可以依赖于唤醒回路彼此通信以建立链路230。例如,假设单元222作为Tx单元操作并且单元212作为Rx单元操作。由于单元222是Tx单元,因此它可以能够经由链路230将信号直接传送到单元212。但是,因为单元212正在作为接收器单元操作,因此它不能够经由相同的链路230向单元222传送信号。而是,单元212可以使用唤醒回路中有线和非接触式路径的组合间接地与单元222通信。在这个示例中,单元212可以经由有线路径213、单元214、链路232、单元224和有线路径223与单元222通信。因此,为了让耦合对在彼此之间来回传达信号,耦合对可以利用唤醒回路(例如,连接到另一个耦合对的有线路径,以及在该另一个耦合对之间存在的非接触式路径)。
唤醒回路可以在非接触式通信单元之间定义上游和下游关系。唤醒回路的方向可以基于对每个通信单元的Tx/Rx指定。例如,在系统200中,假设单元214和222是传送器,并且单元212和224是接收器,唤醒回路可以在顺时针方向上前进。在顺时针朝向的唤醒回路中,单元214可以是单元212紧接着的下游,并且单元222可以是单元212紧接着的上游。作为另一个示例,假设单元214和222是接收器,并且单元212和224是传送器,唤醒回路可以在逆时针方向上前进。
POC状态机的协作性质可以被实现,因为第一POC状态机的状态变化过渡可以围绕唤醒回路传播,以在每个下游POC状态机中引起新的状态变化。每个状态变化过渡可以提示任何给定的通信单元向其紧接着的下游单元通知其状态变化,从而提示那个下游单元的POC状态机过渡到新状态。因此,为了让第一POC状态机过渡到新状态,它可能必须等待状态变化一直绕回路传播,返回到第一POC状态机。因此,在第一POC状态机可以过渡到新状态之前,第一POC状态机可能必须等待紧接着的上游单元的状态机过渡到新状态并且接收到该过渡的通知。新状态变化过渡的这种传播可以继续以绕唤醒回路循环,直到使得一条或多条链路能够在设备之间传送数据。为了开始唤醒回路,主机系统可以向一个或多个EHF通信单元断言(assert)一个或多个信号。作为目标的EHF通信单元的POC状态机可以过渡到新状态或者可以响应于来自主机系统的信号而如下所述地开始发信标或监听。
如以上所讨论的,每个通信单元执行其自己的POC状态机。该POC状态机可以包括几个不同的状态(下面讨论)。为了让POC状态机使状态变化从一个状态过渡到另一个状态,可能必须满足一个或多个条件。这些条件中的一些可以作为来自通信单元外部的来源的通知来提供,或者可以在通信单元内部生成。源自外部的通知可以经由收发器或构成单元的集成电路封装的一部分的引脚接收。为了提供讨论这种通知可以在哪里被接收和生成的基础,现在参考图3。
图3示出了根据实施例的EHF非接触式通信单元300的说明性框图。单元300可以是例如包括几个引脚的IC。如图所示,单元300可以包括引脚301-313、EHF收发器320、天线325、高速电路系统330、低速电路系统340、接收器限幅器和后置放大器电路系统350、传送器预处理电路系统352、功率管理电路系统360以及逻辑和控制电路系统370。逻辑和控制电路系统370可以包括几个模块,其可以表示用于操作单元300的特定功能的硬件和/或软件组件。例如,逻辑和控制电路系统可以包括逻辑模块372、接口模式模块380和信标/监听模块390。VDD引脚301可以耦合到用于向单元300供电的外部源。VDD2引脚307可以是如图所示的可选引脚,或者可以在内部接合到VDD引脚301。接地引脚306可以耦合到接地源(未示出)。高速电路系统330、低速电路系统340、接收器限幅器和后置放大器电路系统350以及收发器预处理352在本文中可以被统称为基带电路系统。功率管理电路系统360、逻辑和控制电路系统370、逻辑模块372、接口模块380和信标/监听模块390在本文中可以被称为控制电路系统。
高速差分(“HSD”)引脚302和303可以用作用于高速电路系统330的输入和/或输出引脚。高速电路系统330可以是可操作的以根据各种协议(包括例如USB、SATA、PCIe和DP)来处理信号。低速差分(“LSD”)引脚304和305可以用作用于低速电路系统340的输入和/或输出引脚。低速电路系统340可以是可操作的以根据各种协议(包括例如USB高速/全速、DP辅助、I2S、GPIO、I2C以及其它低速信号方案)来处理信号。在一些实施例中,低速电路系统340可以处理以相对于由高速电路系统330处理的协议而言慢的速度操作的协议。在一些实施例中,高速电路系统330和低速电路系统340可以提供基带功能。
收发器320可以耦合到天线325、高速电路系统330和低速电路系统340。收发器320可以包括EHF Rx 321和EHF Tx 322。单元300可以被指定为作为或者Tx单元(在这种情况下,选择EHF Tx322用于操作)或者Rx单元(在这种情况下,选择EHF Rx 321用于操作)操作。EHF接收器单元321可以经由接收器限幅器和后置放大器电路系统350耦合到高速电路系统330。接收器限幅器和后置放大器电路系统350可以协助高速电路系统330处理高速协议。EHF接收器321或接收器限幅器和后置放大器电路系统350的输出可以耦合到电路系统340。电路系统340可以在或者半双工模式或者全双工模式下作为双向数据传输块操作,充当在电气接口304/305和EHF收发器320之间传递的数据之间的缓冲器。EHF Tx 322可以耦合到高速电路系统330和低速电路系统340。
根据各种实施例,逻辑和控制电路系统370可以是可操作的以控制单元300的操作。在一些实施例中,逻辑模块372可以操作管理与另一个单元建立非接触式链路的POC状态机。逻辑和控制电路系统370可以与收发器320、高速电路系统330、低速电路系统340以及接收器限幅器和后置放大器电路系统350通信。逻辑和控制电路系统370可以使用接口模块380在串行接口控制模式下操作单元300,诸如当使用串行外设接口协议(“SPI”)时。串行接口控制模式可以用于执行各种诊断测试,诸如实验室和自动测试装备(“ATE”)测试,并且执行高级控制和制造调整。当单元300不在串行接口控制模式下操作时,其可以在引脚搭接(pin-strapped)控制模式下操作。在这种模式下,单元300的操作状态由引脚301-313中的一个或多个的静态设置来控制,尤其是关于引脚308-313的设置。逻辑和控制电路系统370可以耦合到引脚308-313,并且可以被配置为基于在引脚308-313中的一个或多个上提供的信号来操作单元300。引脚308-313在本文中可以被统称为配置和控制引脚,并且具有引脚指示CP1-CP6。引脚中的一些可以充当状况或指示器引脚,并且一些可以用作输入引脚、输出引脚、或输入和输出引脚两者。
配置和控制引脚可以指示哪种数据传输模式应当用于跨使用单元300建立的非接触式通信链路来传输数据。特别地,CP2引脚309可以是第一数据传输选择引脚,并且CP3引脚310可以是第二数据传输选择引脚。引脚309和310可以被设置为逻辑HIGH(高)、逻辑LOW(低)、或者被置为FLOAT(悬空)。CP1引脚308可以用作另一个数据传输选择引脚或用作标识引脚。CP1引脚308可以利用高/低/Z驱动器被驱动至HIGH、LOW和FLOAT中的一个。当CP1引脚308被置于FLOAT时,引脚上的阻抗可以用于识别应该使用哪种数据传输。
CP4引脚311可以被设置为指定单元300是否要在Tx模式、Rx模式或控制模式下起作用,这将利用接口电路系统380。CP5引脚312可以用于单元间通信。例如,单元300可以能够经由CP5引脚312与另一个单元(未示出)通信。简要地参考图2,有线路径213可以耦合到单元212和214两者上的相应CP5引脚。这种单元间通信可以用于在一组非接触式单元中建立唤醒回路的有线部分。CP6引脚313可以用作信标/监听状态机的一部分,其可以由信标/监听模块390控制,并且也可以是POC状态机的子集。例如,当CP6引脚313被驱动为HIGH时,通信单元300可以被接通并且根据信标/监听状态机开始操作。
信标/监听模块390可以包括用于操作信标/监听状态机的电路系统。取决于单元300被配置为作为Tx操作还是作为Rx操作,指示信标/监听状态机是作为信标状态机还是作为监听状态机操作。信标状态机可以在单元300被配置为作为Tx操作时实现,并且监听状态机可以在单元300被配置为作为Rx操作时实现。当向VDD引脚301施加功率时,信标/监听模块390可以使用相对低功耗的电路系统。与逻辑模块372的功率要求相比,其功耗可以相对低。如下面将更详细解释的,单元300可以初始地循环通过POC状态机的信标/监听状态机部分以节省功率,并且然后根据POC状态机的相对较高功耗部分进行操作。
功率管理电路系统360可以是可操作的,以调节经由引脚301接收到的功率,并且向单元300内的组件提供在一个或多个不同功率级别(包括适当的电压电平)调节后的功率。例如,当单元300正在根据信标/监听状态机操作时,功率管理电路系统360可以向信标/监听电路系统390提供功率。
图4示出了根据实施例的POC状态机的各种状态的说明性流程图。应该理解的是,POC状态机可以在任何通信单元中实现,而不管它支持哪种传输模式或使用哪种唤醒回路配置。图5的唤醒回路配置结合POC状态机讨论进行参考,但是应该理解的是,POC状态机可以在图6和图7的唤醒回路配置中使用。
每个POC状态机可以协作以在建立一个或多个非接触式通信链路之前使其相应的通信单元逐渐地过渡通过多个状态。协作可能是必要的,因为建立非接触式通信链路以及使得数据能够从主机系统直接传递到非接触式通信链路的机制和过程是在没有(例如)机械(电气、非RF)连接器和电缆的媒介的情况下执行的。因此,因为在EHF通信单元之间不存在电气连接(除了可能用于输送功率之外),因此POC状态机可以依赖于“唤醒”回路(在本文中有时被称为闭合链路回路)以在建立非接触式通信链路之前彼此通信。
唤醒回路可以是包括有线和非接触式路径的组合的单元间通信信道。唤醒回路还可以包括如所需那么多的非接触式单元以提供建立一条或多条通信链路所需的通信信道。唤醒回路可以在非接触式通信单元之间定义上游和下游关系。唤醒回路的方向可以基于对每个通信单元的Tx/Rx指定。POC状态机的协作性质可以被实现,因为第一POC状态机的状态变化过渡可以围绕唤醒回路传播,以在每个下游POC状态机中引起新的状态变化。每个状态变化过渡可以提示任何给定的通信单元向其紧接着的下游单元通知其状态变化,从而提示该下游单元的POC状态机过渡到新状态。因此,为了让第一POC状态机过渡到新状态,它可能必须等待状态变化一直绕回路传播,返回到第一POC状态机。因此,在第一POC状态机可以过渡到新状态之前,第一POC状态机可能必须等待紧接着的上游单元的状态机过渡到新状态并且接收到该过渡的通知。新状态变化过渡的这种传播可以继续绕唤醒回路循环,直到使得一条或多条链路能够在设备之间传送数据。
每个通信单元执行其自己的POC状态机,其可以包括几个不同的状态。为了让POC状态机使状态变化从一个状态过渡到另一个状态,可能必须满足一个或多个条件。这些条件中的一些可以作为来自通信单元外部的来源的通知来提供,或者可以在通信单元内部生成。源自外部的通知或信号可以经由收发器或构成单元的集成电路封装的一部分的引脚接收。
POC状态机的一个或多个状态的操作可以取决于POC状态机是在被配置为作为Rx还是Tx操作的EHF单元中实现而不同。例如,一个状态可以是信标/监听状态,这可以使得单元能够在前进通过附加状态以建立通信链路之前以相对低的功率模式操作。Tx单元可以被配置为当处于信标/监听状态时传送EHF信标发送信号,而Rx单元可以被配置为监听EHF信标发送信号。作为具体示例,装置可以包括EHF收发器和耦合到EHF收发器的控制电路系统。控制电路系统可以是可操作的,以通过执行响应于满足多个条件中的任何一个而从状态过渡到状态的状态机来控制与另一个装置的EHF通信链路的建立,并且基于装置的配置选择性地执行信标发送周期和监听周期中的一个,其中如果配置是Tx配置,那么执行信标发送周期,并且其中如果配置是Rx配置,那么执行监听周期。控制电路系统可以执行信标发送周期和监听周期中所选定的一个,直到状态机过渡到新状态。
链路训练状态可以是取决于其是在Tx单元中实现还是在Rx单元中实现而不同的另一个状态。链路训练可以使得Rx单元能够基于由Tx单元传送的“链路训练”信号来校准自己。当处于链路训练状态时,Tx单元可以传送链路训练信号。当处于链路训练状态时,Rx单元可以接收和处理链路训练信号并且校准其自身以便从Tx单元接收将来的EHF信号。作为具体示例,装置可以包括EHF收发器和控制电路系统。控制电路系统可以通过执行响应于满足多个条件中的任何一个而从状态过渡到状态的状态机来控制与另一个装置的EHF通信链路的建立。控制电路系统可以选择性地执行链路训练模式的传送和至少一个参数的校准中的一者,其中如果配置是Tx配置,那么执行链路训练模式的传送,并且其中如果配置是Rx配置,那么执行至少一个参数的校准。控制电路系统可以执行传送和校准中所选定的一个,直到状态机过渡到新状态。
能力消息传送状态可以是取决于其是在Tx单元中实现还是在Rx单元实现而不同的另一个状态。能力消息可以由Tx单元传送并且由Rx单元接收。能力消息可以包括例如使得Tx和Rx单元能够验证它们是否可以建立链路和协议的信息,数据可以根据该协议被传送。作为具体示例,装置可以包括EHF收发器和控制电路系统。控制电路系统可以通过执行响应于满足多个条件中的任何一个而从状态过渡到状态的状态机来控制与另一个装置的EHF通信链路的建立。控制电路系统可以选择性地执行能力消息的传送和接收到的能力消息的验证中的一者,其中如果配置是Tx配置,那么执行能力消息的传送,并且其中如果配置是Rx配置,那么执行接收到的能力消息的验证。控制电路系统执行传送和验证中所选定的一个,直到状态机过渡到新状态。
功率节省模式状态或数据传输空闲状态可以是取决于其是在Tx单元中实现还是在Rx单元中实现而不同的另一个状态。在EHF通信链路已经被建立之后,当没有要通过链路传送的数据时,功率节省状态可以使得EHF通信单元能够关闭选择性电路系统。Tx单元可以向Rx单元传送“保持活动(keep alive)”信号,以防止其超时并退出其功率节省模式。Rx单元可以周期性地打开以监视Tx是否正在发送“保持活动”信号。当Tx和Rx单元接收到这样做的指令时,它们可以过渡到新状态(例如,数据传输状态)。作为具体示例,装置可以包括EHF收发器和控制电路系统。控制电路系统可以是可操作的,以通过执行响应于满足多个条件中的任何一个而从状态过渡到状态的状态机来控制与另一个装置的EHF通信链路的建立,建立与该装置的EHF通信链路以选择性地启用数据的传送和接收中的一个,在建立与该装置的EHF通信链路之后监视数据的缺失、低信号或通过EHF通信链路传送的特定信号,以及响应于监视到的数据缺失、低信号或通过EHF通信链路传送的特定信号而进入到功率节省状态中,直到状态机过渡到新状态。
在一些实施例中,PI状态机(结合图18-24更详细地讨论)可以被实现为POC状态机的一部分或独立于POC状态机。这些接口状态机存在几个实施例,包括但不限于诸如USB2.0、USB 3.0、USB3/2自动可切换协议和USB OTG协议的接口协议。例如,PI状态机可以在能力状态期间执行。在另一个示例中,PI状态机可以结合几个POC状态来执行。例如,PI状态机可以在能力和数据传输状态期间实现。
POC状态机是可操作的,以处理任何EHF通信单元的引脚搭接和串行接口控制模式。如以上所讨论的,操作的模式可以由各种控制(或配置)引脚(诸如例如CP1引脚308、CP2引脚309、CP3引脚310和CP4引脚311)的状态来设置。当EHF通信单元被配置用于操作的引脚搭接模式时,控制引脚中的一个或多个可以指定单元应该在哪种传输模式下操作。POC状态机可以在单元“唤醒”时管理单元的POC以建立通信链路。如下面将解释的,POC状态机通过从状态过渡到状态直到它达到数据传输状态来“唤醒”单元。从一个状态过渡到另一个状态可以取决于一个或多个条件的满足,并且状态变化的通知或条件的满足可以围绕唤醒回路以回路的方式传送。用于执行状态变化过渡的一些条件可以取决于所选择的传输模式而不同。
条件满足通知是在唤醒回路期间进行的并且在EHF通信单元之间传送。当建立闭环链路时,链路中的每个单元都逐渐“唤醒”并且以回路的方式过渡到新状态。这种状态变化的回路式序列在本文中被称为POC。因此,在POC链路唤醒中,EHF通信单元的状态变化可以取决于上游EHF通信单元的状态变化。具体地,该上游EHF通信单元可以在闭环中紧接在EHF通信单元前面。用于执行状态变化过渡的一些条件可以取决于选择哪个传输模式而不同。例如,当第一EHF通信单元从一个状态过渡到另一个状态时,其可以向下游EHF通信单元传送信号。该传送的信号可能影响第一EHF通信单元的将来状态。即,传送的信号可以引起唤醒回路中的一个或多个下游EHF单元中的状态变化,这导致第一EHF通信单元的将来状态变化。
图5示出了根据实施例的示出非接触式EHF耦合和CP5连接的单元的说明性全双工链路。如图所示,第一设备510包括Rx单元512和Tx单元514,并且第二设备520包括Tx单元522和Rx单元524。单元512、514、522和524可以具有与图3的单元300相同的引脚配置和功能块。Rx单元512可以是可操作的,以从Tx单元522接收非接触式EHF信号,并且Tx单元514是可操作的,以将非接触式EHF信号传送到Rx单元524。因此,Rx单元512和Tx单元522可以形成第一非接触式耦合对,并且Rx单元524和Tx单元514可以形成第二非接触式耦合对。此外,Rx单元512可以经由有线路径513与Tx单元514通信,并且Rx单元524可以经由有线路径523与Tx单元522通信。有线路径513(也被标记为CP51)可以耦合到单元512和514两者的相应CP5引脚,并且有线路径523(也被标记为CP52)可以耦合到单元522和524两者的相应CP5引脚。因此,第一设备510和第二设备520之间的通信可以经由第一和第二非接触式耦合对来完成,并且任何设备内的单元之间的通信可以经由有线通路(例如,连接到CP5引脚的通路)来实现。图5还示出了用于Tx 514的CP6引脚515(被标记为CP61)由除Rx单元512之外的电路系统(例如,主机系统)驱动,并且用于Tx单元522的CP6引脚525(被标记为CP62)由Rx单元524驱动。
图5的唤醒回路可以以Tx单元514开始,并且经由由Tx单元514发射的非接触式EHF信号前进到Rx单元524。回路经由有线路径523和/或有线路径525从Rx单元524继续到Tx单元522。从Tx单元522开始,回路经由由Tx单元522发射的非接触式EHF信号继续到Rx单元512。回路经由将Rx单元512耦合到Tx单元514的有线路径513完成。因此,在一个实施例中,图5的闭环链路是从Tx单元514开始并且在Rx单元512结束的顺时针回路。因此,在这个实施例中,Rx单元524是Tx单元514的紧挨着的下游,并且Tx单元514是Rx单元524的紧挨着的上游。在另一个实施例中,闭环链路可以在包括Rx单元512和Tx单元514的顺时针回路中从Tx单元522开始并且在Rx单元524结束。在这个实施例中,Tx单元522可以是要在链路中激活的第一EHF单元,在这种情况下,CP62引脚可以由设备520的主机系统激活。在还有的另一个实施例中,闭环链路可以在逆时针方向上移动。在这样的实施例中,设备510和520将被转置(例如,在图5中,设备510将被放置在设备520的左侧,并且天线将被绘制为使得Tx1和Rx2的天线彼此面对并且Tx2和Rx2的天线彼此面对)。
POC状态机400可以包括以下状态:OFF(关闭)状态402、通电复位状态404、检查状态406、关注状态408、信标/监听状态410、链路训练状态412、能力消息传送状态414、保持状态416、数据传输状态418和数据传输空闲状态420。POC状态机400响应于过渡到每个状态而采取的动作可以取决于执行POC状态机的单元是用作Tx单元还是用作Rx单元而不同。当满足各种条件时,POC状态机400从一个状态过渡到另一个状态。
状态机400可以在OFF状态402下开始,并且当没有功率被施加到单元的VDD引脚时,状态机400可以在这种状态下存在。当功率(例如,VDD)被施加到单元的VDD引脚时,EHF通信单元可以从OFF状态402过渡到通电复位状态404。例如,当外部电源被施加到VDD引脚301时,Tx单元514可以过渡到通电复位状态404。如其名称所暗示的,通电复位状态404包括单元的通电和单元的复位。当单元经由其VDD引脚接收到功率时,其内部VDD引脚也可以接收到功率。当内部VDD引脚上的功率水平达到或超过阈值(例如,满供电水平的80%)时,单元可以被复位。当内部VDD超过阈值时,POC状态机过渡到TRBS-检查状态406。在复位期间,一个或多个或所有单元的输出可以是三态(不驱动或悬空)。示例输出引脚可以包括高速输入/输出引脚302/303、低速输入/输出引脚304/305、CP5 312、CP6313和CP1 308。
在TRBS-检查状态406中,单元检查其CP4引脚(例如,CP4引脚311)是HIGH、LOW还是FLOATING。如以上所讨论的,CP4引脚的状况可以指示单元将作为Tx还是Rx操作、或者单元是否要在串行接口控制模式下进行测试。如果CP4引脚为HIGH或LOW,那么POC状态机过渡到关注状态408。如果设备被配置为直接转到数据传输状态418(绕过状态408、412、414和416),那么POC状态机可以在确定CP4引脚的状态之后,从TRBS-检查状态直接转到数据传输状态418。在做出CP4引脚确定之后,如果CP4引脚指定单元应该作为Tx操作,那么POC状态机可以延迟第一时间段以过渡到状态408,并且如果CP4引脚指定单元应该作为Rx操作,那么POC状态机可以延迟第二时间段以过渡到状态408。第二时间段可以大于第一时间段。这些过渡延迟可以有助于链路发现。如果CP4引脚是FLOATING的,那么POC状态机可以过渡到接口模式422。
在关注状态408中,单元可以激活除了操作信标/监听状态机所需的电路系统之外的电路系统,以评估是将其意识的状态推进到链路训练状态412还是在信标/监听状态410中起作用。
在链路训练状态412中,Tx单元514通过向Rx单元524传送训练模式来启动训练,以识别用于Tx和Rx单元中的一者或两者的最佳设置。
在能力消息状态414中,Tx单元向其对方Rx单元发送能力消息。Tx单元可以重复发送这个消息,直到使其CP5引脚产生脉冲或直到定时器超时。该消息可以指定诸如传输模式、ID码等的信息。Rx单元将对接收到的非接触式信号监视能力消息,并且当消息被接收到时,Rx单元可以针对一个或多个验证参数(例如,传输模式、诸如供应商ID的关键信息以及准备就绪状态)验证消息。如果消息被验证,那么Rx单元可以使其CP5引脚产生脉冲。如果在时间限制内未接收到验证消息,那么Rx单元可以恢复到状态410。能力消息可以包括关于传输模式协议的信息。
能力消息可以使用几种不同方法中的任何一种来传达。例如,在一种方法中,由Tx单元发送的能力消息可以体现一系列脉冲宽度编码(PWC)符号。关于使用PWC符号来传达能力消息的附加细节在下面结合附图8-13的描述来讨论。在另一种方法中,可以使用分组传递来传达能力消息。能力消息传送可以根据具有预定格式的分组传递来执行。单个消息传送分组可以包括分组报头和分组主体。分组报头可以包括一个或多个同步符号、分组类型信息、供应商ID信息、分组信息的长度,而分组的主体可以包括关于传输模式协议、误差校验码、可以帮助Rx优化设置的数据模式的信息,以及可能与提高EHF链路的能力相关的其它信息。消息传送可以使用可能是或者可能不是相同类型的多个分组来执行。在这种情况下,分组报头可以包括关于特定分组的内容的信息。
当Rx确定它已经验证从Tx单元接收到的消息时,Rx单元可以从能力消息状态414过渡到保持状态416。保持OFF状态416在过渡到数据传输状态418的延迟执行中作为过渡延迟机制操作。保持OFF状态416可以被包括作为POC状态机400的一部分,以防止能力消息被Rx单元错误地处理。
数据传输状态418可以表示其中通信单元根据传输模式准备好传送和/或接收数据的状态。如以上所讨论的,传输模式可以基于CP1引脚308、CP2引脚309、CP3引脚310和CP4引脚311的状态。在一些实施例中,当Rx单元进入到状态418中时,它可以驱动其CP5引脚HIGH。
POC状态机400可以过渡到数据传输空闲状态420,例如,以节省功率。数据传输空闲状态420可以使得通信单元能够进入到用于一个或多个传输模式的快速进入/退出低功率状态。在Rx单元未检测到任何EHF信令活动(即,其对方Tx单元没有传送任何数据)之后,例如在一段时间之后,或者它检测到低信号或特定信号模式,Rx单元可以进入到状态420中。在Tx单元没有在其基带输入(例如,引脚302-305)上检测到任何活动之后,例如在一段时间之后,Tx单元可以进入到状态420中。
在数据传输空闲状态420期间,Rx和Tx单元两者可以使各个组件循环断电以节省功率,但是打开那些组件以检查单元是否需要退出空闲状态420并返回到状态418或另一个状态。例如,Tx单元可以使其收发器循环通电,但是可以向其输入缓冲器供电以检测输入信号。Tx可以使其收发器循环通电,以将“保持活动脉冲”传送到其对方Rx单元,使得Rx单元知道不从状态420过渡离开。“保持活动脉冲”可以是固定时间段内每个时钟循环的一系列“1”。Rx单元可以使其收发器循环通电,使得它可以检测到“保持活动脉冲”。
当满足过渡的条件时,POC状态机400可以从数据传输空闲状态420过渡到数据传输状态418。当Tx单元在其输入缓冲器上接收到信号时,Tx单元可以过渡到状态418。当Rx单元从其对方Tx接收到“非空闲”信号时,Rx单元可以过渡到状态418。“非空闲”可以是除“保持活动脉冲”之外的信号。在从Tx单元接收到EHF信号时,Rx单元可以被禁止断电直到EHF信号被分类为保持活动或唤醒信号。
如果与状态412、414、416、418和420相关联的任何条件未被满足,那么POC状态机400可以在状态410处重新进入到信标/监听状态机中。POC状态机400可以从状态406直接过渡到状态418以绕过POC并进入到操作的通用低速数据传输模式中。例如,POC状态机400可以在接口模式状态422中操作用于诊断。
应该理解的是,POC状态机400的各种状态和布置仅仅是说明性的,并且可以添加附加状态和可以省略一些状态。还应该理解的是,虽然POC状态机400由一个特定的EHF通信单元实现,但是该状态机400可以取决于在其它EHF通信单元中实现的类似的状态机来推进其状态到达数据传输状态。因此,不管有多少EHF通信单元正在用于建立一个或多个EHF通信链路,状态机的相互依赖性可以导致状态机的同步。因此,只要所有的状态机保持同步,每个状态机就可以进行其意识。但是,如果其中一个状态机不同步,那么这可能导致所有状态机失去同步,从而导致唤醒链路进展重新开始。例如,如果其中一个状态机未能前进到下一个状态并且过渡回信标/监听状态410,那么所有其它状态机也可以过渡回信标/监听状态410。过渡回状态410可以有效地复位每个状态机,从而重新开始建立一个或多个EHF通信链路的过程并且防止状态变化推进中的错误进展。
图5示出了根据实施例的示出非接触式EHF耦合和CP5连接的单元的另一个示例性全双工闭环链路。图6的链路布置与图5的链路布置类似,但被设置用于USB OTG配置。如图所示,第一设备630包括Rx单元632和Tx单元634,并且第二设备640包括Tx单元642和Rx单元644。Rx单元632可以是可操作的,以从Tx单元642接收非接触式EHF信号,并且Tx单元634可以是可操作的,以向Rx单元644传送非接触式EHF信号。如图所示,可以在各个EHF通信单元之间存在CP5通信路径633和643。此外,单元632和634的CP1引脚可以经由包括电阻器或其它阻抗元件的有线通路635连接在一起,并且单元642和644的CP1引脚可以经由包括电阻器或其它阻抗元件的有线通路645连接在一起。单元632和634的CP6引脚可以经由包括电阻器或其它阻抗元件的有线通路637连接在一起,并且单元642和644的CP6引脚可以经由包括电阻器或其它阻抗元件的通路647连接在一起。
在OTG配置中,设备630和640可能需要确定哪个设备将是主机以及哪个将是客户端。这可以通过让一个或两个设备在CP1引脚上断言信号来实现。在一些配置中,CP1可以被设置为HIGH,从而指示它是USB设备。在其它配置中,CP1可以被设置为LOW,从而指示它是USB主机。在仍然还有的其它配置中,CP1可以是悬空的,从而指示它是USB OTG设备。如图所示,通路635和645可以耦合到各自的控制器(未示出),每个控制器可以断言(或者不断言)该信号。取决于能力消息交换,USB OTG设备的CP1引脚可以被Rx单元拉LOW,从而指示它是USB主机,或者CP1引脚可以被Rx单元拉HIGH,从而指示它是USB设备。如果能力消息指示两个设备都被配置为USB主机或USB设备,那么POC状态机将退出到信标/监听状态。如果能力消息指示USB OTG设备连接到USB主机,那么接收设备的CP1将被拉HIGH,从而指示它应该被配置为USB设备。如果能力消息指示USB OTG设备连接到USB设备,那么接收设备的CP1将被拉LOW,从而指示它应该被配置为USB主机。还如图所示,通路635和645可以耦合到其各自的设备。
当设备630和640尝试形成链路时,一个设备可以在其Tx单元上断言CP6引脚,并且另一个设备可以使CP6引脚悬空。通路637和647耦合到相应的控制器(未示出)。在一个实施例中,与设备630相关联的控制器可以将Tx单元634上的CP6引脚驱动为HIGH以发起链路,并且与设备640相关联的控制器可以使CP6引脚在Tx单元642上悬空。在这个实施例中,CP6引脚可以由Rx单元644驱动。因此,在这个实施例中,唤醒回路可以在Tx单元634处开始并且顺时针移动到Rx单元644、Tx单元642,并且在Rx单元632处继续。以相同的方式,唤醒循环可以在图5中在Tx单元514处开始并且顺时针移动到Rx单元524、Tx单元522,并且在Rx单元512处继续。
图5和图6的唤醒回路都是单通道全双工链路。如果期望,可以通过使用图5或图6的单通道全双工链路的多个实例来实现多通道链路。例如,可以通过使用图5的全双工链路的两个实例来实现双通道链路。图7示出了根据实施例的说明性多通道链路。在一些实施例中,图7的链路可以是多通道DP链路。如图所示,设备750可以包括Rx单元752、754、756和758以及Tx/Rx单元759,并且设备760可以包括Tx单元762、764、766和768以及Tx/Rx单元769。在设备760中,Rx单元769的CP5和CP6引脚被扇出到Tx单元762、764、766和768中的每一个。在设备750中,Rx单元758和Tx/Rx单元759的CP5引脚被耦合在一起,并且Tx/Rx单元759的CP6引脚可以由控制器(未示出)驱动。图7的唤醒回路可以从Tx单元759开始,并且顺时针进行到Rx单元769,并且然后回路基本上同时地进行到Tx单元762、764、766和768中的每一个,随后基本上同时地在Rx单元752、754、756和758结束。Rx单元758可以是经由CP5引脚与Tx单元759通信的唯一单元。为了简单起见,仅示出了少数几个互连的信号以防止图7过度拥挤。
在两个EHF通信单元之间建立EHF通信链路的还有的另一种方法可以包括仅需要两个EHF通信单元来建立EHF通信链路的唤醒回路。这种方法消除了唤醒回路使用有线和非接触式连接两者来在EHF通信单元之间传达数据和信号的需要。因此,在这种方法中,两个EHF通信单元可以使用非接触式EHF信号直接彼此通信以建立链路。
现在参考图8-13来讨论根据各种实施例的用于传达能力消息的几种不同方法中的一种。当EHF通信单元在能力消息状态下作为Tx单元操作时,它可以传送重复的消息流,直到它在其CP5引脚上接收到上升沿或者发生一些其它情况。当在能力消息状态下操作时,Rx单元可以在过渡到下一个状态之前等待接收至少2个连续的有效消息的副本。消息可以作为PWC符号传送,并根据单元内运行的时钟串行化。每个符号可以跨越固定数量的时钟周期,从上升沿开始,在下降沿结束,并且以0电平终止。图8示出了根据内部时钟810串行化的三个不同的说明性符号。
图8示出了符号820、830和840,每个符号包括上升沿、下降沿并且终止于0电平。为了说明性目的,每个符号可以跨越12个时钟周期,但是将认识到的是,符号可以跨越任何合适数量的时钟周期。符号可以根据每个时钟周期的二进制值来表达。例如,符号820可以表达二进制“0”符号,符号830可以表达二进制“S”符号,并且符号840可以表达二进制“1”符号。符号820可以包括两个时钟周期的1电平二进制值,随后跟着十个时钟周期的0电平二进制值,使得二进制“0”符号可以由110000000000表示。符号830可以包括五个时钟周期的1电平二进制值,随后跟着七个时钟周期的0电平二进制值,使得二进制“S”符号可以由111110000000表示。符号840可以包括九个时钟周期的1电平二进制值,随后跟着三个时钟周期的0电平二进制值,使得二进制“1”符号可以由111111111000表示。符号可以由间隙周期850间隔开,间隙周期850可以不表示符号,但可以被表达为符号表达式之间的0电平。每个间隙周期850可以跨越例如一个时钟周期。应该理解的是,每个符号的二进制表达式仅仅是说明性的,并且任何二进制表达式都可以用于任何符号。应该理解的是,能力消息传送的其它变体是可能的。例如,唯一的控制符号或字符可以以数字比特的形式发送,而无需专门使用PWC。
Rx单元可以容许接受由相应Tx单元传送的固定百分比的符号的时钟周期失配。在没有公共时钟或时钟恢复机制的系统中,容许时钟周期失配允许Tx和Rx在时钟频率上的失配并且仍然可靠地通信。例如,Rx单元可以将接收到的具有1-3电平1时钟周期的消息解释为820符号,将4-6电平1时钟周期解释为830符号,将7-11电平1时钟周期解释为840符号。
图9A示出了根据实施例的能力消息的说明性格式。能力消息910可以包括可以用各种符号填充的几个字段。如图所示,消息910可以包括可以用固定数量的符号填充的报头字段920以及其中每个可以用各种大小的比特长度的符号填充的几个消息字段930-935。报头字段920可以标记消息的开始。作为说明性示例,四个“S”符号可以定义报头。消息字段930-935中的每一个可以由任何数量的比特来表示,如图9A中的xb所示。作为示例,消息字段930-935可以分别包括16比特、16比特、16比特、2比特、2比特和28比特。比特长度仅仅是说明性的,并且任何比特长度都可以用于字段930-935中的任何一个。消息字段930可以指定密钥代码,其可以表示密码、加密代码、或者可以由对方设备进行验证的其它安全相关代码。例如,标题为“密钥代码”的消息字段930可以指定可以用于向Rx认证USB EHF Tx的密钥。消息字段931可以指定供应商标识。供应商标识可以存储在EHF通信单元内的寄存器、只读存储器、非易失性存储器或一些其它永久性存储机制中。消息字段932可以指定EHF通信设备的操作模式(例如,USB操作模式)。操作模式可以指定由配置引脚(例如,引脚308-311)中的一个或多个上的状态设置的EHF通信设备的数据传输模式(例如,USB、快速PCI等)。在一些实施例中,操作模式可以根据图3的配置引脚设置来定义。消息字段933可以指定特定的USB模式功能(例如,单元是主机还是从机以及USB OTG功能)。消息字段934可以指定传送频带,其可以指特定载波频率或载波频率偏移。消息字段935可以是将来的扩展字段,其可以用于传达用于将来应用的附加能力信息。如果期望,消息字段935可以被分割成两个或更多个字段以供将来使用。应该理解的是,字段中的一些可能不用于某些应用,一些字段可能不存在,并且可能包括不属于能力消息910的一部分的其它字段。
图9B示出了根据实施例的可以由EHF Rx单元接收到的USB能力消息950的说明性格式。能力消息950可以包括可以用各种符号填充的几个字段。如图所示,能力消息950可以包括可以用固定数量的符号填充的报头字段以及其中每个可以用各种大小的比特长度的符号填充的几个消息字段。报头字段951可以标记消息的开始。作为说明性示例,四个“S”符号可以定义报头。消息字段952-958中的每一个可以由任意数量的比特来表示。作为示例,如图所示,消息字段952-958可以分别包括8比特、8比特、5比特、2比特、1比特、1比特和35比特。比特长度仅仅是说明性的,并且任何比特长度都可以用于任何一个字段。消息字段952可以指定可以用于向Rx认证USB EHF Tx的密钥。消息字段953可以指定供应商标识。供应商标识可以存储在EHF通信单元内的寄存器、只读存储器、非易失性存储器或一些其它永久性存储机制中。消息字段954(“操作模式”)可以指定EHF通信设备的USB操作模式。操作模式可以指定由配置引脚中的一个或多个上的状态设置的EHF通信设备的数据传输模式(例如,USB、快速PCI等)。在一些实施例中,操作模式可以根据配置引脚设置来定义,并且被存储在字段955中。消息字段956可以是保留字段。消息字段957“USB CapMsg ID”可以用于识别由实现USB的EHF单元传达的两个能力消息中的一个。在一个实施例中,第二能力消息CapMsg2可以由USB CapMsg ID字段指定,并且CapMsg2可以识别特定的USB模式功能(例如,单元是USB 3.0还是USB 2.0单元)。在另一个实施例中,特定的USB模式功能可以通过使用消息中的附加比特在相同的能力消息中传达。消息字段958可以是将来的扩展字段,其可以用于传达用于将来应用的附加能力信息。如果期望,消息字段958可以被分割成两个或更多个字段以供将来使用。应该理解的是,字段中的一些可能不用于某些应用,一些字段可能被保留,并且可能包括不属于能力消息950的一部分的其它字段。
图10示出了根据实施例的可以由正在处理接收到的能力消息的Rx单元采用的步骤的说明性流程图。从步骤1002开始,可以接收能力消息。能力消息可以由对方Tx单元根据能力消息传送格式来传送。因此,接收到的能力消息可以包括密钥代码、供应商标识和操作模式。如果操作模式是USB模式,那么能力消息还可以包括USB功能信息。Rx单元可以具有存储在其中或编程在其中的其自己的本地能力消息信息。例如,Rx单元可以具有供应商信息、操作模式信息和可选的USB功能信息。在步骤1004处,做出关于接收到的供应商标识是否与本地供应商标识相同的确定。如果它们不相同,那么处理进行到步骤1006,并且如果它们相同,那么处理进行到步骤1008。在步骤1006处,能力消息的验证可以停止,从而导致POC状态机退出其进展并重新开始。
在步骤1008处,做出关于接收到的操作模式是否可以用本地操作模式有效地操作的确定。在一些应用中,接收到的操作模式和本地操作模式可以是相同的,这将导致接收到的和本地操作模式之间的有效操作。在其它应用中,接收到的和本地操作模式可能不同,诸如在具有各种USB模式的情况下。一些不同的USB模式可以有效地一起工作,而其它的则不一定。
图11示出了示出哪些USB模式有效地一起工作而哪些不有效地一起工作的说明性表格。当在步骤1008处做出确定时,EHF通信单元可以访问这个表格。如图11所示,存在接收到的模式列、本地模式列和结果列。“结果”列指示在同一行中识别出的USB模式是否可以有效地一起工作。USB模式可以包括USB 2.0、USB 3.0和USB3/2自动。USB 3/2自动可以是可切换的USB模式,其根据各种因素自动解析使用或者USB 2.0或者USB 3.0。图11中的表格还可以包括其它USB模式,诸如USB OTG设备或主机功能模式。
返回参考图10,在步骤1008处,如果确定两个模式都不能有效地一起工作,那么处理进行到步骤1006,其中能力验证结束。如果确定两个模式可以一起操作,那么处理进行到步骤1010。在步骤1010处,做出关于操作模式是否是USB模式的确定。如果操作模式不是USB模式,那么处理进行到步骤1012。在步骤1012处,接收到的能力消息可以被认为已验证,并且POC状态机可以推进到下一个过渡状态(例如,保持状态,随后是数据传输状态)。在步骤1010处,如果确定操作模式是USB模式,那么处理可以进行到步骤1014。
在步骤1010处,如果确定操作模式是USB模式,那么POC状态机可以推进到在步骤1014处开始的第二能力消息处理。在步骤1014处,接收器单元可以计算其USB功能模式的本地代码。这个本地代码可以表示设备是USB客户端、USB主机、USB OTG客户端还是USB OTG主机。这个本地代码可以占用能力消息的USB功能字段。接收器可以通过在POC状态机的不同阶段期间对配置引脚之一(例如,引脚308)的状态进行采样并比较采样状态以计算本地代码来计算其本地代码。例如,单元可以在关注状态和能力消息状态期间注册配置引脚之一(例如,引脚308)的状态。比较注册状态以计算本地代码。图12示出了可以被访问以计算本地代码的说明性查找表。
现在参考图12,示出了针对在关注状态和能力消息状态下的配置引脚的值。值可以包括0、1、FLOAT,以及X,其可以类似于“不关心”。因此,如图所示,当引脚为0处于关注时,计算出的代码可以是00。在另一种情况下,当引脚为1处于关注时,计算出的代码可以是01。在这两种情况下,在能力消息状态下引脚的值不被考虑。如果引脚在关注状态下为FLOAT并且在能力消息状态下为1,那么计算出的代码可以是11。如果引脚在关注状态下为FLOAT并且在能力消息状态下为0或FLOAT,那么计算出的代码可以是10。计算出的代码可以指定EHF通信单元的USB模式功能及其与主机设备的活动连接。例如,本地代码00可以指示仅USB主机模式,本地代码01可以指示仅USB客户端模式,本地代码10可以指示OTG主机模式,本地代码11可以指示OTG客户端模式。
应该认识到的是,Tx单元可以访问如图12所示的相同的表格,以确定其USB模式功能。在计算其USB模式功能时,它可以在其传送给Rx单元的能力消息中包括适当的代码。特别地,它可以在消息910的消息字段933中包括该代码。
返回参考图10,在步骤1016处,接收到的USB模式功能代码与本地USB功能代码进行比较。然后,在步骤1018处,可以基于接收到的代码和本地代码的比较来执行动作。例如,图13示出了基于接收到的代码和本地代码的比较可以采用的说明性动作。如图所示,一些比较结果可以导致确定无效的能力消息,这可能导致POC状态机退出能力消息状态并恢复到信标/监听状态。还如图所示,一些比较可以导致确定有效的能力消息。响应于有效的能力消息,POC状态机可以推进到下一个状态(例如,保持状态和/或数据传输状态)。一些动作也可以包括将配置引脚之一(例如,引脚308)驱动为逻辑0或1。
应该理解的是,图10所示的步骤仅仅是说明性的,并且可以重新布置执行步骤的顺序、可以添加附加的步骤、并且可以省略步骤。例如,可以添加步骤以将接收到的密钥代码与本地密钥代码进行比较,以评估接收到的能力消息的有效性。此外,可以在能力消息状态期间执行附加的认证。例如,确定上游EHF单元和下游EHF单元之间的有效USB操作模式还可以涉及被称为CapMsg2的POC中的第二能力消息状态。
图14A-14C示出了根据各种实施例的被配置为根据几个不同USB模式之一操作的EHF芯片的不同连接图。图14A示出了USB3.0传输模式的说明性连接图。如图所示,每个EHF单元正在利用高速数据引脚。特别地,示出为SSTX+/-的超高速(SS)传送数据可以经由那些高速引脚提供给Tx单元1402。单元1402可以将该数据非接触地传送到接收器单元1412,接收器单元1412经由其高速引脚输出该数据。示出为SSRX+/-的SS接收数据可以经由高速引脚提供给Tx单元1414。Tx单元1414可以将接收到的数据非接触地传送到Rx单元1404,Rx单元1404经由其高速引脚输出该数据。CP5和CP 6引脚可以如图所示进行布线。
图14B示出了USB 2.0数据传输模式的说明性连接图。如图所示,每个EHF单元正在利用低速数据引脚。特别地,示出为D+/-的传送数据可以经由那些低速引脚提供给Tx单元1402。单元1402可以将该数据非接触地传送到Rx单元1412,Rx单元1412经由其低速引脚输出该数据。示出为D+/-的Rx数据可以经由低速引脚提供给Tx单元1414。Tx单元1414可以将接收到的数据非接触地传送到Rx单元1404,Rx单元1404经由其低速引脚输出该数据。低速引脚CP5和CP6引脚可以如图所示进行布线。
图14C示出了USB 3/2自动可切换数据传输模式的说明性连接图。如图所示,连接图可以是USB 3.0和2.0传输模式的组合。高速引脚、低速引脚、CP5和CP6引脚可以如图所示进行布线。USB自动解析的附加细节可以在与图18相关联的讨论中找到。
现在参考图15-17来更详细地讨论根据各种实施例的数据传输空闲状态。图15示出了在数据传输空闲状态期间可以由Tx单元采用的步骤的说明性流程图。图16示出了在数据传输空闲状态期间可以由Rx单元采用的步骤的说明性流程图。图17示出了数据传输空闲保持活动周期的说明性时序图。通常,如以上先前所讨论的,数据传输空闲状态可以启用快速进入和退出一种或多种数据传输模式(例如,USB 2.0、USB 3.0和DP)的低功率状态。
在图15中以步骤1502开始,Tx单元可能已经进入到数据传输空闲状态中。上面结合图4讨论了进入到数据传输空闲状态中的条件。在步骤1504处,可以选择性地使各种电路系统断电,包括可操作用于传送EHF信号的电路系统。例如,EHF收发器(例如,收发器320)可以被断电,但是输入缓冲器(例如,高速电路系统320)可以保持通电。在一些实施例中,被关闭的电路系统可以是在单元处于信标/监听状态410期间被断电的相同电路系统。然后,在步骤1506处,可以激活“保持活动”定时器。“保持活动”定时器可以周期性地唤醒断电的电路系统,以使得那个电路系统能够传送EHF“保持活动”脉冲信号(下面讨论)。在步骤1508处,电路系统可以响应于来自保持觉醒定时器的指令而唤醒,并且在步骤1510处,该电路系统可以传送EHF“保持活动”脉冲。EHF“保持活动”脉冲可以包括在每个固定时间段(例如,每3.125μs)跨越固定数量的时钟周期(例如,16个时钟周期)的一系列1。这种EHF“保持活动”脉冲的示例在图17中示出。在EHF“保持活动”脉冲被传送之后,电路系统被关闭,如步骤1512所指示的。在电路系统被关闭之后,处理可以环回到步骤1508。Tx单元可以继续传送EHF“保持活动”脉冲,直到它返回到数据传输状态418或信标/监听状态410。现在讨论这些过渡。
流程图可以具有与“保持活动”定时器循环同时运行的两个其它循环。例如,其它循环之一从步骤1502过渡到步骤1520。在步骤1520处,做出关于输入缓冲器是否已退出静噪(squelch)的确定。例如,Tx单元可以确定其高速输入缓冲器或低速输入缓冲器是否已退出静噪。如果不是,那么处理环回到步骤1520。如果接收到数据,那么Tx单元可以进入到数据传输状态418中。
循环中的另一个在步骤1530处开始。在步骤1530处,做出Tx单元的CP6引脚是否已经变为“0”的确定。如果否,那么处理进行到步骤1532,其确定Tx单元的CP5引脚是否已经在0保持某个预定义的时间段。如果不是,那么处理返回到步骤1530。在步骤1530处,如果确定为是,那么处理可以进行到步骤1534,其可以使单元进入到信标/监听状态410中。在步骤1532处,如果确定为是,那么处理可以进行到步骤1534。
在图16中以步骤1602开始,Rx单元可能已经进入到数据传输空闲状态中。上面结合图4讨论了进入到数据传输空闲状态中的条件。在步骤1604处,可以选择性地使各种电路系统断电,包括可操作用于检测EHF信号的存在的电路系统。例如,EHF收发器(例如,收发器320)可以被断电,但是输入缓冲器(例如,高速电路系统320)可以保持通电。在一些实施例中,被关闭的电路系统可以是在单元处于信标/监听状态期间被断电的相同电路系统。然后,在步骤1606处,可以激活监听定时器。监听定时器可以周期性地唤醒断电的电路系统,以使得那个电路系统能够监听EHF信号。在步骤1608处,电路系统可以响应于来自监听定时器的指令而唤醒,使得电路系统可以每个固定的时间段在恒定的监听时间段期间监听EHF信号。恒定监听时间段可以由监听定时器设置。例如,监听时间可能导致电路系统每125μs监听EHF信号6.25μs。这个接收器监听脉冲的示例在图17中示出。
在步骤1610处,做出关于是否已经接收到任何EHF信号的确定。如果还没有接收到EHF信号,那么处理可以进行到步骤1612,其检查超时定时器是否超时。超时定时器可以控制Rx是否应该由于没有发生EHF活动而过渡到信标/监听状态。因此,如果超时定时器超时,那么Rx单元可以进入信标/监听状态,如在步骤1616中所示,但是如果定时器没有超时,那么处理可以进行到步骤1614。在步骤1614处,电路系统可以被断电,并且处理可以环回到步骤1608。在步骤1610处,如果已经接收到EHF信号,那么处理可以进行到步骤1618。
在步骤1618处,做出关于接收到的EHF信号是否指示“保持活动”脉冲或“非空闲”脉冲的确定。这种确定可以基于接收到的EHF信号的脉冲串长度。接收到的EHF信号可以包括被分组在一起以形成脉冲串的一系列1和/或0。如果接收到的信号的脉冲串长度超过“非空闲”时间阈值,那么接收到的EHF信号可以被分类为“非空闲”脉冲,并且处理可以进行到步骤1624,并且然后在步骤1626处进入到数据传输状态中。如果接收到的信号的脉冲串长度包括落入“保持活动”脉冲时间范围内的1的脉冲串,那么接收到的EHF信号可以被分类为“保持活动”脉冲。“保持活动”脉冲时间范围可以包括以EHF“保持活动”脉冲信号的脉冲长度为中心的下限时间界限和上限时间界限。例如,如果EHF“保持活动”脉冲信号的脉冲长度是60ns,那么下限时间边界可以是40ns,并且上限时间边界可以是80ns。空闲时间阈值可以大于“保持活动”脉冲范围的上限时间边界。例如,空闲时间阈值可以是1.2μs。在确定接收到的EHF信号是“保持活动”脉冲时,处理可以进行到步骤1620,并且然后进行到步骤1622,其在环回到步骤1608之前复位超时定时器。
图17示出了用于Tx和Rx单元两者的空闲保持活动周期的说明性时序图。Tx周期示出了具有每3.125μs大约60ns的脉冲宽度的说明性“保持活动”脉冲。Rx周期示出了其中Rx电路系统在每个监听周期的恒定监听时间段期间监听EHF信号的说明性监听周期。
图18示出了根据实施例的说明性USB EHF通信系统1800。系统1800包括设备1802(在图18的左侧示出)和设备1804(在右侧示出)。设备1802可以包括USB部分1810、上游Rx(UPRx)EHF单元1812和上游Tx(UPTx)EHF单元1814,并且设备1804可以包括USB部分1820、下游Rx(DNRx)EHF单元1824和下游Tx(DNTx)EHF单元1822。USB部分1810可以与单元1812和1814通信,并且单元1812和1814可以与它们的CP5引脚物理连接。USB部分1820可以与单元1822和1824通信,并且单元1822和1824可以与它们的CP5引脚物理连接。单元1814可以经由EHF链路与单元1824通信,并且单元1822可以经由EHF链路与单元1812通信。因此,在EHF单元之间存在EHF回路,并且可以例如在DNTx单元1822处开始,经由EHF链路前进到UPRx单元1812,并且然后经由CP5连接前进到UPTx单元1814,并且然后经由EHF链路前进到DNRx单元1824,并且通过经由CP5连接返回到DNTx单元1822来完成回路。
设备1802和1804可以是执行一个或多个功能的任何逻辑或物理实体。所描述的实际实体取决于参考的上下文。在最低级别处,设备1802和1804中的一个或多个可以表示单个硬件组件,如在存储器设备中。在较高级别处,设备1802和1804中的一个或多个可以表示执行特定功能的硬件组件的集合,诸如USB接口设备。在甚至更高级别处,设备1802和1804中的一个或多个可以表示包含USB接口的实体。设备1802和1804可以是物理的、电气的和/或逻辑的。设备1802和1804在本文中可以被称为能够使用USB协议标准之一(诸如USB 2.0或USB 3.0)彼此通信的USB设备。
USB部分1810和1820分别被包括在设备1802和1804中,以表示每个设备的USB方面。USB方面可以取决于其设备被使用的上下文而不同。例如,在一些实施例中,USB部分1810和1820中的一个或两者可以体现为USB接口。在其它实施例中,USB部分1810和1820中的一个或两者可以体现为USB接口和控制器。例如,当部分1810和1820两者都体现为USB接口和控制器时,这些部分可以协商哪一个是主机(即,上游设备)并且哪一个是下游设备。在另一个实施例中,USB部分1810可以体现为USB接口和控制器,并且USB部分1820可以体现为USB接口。在这个实施例中,部分1810可以用作主机或上游设备,并且部分1820可以用作下游设备。上游和下游引用可以基于主机和设备朝向,因为主机通常可以被称为将来自或离开主机的数据流引导到下游设备的上游单元。应该理解的是,上游和下游引用(例如,UPTX、UPRX、DNTX和DNRX)仅仅是说明性的并且在本文中用于简化引用EHF单元讨论的容易度。例如,上游和下游朝向可以被颠倒,使得下游部分存在于左侧而上游部分存在于右侧。
图19A示出了图示基于通过非接触式EHF链路彼此通信的USB主机和USB设备的USB控制器模式的USB模式解析的表格。图19A中的表格被布置在四列中,标记为主机Rx、Tx模式;设备Rx、Tx模式;USB模式解析;以及实现解析所需的动作。主机Rx、Tx模式列可以指定被指定为主机的USB部分的USB模式,并且设备Rx、Tx模式列可以指定被设计为下游设备的USB部分的USB模式。与主机或设备相关联的Tx和Rx都可以在与其各自的主机USB或设备USB部分相关联的相同USB模式下操作。例如,如果USB主机部分被配置为仅用于USB 3.0,那么与那个USB主机部分相关联的Tx和Rx也仅在USB 3.0下操作。
在一些实施例中,Tx单元可以跟随与Rx单元关联的USB模式。例如,Rx单元可以通过有线路径向Tx单元提供CCRU USB能力参数或CCRU解析的USB参数,以指定Rx当前被配置的USB模式。基于例如与Rx单元接口的USB部分的能力,CCRU USB能力参数可以指定Rx能够在哪种USB模式下操作。CCRU解析的USB参数可以指定Rx设备的解析的USB模式。例如,以上在图10中描述的处理指定Rx单元如何可以解析哪种USB模式用作数据传输模式。以下讨论了Rx单元可以如何解析使用哪种USB模式的其它示例。CCRU USB能力参数可以是USB 2.0、USB 3.0和USB 3/2自动中的任何一个,并且CCRU解析的USB参数可以是USB 2.0或USB 3.0。因此,取决于建立非接触式链路时的各种因素,CCRU解析的USB参数可以与USB能力参数相同或不同。例如,USB能力参数可以是3/2自动,但是解析的USB参数可以是USB 2.0。
不管哪个参数正在控制Rx单元的USB模式,Rx单元都可以通过在有线连接上在CP5引脚上驱动不同宽度的脉冲来将其USB模式传达给Tx单元,以使得Tx单元能够根据Rx单元的相同USB模式操作。下面更详细讨论的图19B示出了用于向Tx通知Rx被配置在哪个USB模式的说明性脉冲。这种通信使得Tx单元能够跟随Rx单元,从而确保两个单元都按照相同的USB模式操作。应该理解的是,这种模式选择的通信也可以通过驱动用于在Rx和Tx之间通信的一个或多个引脚上的编码消息比特来实现。在另一个实施例中,Rx单元可以跟随Tx单元。
USB模式解析列指定哪个USB模式被建立为在主机和设备之间具有非接触式通信链路的数据传输模式,并且“实现解析所需的动作”列指定可以由一个或多个通信单元执行哪一或哪些动作来实现结果。USB模式解析列指定基于主机和设备的模式的解析的USB模式。解析的USB模式可以是USB 3.0或USB 2.0,或者失败。因此,解析的USB模式可以是用于在两个设备(例如,主机和设备)之间的至少一个非接触式通信链路上传送数据的数据传输模式。表格的每一行都示出了基于主机和设备模式之间的比较的USB模式解析。例如,当USB主机和USB设备两者都被配置为仅以USB 3.0模式时,USB模式解析为USB 3.0模式,并且达到这个结果的动作可以包括根据如以上参考图10所描述的“常规”能力消息处理来操作。类似地,当主机和设备Tx、Rx单元两者都被配置为仅用于USB 2.0模式时,结果是USB 2.0链路,并且使用相同的常规能力消息处理。当主机模式为仅USB 2.0并且设备模式为仅USB3.0时,结果失败。类似地,当主机模式为仅USB 3.0并且设备模式为仅USB 2.0时,结果失败,并且不会建立EHF数据传输模式。
当主机和设备中的任一个或两者以USB 3/2自动可切换模式操作时,可以使用高于和超过常规能力消息传送的附加动作来解析USB模式。例如,当主机被配置为在仅USB3.0模式下并且设备单元被配置为在USB 3/2自动可切换模式时,解析的USB模式为USB3.0。由于主机的模式为USB 3/2自动,因此它可以将其自身锁定到USB3.0以便解析USB3.0。但是,为了让主机将自己锁定到USB3.0,Rx单元可以检查其USB部分(例如,高速输入电路系统320)以检测其是否连接到USB 3.0接口。如果Rx检测通过,那么它可以锁定。如果没有,那么不选择USB模式并且它失败。作为另一个示例,如果设备被配置为在仅USB 2.0模式并且主机设备被配置为在USB 3/2模式,那么主机可以锁定在USB 2.0以解析为USB 2.0模式。如果主机和设备两者都被配置为在USB 3/2可自动切换模式,那么如果主机和设备各自的Rx检测操作都通过,则主机和设备两者都可以锁定在USB 3.0。如果Rx检测操作失败或者如果链路失败和重试,那么设备和主机两者都可以锁定在USB 2.0。图19A中的主机和设备模式配置的其它组合是不言自明的。
图19B示出了图示基于从其Rx在至少一个CP5引脚上接收到的信号的类型Tx选择哪个USB模式的表格。图19B还示出了哪个USB模式将被并入到通过非接触式通信路径传送到Rx的能力消息中。例如,当Tx在其CP5引脚上接收到标准脉冲时,Tx可以通告USB3/2能力并至少初始地进入USB 3.0模式。在CP5引脚上接收到两倍于(2x)标准脉冲的脉冲的USB Tx可以通告USB 3.0能力并进入USB 3.0数据传输模式。最后,在CP5引脚上接收到4倍于标准脉冲的脉冲的USB Tx可以通告仅USB 2.0的能力并进入USB 2.0数据传输模式。应该理解的是,图19B中示出的CP5脉冲持续时间仅仅是说明性的,并且可以使用任何合适的脉冲持续时间来表示特定的模式。
图19C示出了描述在USB 3.0和USB 2.0模式之间解析USB操作模式的过程中由USBEHF Rx单元采用的动作的说明性表格。该表格示出了EHF Rx USB能力列、由Rx在能力消息中接收到的USB能力、由USB EHF Rx采用的动作以及所选择的结果操作模式。在能力消息中接收到USB 3/2自动模式的具有USB 3/2自动能力的EHF Rx可以在其输入电路系统(例如,高速I/O(HSIO))上执行Rx检测。如果第一次检测操作失败,那么在等待可编程的时间段之后,它可以第二次执行这个操作。如果Rx检测操作在任一检查中通过,那么EHF Rx可以选择USB 3作为数据传输模式并且在CP5引脚上发送两倍于标准脉冲的脉冲。如果Rx检测操作两次都失败,那么EHF Rx可以选择USB 2.0模式,并在CP5引脚上发送四倍于标准脉冲的脉冲。如前所述,不同的模式选择也可以由EHF Rx使用一个或多个引脚上的编码消息比特传达给它的Tx。
在能力消息中接收到USB 3.0模式的具有USB 3/2自动能力的EHF Rx可以选择USB3.0模式,并且如果在其HSIO上的Rx检测检查操作通过,那么以与上述类似的方式向其Tx发送两倍于标准CP5脉冲的脉冲。如果Rx检测操作两次都失败,那么可以中止连接尝试。如果具有USB 3/2自动能力的EHF Rx在能力消息中接收到USB 2.0模式,那么它可以选择USB2.0模式用于数据传输,并将四倍于标准CP5脉冲的脉冲发送到Tx。应该理解的是,图19B的脉冲持续时间仅仅是说明性的,并且任何合适的脉冲持续时间可以与特定的结果相关联。
图20示出了根据实施例的可以由CCRU实现的步骤的说明性流程图。CCRU可以是例如图18的UPRx 1812或DNRx 1824。从步骤2002处开始,可以通过非接触式通信链路从第一CCTU接收能力消息。例如,UPRx可以通过EHF链路从DNTx接收能力消息。能力消息可以包括(例如,DNTx的)第一CCTU USB参数。在步骤2004处,可以检索CCRU USB参数。例如,接收器的USB模式可以使用以上结合图4和图9A、图9B和图10-14描述的技术来获得。CCRU USB和CCTUUSB参数可以包括USB 3.0、USB 2.0和USB3/2自动参数。在步骤2006处,比较CCTU USB和CCRU USB参数以解析CCRU应该使用多个USB模式中的哪一个。例如,CCRU可以基于图19A和/或图19C的表格来解析为适当的USB模式。在步骤2008处,基于解析选择USB模式,其中选定的USB模式可以是USB 2.0、USB 3.0或失败中的一个。在选择USB模式之后,CCRU(例如,UPRx)可以通过有线连接(例如,CP5线)将与该模式对应的脉冲传送到其CCTU(例如,UPTx)。
CCRU还可以确定它是与主机还是设备相关联。在一些实施例中,主机可以是仅USB主机或USB OTG主机。在其它实施例中,设备可以是仅USB设备或USB OTG设备。以上结合图12讨论了用于做出主机与设备确定的处理,但现在将提供简短的回顾。CCRU可以通过获得处于第一CCRU状态(例如,关注状态)的引脚的值、获得处于第二CCRU状态(例如,能力消息状态)的那个相同引脚的值来做出主机/设备确定,并且基于在两个状态下那个引脚的值来识别适当的主机/设备模式。
图21示出了根据实施例的可以由CCTU实现的步骤的说明性流程图。CCTU可以是例如图18的UPTx 1814或DNTx 1822。在步骤2102处开始,经由至少第一引脚(例如,CP5)上的至少一条有线路径从第一CCRU(例如,UPRx)接收信号,其中信号指定第一CCRU USB能力参数和第一CCRU解析的USB参数中的一者。第一CCRU USB能力参数可以包括USB 3/2自动、USB3.0和USB 2.0,并且可以根据第一CCRU所选择的脉冲宽度或比特来表达。例如,根据图19B,如果第一CCRU被配置用于USB 3/2自动模式,那么它可以提供标准CP5脉冲。第一CCRU解析的USB参数可以包括USB 3.0和USB 2.0。第一CCRU解析的USB参数可以用与CCRU USB能力参数相同的术语来表达。可以提供能力和解析的USB参数两者以考虑最终由第一CCRU选择的USB模式的潜在变化。例如,在第一CCRU解析使用哪个USB模式之前,它可能知道哪个USB模式能够支持,并且它能够将该能力报告给CCTU。但是,在第一CCRU解析其USB模式之后(基于它从另一个CCTU(例如,DNTx)接收到的能力消息),它潜在报告给CCTU的USB模式可能改变。
在步骤2104处,通过非接触式通信链路将CCTU USB参数传送到第二CCRU(例如,DNRx),其中传送的CCTU USB参数基于接收到的信号。例如,CCTU可以基于图19B中的表格来传送CCTU USB参数。CCTU USB参数可以被合并到能力消息中,能力消息通过非接触式通信链路被传送到Rx。在步骤2106处,可以基于接收到的信号来选择第一USB模式。例如,CCTU可以基于图19B中的表格来选择USB模式。CCTU可以基于接收到的信号来确定是否重新选择USB模式,并且如果第一CCRU解析的USB参数与选定的第一USB模式不同,那么选择第二USB模式。
图22示出了定义应该如何阅读图22A-L的图示。图22A-L是图示PI状态机可以如何在系统1800的每个EHF单元中实现以根据USB 2.0模式启用数据传输的表格。表格的列指定由每个EHF单元采用的状态、实现该状态所需的(一个或多个)条件、以及响应于满足(一个或多个)条件而由单元执行的任何动作。如图所示,每个状态对应于图18的EHF单元中的一个。行可以对应于由PI状态机执行的不同步骤。该表格被布置为显示状态过渡如何围绕EHF回路前进。可以向状态附加数字后缀以指示发生状态过渡的顺序。每个PI状态机的状态可以以POC状态机的状态改变的相同的回路式方式改变。
在步骤2202处开始,EHF单元中的每一个处于“唤醒”状态,以允许发现在EHF回路的设备侧被拉高的D+线路。在给定的EHF单元的POC状态机达到能力消息状态之后,EHF单元中的每一个的接口状态机可以处于“唤醒”状态。在步骤2204处,DNTx在其USB端口(例如,输入电路系统)上检测到断言的D+,并且通过其EHF链路向UPRx传送0(或其它合适的数据)。在这一步骤处,DNTx处于DPLUS状态。0的EHF传送在本文中可以被称为EHF0。在步骤2206处,如果UPRx从DNTx接收到EHF0并且在其USB端口上接收到USB电气SE0,那么UPRx可以将自身识别为UPRx并过渡到DPLUS状态。SE0可以是其中D+和D-两者都被拉到地的单端零点。此外,它可以将其CP5设置为1。然后,在步骤2208处,如果UPTx在其CP5引脚上注册1,并且在其USB端口上接收到SE0,那么UPTx可以将自身识别为UPTx并过渡到DPLUS状态。此外,它可以传送EHF0。在步骤2210处,如果DNRx接收到EHF0同时D+在其USB端口上被断言,那么可以将自身识别为DNRx并过渡到DPLUS状态。此外,它可以将其CP5引脚设置为1。在步骤2210的结束处,所有四个EHF单元都处于DPLUS状态。
虽然DNTx被示出为检测到断言的D+的第一个Tx,但是UPTx可能是第一个在其USB端口上检测到断言的D+。在这种情况下,上游和下游标识可以与图22A-L中示出的标识不同。
在EHF单元中的每一个都处于DPLUS状态之后,如果满足适当的条件,那么USB2.0PI状态机可以将每个EHF单元过渡到其各自的DPLUSCONF状态。附加到每个DPLUSCONF的后缀号码(例如,DPLUSCONF_1)指示围绕EHF回路发生的过渡的进展顺序。在步骤2212处开始,当DNTx的CP5被驱动到1时,DNTx过渡到DPLUSCONF_1。当它从DPLUS过渡到DPLUSCONF_1时,它可以在其EHF链路上传送1(下文中称为EHF1),EHF1。EHF1信号可以由UPRx接收,UPRx响应于此而过渡到DPLUSCONF_2状态(如在步骤2214处所指示的)。在过渡之后,UPRx可以将其CP5驱动到0。UPTx可以在其CP5上看到0并过渡到DPLUSCONF_3,并且通过EHF链路发送EHF1信号(如在步骤2216处所指示的)。这个EHF1信号然后可以使DNRx过渡到DPLUSCONF_4(在步骤2218处)。此外,在步骤2218处,所有四个EHF单元都处于其各自的DPLUSCONF状态,并且已在EHF回路内将自身识别为上游单元或下游单元。此外,UPRx可以启用其D+端口,使得USB主机知道与USB设备的USB连接。在这个阶段,PI状态机可以在继续之前解析使用哪个速度模式。USB 2.0具有全速模式和高速模式。在四个传送器已在EHF回路中解析其各自的角色之后,可以假设各种动作将源自主机。例如,主机可以首先发起第一分组的开始(SOP)和分组的结束(EOP)。
在步骤2220处,做出关于开始全速模式协商还是高速模式协商的确定。该确定可以基于UPTx是否从USB主机接收到USB“K”信号(或其它合适的信号)。“K”可以通过将USB D+线路驱动为低和将D-线路驱动为高来提供。如果接收到“K”,那么PI状态机可以进行到步骤2222以开始全速模式的协商。如果没有接收到“K”并且UPTx在其USB端口上接收到SE0,那么PI状态机可以进行到步骤2250以开始高速模式的协商。UPTx可以被配置为通过EHF链路异步传送它接收到的任何数据或信号,从而减少DNRx检测和传播“K”所需的时间量。
在步骤2222处,响应于从USB主机处理器接收到“K”,UPTx过渡到FSPEEDsrc_1状态,并通过EHF链路传送0来启动全速模式的SOP。在步骤2224处,DNRx接收SOP的EHF0并过渡到FSPEEDsnk_2。DNRx可以将其CP5设置为1。在POC状态机的这个阶段,在UPTx和DNRx之间建立异步EHF链路。因此,EHF链路上的任何过渡都可以在其USB端口上异步传送。在步骤2226处,如果DNTx在其USB端口上检测到“K”(其中“K”由设备USB处理器提供),那么DNTx可以过渡到FSPEEDsnk_3,并且在EHF链路上将“K”传送到UPRx。DNTx可以检查其CP5引脚的状态,以确定SOP是由USB主机还是由USB设备发起。在这个图示中,由于假定USB主机是始发者,因此CP5被设置为“1”。如果USB设备是始发者,那么CP5将为“0”。在步骤2228处,当DNRx检测到EHF0时,它可以过渡到FSPEEDsrc_4并将其ICC设置为1。PI状态机中的这个点处,“K”已经围绕EHF回路传播。在这一点处,EHF单元处于数据传输状态(基于它们的POC状态机),并且数据可以通过USB/EHF非接触式链路传送。
在“K”已围绕EHF回路传播之后的某个点处,USB主机可以发起EOP。EOP可以包括SE0或USB电气信号“J”。当接收到EOP时,可以做出(在步骤2229处)它是包括SE0还是包括“J”的确定。如果它包括SE0,那么PI状态机可以进行到步骤2230,并且如果它包括“J”,那么它可以进行到步骤2238。步骤2230、2232、2234和2236描述响应于SE0 EOP而做出的状态过渡,并且步骤2238、2240、2242和2244描述响应于“J”EOP而做出的状态过渡。
现在讨论响应于SE0 EOP的状态过渡。在步骤2230处,当UPTx检测到SE0 EOP时,它可以过渡到EOP1src_1状态并通过其EHF链路将SE0传送到DNRx。UPTx可以处于其中它通过其EHF链路继续异步传送数据的状态。在一个实施例中,SE0可以表示EHF空闲。在步骤2232处,当DNRx经由其EHF链路接收到SE0时,它可以过渡到EOP1snk_2并将CP5改变为0。此外,DNRx可以将SE0提供给它的USB端口以向USB设备处理器通知EOP。在步骤2234处,当DNTx检测到CP5为0并且从其USB设备处理器接收到SE0时,它可以过渡到EOP1sink_3并且经由其EHF链路将SE0传送到UPRx。通过发送SE0,DNTx确认SE0在设备侧是活动的。在步骤2236处,当UPRx经由其EHF链路接收到SE0时,它可以过渡到EOP1src_4状态并将其CP5设置为1。因此,在步骤2236处,SE0已围绕EHF回路传播。
在步骤2238处,当UPTx在其CP5为1时在来自USB主机处理器的EOP中检测到“J”时,UPTx可以过渡到EOP2src_1状态并经由其EHF链路(如EHF1)将“J”传送到DNRx。在PI状态机中的这一点处,UPTx可以仍然将数据异步传送到其EHF链路上。DNRX可以接收EHF1并且过渡到EOP2snk_2并将CP5设置为1。在步骤2240处,DNTx可以看到CP5已经改变为1并且可以将EHF1传送到UPRx。此外,DNTx可以向其USB设备处理器通知“J”。UPRx在接收到EHF1之后可以过渡到EOP2src_4状态并将CP5设置为0。
在步骤2242处,在UPTX检测到CP5为0(例如,其确认DNTx正在驱动“J”)之后,UPTx可以过渡到FULLIDLE状态。FULLIDLE可以被定义为后面跟着“J”的2比特时间的SE0。由于FULLIDE与DPLUS状态相同,因此UPTx可能难以知道主机USB处理器何时释放USB总线。因此,UPTx可以依赖于DPLUS电阻器来拉抬D+线路。当UPTx和其它单元处于FULLIDLE_1状态时,USB数据不再通过EHF链路传送,并且EHF链路被强制为IDLE。FULLIDLE状态以示出的顺序围绕EHF回路传播(在步骤2244处)。UPRx可以维持其D拉抬电阻器以将其USB端口保持在全速空闲状态。
如步骤2246所示,任一UPTx或DNTx设备可以启动从FULLIDLE状态出来的过渡。当任一个设备在CP5为0时在其USB端口上检测到“K”信号时,该设备可以启动到FSPEEDsrc_1状态的过渡,并在其RF链路上传送EHF0。接收设备可以如上所述过渡到FSPEEDsnk_2状态。为了减少SOP的第一个符号的失真,当CP5等于0时,在首先检测到USB上的“K”之后,UPTx和/或DNTx设备异步切换到传送模式。虽然符号被立即传递,但是状态机在以后当信号已稳定几个时钟周期时更新。
如果在步骤2220处,UPTx在其USB端口上从USB主机处理器接收到SE0,那么PI状态机进行到步骤2250以开始高速协商。如果它在其CP5为0时在其USB端口上检测到SE0,那么UPTx可以从DPLUSCONF状态过渡到高速POLL状态。响应于过渡到HSPOLL状态,UPTx可以通过其EHF链路将信号传送到DNRx以围绕EHF回路传播状态变化过渡。HSPOLL状态的传播可以以类似于FSPEED状态过渡的方式执行。在EHF回路中的每个设备已过渡到HSPOLL状态之后,UPTx可以在它接收到UPRx已过渡到HSPOLL状态的确认之后过渡到SE0CONF_1状态,如步骤2250所示。在UPTx过渡到SE0CONF_1之后,它可以向DNRx传送信号以围绕EHF回路传播变化,这也在步骤2252中示出。
当单元处于SE0CONF状态时,系统继续在EHF链路的设备侧驱动SE0,并等待USB设备USB以USB ChirpK响应。ChirpK是当具有高速能力的设备将例如17.78mA的电流驱动到D-线路中,同时使D+线路保持具有1.5K拉抬电阻器(并且在设备侧没有端接(termination))时创建的USB总线上的信令条件。如果在USB设备用ChirpK响应之前USB主机超时,那么PI状态机可以返回到USB DPLUS条件(由于设备拉抬)。因此,PI状态机可以假定USB链路未能前进到高速,并将继续作为全速链路操作,从而返回到步骤2222。如果USB设备在USB主机超时之前用ChirpK响应(在判定步骤2253处),那么PI状态机可以前进到ChirpK状态,从步骤2254开始。
在步骤2254处,当DNTx检测到ChirpK时,它过渡到ChirpK状态,并通过EHF链路传送信号以围绕EHF回路传播状态变化。在每个EHF单元中的PI状态机都过渡到其ChirpK状态之后,它们可以等待USB设备处理器去除ChirpK信号。当设备USB处理器停止提供ChirpK信号时,这可以被DNTx检测到,DNTx过渡到NOCHIRPK_5状态并且可以导致状态变化过渡以围绕EHF回路传播。这在步骤2256中示出。设备USB处理器可以停止提供ChirpK信号以使得USB主机处理器能够驱动过渡。如果USB主机处理器不允许驱动任何过渡,那么设备USB处理器可以不去除ChirpK信号。
在步骤2258处,USB主机处理器可以向UPTx提供交替的ChirpJ和ChripK信号。ChirpJ(类似于ChirpK)是当主机/集线器将17.78mA的电流驱动到D+线路中并不干预D-线路,其中D+和D-线路在集线器/主机处具有高速端接并且在设备处具有全速端接时,USB总线上的信令条件。当UPTx检测到ChirpJ时,它可以过渡到其CHIRPJK_1状态,并且它可以导致其它单元以EHF回路的顺序改变到其各自的CHIRPJK状态。这里,USB主机可以发送一系列交替的ChirpK和ChirpJ序列。在PI状态机中的这个点处,从UPTx到DNRx的链路可以被异步复用,以避免当对信号进行采样时可能引起的抖动。
在每个单元都进入CHIRPJK状态之后,它们可以等待SE0信号以便过渡到HSIDLE状态,如步骤2260所指示的。在HSIDLE中,DNRx单元可以在其USB链路上应用下拉电阻器以维持状态。UPTx和DNTx设备可以处于高阻抗状态。如果UPTx在ICC等于0的情况下在其USB端口上检测到“K”,那么它可以过渡到HSPEEDsrc_1,如步骤2262所指示的。其它EHF单元可以逐渐过渡到HSPEEDsrc/snk状态,如针对FSPEEDsrc和FSPEEDsnk状态所指示的。如果DNTx在CP5为0的情况下检测到K,那么它首先过渡到HSPEEDsrc_1状态,并且其余的USB EHF单元逐渐围绕EHF回路过渡状态。状态过渡到HSPEEDsnk或HSPEEDsrc状态可以使用已同步到内部时钟域的信号。但是,如果过渡要在那个时间范围内发生,那么USB FSM将违反USB规范。为了更快地将数据跨EHF链路传递到USB链路,存在数据的异步路径,就像在FSPEED情况(如上所述)中那样。可以使用触发器(flip-flop)异步地注册USB数据。这个USB数据(i)被立即驱动到EHF链路上以满足USB标准的时序要求,并且(ii)还用于在EHF USB状态被同步到内部时钟并且稳定之后切换EHF USB状态。
除了传送数据之外,USB主机还可以或者SUSPEND(挂起)或者RESET(复位)USB链路。为了检测到这个,UPRx设备已在HSIDLE中激活其拉抬。当主机使USB链路SUSPEND时,它将关闭断言SE0的缓冲器,并依赖于下拉来维持SE0状态,并且UPRx拉抬可以在上游USB链路上断言“J”。
步骤2270图示了从HSIDLE到FDSPLUS的状态变化。UPTx设备在USB链路上检测到“J”(由于在USB主机关闭其断言SE0的缓冲器之后拉抬UPRx),并过渡到FSDPLUS_1状态,并且在EHF链路上发送EHF1。DNRx在SE0处通过USB链路看到EHF1,并从HSIDLE移动到FSDPLUS_2状态。这个过渡导致DNRx将CP5设置为0。这又可以导致DNTx过渡到FSDPLUS_3状态(在一段时间的持续SE0后,USB设备也将去除其FS驱动器(禁用输出)并启用D+拉抬)。DNTx现在发送EHF1,该EHF1被UPRx看到,UPRx过渡到FSDPLUS_4并完成这个状态过渡的EHF回路。
步骤2272图示了步骤2270的替代方案,其中EHF单元从HSIDLE过渡到HSRESET。如果USB主机在其链路上维持SE0,那么所有EHF单元继续处于HSIDLE状态。在以后的时间,USB设备可以断言ChirpK以开始速度协商。DNTX将在没有ICC状态改变的情况下检测到ChirpK并移动到HSRESET_1状态。这触发所有其它EHF单元移动到HSRESET状态的条件。
步骤2274图示了从FSDPLUS到SUSPEND的状态过渡。在UPRx过渡到FSDPLUS_4之后,它切换其ICC状态的极性。在检测到这种情况时(USB空闲并且CP5为1),UPTx过渡到SUSPEND_1状态并发送EHF空闲,从而导致DNRx从FSDPLUS状态过渡到SUSPEND。状态过渡然后围绕回路前进。当DNTx移动到USB SUSPEND状态时,EHF链路被设置为空闲状态。在SUSPEND状态中,EHF传送器进入到低功率状态中。DNRx将其下拉电阻器维持为低功率SUSPEND。当任何输入改变时,设备退出SUSPEND状态并过渡到HSIDLE状态。从HSIDLE,状态机可以返回到高速操作。如果在没有任何USB活动的情况下SUSPEND状态持续超过100ms,那么POC状态机将过渡到数据传输空闲状态以节省功率。当POC处于数据传输空闲状态时,PI状态机可以保持在SUSPEND状态。
步骤2276图示了从HSIDLE到HSRESET的状态变化。当USB主机处理器强制SE0最小的时间段(以强制执行USB复位)时,USB设备处理器可以通过发送启动高速协商的ChirpK来确认USB复位。DNTx通过首先移到HSRESET状态来响应ChirpK,并向UPRx发送EHF1,UPRx由于其USB端口仍处于SE0状态而可以过渡到HSRESET_2状态,并在USB端口上断言ChirpK。UPTx确认ChirpK并移动到HSRESET_3状态,并且向DNRx发送EHF1。DNRx在其USB端口上看到EHF1和ChirpK,并且移动到HSRESET_4并改变其CP5引脚的状态。
在步骤2278处,DNTx看到CP5状态的改变并首先移动到CHIRPK状态。这围绕回路前进以使所有EHF单元进入CHIRPK状态。当全部四个EHF单元都处于CHIRPK状态时,高速协商可以如以上所讨论那样继续(例如,步骤2254、2256和2258)。
步骤2280图示了从HSIDLE的另一个潜在的PI转换。在步骤2280处,当由EHF Tx单元中的任一个检测到“K”时,首先检测到“K”的Tx首先移动到HSPEED_src状态。但是,当UPTx在CP5处于0时首次检测到“K”时,它将状态保存,直到状态机转移到HSPEEDsrc_9或HSPEEDsrc_12。
应该理解的是,虽然图22A-L的步骤是相对于图18的系统1800讨论的,但是PI状态机可以在另一个系统的每个EHF单元中实现,以根据USB 2.0模式启用数据传输。例如,USB2.0状态机可以在仅包括用作Tx和Rx两者的一个CCU的设备中实现。
应该理解的是,这里讨论的在一个或多个图的流程图中示出的步骤仅仅是说明性的,并且可以修改或省略现有的步骤、可以添加附加的步骤、并且可以更改某些步骤的顺序。
据信本文所阐述的公开内容包括具有独立效用的多个不同的发明。虽然这些发明中的每一个已经以其优选形式被公开,但是如本文所公开和图示的其具体实施例不应当被认为是限制意义上的,因为许多变化是可能的。每个示例定义了在前述公开中公开的实施例,但是任何一个示例不一定包括可能最终要求保护的所有特征或组合。如果描述陈述“一个”或“第一个”元素或其等同物,那么这样的描述包括一个或多个这样的元素,既不要求也不排除两个或更多个这样的元素。此外,用于识别出的元素的诸如第一、第二或第三的数字指示符用于区分元素,并且不指示这些元素的所需数量或有限数量,并且不指示这些元素的特定位置或顺序,除非另有专门说明。
此外,相对于图1-22描述的处理以及本发明的任何其它方面可以各自由软件来实现,但是也可以用硬件、固件或软件、硬件和固件的任何组合来实现。它们各自也可以体现为记录在机器或计算机可读介质上的机器或计算机可读代码。计算机可读介质可以是可以存储随后可由计算机系统读取的数据或指令的任何数据存储设备。计算机可读介质的示例可以包括但不限于只读存储器、随机存取存储器、闪存存储器、CD-ROM、DVD、磁带和光学数据存储设备。计算机可读介质还可以分布在网络耦合的计算机系统上,使得计算机可读代码以分布式方式被存储和执行。例如,计算机可读介质可以使用任何合适的通信协议从一个电子子系统或设备传送到另一个电子子系统或设备。计算机可读介质可以体现计算机可读代码、指令、数据结构、程序模块或诸如载波或其它运送机制的调制数据信号中的其它数据,并且可以包括任何信息交付介质。调制数据信号可以是以对信号中的信息进行编码的方式设置或改变其特性中的一个或多个的信号。
应当理解的是,本文讨论的任何或每个模块或状态机可以被提供为软件构造、固件构造、一个或多个硬件部件或其组合。例如,可以在可由一个或多个计算机或其它设备执行的计算机可执行指令(诸如程序模块)的一般上下文中描述状态机或模块中的任何一个或多个。通常,程序模块可以包括可以执行一个或多个特定任务或者可以实现一个或多个特定抽象数据类型的一个或多个例程、程序、对象、部件和/或数据结构。还应当理解的是,模块或状态机的数量、配置、功能和互连仅仅是说明性的,并且可以修改或省略现有模块的数量、配置、功能和互连,可以添加附加模块,并且可以更改某些模块的互连。
虽然在阅读了前面的描述之后,本发明的许多更改和修改对于本领域普通技术人员来说无疑将变得显而易见,但是应当理解的是,通过说明示出和描述的特定实施例绝对不是要被认为是限制性的。因此,对优选实施例的细节的引用不旨在限制其范围。