首页 / 专利库 / 专利权 / 实施例 / 电压模式和电流模式设备枚举

电压模式和电流模式设备枚举

阅读:633发布:2020-05-12

专利汇可以提供电压模式和电流模式设备枚举专利检索,专利查询,专利分析的服务。并且提供了一种包括主控/从动 实施例 和半双工实施例的枚举技术。,下面是电压模式和电流模式设备枚举专利的具体信息内容。

1.一种枚举方法,包括:
对于包括具有发射引脚和接收引脚的双导线接口的第一设备,通过经由所述发射引脚脉动第一发起脉冲来发起第二设备的枚举;
响应于所述第一发起脉冲,在所述发射引脚上从所述第二设备接收至少一个收到脉冲,所述至少一个收到脉冲被调制成表示枚举数据的至少第一比特,其中所述枚举数据根据枚举数据序列从所述至少第一比特布置到最终比特;
通过所述发射引脚向所述第二设备传送附加发起脉冲,直至来自所述第二设备的所述枚举数据的其余部分通过所述发射引脚根据所述枚举数据序列作为附加收到脉冲接收到;
以及
在接收到所有所述枚举数据之后,开始响应于所述枚举数据而配置的正常操作模式,其中所述发射引脚被用来向所述第二设备传送数据,并且其中所述接收引脚被用来从所述第二设备接收数据。
2.如权利要求1所述的枚举方法,其特征在于,所述至少一个收到脉冲和所述附加收到脉冲是经脉宽调制的脉冲。
3.如权利要求1所述的枚举方法,其特征在于,所述至少一个收到脉冲和所述附加收到脉冲包括经振幅调制的脉冲。
4.如权利要求1所述的枚举方法,其特征在于,所述第一发起脉冲和所述附加发起脉冲包括电流脉冲。
5.如权利要求1所述的枚举方法,其特征在于,所述第一发起脉冲和所述附加发起脉冲包括电压脉冲。
6.如权利要求1所述的枚举方法,其特征在于,进一步包括从所述枚举数据确定所述第二设备的虚拟GPIO大小。
7.如权利要求6所述的枚举方法,其特征在于,进一步包括:
在所述第一设备中的通用输入输出(GPIO)接口处,从处理器接收第一信号集并从所述处理器接收第二GPIO信号集;
从所述GPIO接口,通过对应的GPIO引脚向所述第二设备传送所述第二GPIO信号集;以及
从所述GPIO接口,向有限状态机(FSM)并行地提供所述第二GPIO信号集,其中所述第二GPIO信号集的大小等于所确定的虚拟GPIO帧大小。
8.如权利要求7所述的枚举方法,其特征在于,进一步包括:
在所述发射引脚上将所述第二GPIO信号集作为虚拟GPIO信号串行地传送给所述第二设备。
9.如权利要求1所述的枚举方法,其特征在于,进一步包括从所述枚举数据确定用于所述第二设备的虚拟GPIO接口的导线数目。
10.如权利要求1所述的枚举方法,其特征在于,进一步包括将所述枚举数据中的计数与所存储的值进行比较以确定所述枚举数据是否完整。
11.如权利要求9所述的枚举方法,其特征在于,所确定的导线数目为2。
12.如权利要求11所述的枚举方法,其特征在于,进一步包括:在所述正常操作模式期间,在所述发射引脚上向所述第二设备传送经脉宽调制的虚拟GPIO信号。
13.如权利要求9所述的枚举方法,其特征在于,所确定的导线数目为3,所述方法进一步包括:
在所述虚拟GPIO接口的第三导线上接收外部时钟;以及
在所述正常操作模式期间,响应于收到外部时钟而将所述发射引脚上的虚拟GPIO信号的串行传输同步到所述第二设备。
14.一种集成电路,包括:
发射引脚;
接收引脚;
电流源;以及
枚举状态机,其被配置成通过在所述发射引脚上向远程设备传送一系列发起脉冲来发起所述远程设备的枚举,所述枚举状态机被进一步配置成解调在所述发射引脚上接收到的来自所述远程设备的一系列脉冲以确定用于所述远程设备的枚举数据。
15.如权利要求14所述的集成电路,其特征在于,进一步包括:
虚拟GPIO接口,其被配置成使用根据所述枚举数据配置的虚拟GPIO帧大小在正常操作模式中在所述发射引脚上向所述远程设备传送虚拟GPIO数据并被配置成在所述接收引脚上从所述远程设备接收虚拟GPIO数据。
16.如权利要求15所述的集成电路,其特征在于,所述枚举状态机包括所述虚拟GPIO接口中的有限状态机。
17.如权利要求14所述的集成电路,其特征在于,所述枚举状态机被进一步配置成根据脉宽解调来解调来自所述远程设备的所述一系列脉冲。
18.如权利要求14所述的集成电路,其特征在于,所述枚举状态机被进一步配置成根据振幅解调来解调来自所述远程设备的所述一系列脉冲。
19.一种枚举方法,包括:
对于具有发射引脚和接收引脚的主控设备,通过经由所述发射引脚传送初始脉冲来发起从动设备的枚举,其中枚举数据根据枚举数据序列从第一比特布置到最后一个比特;
响应于所述初始脉冲的传输,在所述接收引脚上从所述从动设备接收所述枚举数据的至少所述第一比特;
通过所述发射引脚向所述从动设备传送附加脉冲以根据所述枚举数据序列顺序地接收所述枚举数据的其余部分;以及
在所述主控设备处接收到所有所述枚举数据之后,开始正常操作模式,其中所述主控设备根据响应于所述枚举数据而配置的串行通信协议来与所述从动设备通信。
20.如权利要求19所述的枚举方法,其特征在于,发起所述从动设备的所述枚举响应于上电复位信号的断言
21.如权利要求19所述的枚举方法,其特征在于,传送所述初始脉冲和所述附加脉冲包括通过所述发射引脚传送比特拆裂时钟信号的循环。
22.如权利要求19所述的枚举方法,其特征在于,所述串行通信协议是虚拟GPIO通信协议,所述枚举方法进一步包括使用被枚举的数据来确定所述从动设备的虚拟GPIO帧大小。
23.如权利要求19所述的枚举方法,其特征在于,所述串行通信协议是虚拟GPIO通信协议,所述枚举方法进一步包括使用被枚举的数据来确定用于所述从动设备的虚拟GPIO接口的导线数目。
24.如权利要求22所述的枚举方法,其特征在于,开始所述正常操作模式包括:
在所述主控设备中的通用输入输出(GPIO)接口处,从处理器接收第一信号集并从所述处理器接收第二GPIO信号集;
从所述GPIO接口,通过对应的GPIO引脚向所述从动设备传送所述第二GPIO信号集;以及
从所述GPIO接口,向有限状态机(FSM)并行地提供所述第二GPIO信号集,其中所述第二GPIO信号集的大小等于所确定的虚拟GPIO帧大小。
25.如权利要求24所述的枚举方法,其特征在于,进一步包括在所述发射引脚上将所述第二GPIO信号集作为虚拟GPIO信号串行地传送给所述从动设备。
26.一种主控集成电路,包括:
多个GPIO引脚:
GPIO接口,其被配置成从处理器接收第一信号集并将所述第一信号集的GPIO部分提供给所述多个GPIO引脚以用于作为GPIO信号传送给远程从动设备;
专用发射引脚;
专用接收引脚;以及
有限状态机(FSM),其被配置成:
在所述发射引脚上传送第一脉冲以发起从所述从动设备的枚举数据的传输,其中所述枚举数据根据枚举数据序列从第一比特布置到最后一个比特;
响应于所述第一脉冲的传输,在所述接收引脚上接收所述枚举数据的至少所述第一比特;以及
通过所述发射引脚向所述从动设备传送附加脉冲以根据所述枚举数据序列顺序地接收所述枚举数据的其余部分,其中所述FSM被进一步配置成根据由所述枚举数据标识的虚拟GPIO帧大小在所述专用发射引脚上将虚拟GPIO信号的发射集串行地传送给所述从动设备。
27.如权利要求26所述的主控集成电路,其特征在于,所述FSM被进一步配置成将所述虚拟GPIO信号的发射集作为经脉宽调制的虚拟GPIO信号来串行地传送。
28.如权利要求26所述的主控集成电路,其特征在于,所述FSM被进一步配置成将所述虚拟GPIO信号的发射集作为经振幅调制的虚拟GPIO信号来串行地传送。
29.如权利要求26所述的主控集成电路,其特征在于,所述FSM被进一步配置成将所述虚拟GPIO信号的发射集作为一系列电压脉冲来串行地传送。
30.如权利要求26所述的主控集成电路,其特征在于,所述FSM被进一步配置成将所述虚拟GPIO信号的发射集作为一系列电流脉冲来串行地传送。

