CN107430571A - 针对具有可变帧长的双导线接口系统的基于阻抗的流控制 - Google Patents

针对具有可变帧长的双导线接口系统的基于阻抗的流控制 Download PDF

Info

Publication number
CN107430571A
CN107430571A CN201680013931.2A CN201680013931A CN107430571A CN 107430571 A CN107430571 A CN 107430571A CN 201680013931 A CN201680013931 A CN 201680013931A CN 107430571 A CN107430571 A CN 107430571A
Authority
CN
China
Prior art keywords
frames
vgi
uart
transmission
bit
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.)
Pending
Application number
CN201680013931.2A
Other languages
English (en)
Inventor
L·J·米什拉
R·韦斯特费尔特
G·威利
A·吉尔
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
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN107430571A publication Critical patent/CN107430571A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • G06F5/065Partitioned buffers, e.g. allowing multiple independent queues, bidirectional FIFO's
    • 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/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4063Device-to-bus coupling
    • G06F13/4068Electrical coupling
    • G06F13/4086Bus impedance matching, e.g. termination
    • 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
    • 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/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/426Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using an embedded synchronisation, e.g. Firewire bus, Fibre Channel bus, SSA bus
    • 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/4286Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a handshaking protocol, e.g. RS232C link
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/06Indexing scheme relating to groups G06F5/06 - G06F5/16
    • G06F2205/067Bidirectional FIFO, i.e. system allowing data transfer in two directions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Information Transfer Systems (AREA)
  • Dc Digital Transmission (AREA)
  • Communication Control (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • Selective Calling Equipment (AREA)
  • Software Systems (AREA)

Abstract

公开了将消息传递信号和GPIO信号串行化成在传送引脚上传送的帧的双导线接口。该双导线接口被配置成通过监视传送引脚的电压来执行流控制。

Description

针对具有可变帧长的双导线接口系统的基于阻抗的流控制
L·米什拉,R·韦斯特费尔特,G·威利,以及A·吉尔
相关申请的交叉引用
本申请要求2016年3月3日提交的美国申请No.15/060,503以及2015年3月6日提交的美国临时申请No.62/129,697的优先权。
技术领域
本申请涉及集成电路接口,并且更具体地涉及具有基于阻抗的流控制的双导线集成电路。
背景
通用输入/输出(GPIO)使得集成电路设计者能够提供可以为特定应用定制的普适引脚。例如,取决于用户需要,GPIO引脚可以被编程为输出引脚或者输入引脚。GPIO模块或者外围设备通常将控制基于接口要求而能变动的引脚群。因为GPIO引脚的可编程性,所以它们一般被包括在微处理器和微控制器应用中。例如,移动设备中的应用处理器可以使用数个GPIO引脚来进行握手信令,诸如进行与调制解调器处理器的处理器间通信(IPC)。
对于此类握手信令,若边带信号必须既被处理器传送又被其接收,那么该边带信号被视为是对称摂的。若有n个对称的边带信号需要被交换,那么每个处理器要求n*2个GPIO(一个GPIO传送给定信号并且一个GPIO接收该信号)。例如,调制解调器处理器与应用处理器之间的对称IPC接口可以包括五个信号,这转化成结果所得的IPC信令需要10个GPIO引脚。IPC通信需要如此之多的GPIO引脚增加了制造成本。此外,为IPC投入过多的GPIO限制了GPIO对其他系统级外围接口的可用性。该问题不能够通过将IPC通信移到处理器之间的主数据总线上来得到解决,因为如此就违反了特定角点条件。
为了缓解由常规GPIO系统遭受的引脚需求,已开发了“虚拟”GPIO架构,其中多个GPIO信号诸如通过有限状态机(FSM)被串行化到单个传送引脚上。FSM从GPIO接口接收该多个GPIO信号,并且该GPIO接口进而从处理器接收该多个GPIO信号。GPIO接口还与传送常规GPIO信号的常规GPIO引脚对接。在传送引脚上携带的常规GPIO信号与虚拟GPIO信号之间的区别对于处理器而言是透明的。这是相当有利的,因为处理器不需要软件修改以通过GPIO接口来通信。关于传输,处理器由此向GPIO接口呈现一组GPIO信号。取决于可用的常规GPIO引脚的数目,GPIO接口将在相应的常规GPIO引脚上传送GPIO信号的第一子集。相反,GPIO接口向FSM呈现GPIO信号的剩余子集,该FSM串行化该剩余子集并且在专用传送引脚上传送该剩余子集。
在GPIO信号传输期间,专用传送引脚通过合适的传输线(诸如电路板迹线)耦合至接收方集成电路的专用接收引脚。传送方集成电路由此还包括用于从远程集成电路接收所传送的虚拟GPIO信号的专用接收引脚。FSM将所接收到的虚拟GPIO信号解串行化成被呈现给GPIO接口的收到GPIO信号的第一集合。类似地,GPIO接口通过常规GPIO引脚接收收到GPIO信号的第二集合。收到GPIO信号的第一和第二集合随后可以按常规方式通过GPIO接口被呈现给处理器。由此,给定的收到GPIO信号是在专用接收引脚上作为虚拟GPIO信号接收的、还是在常规GPIO引脚上接收的对于处理器而言是透明的。处理器由此关于传输或接收不需要软件修改。
关于此有利的虚拟GPIO能力,注意,接收电路可能尚未准备好接收虚拟GPIO信号的帧(也尚未准备好接收常规GPIO信号)。流控制允许接收方集成电路向传送方集成电路指示接收方集成电路是否能够在当前接收数据。然而,一般而言,流控制需要使用附加引脚。例如,通用异步接收机发射机(UART)接口包括请求发送(RTS)引脚以及清除发送(CTS)引脚。这两个流控制引脚是附加的专用接收引脚和专用传送引脚。UART接口的这两个附加的流控制引脚(RTS和CTS)由此增加引脚计数并且造成较高的制造成本。
因此,在本领域中存在对于能够仅使用双引脚接口来传送和接收多个GPIO信号的GPIO架构的需要,其中流控制在该双引脚接口上复用。更一般地,在本领域中存在对于针对双引脚接口的经复用流控制的需要。
概述
提供了一种用于在各自具有处理器的两个集成电路之间进行通信的虚拟GPIO架构。每个集成电路还包括用于使用一组信号与远程处理器通信的GPIO接口。该组信号包括一组GPIO信号以及一组虚拟GPIO信号。每个集成电路由此包括对应于该组GPIO信号的一组GPIO引脚。这些GPIO引脚被用于以GPIO领域中所知的常规方式来传送该组GPIO信号。就此而言,该组GPIO信号中的第一GPIO信号是在第一GPIO引脚上传送,该组GPIO信号中的第二GPIO信号是在第二GPIO引脚上传送的,依此类推,以使得该组GPIO信号中的最后一个GPIO信号是在最后一个GPIO引脚上传送的。
与该组GPIO信号相反,该组虚拟GPIO(VGI)信号是使用流控制接口在UART传送引脚上传送的,该流控制接口进而由虚拟GPIO有限状态机(VGI FSM)驱动。针对每个集成电路的VGI信号包括传送集和接收集。传送集在专用传送引脚上传送给远程集成电路,而接收集在专用接收引脚上从远程集成电路接收。注意,“设备”和“集成电路”在本文中被视为等效术语。每个设备中的VGI FSM被配置成在专用传送引脚上通过UART接口向远程处理器串行地传送传送集。UART接口被进一步配置成在专用接收引脚上从远程处理器串行地接收VGI信号的接收集并且将VGI信号的接收集呈现给VGI FSM。
以下讨论将假定流控制是通过UART接口来实现的。但是将领会,本文讨论的流控制技术可以在没有任何UART能力的情况下实践。UART接口是公知的。在其常规格式中,UART接口包括传送引脚(TX)、接收引脚(RX)、请求发送(RTS)引脚、以及清除发送(CTS)引脚。UART接口使用通常为16倍比特率的过采样时钟信号。因此每个收到比特由十六个采样来表示。UART传输是简单直接的:为了发送二进制1,UART接口将其TX引脚驱动至电源电压VDD达如由其过采样时钟信号的16个循环决定的比特时段历时。接收方UART接口使用其自己的过采样时钟来对其RX接口上的结果得到的收到信号进行采样。逻辑零的传输正好是补:传送方UART接口使其TX引脚接地达如通过其过采样时钟信号循环16次决定的比特时段历时。在一些实施例,可以使用过采样时钟的两个边沿,以使得一比特时段将对应于过采样时钟的8个循环。
常规的UART接口将另一对引脚用作控制协议。具体地,常规的UART接口通过将请求发送(RTS)引脚充电至电源电压来指示其准备好接收数据。该经断言的电压随后在接收方UART接口处在其清除发送(CTS)引脚上被接收。因此常规UART接口仅在其看到其CTS引脚电压被断言时才进行传送。结果所得的传输是8比特帧的形式。
通过如本文进一步解释的VGI FSM来修改此常规的UART控制协议以使大小可变的虚拟GPIO数据帧能够在UART接口的TX引脚上传送。如本文公开的UART接口被配置成在空闲时段(没有数据传输)期间微弱地将其TX引脚拉至VDD。帧传输的开始可随后通过传送方UART接口将其TX引脚拉低达一比特时段来划界。每个集成电路的处理器向GPIO接口提供第一组信号。从该GPIO接口,该第一组信号的一部分作为第一组GPIO信号在第一组对应GPIO引脚上被传送到远程处理器。来自该处理器的该第一组信号的剩余部分由该GPIO接口并行地提供到VGI FSM。VGI FSM可随后通过UART接口并且在专用传送引脚上串行地传送该剩余部分作为VGI信号的传送集。该GPIO接口还在第二组对应GPIO引脚上从该远程处理器接收第二组GPIO信号。取决于操作模式,VGI FSM从远程处理器串行地接收VGI信号的接收集或消息传递信号的接收集,以及并行于GPIO接口地提供该接收集。
除了VGI信号之外,UART接口还可传送UART信号(如由其名称暗示的)。UART信号代表在本文中标示为“消息传递”信号的信号以与VGI信号区分开来。如本文中使用的,消息传递信号是至处理器的与对应地址相关联的信号。就此而言,常规的GPIO信号是在对应的GPIO引脚上接收或传送的。因此,GPIO信号不需要地址,因为接收方处理器通过对应的GPIO引脚的身份来知晓所接收到的GPIO信号的身份。为了标识VGI信号,VGI FSM因此将每个VGI信号指派到帧中的对应比特位置。例如,帧可包括从第一VGI信号安排到第八VGI信号的8个VGI信号。接收方VGI FSM由此从其帧中的比特位置来标识给定的所接收到的VGI信号。但是消息传递信号不像常规GPIO信号那样被指派到个体引脚。处理器因此通过将消息传递信号写入特定的寄存器地址或者从特定的寄存器地址接收消息传递信号来标识消息传递信号。以下讨论将假定消息传递信号是UART信号,但是将领会,可以使用其他类型的消息传递信号(诸如I2C信号)。在帧内,消息传递信号如同VGI信号那样是通过其比特位置来标识的。但是VGI FSM随后将所接收到的消息传递信号写入其恰适的寄存器,而不是将它们呈现给GPIO接口。处理器可随后以常规方式检索或写入消息传递寄存器。
关于虚拟GPIO信号和消息传递信号,存在关于所公开的虚拟GPIO架构的两个主要实施例。在第一实施例中,在专用发射引脚上传送的每个帧包括报头,该报头标识该帧是包括VGI信号的发射集还是包括消息传递信号的发射集。报头还可指示要在接收机侧设置的帧长度或者指示期望帧长度的确认。在第二实施例中,报头针对包括VGI信号和消息传递信号两者的帧被延展,从而经延展的报头标识VGI信号和消息传递信号的比特位置。
为了实现流控制,每个UART接口包括耦合至接收引脚的RTS控制电路。RTS控制电路通过两个可选择的输入阻抗(高输入阻抗和低输入阻抗)来将接收引脚耦合至接地,其中高输入阻抗大于低输入阻抗。RTS控制电路在终止每个所传送帧的停止比特期间应用流控制。如果接收方集成电路尚未准备好接收任何附加帧,则其RTS控制电路选择其低输入阻抗。由于传送方集成电路此时正通过相对较大的输出阻抗来驱动其传送引脚,因而传送方集成电路的传送引脚上的电压将随后向接地下降。传送方集成电路的UART接口包括耦合至其传送引脚的用以检测该电压降的CTS控制电路。如果CTS控制电路在停止比特的传输期间检测到电压降,则传送方集成电路将制止传送进一步帧直至其传送引脚上的电压恢复。此电压恢复将仅在接收方集成电路的RTS控制电路选择其高输入阻抗时发生。以此方式,在传送引脚上达成流控制而不需要用于RTS和CTS功能的任何单独引脚。
附图简要说明
图1是根据本公开的示例VGI架构的框图。
图2A是其中处理器与单个远程处理器通信的VGI架构的高级框图。
图2B是其中处理器与两个远程处理器通信的虚拟GPIO架构的高级框图。
图3解说了根据本公开的一方面的示例帧格式。
图4解说了用来编程VGI和消息传递帧长度的长度编程帧。
图5解说了被传送以确收响应于图4的帧而被编程的帧长度的确收帧。
图6解说了示例VGI帧和示例消息传递信号帧。
图7解说了包括VGI信号和消息传递信号两者的混合帧。
图8解说了用于图1的系统的基于阻抗的流控制电路系统。
图8B解说了图8A的系统中的TX缓冲器和RTS控制电路的进一步细节。
图9解说了关于由图8A的系统传送的帧中的停止比特的变化的输出阻抗。
图10解说了根据本公开的一方面的用于数据帧的低阻抗时段和高阻抗时段。
图11是根据本公开的一方面的包括中间停止比特和中间开始比特的帧的示图。
图12是根据本公开的一方面的用于VGI设备的操作的示例方法的流程图。
图13是纳入了图1的系统中所示的集成电路之一的示例电子系统的框图。
图14是根据本公开的一方面的包括具有可编程宽度的停止比特的帧的示图。
本发明的各实施例及其优势通过参考以下详细描述而被最好地理解。应当领会,相同参考标记被用来标识在一个或多个附图中所解说的相同元件。
详细描述
提供了实现可变帧长能力以及仅两个引脚(传送引脚和接收引脚)上的基于阻抗的流控制的串行接口。以下讨论将涉及使用配置成用于基于阻抗的流控制的UART接口的一实施例。然而,将领会,任何双引脚串行接口可被修改以有利地包括本文讨论的可变帧长和基于阻抗的流控制能力。由此,以下讨论将不失一般性地涉及VGI/UART实施例。
图1中示出了示例虚拟通用输入/输出(VGI)架构100。主机集成电路101和外围集成电路105两者包括包含传送(TX)引脚111和接收(RX)引脚112的双引脚接口。每个TX引脚111通过合适的传输线(诸如耦合在主机集成电路101(其也可被标示为主机设备101)与外围设备105(其也可被标示为外围设备105)之间的电路板迹线)来耦合至对应的RX引脚112。
主机设备101和外围设备105各自包括处理器(CPU)102。主机设备101中的处理器102耦合至对应的GPIO接口103,所以它可按常规方式与一组常规GPIO引脚125对接。类似地,外围设备105中的处理器102耦合至对应的GPIO接口103,所以它可与一组常规GPIO引脚125对接。在主机设备101和外围设备105中,可在常规GPIO引脚125上传送和接收来自对应处理器102的作为常规GPIO信号130通过对应的GPIO接口102处理的信号的某一部分。为了解说清楚起见,仅个体地标记了常规GPIO信号130的一部分,从GPIO信号#1到GPIO信号#n。但是,来自对应处理器102的通过GPIO接口103处理的信号的其余部分并不通过常规GPIO引脚125来传送或接收。取而代之的是,该其余部分包括使用专用传送引脚111和专用接收引脚112通过对应的VGI有限状态机(FSM)115传送和接收的多个VGPIO(VGI)信号135。对于接收和传送消息传递信号(诸如UART信号136)而言,每个VGI FSM 115还直接与对应的处理器对接。因为UART信号136不是GPIO信号,所以它们不是通过GPIO接口103耦合。每个FSM 115通过其专用发射引脚112和接收引脚111来传送和接收UART信号136。这些引脚由此是“混合”引脚,因为它们被用于VGI信号135和UART信号136两者。在VGI架构100中,针对主机设备101和外围设备105的VGI信号135的传送和接收集包括多个(m个)VGI信号135,范围从VGI信号#1到VGI信号#m,其中m是正整数。
VGI信号135并非如常规GPIO信号130的情形中那样各自具有它们自己的专用引脚。这是相当有利的,因为VGI架构100达成了与其中每个虚拟GPIO信号135将各自要求它们自己的引脚的常规GPIO实施例相比显著的引脚减少。UART信号136常规上也会要求另一专用传送引脚和另一专用接收引脚。但是在本公开的有利的VGI架构中也消除了这些附加引脚,因为消息传递信号也在传送引脚111传送并且在接收引脚112上接收。
集成电路可以仅包括一个VGI FSM 115或者可以包括用于与多个外部系统对接的多个这些元件。图2A解说了VGI架构,其中集成电路200包括用于与集成电路205(包括其自己的VGI FSM 115)中的远程处理器(未解说)通信的单个FSM 115。作为对比,图2B中所示的集成电路220包括用于分别与集成电路225和230中的远程处理器(未解说)通信的第一VGIFSM 115A和第二VGI FSM 115B。每个集成电路225和230由此包括其自己的VGI FSM 115。就此而言,片上系统(SoC)可配置有为容适与多个其他设备的VGI信令所必需的那样多的VGIFSM 115。无论设备可具有的VGI FSM 115的数目如何,每个VGI FSM 115使用其自己的专用传送引脚111和接收引脚112来通信,如参照图1所讨论的。
再次参照图1,因为VGI信号135是使用有限状态机(诸如VGI FSM 115)来容适的,所以处理器102可以处于休眠或者另一类型的蛰伏状态,却仍能够接收VGI信号135和消息传递信号136。以这种方式,VGI架构100不仅有利地节约了每个GPIO接口103的引脚的数目,而且也是低功率的。
如本文中所使用的,“引脚”是覆盖了集成电路用来耦合到电路板上的导线或者其他合适的物理互连(例如,封装互连或者穿孔式通孔互连)的结构(诸如焊盘或实际引脚)的普适术语。例如,如果集成电路具有16个GPIO引脚或焊盘125(诸如图1中所示),则这些引脚可被配置成容适8个对称的GPIO信号130或16个不对称的GPIO信号130。对称的GPIO信号130通过主机设备101和外围设备105两者来传送。不对称的GPIO信号130是仅由主机设备101和外围设备105中的一者来传送的GPIO信号。另外,每个集成电路可容适多个(m个)VGI信号135的输入/输出对接。类似地,每个集成电路可容适多个(m个)UART信号136的输入/输出对接。就每个处理器102而言,GPIO信号130与VGI信号135之间没有差异:两者均被当作按需通过GPIO接口103来传送和接收的普通GPIO信号。然而,因为VGI信号135和消息传递信号136没有专用引脚(这与常规GPIO信号130形成对比),所以VGI信号135和消息传递信号136在VGI FSM 115中被串行化以供在对应的传送引脚111上传送。在接收引脚112上的接收之际,每个VGI FSM 115解串行化所接收到的经串行化的VGI信号135和所接收到的经串行化的消息传递信号136(如以上提及的,以下讨论将“消息传递信号”和“UART信号”考虑为同义,条件为其他类型的消息传递信号136在替换实施例中可以是诸如I2C或I3C信号)。每个VGIFSM 115由此关于VGI信号135和UART信号136起到串行器/解串器的作用。
处理器102可能需要响应于所选VGI信号135或消息传递信号136的变化而接收中断信号。关于VGI信号135,调制解调器功率管理器(MPM)140诸如通过中断配置寄存器(未解说)被编程的方式来监视这些选定的VGI信号135。每个VGI信号135具有对应的中断配置寄存器。如果要求VGI信号135响应于该信号改变状态而生成中断,则对应的配置寄存器将被相应地编程。类似地,如果VGI信号135是无论该信号是否改变状态都不生成中断的信号,则对应的中断配置寄存器也将被相应地编程。MPM 140也可包括有限状态机。由此,就像VGIFSM 115,MPM 140是低功率的并且无论其处理器是处于休眠模式还是某种其他蛰伏状态均呈活跃。
VGI信号135可被细分成传送集和接收集。在对称系统中,每个传送集可以具有相同的数目。类似地,每个接收集可以具有相同数目的信号。然而,将领会,VGI架构100是有利的,因为它可容易地容适其中虚拟GPIO信号135和UART信号136的传送集在主机设备101中具有与外围设备105相比不同的大小的不对称信令实施例。类似地,VGI信号135和UART信号136的接收集也可在主机设备101中具有与外围设备105相比不同的大小。无论VGI架构100是对称的还是不对称的,每个VGI FSM 115并行地从GPIO接口103接收VGI信号135的传送集,并行的意义是指这些传送集中的每个信号被承载在在GPIO接口103与VGI FSM 115之间的其自身的导线上。UART信号136不通过GPIO接口103来耦合。就此而言,每个VGI FSM 115可由对应的处理器102给予某个外围地址。每个VGI FSM 115被配置成解码如从对应的处理器102接收到的UART信号136中的地址字段137,从而给定的UART信号136可以被存储在对应的消息传递寄存器138中。这些消息传递寄存器138可各自被映射到对应的处理器102的地址空间内的用于VGI FSM 115的通用地址的某个偏移。处理器102可随后访问消息传递寄存器138以获得恰适的UART信号136。就象虚拟虚拟VGI信号135那样,UART信号136可以被细分为发射集和接收集。无论该架构是对称的还是不对称的,结果得到的由VGI FSM 115对UART信号136的这些传送集进行的传输是在专用传送引脚111上发生的。来自传送方处理器102的VGI信号135的传送集变成接收方处理器102的VGI信号135的接收集。类似地,来自传送方设备的UART信号136的传送集变成接收方设备的UART信号136的接收集。接收设备的VGIFSM 115随后将VGI信号135的接收集解串行化,从而它们可以被并行地呈现给GPIO接口103。
在将VGI信号135的传送集串行化之后,VGI FSM 115将结果得到的经串行化的传送集呈现给对应的UART接口116。每个UART接口116被配置成响应于来自过采样时钟源117的过采样时钟信号118的循环而在对应的传送引脚上传送串行帧。如以上提及的,将16X过采样频率用于过采样时钟信号118是常规的,以使得UART接口116通过将传送引脚111充电至高(例如,至电源电压)达过采样时钟信号118的16个采样来传送二进制1比特。类似地,每个UART接口116通过将传送引脚111放电至低(例如,至接地)达过采样时钟信号118的16个循环来传送二进制0比特。每个UART接口116还被配置成在过采样时钟信号118的16个循环上对其接收引脚112上的收到比特进行采样。每个UART接口116还被配置成将结果得到的采样与某一阈值(例如,用于二进制1比特传输的电源电压的一半)进行比较以确定采样的二进制值。如果大部分采样是二进制1,则每个UART接口116接收作为二进制1的比特。接收二进制0比特的相反情形将对应于大多数采样为0。此类UART传输和接收是公知的。但是如本文中进一步讨论的,由每个UART接口116在其传送引脚111上实现流控制不是常规的。类似地,使用UART接口116来传送和接收VGI信号135不是常规的。
由于VGI信号135是通过对应的UART接口116来传送的,因而VGI信号135的所传送帧可被认为是经隧穿的虚拟GPIO信号135。如稍早讨论的,UART信号136和VGI信号135两者需要被指派到所传送帧中的对应比特位置,从而接收方VGI FSM 115可以标识它们。传送设备和接收设备由此均必须使用共同的帧大小,以使得收到帧中的比特位置是可理解的。例如,如果接收设备被配置成接收8比特帧、但是接收到10比特帧,则接收设备将不知道10比特帧中的额外两个比特的身份。在上电时,对于主机设备101和外围设备105两者而言,帧大小应当具有预定义的大小。但是,可能存在设备之一期望使用比在上电时使用的默认大小更长或更短的帧长度的情形。在一个实施例中,帧大小可因此由传送设备编程以改变接收设备所预期的帧大小。例如,传送设备可传送包括报头的编程帧,该报头标识传送设备将编程或更改由接收设备使用的当前帧大小的意图。
图3中示出了如由传送方VGI FSM 115和对应的UART接口116(图1)配置的示例帧300。帧300开始于以下进一步讨论的开始比特306。跟随在开始比特306之后的报头305可包括两个功能比特fn_0和fn_1。然而,将领会,替换实施例可使用更大数目的功能比特。在一个实施例中,如果这两个功能比特都为零,那么帧300中的后续比特是VGI信号135。如果fn_0为0且fn_1等于1,那么后续比特是消息传递信号(诸如UART信号136)。如果fn_0为1且fn_1等于0,那么后续比特表示接收方VGI FSM 115所预期的帧长度。类似地,如果这两个功能比特都为1,那么后续比特表示接收方VGI FSM 115对于新的帧长度的确收。如果虚拟GPIO信号135的传送集(或消息传递信号的传送集)小于此固定帧大小,那么每帧内未被使用的比特可以是随意(don't care)值。替换地,每个FSM 115可以被配置成取决于给定应用所需的比特数而更改所传送的帧的大小。
为了检测完整帧300的接收,接收方UART接口116可包括在接收到开始比特306之后对过采样时钟信号118的循环数进行计数的逻辑电路(未解说)。在一个实施例中,每个比特时段对应于过采样时钟信号118的16个循环。例如,假定接收帧具有响应于过采样时钟信号118的160个循环而被接收的10个VGI信号135的帧体。由于报头305是两个比特,因而对报头305的采样需要32个采样。在检测到开始比特306并且等待过采样时钟的另一160+32循环之后,接收方UART接口116将随后预期接收到停止比特310。如果相应地检测到停止比特310,则UART接口116可随后针对帧300选通对应的VGI FSM 115。在VGI FSM 115内锁存帧300之后,VGI信号135的对应的接收集可随后被呈现给GPIO接口103。替换地,如果帧300具有UART信号136的帧体,则VGI FSM 115将它们写入恰适的消息传递寄存器138。
VGI信号135的传送集可由此在帧300中传送。由于传送设备的传送集变成接收设备的接收集,因而该接收集也相应被成帧。该成帧是有利的,因为每个处理器由此可以监视远程处理器的健康而不需要任何的附加专用引脚。例如,每个UART接口116可被配置成在默认状态(没有帧传输)期间将其传送引脚112微弱地拉到电源电压(并且因此将接收方UART接口116的对应的接收引脚112微弱地拉到电源电压)。对于此类实施例,开始比特306将是逻辑0,以使得UART接口116将其传送引脚111接地达过采样时钟信号118的恰适数目的循环(该恰适数目对应于过采样速率)以传送开始比特306。以此方式,每个UART接口116可通过检测接收引脚112已被拉向接地达过采样时钟信号118的恰适数目的循环来容易地检测开始比特的接收。在一个实施例中,开始比特306和停止比特310是逻辑互补的。
存在接收设备发生故障以使得其不恰适地将其传送引脚111拉至接地的可能性。接收方UART接口116将由此将其检测为开始比特306并且相应地朝帧的末尾开始计数。但是在此实施例中停止比特3210是逻辑1,以使得每个UART接口116将其TX引脚充电至电源电压达比特历时以发信令通知帧传输的结束。如果接收设备发生故障(例如,其处理器崩溃)以使得接收方UART接口116已检测到被认为是开始比特306的情形,则后续的停止比特310将不被检测到,从而接收方VGI FSM 115可相应地向其处理器102通知传送方处理器102的故障。
考虑帧300(仅具有两个功能比特305、开始比特306和停止比特310的开销)的优点,UART信号136和VGI信号135的帧可仅在一个专用传送引脚111上传送。图4中示出了用于设置VGI帧长度的示例VGI编程帧400以及用于设置UART帧长度的示例UART编程帧405。帧长度在上电之际是预定义的。由此,一旦VGI FSM 115接收到具有指示编程长度正被设置的报头305的帧(诸如先前所讨论的fn_0等于1且fn_1等于0),则将知晓接下来将有多少个编程比特。例如,如果预定义的帧长度(针对VGI数据有效载荷)是8个比特,则将有8个编程比特。就此而言,接收方VGI FSM 115需要知晓VGI帧或UART帧的长度是否正被编程。因此,在帧400和405中的每个报头305之后跟随有身份比特410。例如,如VGI编程帧400中所示的等于1的身份比特410可表示VGI帧长度正被编程,而如UART编程帧405中所示的等于0的身份比特410可表示UART帧长度正被编程。在身份比特410之后的编程有效载荷中的每个编程比特表示二进制2的幂。编程比特的范围从比特0(表示2的零次幂)到比特4(表示2的四次幂)。在VGI编程帧400中,仅编程比特1和比特3是二进制1,所以帧长度等于2与8的总和10。在接收到VGI编程帧400之后,接收方VGI FSM 115所预期的VGI帧长度将随后从诸如8比特的默认值重新配置成10比特。类似地,在UART编程帧405中,仅编程比特1和3是二进制1。因此,在接收到UART编程帧405之后,UART帧长度将从默认值改变成10比特。VGI编程帧400和UART编程帧405两者均开始于开始比特306并且结束于停止比特310,如参照图3所讨论的。
一旦帧长度已被编程,接收方VGI FSM 115就可通过在传送引脚111上传送确收帧来确认它将使用新的帧长度。图5中示出了示例VGI确收帧500和示例UART确收帧505。功能比特305是如参照图3所讨论的1和1,用以标识确收帧正被传送。在VGI确收帧500中的报头305之后的身份比特510具有二进制1值以标识VGI确收帧500确收新的VGI帧长度的设置。在身份比特305之后的有效载荷中的比特匹配预期由VGI编程帧400(图4)编程的比特。这些比特具有与参照图4所讨论的二进制加权相同的二进制加权。UART确收帧505具有设置成0的身份比特510以将自身标识为UART确收帧。UART确收帧505的有效载荷具有与用于VGI确收帧500的二进制加权相同的二进制加权。VGI确收帧500和UART确收帧505两者均开始于开始比特306并且结束于停止比特310,如参照图3所讨论的。
一旦帧长度由此被编程,就可如图6中所示的那样传送VGI帧600或UART帧605。针对有效载荷长度(n+1)VGI比特对VGI帧600进行编程,所以(跟随在功能报头305之后的)VGI比特的范围为从VGI比特0到第n VGI比特n(n是正整数)。在不在传送引脚111上进行相应串行化的情况下,这些(n+1)个VGI信号135将需要(n+1)个常规GPIO引脚125。
如先前讨论的,存在其中来自传送方VGI FSM 115的帧包括VGI信号135和UART信号136两者的替换实施例。这些帧可在本文中标示为混合摂帧,因为它们将UART信号136与VGI信号135混合。例如,图7示出了包括开始比特306、跟随在开始比特306之后的功能报头305以及扩展报头705的示例混合帧705。扩展报头705指示跟随在扩展报头701之后并且在停止比特310之前的一组消息传递信号(例如,UART)比特710和一组VGI比特715的比特位置。取决于等待时间要求,UART比特710或VGI比特715可以在帧体中的最前面。在一些实施例中,扩展报头705可包括纠错比特,诸如循环冗余校验(CRC)比特。注意,扩展报头705只需要标识仅仅VGI比特715的位置和长度或者仅仅UART比特710的位置和长度,这是因为默认由此知晓剩余比特属于剩余的比特位置。为了标识包含在VGI比特715中的比特数或者包含在UART比特710中的比特数,范围为从第0扩展报头比特EXT_Hdr[0]到第n扩展报头比特EXT_Hdr[n]的扩展报头比特可各自标识2的相应幂,如参照图5的编程有效载荷所讨论的。
现在将讨论通过每个UART接口116实现的基于阻抗的流控制。图8解说了用于包括主机集成电路(IC)和外围IC 802的系统800的流控制电路系统的各方面。为了解说清楚起见,仅在主机IC 801中的UART接口116中示出传送电路系统。类似地,仅在外围IC 802中的UART接口116中示出接收电路系统。由于简化,仅在主机IC 801上示出传送(TX)引脚111。类似地,仅在外围IC 802上示出接收(RX)引脚112。然而,将领会,这些接口包含参照图1讨论的两种类型的引脚。主机IC 801中的VGI FSM 115由传送移位寄存器805表示,并且外围IC802中的VGI FSM 115由外围IC 802中的接收移位寄存器836表示。
主机IC 801中的处理器或其他数据源(未解说)提供源数据(诸如GPIO信号或UART信号)。在系统800中,在传送引脚111上传送的帧(未解说)可以是如稍早讨论的VGI帧600、UART帧605、或混合帧700。主机IC 801中的(由移位寄存器805表示的)VGI FSM 115还包括从系统总线接收数据的先进先出(FIFO)存储器803或者与FIFO存储器803相关联。将领会,为了解说清楚起见,系统800中未示出对应的GPIO接口103(用于VGI帧600的传送)。外围IC802包括耦合至其系统总线的对应的FIFO存储器840。如常规的,每个FIFO存储器803和840可以包括用以监视其接收附加数据的能力的FIFO水印逻辑。根据其先进先出逻辑,主机FIFO存储器803将其最早加载的数据加载到传送移位寄存器805中。UART接口116中的传送控制电路810使用16X过采样时钟信号(未解说)的每16个循环循环一次的移位时钟来选通传送移位寄存器805以移入其内容。在替换实施例中,可使用其他过采样时钟速率。传送控制电路810从传送移位寄存器805接收移入比特并控制传送(Tx)缓冲器815以根据移入比特的二进制值来驱动传送引脚111的电压。例如,Tx缓冲器815可对移入的二进制1进行响应以在16X过采样时钟信号的16个循环上用电源电压来驱动其传送引脚111以传送二进制1。相反,传送缓冲器815被配置成对移入的0比特进行响应以在16X过采样时钟信号的16个循环上将其传送引脚111接地以传送二进制0。将领会,如稍早讨论的,VGI FSM 115(图1)将期望的开始比特、报头、扩展报头、身份比特和停止比特插入从传送移位寄存器805移出的结果得到的数据帧。
如将在以下进一步解释的,传送缓冲器815被配置成在两个输出阻抗(高输出阻抗和低输出阻抗)之间进行选择。从帧的开始比特到数据有效载荷传输,传送控制电路810命令传送缓冲器815使用其低输出阻抗。另外,传送控制电路810命令传送缓冲器815在帧的停止比特的某一初始部分上(诸如16x过采样时钟信号的一个或两个循环上)使用其低输出阻抗。传送控制电路810随后命令TX缓冲器815在停止比特传输的剩余部分内并且还在各帧传输之间的任何等待时段期间使用其高输出阻抗。高输出阻抗显著大于低输出阻抗。
在停止比特传输的高输出阻抗部分期间,主机的UART接口116中的清除发送(CTS)控制电路820使用某个阈值电平(诸如电源电压的一半(或更一般地,由传送缓冲器815用于传送二进制1值的传送电压,该传送电压可等于电源电压或者可被减小以节省功率))来检测传送引脚电压是二进制1还是二进制0。基于传送引脚电压的二进制值,CTS控制电路820可随后相应地驱动其输出信号(Tx_OK)。例如,输出信号Tx_OK的二进制0值可触发传送控制电路810不选通移位寄存器805,以不移入在当前帧的停止比特传输之后的后续帧。此空闲状态将继续直至CTS控制电路820再次检测到传送引脚电压为二进制高值,从而其相应地断言其输出信号Tx_OK。传送控制电路810将随后命令传送缓冲器815进入其低输出阻抗状态以开始另一帧传输(假定存在要传送的一个帧,这取决于主机的FIFO缓冲器或存储器803的状态)。
在外围IC 802中,其UART接口116中的接收(RX)缓冲器825被配置成在接收引脚112上接收每个帧。例如,RX缓冲器835可以包括反相器(或比较器,未解说),其中接收引脚112电压驱动反相器晶体管的栅极。因为MOSFET晶体管在它们的栅极处呈现相对较高的阻抗,因此RX缓冲器825具有对应高输入阻抗。RX缓冲器825被配置成响应于过采样时钟信号(未解说)而对收到帧中的每个比特进行采样。在16X过采样速率下,收到帧中的每个比特通过16个采样来表示。基于每组16个采样的二进制状态,RX缓冲器825作出比特判决以将结果得到的收到比特驱动至接收控制电路835,该接收控制电路835进而响应于移位时钟的选通而将收到比特移入接收移位寄存器836。接收移位寄存器836的选通可以由此具有等于16X过采样时钟信号的16个循环的时段。一旦整个帧被加载到移位寄存器836中,结果得到的帧就可以被移入到接收FIFO缓冲器840中,以使得其可以最终在系统总线上并行地呈现给外围IC 802中的处理器或其他数据阱(未解说)。
RX缓冲器825的输入阻抗被固定至高阻抗值,如以上所讨论的。但是,请求发送(RTS)控制电路830可在RX引脚112的两个输入阻抗(低输入阻抗和高输入阻抗)之间进行选择。该高输入阻抗通常显著高于主机IC 801的高输出阻抗(例如,10KΩ)。该低输入阻抗显著小于该高输入阻抗。在默认模式期间并且还在接收当前帧的开始比特直到数据有效载荷时,RTS控制电路830向接收引脚112呈现其高输入阻抗。在此低输入阻抗呈现期间,RTS控制电路830因此有效地与影响接收引脚电压隔离。接收控制电路835检测当前帧的收到停止比特的开始并检查接收FIFO缓冲器840内的接收(RX)FIFO水平,以确定接收FIFO缓冲器840是否有足够的存储可用于接收另一帧。如同传送FIFO缓冲器803,接收FIFO缓冲器840可以包括水标逻辑或其他合适电路以生成RX FIFO水平信号。如果存在足够的存储可用,则接收控制电路835在当前帧的停止比特的剩余部分上不改变RTS控制电路830的默认高输出阻抗。但是如果不存在足够的存储可用,则接收控制电路835命令RTS控制电路830选择其低输入阻抗(例如,50欧姆)。此低输入阻抗可以基本上等于外围IC 801的低输出阻抗。由外围IC802中的RTS控制电路830的低输入阻抗相比于主机IC 801中的传送缓冲器815的高输出阻抗所导致的结果得到的分压器使RTS控制电路830快速地耗尽RX引脚112上的电荷,这进而对主机IC 801的TX引脚111进行放电。主机IC 801中的CTS控制电路820随后检测该传送引脚电压降,以使得主机IC 801进入其中主机IC 801制止发送附加帧的等待模式直到其TX引脚电压恢复。外围IC 802中的RX控制电路835确定其RX FIFO水平何时指示有足够的接收另一帧的存储能力,此时RX控制电路835命令RTS控制电路830恢复其默认高输出阻抗。主机IC801处的TX引脚电压的结果得到的恢复随后触发另一帧的传输。主机IC 801与外围IC 802之间的流控制由此不需要单独的CTS或RTS引脚。
图8B中示出了TX缓冲器815和RTS控制电路830的示例实施例。TX缓冲器815中的开关S1通过电阻器RHigh(R高)耦合至传送引脚111。类似地,开关S2通过电阻器RLow(R低)耦合至传送引脚111。RHigh的电阻是以上讨论的高输出阻抗(诸如10K欧姆),而电阻器RLow的电阻是也在以上讨论的低输出阻抗(诸如50欧姆)。在从开始比特直到数据有效载荷结束的帧传输期间,TX缓冲器815中的开关S2闭合,而开关S1断开。帧的这个开头部分(实际上帧的大部分)由此使用低输出阻抗来传送。此低输出阻抗至少在帧的停止比特的第一个过采样时钟循环上继续。对于停止比特传输的其余部分,开关S1闭合并且开关S2断开,以使得停止比特的其余部分使用高输出阻抗来传送。将领会,在替换实施例中可省略开关S1,以使得传送引脚111始终通过电阻器RHigh弱充电至电源电压VDD。控制信号(未解说)可控制开关S2的闭合,以使得传送引脚111在帧的开始部分直到至少帧的停止比特的第一过采样时钟循环期间强充电至电源电压VDD。为了防止毛刺,CTS控制电路820可通过驱动开关S2的控制信号的补来启用。以此方式,CTS控制电路820将仅在TX控制电路815对传送引脚111进行弱充电时是活跃的。
RTS控制电路830包括开关S3和S4的类似布置以及类似的一对电阻器RHigh和RLow。在所接收到的帧接收的大部分(从开始比特直到停止比特的采样中的初始采样)期间,开关S3闭合并且开关S4断开以向接收引脚112呈现高输入阻抗(电阻器RHigh的电阻)。外围IC的高输入阻抗与主机IC的低输出阻抗之间的结果得到的分压使TX缓冲器815能够在所传送/所接收的帧的此初始部分期间快速地对其TX引脚电压进行充电(或者取决于每个比特的二进制值而对其传送引脚电压进行放电)。当TX缓冲器815针对停止比特传输的其余部分切换至高输出阻抗时,如果在RX FIFO缓冲器840中没有足够的空间,则RTS控制电路830闭合开关S4并且断开开关S3以向RX引脚112呈现低输入阻抗。如果有足够的空间,则开关S3保持闭合并且开关S4保持断开。
图9中解说了诸如参照图3所讨论的在停止比特910的传输期间TX缓冲器815的输出阻抗的定时。初始低输出阻抗时段A和后续高输出阻抗时段B的历时响应于16X UART过采样时钟信号900的循环而确定。在一个实施例中,初始低输出阻抗时段A发生在16X UART过采样时钟信号900的前两个循环期间。在此类实施例中,高输出阻抗时段B随后将出现在16XUART过采样时钟信号900的剩余14个循环上。鉴于初始低输出阻抗时段,停止比特910可被快速地驱动至期望逻辑高电平。
图10中示出了由传送设备传送的示例帧1000。另外,还示出了主机IC 801中的TX缓冲器(由“TX”指示)的阻抗状态以及接收设备中的RTS控制电路(由“RX指示)的阻抗状态。”在此实施例中,帧1000具有8比特数据有效载荷,但是此类长度在替换方面可被改变。传送设备通过将其TX引脚拉低达开始比特历时来开始帧1000。如同帧1000中的数据比特和停止比特,开始比特可以具有对应于16X过采样时钟信号的16个循环的时段。在替换实施例中,可以使用不同的过采样速率来对帧1000中的各比特的历时进行定时。帧1000结束于停止比特,在该停止比特期间TX缓冲器尝试将TX引脚电压充电至高。
RX缓冲器使用其过采样时钟信号(诸如16X过采样时钟信号)来对收到帧进行采样。在开始比特、后续数据比特(为了解说清楚起见未在帧1000中示出报头中的功能比特,但是这些比特也将在低输出阻抗下传送)以及停止比特的初始部分的传输期间,TX缓冲器使用其低输出阻抗(Zout等于50欧姆)。在此时间期间,接收设备中的RTS控制电路使用其高输入阻抗(“高Z”),以使得TX缓冲器能响应于每个所传送比特的二进制值而将其TX引脚的电压快速地摆动至恰适的二进制值(VDD或接地)。另外,TX缓冲器也可以在停止比特的初始部分期间(诸如在16x过采样时钟的一个循环上)将TX引脚快速地充电至电源电压。在如先前关于图9所讨论的用于停止比特的过采样时钟的剩余循环上,TX缓冲器使用其高输出(O/P)阻抗。存在在图10中关于停止比特传输的剩余部分期间的该TX缓冲器高输出阻抗时段解说的两种接收机状态。在第一状态(情形#1)中,RX FIFO水平低于FIFO阈值设置点(诸如在接收器控制电路(未解说)内确定的)。此种状况指示在接收FIFO缓冲器(也未解说)内有存储能力。接收设备中的RTS控制电路由此维持其默认高输出阻抗达停止比特的历时。在第二状态(情形#2)中,RX FIFO水平大于FIFO阈值设置点。TX缓冲器最初使用低输出阻抗来驱动停止比特的开始部分,以使得传送引脚电压可在此初始停止比特时段期间容易地充电至电源电压。
响应于检测到RX引脚的高电压达停止比特的初始部分,接收节点中的RTS控制电路可以执行以下两件事情之一:其可以通过低输入阻抗或者通过高输入阻抗来将RX引脚耦合至地。RTS控制电路如以上所讨论的那样作出此类选择。如果接收UART接口准备好接收帧(在图10中指示为情形#1的RX=OK状况),则RTS控制电路通过高输入阻抗(优选地显著大于TX缓冲器中所使用的高输入阻抗的高阻抗)将RX引脚耦合至地。结果是TX缓冲器和RTS控制电路在接收UART接口准备好接收帧的情况下形成维持RX引脚电压为高的分压器。经修改的传送方UART接口通过其CTS控制电路来感测该高电压。如果CTS控制电路在停止比特时段的高输出阻抗部分期间感测到其TX引脚电压为高,则经修改的传送方UART接口自由地发送另一数据帧。
另一方面,如果接收方经修改的UART接口未准备好接收另一数据帧(如在图10中由情形#2的RX=Not OK(不OK)状况所指示的),则RTS控制电路在其接收到停止比特时通过相对较低的阻抗将其RX引脚耦合至地。由于TX缓冲器正通过高输出阻抗驱动TX引脚为高,因此结果是RX和TX引脚电压将被充分地放电至地,其被传送设备解读为CTS信号=0状况经修改的传送方UART接口中的CTS控制电路感测其TX引脚上的该低电压(如同常规UART接口将感测(现在不存在的)CTS引脚的低状态那样),以使得传送设备将制止发送另一数据帧。当接收UART接口中的RTS控制电路如图10的情形#1中那样通过其高输入阻抗将其RX引脚耦合至地时,传送UART接口可行进至传送另一帧。
尽管先前讨论涉及不使用常规RTS和CTS引脚的流控制,但是将领会,在需要与常规UART传输后向兼容的实施例中可提供RTS引脚和CTS引脚。
在给定本文中实现的灵活的帧长度的情况下,注意,可以增加帧长度,以使得传送设备和接收设备中的过采样时钟之间的缺乏同步可能导致错误。就此而言,在假定使用16X过采样时钟的情况下,帧的10比特数据有效载荷将由160个采样来表示。在此相同的采样速率下,20比特数据有效载荷将由320个采样来表示。随着采样数的增加,接收方集成电路将变得更有可能欠采样或过采样帧中的给定比特,这是因为相异设备中的过采样时钟不同步。为了维持同步,较大的帧可包括中间停止比特和开始比特。先前讨论的功能比特可对较大帧中的这些中间比特的位置进行编程。例如,如果知道较大帧将在前10比特之后包括中间停止比特,则接收设备可在接收到中间停止比特之前预期已作出160个采样(假定使用16X过采样速率)。如果有更多或更少采样,则接收设备可相应地调整其过采样速率以保持与传送设备的过采样速率充分同步。图11中示出了具有中间停止比特1100以及跟随在中间停止比特1100之后的中间开始比特1105的示例帧1101。帧1101开始于开始比特306并且结束于停止比特310,如参照图3的帧400所讨论的。中间停止比特110跟随在前8个数据比特D0到D7之后。与停止比特310形成对比,不需要用于中间停止比特110的传输的变化的输出阻抗——对应的TX缓冲器可针对该比特将TX引脚驱动至电源电压。相反,TX缓冲器将使其TX引脚接地以传送中间开始比特1105。
可变输出阻抗不仅有利地辅助建立双导线接口上的流控制,而且还固有地保护免受设备上电之后的反向功率状况。就此而言,当设备上电时可能是这种情形,即:一个集成电路首先将其TX引脚电压驱动为高,而同时接收设备仍断电。在断电的设备处接收到的此经断言的电压可能在接收设备处形成正向偏置的寄生二极管,该寄生二极管浪费电流并且在接收设备最终上电时还导致锁存或其他毛刺。这个问题通常被标示为反向功率状况。但是本文中公开的TX缓冲器的默认高输出阻抗固有地避免了这个问题,因为其采用某一电流量来正向偏置接收设备中的寄生二极管。TX缓冲器的高输出阻抗限制了由断电的接收设备汲取的电流,以使得不会创建反向功率状况。
另外,在上电时使用的高输出阻抗在枚举过程期间是有利的。在上电重置时,在初始枚举之前,TX引脚的电压电平以高输出阻抗保持为“1”。以状态“1”断言TX引脚的设备首先获得敁主控状态。这意味着在将TX引脚设置成“1”之前设备检查其RX引脚处的信号状态。由于主控SoC始终首先上电,因而通过此简单协议来确保其作为主控的角色。此相同行为(首先开启的成为主控)还解决了可能在涉及多点配置的VGI接口中出现的任何冲突。
在远程临界情况状态中,由于防回跳定时差异(其可能在多点配置中从一个设备到另一设备发生),早期枚举的首次迭代会导致失败。后续尝试开始于尝试带头作为主控的每一侧上的异步本地时钟。由于这两侧上的异步时钟的正边沿具有0相位差异的概率无穷小,因而这两个设备之一将始终变成主控。
现在将参照图12的流程图来讨论用于主机设备(诸如图1的主机设备101)的操作的示例方法。该方法包括在传送设备中将多个通用输入/输出(GPIO)信号串行化成至少虚拟GPIO(VGI)信号的第一帧以及VGI信号的第二帧的动作1200,其中第一VGI帧和第二VGI帧各自结束于具有初始部分和剩余部分的停止比特。图8A的传送移位寄存器805中的当前帧和后续帧的串行化是动作1200的示例。
该方法还包括响应于过采样时钟信号的多个循环而在传送设备上的传送引脚上向接收设备的接收引脚传送第一VGI帧的初始部分的动作1205,其中第一VGI帧的初始部分开始于开始比特并且在第一VGI帧的停止比特之前结束。参照图8A和8B的TX缓冲器815所讨论的帧的开始比特直到帧的数据有效载荷的结束的传输是动作1205的示例。
另外,该方法包括响应于过采样时钟信号的至少一个循环而通过经由低输出阻抗将传送引脚充电至电源电压来在传送引脚上传送第一VGI帧的停止比特的初始部分的动作1210。参照图9所讨论的初始部分A的传输是动作1210的示例。
该方法还包括响应于过采样时钟信号的多个循环而通过经由高输出阻抗将传送引脚充电至电源电压来在传送引脚上传送第一VGI帧的停止比特的剩余部分的动作1215。参照图9所讨论的剩余部分B的传输是动作1215的示例。
最后,该方法包括响应于检测到传送引脚的电压在第一VGI帧的停止比特的剩余部分的传输期间不降低到阈值电压以下,而响应于过采样时钟信号的多个循环在传送引脚上将第二VGI帧的初始部分传送至接收设备的接收引脚的动作1220。如参照图8A所讨论的将后续帧的初始部分从传送移位寄存器805移入TX缓冲器815以使得该初始部分可在TX引脚111上传送是动作1220的示例。
图1的VGI架构100中的主机设备101可作为片上系统(SOC)1305纳入到图13中所示的移动设备1300中。移动设备1300可包括蜂窝电话、智能电话、个人数字助理、平板计算机、膝上型计算机、数码相机、手持式游戏设备、或其他合适设备。SOC 1305使用系统总线1315内的两条导线与参照VGI架构100类似地讨论的外围IC 1310通信。系统总线1315还耦合至存储器(诸如动态随机存取存储器(DRAM)1320)以及显示控制器1325。显示器控制器1325进而耦合至驱动显示器1335的视频处理器1030。现在将讨论用于解决传送设备和接收设备中的过采样时钟之间的异步性的可编程停止比特宽度。
可编程停止比特宽度
再次参照图10,注意,接收设备用与传送设备所使用的过采样时钟信号异步的过采样时钟信号来对帧1000进行采样。如果过采样时钟速率是16X,则接收设备将理想地对帧1000中的每个比特采样16次。由此,来自每个比特的第8个采样可由接收设备用来通过将这第8个采样与阈值电压(诸如电源电压VDD的一半)进行比较来作出比特判决。如果这第8个采样大于阈值电压,则接收设备可将对应比特解码为二进制1。相反,如果这第8个采样低于阈值电压,则接收设备可将对应比特解码为二进制0(在逻辑高实施例中)。
过采样时钟速率和帧长度定义了关于传送设备和接收设备中的过采样时钟信号之间的异步性的限制。由于帧1000的长度为10比特,因而完美同步的接收设备将以16X过采样时钟速率用160个采样来对帧1000进行采样。如果第8个采样被用于确定每个比特,则接收方过采样时钟速率不能快过或慢过传送方时钟速率的8/160=5%。如果接收方过采样时钟速率小于传送方过采样时钟速率的95%,则帧1000中的停止比特的预期的第8个采样将取而代之从最后数据比特D7取得。类似地,如果接收方过采样时钟速率大于传送方过采样时钟速率的105%,则停止比特的预期的第8个采样将取而代之在停止比特结束之后取得。任一情景当然将导致解码停止比特的存在性中的错误。
随着接收方过采样时钟速率朝其最大限制增加,由接收设备取得的停止比特的第8个采样越来越朝帧1000的结束接近。尽管接收设备的RTS控制电路830(图8)可以随后取决于接收设备是否准备好接收另一帧而选择其高或低输入阻抗,但是传送设备可能仅具有一个或两个过采样时钟循环来通过其CTS控制电路820和传送控制电路810处理其传送引脚电压。将领会,基于是否通过由接收设备中的RTS控制电路830应用的基于阻抗的流控制来对其传送引脚电压进行放电,传送控制电路810由此需要若干个过采样时钟循环的处理时间来控制传送移位寄存器805。即使接收方过采样时钟速率小于其最大限制,传送设备也可能由此不具有充足的时间来处理来自接收设备的基于阻抗的流控制消息传递。进一步注意,传送设备上的传送引脚111与接收设备上的接收引脚112之间的传输信道可聚集发射机的这种处理延迟。就此而言,移动设备中的传输信道(诸如参照移动设备1300讨论的从SOC101到外围设备105的传输信道)可以相对较短。然而,个人计算机(PC)实现中的一个处理器与另一处理器之间的传输信道可以相对较长(例如,与移动应用中的仅数毫米相比达一米或更多)。此增加的信道长度增加了接收设备通过如由RTS控制电路830选择的低输入阻抗来对传送引脚111进行放电所需要的时间。
为了向传送设备提供充足的时间来处理来自接收设备的基于阻抗的流控制消息传递,停止比特1405的宽度可以如针对图14中的帧1400所示的那样来编程。例如,停止比特1405的宽度可以从其1比特的默认值增加到2.5比特或者甚至3比特或者更高宽度。停止比特1405的这种增加的宽度向传送设备提供了其过采样时钟信号的充足循环以处理来自接收设备的基于阻抗的流控制消息传递。传送设备可以通过具有诸如参照图3类似地讨论的恰适功能报头的编程帧来对由接收设备预期的停止比特1405的宽度进行编程。
如本领域普通技术人员至此将领会的并取决于手头的具体应用,可以在本公开的设备的材料、装置、配置和使用方法上做出许多修改、替换和变化而不会脱离本公开的精神和范围。有鉴于此,本公开的范围不应当被限定于本文所解说和描述的特定实施例(因为其仅是作为本公开的一些示例),而应当与所附权利要求及其功能等同方案完全相当。

Claims (35)

1.一种集成电路,包括:
第一处理器;
传送引脚;
GPIO接口,其被配置成从所述处理器接收GPIO信号的传送集并在多个GPIO引脚上向远程第二处理器传送所述传送集的第一部分;
有限状态机,其被配置成将来自所述GPIO接口的所述GPIO信号的传送集的剩余的第二部分串行化成第一虚拟GPIO(VGI)帧和第二VGI帧,其中所述第一VGI帧和所述第二VGI帧各自结束于停止比特;
传送缓冲器,其被配置成响应于过采样时钟信号的至少一个循环而在所述传送引脚上通过低输出阻抗来传送所述第一VGI帧的停止比特的初始部分并且响应于所述过采样时钟信号的多个循环而通过高输出阻抗来传送所述第一VGI帧的停止比特的剩余部分;以及
传送控制电路,其被配置成响应于确定所述传送引脚的电压在所述第一VGI帧的停止比特的所述剩余部分的传输期间在阈值电压以上而命令所述传送缓冲器传送所述第二VGI帧的初始部分。
2.如权利要求1所述的集成电路,其特征在于,进一步包括:
清除发送(CTS)控制电路,其被配置成确定所述传送引脚的所述电压在所述第一VGI帧的停止比特的所述剩余部分的传输期间是否在所述阈值电压以下。
3.如权利要求1所述的集成电路,其特征在于,进一步包括用于提供所述过采样时钟信号的过采样时钟源。
4.如权利要求1所述的集成电路,其特征在于,进一步包括用于提供所述过采样时钟信号的过采样时钟源。
5.如权利要求1所述的集成电路,其特征在于,所述有限状态机包括多个消息传递寄存器,并且其中所述第一处理器被配置成将多个通用异步接收机发射机(UART)信号写入所述消息传递寄存器,并且其中所述有限状态机被进一步配置成将来自所述消息传递寄存器的所述UART信号串行化成包括停止比特的第一UART帧和包括停止比特的第二UART帧,并且其中所述传送缓冲器被进一步配置成响应于所述过采样时钟信号的至少一个循环而在所述传送引脚上通过所述低输出阻抗来传送所述第一UART帧的停止比特的初始部分并且响应于所述过采样时钟信号的多个循环而通过所述高输出阻抗来传送所述第一UART帧的停止比特的剩余部分。
6.如权利要求1所述的集成电路,其特征在于,所述有限状态机被进一步配置成将报头附连至所述第一VGI帧和所述第二VGI帧以将所述第一VGI帧和所述第二VGI帧标识为各自包括VGI信号的数据有效载荷。
7.如权利要求5所述的集成电路,其特征在于,所述有限状态机被进一步配置成将报头附连至所述第一UART帧和所述第二UART帧以将所述第一UART帧和所述第二UART帧标识为各自包括UART信号的数据有效载荷。
8.如权利要求6所述的集成电路,其特征在于,所述有限状态机被进一步配置成形成标识VGI数据有效载荷的长度的VGI编程帧,并且其中所述传送缓冲器被进一步配置成响应于所述过采样时钟信号的多个循环而在所述传送引脚上传送所述VGI编程帧。
9.如权利要求8所述的集成电路,其特征在于,进一步包括:
接收引脚;
接收缓冲器,其中所述接收缓冲器被进一步配置成接收确收帧,所述确收帧确收由所述VGI编程帧标识的所述长度。
10.如权利要求9所述的集成电路,其特征在于,所述集成电路被包括在选自包括以下各项的组的设备内:蜂窝电话、智能电话、个人数字助理、平板计算机、膝上型计算机、数码相机、以及手持式游戏设备。
11.一种方法,包括:
在传送设备中,将多个通用输入/输出(GPIO)信号串行化成第一VGI帧和第二VGI帧,其中所述第一VGI帧和所述第二VGI帧各自结束于具有初始部分和剩余部分的停止比特;
响应于过采样时钟信号的多个循环而在所述传送设备上的传送引脚上向接收设备的接收引脚传送所述第一VGI帧的初始部分,其中所述第一VGI帧的所述初始部分开始于开始比特并且在所述第一VGI帧的停止比特之前结束;
响应于所述过采样时钟信号的至少一个循环,通过经由低输出阻抗将所述传送引脚充电至电源电压来在所述传送引脚上传送所述第一VGI帧的停止比特的所述初始部分;
响应于所述过采样时钟信号的多个循环,通过经由高输出阻抗将所述传送引脚充电至所述电源电压来在所述传送引脚上传送所述第一VGI帧的停止比特的所述剩余部分;以及
响应于检测到所述传送引脚的电压在所述第一VGI帧的停止比特的所述剩余部分的传输期间不降低到阈值电压以下,而响应于所述过采样时钟信号的多个循环在所述传送引脚上将所述第二VGI帧的初始部分传送至所述接收设备的所述接收引脚。
12.如权利要求11所述的方法,其特征在于,进一步包括:
响应于检测到所述传送引脚的所述电压在所述第一VGI帧的停止比特的所述剩余部分的传输期间降低到所述阈值电压以下,进入其中不传送所述第二VGI帧的默认模式。
13.如权利要求11所述的方法,其特征在于,进一步包括:
在所述传送设备中,将多个通用异步接收机发射机(UART)信号串行化成包括停止比特的第一UART帧和包括停止比特的第二UART帧,其中每个停止比特包括初始部分和剩余部分;
响应于所述过采样时钟信号的多个循环而在所述传送引脚上向所述接收设备的所述接收引脚传送所述第一UART帧的初始部分,其中所述第一UART帧的所述初始部分开始于开始比特并且在所述第一UART帧的停止比特之前结束;
响应于所述过采样时钟信号的至少一个循环,通过经由所述低输出阻抗将所述传送引脚充电至所述电源电压来在所述传送引脚上传送所述第一UART帧的停止比特的所述初始部分;
响应于所述过采样时钟信号的多个循环,通过经由所述高输出阻抗将所述传送引脚充电至所述电源电压来在所述传送引脚上传送所述第一UART帧的停止比特的所述剩余部分;以及
响应于检测到所述传送引脚的所述电压在所述第一UART帧的停止比特的所述剩余部分的传输期间不降低到所述阈值电压以下,而响应于所述过采样时钟信号的多个循环在所述传送引脚上将所述第二UART帧的初始部分传送至所述接收设备的所述接收引脚。
14.如权利要求11所述的方法,其特征在于,将所述多个通用输入/输出(GPIO)信号串行化成所述第一VGI帧和所述第二VGI帧进一步包括:将报头附连至所述第一VGI帧以将所述第一VGI帧的数据有效载荷标识为VGI有效载荷,以及将报头附连至所述第二VGI帧以将所述第二VGI帧的数据有效载荷标识为VGI有效载荷。
15.如权利要求13所述的方法,其特征在于,将所述多个UART信号串行化成所述第一UART帧和所述第二UART帧进一步包括:将报头附连至所述第一UART帧以将所述第一UART帧的数据有效载荷标识为UART有效载荷,以及将报头附连至所述第二UART帧以将所述第二UART帧的数据有效载荷标识为UART有效载荷。
16.一种集成电路,包括:
第一处理器;
多个通用输入输出(GIPO)引脚;
传送引脚;
GPIO接口,其被配置成从所述第一处理器接收GPIO信号的传送集并在所述GPIO引脚上向远程第二处理器传送所述传送集的第一部分,
有限状态机,其被配置成将来自所述GPIO接口的所述GPIO信号的传送集的剩余的第二部分至少串行化成包括停止比特的第一虚拟GPIO(VGI)帧;
传送缓冲器,其被配置成响应于过采样时钟信号的至少一个循环而在所述传送引脚上通过低输出阻抗来传送所述第一VGI帧的停止比特的初始部分并且响应于所述过采样时钟信号的多个循环而通过高输出阻抗来传送所述第一VGI帧的停止比特的剩余部分;以及
用于将所述传送引脚的电压与阈值电压进行比较以作出关于由所述传送缓冲器对第二VGI帧进行的后续传输的流控制决定的装置。
17.如权利要求16所述的集成电路,其特征在于,所述集成电路被包括在选自包括以下各项的组的设备中:蜂窝电话、智能电话、个人数字助理、平板计算机、膝上型计算机、数码相机、以及手持式游戏设备。
18.如权利要求16所述的集成电路,其特征在于,所述有限状态机包括多个消息传递寄存器,并且其中所述第一处理器被配置成将多个消息传递信号写入所述消息传递寄存器,并且其中所述有限状态机被进一步配置成将来自所述消息传递寄存器的所述消息传递信号串行化成包括停止比特的第一消息传递帧。
19.如权利要求16所述的集成电路,其特征在于,所述有限状态机被进一步配置成将报头插入所述第一VGI帧以将所述第一VGI帧的数据有效载荷标识为VGI有效载荷。
20.如权利要求18所述的集成电路,其特征在于,所述有限状态机被进一步配置成将报头插入所述第一消息传递帧以将所述第一消息传递帧的数据有效载荷标识为消息传递信号有效载荷。
21.一种集成电路,包括:
第一处理器;
传送引脚;
GPIO接口,其被配置成从所述处理器接收GPIO信号的传送集并在多个GPIO引脚上向远程第二处理器传送所述传送集的第一部分;
有限状态机,其被配置成将来自所述GPIO接口的所述GPIO信号的传送集的剩余的第二部分串行化成第一虚拟GPIO(VGI)帧和第二VGI帧,其中所述第一VGI帧和所述第二VGI帧各自结束于停止比特,并且其中所述停止比特具有比所述虚拟GPIO比特中的每个虚拟GPIO比特的宽度更宽的宽度;
传送缓冲器,其被配置成响应于过采样时钟信号的至少一个循环而在所述传送引脚上通过低输出阻抗来传送所述第一VGI帧的停止比特的初始部分并且响应于所述过采样时钟信号的多个循环而通过高输出阻抗来传送所述第一VGI帧的停止比特的剩余部分;以及
传送控制电路,其被配置成响应于确定所述传送引脚的电压在所述第一VGI帧的停止比特的所述剩余部分的传输期间在阈值电压以上而命令所述传送缓冲器传送所述第二VGI帧的初始部分。
22.如权利要求21所述的集成电路,其特征在于,所述停止比特的所述宽度在大于所述虚拟GPIO比特中的每个虚拟GPIO比特的宽度的两倍与三倍之间,所述集成电路进一步包括:
清除发送(CTS)控制电路,其被配置成确定所述传送引脚的所述电压在所述第一VGI帧的停止比特的所述剩余部分的传输期间是否在所述阈值电压以下。
23.如权利要求21所述的集成电路,其特征在于,进一步包括用于提供所述过采样时钟信号的过采样时钟源。
24.如权利要求21所述的集成电路,其特征在于,进一步包括用于提供所述过采样时钟信号的过采样时钟源。
25.如权利要求21所述的集成电路,其特征在于,所述有限状态机包括多个消息传递寄存器,并且其中所述第一处理器被配置成将多个通用异步接收机发射机(UART)信号写入所述消息传递寄存器,并且其中所述有限状态机被进一步配置成将来自所述消息传递寄存器的所述UART信号串行化成包括停止比特的第一UART帧和包括停止比特的第二UART帧,并且其中所述传送缓冲器被进一步配置成响应于所述过采样时钟信号的至少一个循环而在所述传送引脚上通过所述低输出阻抗来传送所述第一UART帧的停止比特的初始部分并且响应于所述过采样时钟信号的多个循环而通过所述高输出阻抗来传送所述第一UART帧的停止比特的剩余部分。
26.如权利要求21所述的集成电路,其特征在于,所述有限状态机被进一步配置成将报头附连至所述第一VGI帧和所述第二VGI帧以将所述第一VGI帧和所述第二VGI帧标识为各自包括VGI信号的数据有效载荷。
27.如权利要求25所述的集成电路,其特征在于,所述有限状态机被进一步配置成将报头附连至所述第一UART帧和所述第二UART帧以将所述第一UART帧和所述第二UART帧标识为各自包括UART信号的数据有效载荷。
28.如权利要求26所述的集成电路,其特征在于,所述有限状态机被进一步配置成形成VGI编程帧,所述VGI编程帧对所述停止比特的所述宽度进行编程。
29.如权利要求28所述的集成电路,其特征在于,进一步包括:
接收引脚;
接收缓冲器,其中所述接收缓冲器被进一步配置成接收确收帧,所述确收帧确收由所述VGI编程帧标识的所述停止比特的所述宽度。
30.如权利要求29所述的集成电路,其特征在于,所述集成电路被包括在选自包括以下各项的组的设备内:蜂窝电话、智能电话、个人数字助理、平板计算机、膝上型计算机、数码相机、以及手持式游戏设备。
31.一种方法,包括:
在传送设备中,将多个通用输入/输出(GPIO)信号串行化成包括在第一虚拟GPIO(VGI)帧和第二VGI帧中的多个VGI比特,其中所述第一VGI帧和所述第二VGI帧各自结束于具有初始部分和剩余部分的停止比特,并且其中每个VGI比特具有第一宽度且每个停止比特具有第二宽度,并且其中所述第二宽度大于所述第一宽度;
响应于过采样时钟信号的多个循环而在所述传送设备上的传送引脚上向接收设备的接收引脚传送所述第一VGI帧的初始部分,其中所述第一VGI帧的所述初始部分开始于开始比特并且在所述第一VGI帧的停止比特之前结束;
响应于所述过采样时钟信号的至少一个循环,通过经由低输出阻抗将所述传送引脚充电至电源电压来在所述传送引脚上传送所述第一VGI帧的停止比特的所述初始部分;
响应于所述过采样时钟信号的多个循环,通过经由高输出阻抗将所述传送引脚充电至所述电源电压来在所述传送引脚上传送所述第一VGI帧的停止比特的所述剩余部分;以及
响应于检测到所述传送引脚的电压在所述第一VGI帧的停止比特的所述剩余部分的传输期间不降低到阈值电压以下,而响应于所述过采样时钟信号的多个循环在所述传送引脚上将所述第二VGI帧的初始部分传送至所述接收设备的所述接收引脚。
32.如权利要求31所述的方法,其特征在于,进一步包括:
响应于检测到所述传送引脚的所述电压在所述第一VGI帧的停止比特的所述剩余部分的传输期间降低到所述阈值电压以下,进入其中不传送所述第二VGI帧的默认模式。
33.如权利要求31所述的方法,其特征在于,进一步包括:
在所述传送设备中,将多个通用异步接收机发射机(UART)信号串行化成包含在包括UART停止比特的第一UART帧和包括UART停止比特的第二UART帧中的多个UART比特,其中每个UART停止比特包括初始部分和剩余部分,并且其中每个UART比特具有小于每个UART停止比特的宽度的宽度;
响应于所述过采样时钟信号的多个循环而在所述传送引脚上向所述接收设备的所述接收引脚传送所述第一UART帧的初始部分,其中所述第一UART帧的所述初始部分开始于开始比特并且在所述第一UART帧的UART停止比特之前结束;
响应于所述过采样时钟信号的至少一个循环,通过经由所述低输出阻抗将所述传送引脚充电至所述电源电压来在所述传送引脚上传送所述第一UART帧的UART停止比特的所述初始部分;
响应于所述过采样时钟信号的多个循环,通过经由所述高输出阻抗将所述传送引脚充电至所述电源电压来在所述传送引脚上传送所述第一UART帧的UART停止比特的所述剩余部分;以及
响应于检测到所述传送引脚的所述电压在所述第一UART帧的UART停止比特的所述剩余部分的传输期间不降低到所述阈值电压以下,而响应于所述过采样时钟信号的多个循环在所述传送引脚上将所述第二UART帧的初始部分传送至所述接收设备的所述接收引脚。
34.如权利要求31所述的方法,其特征在于,将所述多个通用输入/输出(GPIO)信号串行化成包含在所述第一VGI帧和所述第二VGI帧中的所述多个VGI比特进一步包括:将报头附连至所述第一VGI帧以将所述第一VGI帧的数据有效载荷标识为VGI有效载荷,以及将报头附连至所述第二VGI帧以将所述第二VGI帧的数据有效载荷标识为VGI有效载荷。
35.如权利要求33所述的方法,其特征在于,将所述多个UART信号串行化成包含在所述第一UART帧和所述第二UART帧中的所述多个UART比特进一步包括:将报头附连至所述第一UART帧以将所述第一UART帧的数据有效载荷标识为UART有效载荷,以及将报头附连至所述第二UART帧以将所述第二UART帧的数据有效载荷标识为UART有效载荷。
CN201680013931.2A 2015-03-06 2016-03-04 针对具有可变帧长的双导线接口系统的基于阻抗的流控制 Pending CN107430571A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562129697P 2015-03-06 2015-03-06
US62/129,697 2015-03-06
US15/060,503 US9563398B2 (en) 2015-03-06 2016-03-03 Impedance-based flow control for a two-wire interface system with variable frame length
US15/060,503 2016-03-03
PCT/US2016/021067 WO2016144828A1 (en) 2015-03-06 2016-03-04 Impedance-based flow control for a two-wire interface system with variable frame length

Publications (1)

Publication Number Publication Date
CN107430571A true CN107430571A (zh) 2017-12-01

Family

ID=56850741

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680013931.2A Pending CN107430571A (zh) 2015-03-06 2016-03-04 针对具有可变帧长的双导线接口系统的基于阻抗的流控制

Country Status (8)

Country Link
US (1) US9563398B2 (zh)
EP (1) EP3265922A1 (zh)
JP (1) JP2018512775A (zh)
KR (1) KR101823315B1 (zh)
CN (1) CN107430571A (zh)
AU (1) AU2016230022A1 (zh)
BR (1) BR112017019097A2 (zh)
WO (1) WO2016144828A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9563398B2 (en) 2015-03-06 2017-02-07 Qualcomm Incorporated Impedance-based flow control for a two-wire interface system with variable frame length
US9971666B2 (en) 2015-03-06 2018-05-15 Qualcomm Incorporated Technique of link state detection and wakeup in power state oblivious interface
CN108027744B (zh) * 2015-09-24 2021-08-31 Oppo广东移动通信有限公司 数据传输方法和移动终端
US10872049B2 (en) * 2016-01-29 2020-12-22 Analog Devices, Inc. GPIO-to-GPIO communication on a multi-node daisy-chained network
US20170329738A1 (en) * 2016-05-10 2017-11-16 Qualcomm Incorporated Digital signaling schemes for line multiplexed uart flow control
US10467154B2 (en) * 2017-02-10 2019-11-05 Qualcomm Incorporated Multi-port multi-sideband-GPIO consolidation technique over a multi-drop serial bus
US20190050366A1 (en) * 2017-08-14 2019-02-14 Qualcomm Incorporated Device, event and message parameter association in a multi-drop bus
US11880314B1 (en) * 2018-07-27 2024-01-23 Dialog Semiconductor B.V. Microcontroller for driving an external device
KR20200093106A (ko) 2019-01-25 2020-08-05 삼성전자주식회사 반도체 집적 회로 및 그것의 동작 방법
US11513991B2 (en) * 2020-10-01 2022-11-29 Qualcomm Incorporated Batch operation across an interface
CN115361345B (zh) * 2022-10-24 2023-01-24 北京智芯微电子科技有限公司 一种基于单总线信息传输的数据流控方法、装置及通信系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7046065B2 (en) * 2002-10-15 2006-05-16 Stmicroelectronics S.A. Decimal set point clock generator and application of this clock generator to UART circuit
CN1882926A (zh) * 2003-11-14 2006-12-20 英特尔公司 数据通路和存储器设备之间的数据累积
US20140108679A1 (en) * 2012-10-15 2014-04-17 Qualcomm Incorporated Virtual GPIO

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5600656A (en) 1993-06-10 1997-02-04 Siemens Stromberg-Carlson Remote loopback apparatus and method for telephone line repeaters
US5944803A (en) 1997-03-25 1999-08-31 Sony Corporation Isolatable multi-point serial communication utilizing a single universal asynchronous receiver and transmitter (UART)
US6020760A (en) 1997-07-16 2000-02-01 Altera Corporation I/O buffer circuit with pin multiplexing
JP2003143044A (ja) * 2001-10-31 2003-05-16 Matsushita Electric Ind Co Ltd 2線式電源多重通信システム、そのマスター装置及び2線式電源多重通信方法
DE10340806B3 (de) 2003-09-04 2005-05-19 Siemens Ag Schnittstelle für ein UART-basiertes Bussystem
US7539888B2 (en) 2006-03-31 2009-05-26 Freescale Semiconductor, Inc. Message buffer for a receiver apparatus on a communications bus
CN101287221A (zh) 2008-06-13 2008-10-15 中兴通讯股份有限公司 智能双模手机及其无线调制解调器之间的信息传递方法
US8201005B2 (en) 2009-03-17 2012-06-12 Intel Corporation Negotiating a transmit wake time
EP2330514B1 (en) 2009-12-07 2018-12-05 STMicroelectronics (Research & Development) Limited An integrated circuit package
US9092393B2 (en) 2011-03-11 2015-07-28 Skyworks Solutions, Inc. Dual mode serial/parallel interface and use thereof in improved wireless devices and switching components
CN103888873B (zh) 2014-03-04 2017-06-16 苏州佳世达电通有限公司 电子装置、uart输出系统及方法
US9619427B2 (en) 2014-04-21 2017-04-11 Qualcomm Incorporated Hybrid virtual GPIO
US9880965B2 (en) 2014-09-11 2018-01-30 Qualcomm Incorporated Variable frame length virtual GPIO with a modified UART interface
US9563398B2 (en) 2015-03-06 2017-02-07 Qualcomm Incorporated Impedance-based flow control for a two-wire interface system with variable frame length
US9971666B2 (en) 2015-03-06 2018-05-15 Qualcomm Incorporated Technique of link state detection and wakeup in power state oblivious interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7046065B2 (en) * 2002-10-15 2006-05-16 Stmicroelectronics S.A. Decimal set point clock generator and application of this clock generator to UART circuit
CN1882926A (zh) * 2003-11-14 2006-12-20 英特尔公司 数据通路和存储器设备之间的数据累积
US20140108679A1 (en) * 2012-10-15 2014-04-17 Qualcomm Incorporated Virtual GPIO

Also Published As

Publication number Publication date
AU2016230022A1 (en) 2017-08-10
EP3265922A1 (en) 2018-01-10
BR112017019097A2 (pt) 2018-04-17
US9563398B2 (en) 2017-02-07
KR20170113643A (ko) 2017-10-12
WO2016144828A1 (en) 2016-09-15
US20160259624A1 (en) 2016-09-08
KR101823315B1 (ko) 2018-01-29
JP2018512775A (ja) 2018-05-17

Similar Documents

Publication Publication Date Title
CN107430571A (zh) 针对具有可变帧长的双导线接口系统的基于阻抗的流控制
CN107408094A (zh) 用于功率状态无感知接口中的链路状态检测和苏醒的技术
US10387345B2 (en) USB port controller with automatic transmit retries and receive acknowledgements
KR101497001B1 (ko) 그래픽스 멀티미디어 ic 및 그것의 동작 방법
US9396151B2 (en) PCI express tunneling over a multi-protocol I/O interconnect
CN105283862B (zh) 用于数据通信的方法和装置
CN106687942A (zh) 具有经修改uart接口的可变帧长度虚拟gpio
CN105051706B (zh) 用于具有pcie协议栈的低功率phy的操作的设备、方法和系统
CN107577620A (zh) 信息处理装置、信息处理方法以及记录介质
CN108885602A (zh) 多协议i3c共用命令码
KR101607626B1 (ko) 패킷 교환망에서의 제어 버스 시그널링의 전송
CN108604219B (zh) 具有最优传输等待时间的串行通信链路
CN106233273A (zh) 混合虚拟gpio
KR20150109259A (ko) 트랜잭션 계층 패킷의 싱글 엔드형 통신을 위한 방법, 장치 및 시스템
CN107750359A (zh) 具有比特级确收和纠错的串行接口
CN101304362A (zh) 重传缓冲装置及传输数据的方法
CN104380274A (zh) 优化的链路训练及管理机制
JP2017531942A (ja) ビルトインフロー制御を用いたクロックフリー・デュアルデータレート・リンク
CN117222994A (zh) 使用共享时钟和专用数据线的i2c总线架构
CN107257965A (zh) 线复用uart
CN217467655U (zh) 一种单片机单io口双向通信结构
CN114528235A (zh) 一种基于spi的通信方法、从设备及系统
CN109766299A (zh) 一种电子装置及其数据传输方法
CN110768879A (zh) 通讯控制链路
TW200846917A (en) Downstream cycle-aware dynamic interconnect isolation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
AD01 Patent right deemed abandoned

Effective date of abandoning: 20190719