说明书全文

电压模式和电流模式设备枚举

[0001] L·J·米什拉、R·韦斯特费尔特和G·威利
[0002] 相关申请的交叉引用
[0003] 本申请要求于2015年2月4日提交的美国临时申请No.62/112,078的权益。另外,本申请要求于2015年4月14日提交的美国临时申请No.62/147,266的权益。

技术领域

[0004] 本申请涉及集成电路,尤其涉及从动集成电路的枚举。

背景技术

[0005] 已经开发出各种数字信令协议来支持系统(诸如,移动设备)中的集成电路之间的通信。此类数字信令协议的示例包括通用I/O(GPIO)和通用异步接收机发射机(UART)、串行外围接口(SPI)、以及集成电路间(I2C)。随着技术的进步,这些各式各样的数字信令协议已经被增强。例如,本申请内容的受让人已经开发出一种“虚拟”GPIO架构,其中GPIO状态机和接口将来自处理器的GPIO数据串行化并在专用发射引脚上传送经串行化的GPIO数据。由于处理器不需要软件修改或需要最小的软件修改(因为它可以继续以常规方式通过GPIO接口进行对接),因此在专用发射引脚上而不是在对应的多个常规GPIO引脚上的各种GPIO信号的传输对于处理器而言是透明的。远程集成电路在专用接收引脚上接收经串行化的虚拟GPIO数据。每个虚拟GPIO集成电路由此包括至少两个引脚(发射引脚和接收引脚)。另外,可提供时钟引脚来同步传送和接收集成电路。在其他实施例中,不利用时钟引脚以使得存在双引脚和三引脚虚拟GPIO实施例。
[0006] 由于存在各种数字信令协议配置,因此在设备枚举期间标识正被实现的特定协议是合乎期望的。然而,现有设备枚举技术假定用于主控方和从动方的信令协议是同构的。
[0007] 相应地,本领域存在对改进的支持异构链路和协议的枚举技术的需求。
[0008] 概述
[0009] 提供了一种主控/从动枚举技术以用于集成电路的系统,其中确保主控集成电路在同一系统中的其他从动集成电路之前上电。另外,提供了一种半双工枚举技术以用于对等集成电路的系统,其中没有单个集成电路被确保在其对等方之前上电。首先将讨论主控/从动枚举技术,继之以半双工枚举技术的讨论。
[0010] 在主控/从动枚举实施例中,主控设备被配置成在其余设备之前上电。与主控设备对接的其余设备在本文中被标示为从动设备(注意,术语“设备”和“集成电路”在本文中被视为是等效的)。主控设备的示例是设计成总是在其外围设备(诸如传感器或无线接口模)之前上电的片上系统(SOC)(诸如智能电话处理器)。这些其余设备是从动设备,因为它们将被主控设备枚举,这是因为主控设备将被保证首先上电。从动设备可以根据电压模式信令协议使用相同电压信令电平(例如,相对于表示二进制1的电源电压VDD的传输,地的传输表示二进制0)来对主控设备作出响应。
[0011] 主控设备和从动设备各自包括专用发射引脚和专用接收引脚,其在正常操作中被用来使用对应的串行通信协议进行通信。主控设备的发射引脚耦合到对应从动设备的接收引脚。从动设备的发射引脚耦合到主控设备的接收引脚。这些相同的引脚在枚举操作模式中使用,使得主控设备可以枚举其从动设备。主控设备可以对枚举模式信号(诸如上电复位信号)作出响应以发起枚举操作模式。每个从动设备可被配置成在被上电之后将其发射引脚断言为电源电压。主控设备可由此监视其接收引脚是否被断言为电源电压来确定对应的从动设备准备好被枚举。
[0012] 在枚举模式中,主控设备以预定数目的时钟循环对其发射引脚进行时钟控制。该预定数目足以取回由被时钟控制的从动设备存储的枚举数据的全部。主控设备的发射引脚耦合到从动设备的接收引脚,使得该从动设备的接收引脚如主控设备对其发射引脚进行时钟控制那样被时钟控制。作为响应,从动设备通过其发射引脚移出其枚举数据。从动设备的发射引脚耦合到主控设备的接收引脚。对于包括多个从动设备的系统,主控设备可由此包括用于每个从动设备的发射/接收引脚对。主控设备由此在其接收引脚上接收从动方的枚举数据。该枚举数据标识由从动设备用来在正常操作模式期间通过其专用发射和接收引脚通信的特定串行协议。从动方的发射引脚耦合到主控方的接收引脚,使得主控设备在其接收引脚上接收取回的枚举数据。该枚举数据可包括各式各样的字段(诸如关于长度、传输协议、流控制等的枚举数据)。在从动设备都被枚举的情况下,主控和从动设备随后可转变到正常操作模式。假定在取回的枚举数据中没有差错并且主控设备支持从动设备所使用的特定串行通信协议,则主控设备和从动设备随后可在枚举模式完成之后开始正常操作模式。例如,如果被枚举的从动设备是2导线虚拟GPIO(VGI)设备,则用于主控和从动设备的专用发射和接收引脚将在正常操作模式中被用作2导线VGI接口。现在将讨论半双工枚举技术。
[0013] 半双工枚举技术可在全部为对等设备的系统中使用,其中系统设计者无法保证哪个对等设备将首先上电。如果每个设备随后充当主控设备并且尝试如以上关于主控/从动枚举技术所讨论的那样对其对等方进行时钟控制,则可产生竞态状况,其中设备的发射引脚和接收引脚两者均被时钟控制。在此类同时的时钟控制期间枚举数据的取回被妨碍,因为发射引脚和接收引脚两者由于它们的时钟控制而不可用于数据传输。为了防止对等系统环境中的此类竞态状况,每个设备被配置成在上电之际将其发射引脚断言为电源电压。由首先上电的设备对发射引脚电压的断言在第二对等设备的接收引脚处被接收,该第二对等设备使其接收引脚耦合到第一对等方的发射引脚。由此第二对等设备被通知第一对等设备准备好被枚举。为了开始枚举,一个对等设备通过其发射引脚脉动电流或电压脉冲。该脉冲由接收设备在其接收引脚处被接收。该接收设备随后通过经由其接收引脚传送一个或多个电流或电压脉冲以开始向其余对等方的枚举数据的传输来响应收到脉冲。该传输由此是半双工的,因为两个设备正共享单个链路或导线。然而,注意到这些设备包括双导线接口,类似于以上关于主控/从动枚举技术所讨论。在枚举之后,对等设备可由此在正常操作模式中使用它们的双导线接口,如同它们原本在双导线枚举技术中那样。但是虽然主控/从动枚举模式使用两个引脚,注意到半双工枚举技术发生在用于每个设备的单个引脚/导线上。
[0014] 尽管半双工枚举技术发生在单个导线上,但是注意到两个对等设备可以同时彼此枚举。例如,每个对等设备可以通过其发射引脚来枚举另一对等设备,如以上所讨论的。可能不发生竞态状况,因为每个枚举发生在其自己对应的导线上。相反,以上所讨论的主控/从动(双导线)枚举技术需要被保证首先上电的主控设备以使得在枚举期间不产生竞态状况。两种枚举模式的有利特征可通过以下详细描述来更好地领会。
[0015] 附图简要说明
[0016] 图1A是根据本公开的实施例的主控/从动枚举系统的框图
[0017] 图1B是根据本公开的实施例的虚拟GPIO枚举系统的框图。
[0018] 图2解说了用于图1A的从动设备的示例枚举数据格式。
[0019] 图3解说了由图1A的主控设备对从动设备进行时钟控制以取回枚举数据。
[0020] 图4解说了用于图1A的枚举系统的一些示例差错码。
[0021] 图5是用于图1A的主控设备的示例枚举方法的流程图
[0022] 图6是通过双导线接口针对半双工枚举技术配置的示例系统的框图。
[0023] 图7A是在图6的系统中在逐脉冲基础上取回经振幅调制的电流脉冲的时序图。
[0024] 图7B是在图6的系统中在逐脉冲基础上取回经脉宽调制的电流脉冲的时序图。
[0025] 图7C是在图6的系统中在帧中取回经振幅调制的电流脉冲的时序图。
[0026] 图7D是在图6的系统中在帧中取回经脉宽调制的电流脉冲的时序图。
[0027] 图7E是在图6的系统中在帧中取回UART型电流脉冲的时序图。
[0028] 图8是用于图6的系统的示例半双工枚举方法的流程图。
[0029] 图9是包括配置成用于主控/从动枚举技术或半双工枚举技术的多个设备的示例电子系统的框图。
[0030] 本公开的各实施例及其优势通过参考以下详细描述而被最好地理解。应当领会,相同参考标记被用来标识在一个或多个附图中所解说的相同元件。
[0031] 详细描述
[0032] 本文中公开了两种枚举模式。主控/从动(双导线)枚举模式可有利地实现在主控/从动架构中,其中主控设备被确保控制枚举。替换地,半双工枚举模式可被实现在对等设备的系统中,其中没有被确保将在其从动方之前上电的主控设备。首先将讨论双导线枚举模式。
[0033] 双导线枚举
[0034] 以下示例实施例涉及双导线与三导线虚拟GPIO链路和协议之间的枚举,但是将领会本文中所公开的系统和方法广泛适用于任何合适的串行数字信令协议和对应的链路架构。例如,配置成通过通用异步接收机发射机(UART)接口、串行外围接口(SPI)、或集成电路间(I2C或I3C)接口通信的集成电路都可被配置成实践本文中所讨论的枚举技术。
[0035] 现在转向附图,图1A解说了示例主控/从动枚举系统100。主控集成电路(主控设备A)105和从动集成电路(从动设备B)110各自包括专用发射引脚(TX)111a和专用接收引脚(RX)111b。主控设备105被认为是主控方,因为它被配置成控制枚举过程。从动设备110由此被配置成响应由主控设备105控制的枚举过程。为了提供对系统100的有利枚举特征的较佳领会,首先将讨论系统100的正常虚拟GPIO操作。每个设备的TX引脚111a耦合到另一设备的RX引脚11b。如以上所讨论的,在虚拟GPIO通信会话期间,每个设备中的GPIO接口(以下进一步讨论)从该设备的处理器(未解说)接收GPIO数据。此GPIO数据中的一些数据随后可在GPIO引脚上以常规GPIO方式传送给远程设备。但是GPIO数据的其余部分被虚拟GPIO状态机(以下进一步讨论)串行化以供作为串行虚拟GPIO数据在专用TX引脚111a上传输。GPIO数据在GPIO引脚上还是在专用TX引脚111a上传送对于每个设备中的处理器(未解说)而言是透明的——由此经串行化的GPIO数据被标示为“虚拟”GPIO,因为对于处理器而言,它是GPIO数据。但是,该虚拟GPIO数据不从每个设备105和110在GPIO引脚上传送,而是被串行化并在设备的专用TX引脚111a上传送。
[0036] 接收设备中的VGI状态机将虚拟GPIO数据解串行化并将经解串行化的虚拟GPIO数据呈献给其GPIO接口。从该GPIO接口,经解串行化的虚拟GPIO数据作为GPIO数据呈现给接收设备的处理器。为了同步虚拟GPIO数据(其被封装在虚拟GPIO帧中)的传送和接收,每个设备105和110可包括用于接收外部时钟116的时钟引脚。替换地,每个设备105和110可被配置成用于“2导线”VGI协议,其中外部时钟不同步通信。系统100的示例2导线实施例在图1B中示出。用于在发射引脚111a上从主控设备105传送虚拟GPIO信号的发射线或引线112a也是用于在从动设备105处在接收引脚111b上接收这些信号的接收线。类似地,从动设备110用于传送其虚拟GPIO信号的发射线112b也是主控设备105的接收线。这些发射和接收线可被携带在集成电路之间的电路板上,如由虚线150所指示的。每个设备105和110中的有限状态机(FSM)115控制使用这些专用线和引脚对虚拟GPIO信号进行传送和接收。
[0037] 如GPIO领域中已知的,每个设备的处理器包括其藉以与多个GPIO引脚125对接的GPIO接口103。有利地,每个处理器可以按常规方式使用其对应的GPIO接口103操作。换言之,每个处理器以常规方式通过其GPIO接口103接收和传送信号,使得这些处理器无需软件修改来通过GPIO接口103进行通信。通过每个GPIO接口103处理的信号的特定部分可以在常规GPIO引脚125上作为GPIO信号130来传送和接收。但是,通过GPIO接口103处理的信号的其余部分并不通过常规GPIO引脚125来传送或接收。代替地,通过GPIO接口103处理的信号的该其余部分包括多个虚拟GPIO信号135,该多个虚拟GPIO信号135在专用发射引脚(或焊盘)111a上从FSM 115串行地传送并在专用接收引脚(或焊盘)111b上接收。在GPIO接口103处从对应设备的处理器接收的作为常规GPIO信号130处理的信号的一部分可在本文中被标示为第一信号集。类似地,在GPIO接口103处从对应设备的处理器接收的作为虚拟GPIO信号135处理的信号的其余部分可在本文中被标示为第二信号集。与常规GPIO信号130相比,每个虚拟GPIO信号135不具有其自己的专用引脚,而是在引脚111a和111b上与其余虚拟GPIO信号
135串行地复用。这是相当有利的,因为每个处理器核不要求对其GPIO接口103的改组,而与每个虚拟GPIO信号135将需要其自己的专用GPIO引脚的常规GPIO实施例相比,结果所得的虚拟GPIO通信达成了引脚的显著减少。因为虚拟GPIO信号135使用有限状态机(诸如FSM 
115)来容适,所以处理器核可以休眠或处于其他类型的睡眠状态,但是能够接收虚拟GPIO信号135。以此方式,虚拟GPIO架构不仅有利地节约了每个GPIO接口103的引脚数目,而且还是低功率的。
[0038] 如本文中所使用的,“引脚”是覆盖了集成电路用来耦合到电路板上或者其他物理互连(例如,封装互连或者穿孔式通孔互连)上的引线的结构(诸如焊盘或实际引脚)的通用术语。例如,如果每个设备105和110具有16个GPIO引脚125,那么这些引脚可被配置成容适8个对称GPIO信号130(为了解说清楚起见,图1中示出仅4个常规GPIO信号#1到#4)或者16个不对称GPIO信号130。对称GPIO信号130由此为由设备105和110两者传送的信号。如果设备105和110中的仅一者传送特定类型的GPIO信号130,则结果所得的GPIO信号130被标示为不对称。另外,每个设备105和110可以使用其发射引脚111a和接收引脚110b来容适多个(n个)虚拟GPIO信号135的输入/输出对接,其中n是任意复数整数。关于设备的处理器,GPIO信号
130与虚拟GPIO信号135之间不存在差异:它们两者均是按需通过GPIO接口103来传送和接收的简单信号。然而,由于与常规GPIO信号130相反,虚拟GPIO信号135没有专用引脚,所以虚拟GPIO信号135在FSM 115中被串行化以用于线112a和112b上的传输。一旦接收,每个FSM 
115就将接收到的经串行化的虚拟GPIO信号解串行化。由此,每个FSM 115用作关于虚拟GPIO信号135的串行器/解串行器。
[0039] 为了标识如从远程处理器传送而来的收到虚拟GPIO信号135的存在,每个设备的处理器可被配置成响应于虚拟GPIO信号135中所选信号的变化来接收中断信号。为了提供中断,调制解调器功率管理器(MPM)140可以监视如通过中断(INT_configuration(INT_配置))寄存器145编程的所选虚拟GPIO信号。如果MPM 140看到所监视的信号改变状态,则它相应地向其处理器传送中断。另外,每个FSM 115可包括存储GPIO信号135的当前状态的配置寄存器107。
[0040] 设备105与110之间的虚拟GPIO信号135的串行传输可响应于过采样时钟的采样来执行,类似于UART接口中的数据传输。替换地,虚拟GPIO信号135的每个比特可在对应的发射引脚111a上作为对应经脉宽调制的脉冲来传送。例如,比特周期的25%的脉宽可被用来表示二进制0,而比特周期的75%的脉宽可被用来表示二进制1。更一般地,所传送的脉冲可取决于对应虚拟GPIO信号135比特的二进制值而具有或第一脉宽或第二脉宽。该脉冲传输是相当有利的,因为它实现了设备100与105之间的异步传输(没有共同时钟)。例如,FSM 115可响应于合适时钟(诸如环形振荡器)的循环来对每个所传送的脉冲进行脉宽调制。于
2014年11月13日提交的共同转让的美国申请14/540,366中讨论了脉宽调制的附加细节,该申请的内容通过援引纳入于此。注意,发射线112a可被设备105和110复用,使得发射引脚
111a按顺序用作接收引脚111b。结果所得的VGI接口(未解说)将由此作为“1导线”VGI接口操作,因为对于VGI信号135的接收和发射集两者而言仅一条线是必需的。
[0041] 不论系统100针对VGI信号135的串行通信被配置为1导线、2导线还是3导线VGI系统,都要注意常规GPIO信号130与VGI信号135之间的差异。具体而言,常规GPIO信号130通过其在常规GPIO引脚125中对应一者上的接收来标识。相反,FSM 115通过VGI信号135在VGI帧中的位置来标识该帧中的VGI信号135。例如,如果VGI帧的有效载荷大小是从第一比特到最后一比特布置的8个比特,则在VGI帧有效负载中将存在8个不同比特位置。传送和接收FSM 115两者可由此被配置有哪些比特位置对应于哪些VGI信号的信息。不同FSM 115可在上电时被配置成使用不同大小的VGI帧。VGI帧大小由此为可在上电时被枚举的参数,使得主控设备105和从动设备110可使用合适大小的VGI帧通信。
[0042] 存在可在系统100上电时被枚举的其他参数。在枚举之前,主控设备105可能不知晓从动设备110为1导线、2导线还是3导线虚拟GPIO设备。所公开的枚举诸如通过被上电复位信号或其他合适信号触发解决了这个问题。一旦触发了枚举模式,主控设备105就对其TX引脚111a进行时钟控制或脉冲控制。其RX引脚111b上的收到脉冲触发从动设备110响应于该收到脉冲而移出其枚举数据。例如,可响应于从动设备在其RX引脚上接收到的每个脉冲而在其TX引脚上移出一比特的枚举数据。每个FSM 115可被配置成执行该枚举。每个FSM 115由此被配置成充当枚举状态机。替换地,枚举可通过每个设备的处理器上的软件来实现。在软件控制的枚举实施例中,主控设备105使用比特拆裂(bit-banged)时钟信号(未解说)来选通其发射引脚111a。无论主控设备105所使用的时钟的特性如何,所导致的从动设备110对枚举数据的获取可响应于时钟的单个边沿或响应于两个边沿。
[0043] 存储在从动设备110中的用于枚举数据的格式可以如图2中所示。字段205被保留以用于设备供应商的标识号。字段210被保留以用于从动设备110的标识号。字段215标识用于从动设备110的差错缓解。字段215的示例值可以标识CRC、分组重复、全帧回波、或无差错缓解是否被使用。另外,字段215的特定值可被保留以供将来使用(RFU)。另一字段220标识流控制的类型——例如,可存在硬件(HW)流控制、软件流控制(HW)、或不存在流控制。
[0044] 虚拟GPIO(VGI)输入和输出帧长度可分别通过字段225和230标识为二进制加权值。字段235将VGI帧的消息长度标识为二进制加权值。字段240可以标识通信协议(例如,VGI、UART、SPI、I2C等)。类似地,另一字段245标识用于VGI协议的物理链路的类型——例如,其可以是3导线链路或2导线链路的各种版本。最后,字段250表示由从动设备110计数的脉冲数目以供主控设备105进行计数交叉检查。将领会,用于枚举数据的特定字段将取决于特定信令协议和从动设备110所使用的相关联物理链路而变化。
[0045] 从动设备110可以将其枚举数据存储在如图3中所示的寄存器链接列表阵列300中,使得枚举数据具有所定义的枚举数据序列。响应于上电复位(POR)信号的断言,主控设备105使用来自时钟源320的时钟信号305对其发射引脚111a进行时钟控制。从动设备110在其接收引脚111b上接收时钟信号305。响应于时钟信号305的单边沿(或响应于两个边沿),从动设备110移出寄存器链接列表阵列300的内容。从动设备110可以响应于时钟信号305的每个触发时钟边沿而移出寄存器链接列表阵列300的内容的一个比特。就此而言,枚举数据可被认为以枚举数据序列从供应商字段205的第一比特布置到时钟计数字段250的最后一个比特。为了实例化时钟计数字段250,从动设备110包括时钟计数器310。计数器310对时钟信号305的每个触发边沿进行计数直至物理链路字段245的最后一个比特被移出以创建时钟计数,该时钟计数被写入时钟计数(枚举完结)字段250。最终时钟循环系列由此用于将时钟计数移出给主控设备105。
[0046] 再次参照图1A,主控设备105随后可将从从动设备110获取的枚举数据写入枚举数据存储器120。所存储的枚举数据随后可与来自注册设备简档数据库126的简档数据组合,使得主控设备105可以根据被枚举的串行协议来恢复与从动设备110的正常操作。例如,枚举数据可以向主控设备105确认从动设备110是3导线VGI设备。主控设备105随后可使用3导线VGI协议开始与从动设备110通信。替换地,如果枚举数据将从动设备110标识为2导线VGI设备,则主控设备105将使用2导线VGI协议与从动设备110通信。来自数据库126的简档数据可标识例如将通过VGI接口交换的GPIO数据的类型。用于每个设备105和110的专用TX引脚111a和RX引脚111b由此具有两种操作模式。在枚举模式中,这些引脚被用于枚举数据的取回,如以上所讨论的。在正常操作模式中,这些引脚充当枚举数据已枚举的任何通信链路的一部分。
[0047] 在已取回枚举数据的情况下,主控设备105可以行进至标识任何差错。例如,如果返回的计数不正确,则主控设备105可寄存标识从动设备110无响应的差错码400,如图4中所示。可以生成众多此类差错码,诸如枚举字段失配405、缺失供应商ID差错410、缺失设备ID差错415、差错缓解类型不支持差错420、流控制方法不支持差错425、被枚举的I/O长度不支持差错430、被枚举的消息长度不支持差错435、协议类型不支持差错440、以及物理链路类型不支持差错445。
[0048] 在枚举之前,主控设备105和从动设备110可以处于不同功率域。在一些实施例中,主控设备105由此包括用于接收用于从动设备110的电源电压的引脚。在枚举模式发起时,主控设备105可由此确定从动设备110是否处于不同功率域。类似地,从动设备110可以包括用于接收用于主控设备105的电源电压的引脚,使得从动设备110也将在枚举模式发起时知晓主控设备105是否处于不同功率域。每个设备105和110的功率域的通信在图3中以虚线330表示。如果功率域不同,则可以使用电流模式时钟脉冲来执行对取回枚举数据的时钟控制。替换地,如果功率域是相同的,则可以使用电压模式时钟脉冲来执行时钟控制。结果所得的从动设备110的枚举随后可确定正常操作模式在包括专用接收和发射引脚的通信链路上使用电压模式信令还是电流模式信令。
[0049] 现在将关于图5的流程图讨论一种用于主控/从动系统100的示例枚举方法。该方法包括动作500:对于包括具有发射引脚和接收引脚的接口的主控设备,通过经由该发射引脚传送初始脉冲来发起存储枚举数据的从动设备的枚举,其中该枚举数据根据枚举数据序列从第一比特布置到最后一个比特。关于图3讨论的时钟信号305的初始循环的传送是动作500的示例。如图3中所示,根据由寄存器链接列表阵列300内的链接定义的枚举数据序列来布置枚举数据。关于图3,枚举数据序列中的第一比特是供应商ID字段205的初始比特。枚举数据序列中的最后一个比特是时钟计数(枚举完结)字段250的最终比特。将领会,此类枚举数据序列仅是代表性的并且可在替换实施例中变化。
[0050] 该方法进一步包括动作505:响应于该初始脉冲的传送,在该接收引脚上从该从动设备接收该枚举数据的至少第一比特。在单边沿实施例中,仅第一比特将由第一脉冲触发。相反,第一和第二比特将在双边沿实施例中被触发。
[0051] 另外,该方法包括动作510:通过该发射引脚向该从动设备传送附加脉冲以根据该枚举数据序列在该接收引脚上顺序地接收该枚举数据的其余部分。如以上所提及的,图3中所示的时钟信号305的脉冲可以是电压模式时钟脉冲或电流模式时钟脉冲。
[0052] 最后,该方法包括动作515:在该主控设备处接收到所有枚举数据之后,开始正常操作模式,其中该主控设备根据响应于该枚举数据而配置的串行通信协议来与该从动设备通信。动作515的示例将是如通过动作500到510枚举的双导线VGI接口的正常操作。虽然前面的讨论涉及设备对设备枚举,但是将领会,本文中所公开的概念和技术容易地扩展到多点对点枚举。现在将讨论半双工枚举技术。
[0053] 半双工枚举
[0054] 尽管刚刚讨论的双导线枚举技术广泛地适用于诸如举例而言智能电话之类的系统,其中存在被确保首先上电并且由此将保证具有主控设备色的SOC,但是有可能从动设备也可以与主控设备同时上电。从动设备随后可承担另一主控设备的角色并且开始对主控设备进行时钟控制以接收其枚举数据。然而,主控设备也可以在该时间对从动设备进行时钟控制,以使得两个设备将接收时钟而不是枚举数据。枚举由此将失败,从而两个设备均可重新尝试枚举。由于这些设备是异步的,因此两个设备将再次冲突并且同时彼此时钟控制是不太可能的。然而,可能是这样的情形:另一冲突发生,继之以另一冲突,依此类推。注意,智能电话必须确保诸如用于紧急呼叫的服务。尽管此类重复冲突的可能性是相当不可能的,但是以下半双工枚举模式确保将不会发生此类冲突。更一般地,半双工枚举技术可被实现在以下系统中:其中在具有保证首先被上电并且由此承担主控设备角色的设备的意义上不存在对主控设备的确保。由于不存在对主控设备的确保,因此对应系统在本文中被认为包括对等设备的系统。与先前所讨论的主控和从动设备相似,每个对等设备包括一双导线接口。还可以包括第三导线以用于接收外部时钟(诸如在3导线VGI接口的情形中)。
[0055] 如果每个对等设备充当主控设备并且尝试对其对等方进行时钟控制(如以上关于双导线枚举技术所讨论的),则可导致竞态状况,其中对等设备在其发射引脚上传送时钟,但随后在其接收引脚上接收另一时钟,如果远程对等设备也承担主控设备的角色的话。在此类同时的时钟控制期间可能不存在对枚举数据的取回,因为发射引脚和接收引脚两者由于它们的时钟控制而不可用于数据传输。此类同时时钟控制无法在以下半双工枚举技术中发生。在半双工枚举系统中,每个设备被配置成在上电之际将其发射引脚断言为电源电压。由第一对等设备对发射引脚电压的该断言向第二对等设备发信令通知第一对等设备被上电。发射引脚电压的断言由此类似于UART系统中的请求发送(RTS)断言。由首先上电的对等设备对发射引脚电压的断言在第二对等设备的接收引脚处被接收,该第二对等设备使其接收引脚耦合到第一对等方的发射引脚。第二对等设备由此被通知第一对等设备准备好被枚举。为了开始枚举,发起方对等设备通过其发射引脚脉动发起电流模式脉冲或电压模式脉冲。该脉冲由被枚举的对等设备在其接收引脚处接收。被枚举的设备随后通过经由其接收引脚传送一个或多个电流模式或电压模式脉冲以开始向其余对等方的枚举数据的传输来响应收到脉冲。枚举数据传输由此是半双工的,因为两个设备正共享单个链路或导线。该传输可以是逐脉冲的,使得发起方设备响应于每个所传送的脉冲而从被枚举的设备接收回单个脉冲。替换地,被枚举的设备可以通过在其接收引脚上向发起方设备的发射引脚传送脉冲帧来响应由发起方设备传送的脉冲。
[0056] 关于各对等设备,可能是这样的情形:不能关于它们的输出脉冲的电压振幅作出确保。例如,一个对等设备可在枚举期间使用第一电源电压来响应,而另一者根据与第一电源电压不同的第二电源电压来响应。在给定它们的枚举脉冲信令的电压振幅的该分歧的情况下,具有相对高的电源电压的接收对等设备可能使用相对较低的电源电压将来自传送对等设备的二进制1的脉冲误解为而是对应于二进制0的脉冲(地)。为了防止此类二进制解码差错,提供了信令包括电流脉冲的电流模式半双工枚举实施例。替换地,可能是这样的情形:确保这些对等设备都使用相同电源电压来发信令通知,使得电压模式脉冲可以在替换的半双工枚举实施例中传送。以下半双工实施例为电流模式实施例,但是由此将领会,对应的电压模式信令实施例可以根据本公开来实现。
[0057] 电流模式对等设备605和610的示例系统600在图6中示出。每个对等设备605和610包括双导线接口,该双导线接口包括TX和RX引脚(诸如关于图1A所讨论的)。然而,“TX”和“RX”的指定仅在枚举之后的正常操作模式期间有意义。在枚举期间,每个RX和TX引脚是双向的。每个对等设备605和610被配置成响应于正被上电而断言其TX引脚上的电压。例如,假设对等设备610在对等设备605之后刚刚上电。对等设备605通过在其RX引脚上得到的所断言的电压检测到对等设备610准备好被枚举。为了控制枚举,每个对等设备605和610可以包括枚举状态机615。替换地,枚举状态机615的功能可被实现在设备的处理器(未解说)上的固件中。响应于检测到对等设备610被上电,对等设备605中的枚举状态机615命令电流源620通过其TX引脚向设备610脉动第一发起电流脉冲。对等设备610中的枚举状态机615检测电流脉冲并使用其自己的电流源625通过其RX引脚以一个或多个电流脉冲来响应以向对等设备605传送枚举数据。类似地,对等设备610可检测到对等设备605已响应于正被上电而将其TX引脚断言为电源电压。对等设备610随后可命令电流源630通过其TX引脚向对等设备
605脉动电流脉冲,对等设备605使用电流源635以一个或多个电流脉冲来响应以向对等设备610传送枚举数据。再次参照图1B,设备105和110可被配置为对等设备。在此类实施例中,每个FSM 115将被配置成也充当枚举状态机615。
[0058] 在一个实施例中,枚举数据可由此以逐脉冲方式获取,使得发起方设备必须传送单独的脉冲以从被枚举的设备获得每个返回脉冲。图7A中示出了此类逐脉冲获取的示例。发起方对等设备(指定为设备A(Dev-A))在其TX引脚上向被枚举的对等设备的RX引脚传送发起电流脉冲700。作为响应,被枚举的对等设备(Dev-B)在其RX引脚上将其枚举数据的一比特作为电流脉冲705传送给发起方设备的TX引脚。为了提供脉冲之间的时间复用的分隔,每个脉冲可以与毗邻脉冲分开例如脉冲周期的25%。更一般地,每个脉冲周期T之间的间隔由ΔT表示,其中Δ是脉冲周期T的某一百分比。发起方设备接收电流脉冲705并基于其振幅来将其解码。在二进制模式(两个振幅电平)中,第一二进制值可以由第一电流振幅(诸如电流脉冲705中的20mA)表示,而互补的第二二进制值可以由第二电流振幅(诸如后续电流脉冲710中的4mA)表示。每个电流脉冲可由此具有第一电流电平A和第二电流电平B。每个对等设备可以包括用于确定脉冲宽度和脉冲之间的延迟的本地计数器。针对取回的枚举数据的结果所得字段和枚举数据序列的示例可以如关于图2和3所讨论的。由于枚举是在单条导线上以半双工方式执行的,因此可能不存在竞态状况。实际上,每个设备可通过其发射引脚来独立地枚举对应的设备,如以上关于图6所讨论的。
[0059] 作为振幅调制的替换方案,取回的脉冲可被脉宽调制,如图7B所示。如关于图7A所讨论的那样从对等设备A(Dev-A)传送发起脉冲700。由于没有振幅调制正在被使用,因此每个脉冲(诸如脉冲700)具有相同的电流电平(电平A)。然而,被枚举的对等设备(Dev-B)可在逐脉冲基础上以或具有第一脉冲宽度的第一脉冲715或具有较窄脉冲宽度的第二脉冲720来响应。将领会,可以使用具有例如4个不同脉宽的较高阶调制。
[0060] 并非在逐脉冲基础上响应,被枚举的对等设备可以使用如图7C所示的经振幅调制脉冲的帧721来响应每个发起脉冲700。替换地,被枚举的对等设备可以使用如图7D所示的经脉宽调制脉冲的帧725来响应每个发起脉冲700。在UART实施例中,响应于发起脉冲(获取触发),可以通过被枚举的设备遵循UART协议来生成帧730,如图7E中所示。根据UART协议,帧730包括开始比特和停止比特。每个设备可以包括用于对帧采样的过采样时钟。例如,如果使用16X(16倍)过采样时钟速率,则帧730中的每个比特将由16个样本来表示。为了传送二进制0,被枚举的设备简单地不针对过采样时钟的16个样本来脉动其RX引脚。相反,被枚举的设备将针对过采样时钟的16个样本来脉动其RX引脚以传送二进制1。将领会,可在UART实施例中使用其他过采样时钟速率。此外,在替换实施例中,图7A-7E的电流脉冲可以被替代为电压脉冲。在图7A-7E中,主控设备605被标示为“设备A”(简称为Dev-A)。类似地,从动设备610可被称为“设备B”(简称为Dev-B)。
[0061] 现在将关于图8的流程图来讨论一种半双工枚举系统的操作方法。该方法包括动作800:对于包括发射引脚和接收引脚的第一对等设备,通过经由该发射引脚脉动第一发起脉冲来发起第二对等设备的枚举。图7A到7E中的第一发起脉冲700的传输是动作800的示例。
[0062] 该方法还包括动作805:响应于该第一发起脉冲,在该发射引脚上从该第二对等设备接收至少一个收到脉冲,该收到脉冲被调制成表示枚举数据的至少第一比特,其中该枚举数据根据枚举数据序列从该至少第一比特布置到最终比特。图7A中的第一脉冲705或图7B中的第一脉冲715的传输是动作805的示例。
[0063] 类似地,该方法包括动作810:通过该发射引脚向该第二对等设备传送附加发起脉冲,直至来自该第二对等设备的该枚举数据的其余部分通过该发射引脚根据枚举数据序列作为附加收到脉冲被接收到。关于图7A所讨论的附加脉冲700的传送以及对应脉冲705和710的接收是动作810的示例。
[0064] 最后,该方法包括动作815:在接收到所有枚举数据之后,开始响应于该枚举数据而配置的正常操作模式,其中该发射引脚被用来向该第二对等设备传送数据,并且其中该接收引脚被用来从该第二对等设备接收数据。行进至根据恰适的双导线或三导线VGI协议正常地操作的VGI FSM(诸如图1B的FSM 115)是动作815的示例。现在将讨论针对或主控/从动或半双工枚举技术配置的示例电子系统。
[0065] 图9中示出了示例系统900,其中片上系统(SOC)905被配置有枚举状态机(未解说),诸如以上所讨论的用于与多个外围设备910通信的FSM 115。每个外围设备910由此也同样包括对应的枚举状态机。SOC 905与每个外围设备910之间对应的双导线链路为了简明起见也未示出,但包含在系统总线915内。由于系统900中存在三个外围设备910,因此系统总线915将包括三个双导线链路。系统900可包括蜂窝电话、智能电话、个人数字助理、平板计算机、膝上型计算机、数码相机、手持式游戏设备、或其他合适设备。除了与外围设备910通信之外,SOC 905还通过系统总线915与存储器(诸如DRAM 920)和显示器控制器925通信。显示器控制器925进而耦合到驱动显示器935的视频处理器930。
[0066] 如本领域普通技术人员至此将领会的并取决于手头的具体应用,可以在本公开的设备的材料、装置、配置和使用方法上做出许多修改、替换和变动而不会脱离本公开的范围。有鉴于此,本公开的范围不应当被限定于本文所解说和描述的特定实施例(因为其仅是作为本公开的一些示例),而应当与所附权利要求及其功能等同方案完全相当。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