低功率双向总线的制作方法

文档序号:13041790阅读:205来源:国知局
低功率双向总线的制作方法与工艺

在一些情形下,通过双向有线数据总线来连接模块是有用的,以允许通过第一模块将数据发送到第二模块,且允许将数据从第二模块发送到第一模块。

根据本发明的第一方面,提供了一种在通过信号总线所连接的第一模块和第二模块之间发送信息的方法,该方法包括:

在该第一模块中生成一个时钟信号,并且将该时钟信号施加在该信号总线的第一线上;

在所述时钟信号的每个周期的第一半周期期间,在该信号总线的第二线上将第一位值模式从该第二模块传输到该第一模块;以及

在所述时钟信号的每个周期的第二半周期期间,在该信号总线的第二线上将第二位值模式从该第一模块传输到该第二模块,其中所述时钟信号的每个周期的第二半周期不同于所述时钟信号的每个周期的第一半周期;并且该方法还包括以下中的至少一个:

为了将信息从该第一模块传输到该第二模块,传输一更改的第二位值模式;以及

为了将信息从该第二模块传输到该第一模块,传输一更改的第一位值模式。

根据本发明的第二方面,提供了一种主机模块,被配置为:

生成一个时钟信号,并且将该时钟信号施加在信号总线的第一线上;

在所述时钟信号的每个周期的第一半周期期间,检测在该信号总线的第二线上所传输的第一位值模式;

在所述时钟信号的每个周期的第二半周期期间,在该信号总线的第二线上传输第二位值模式,其中所述时钟信号的每个周期的第二半周期不同于所述时钟信号的每个周期的第一半周期;并且所述主机模块还被配置为:

为了传输信息,传输一更改的第二位值模式;和/或

为了接收信息,检测一更改的第一位值模式。

根据本发明的第三方面,提供了一种配件模块,被配置为:

在信号总线的第一线上接收一个时钟信号;

在所述时钟信号的每个周期的第一半周期期间,在该信号总线的第二线上传输第一位值模式;

在所述时钟信号的每个周期的第二半周期期间,在该信号总线的第二线上接收第二位值模式,其中所述时钟信号的每个周期的第二半周期不同于所述时钟信号的每个周期的第一半周期;并且所述配件模块还被配置为:

为了接收信息,检测一更改的第二位值模式;和/或

为了传输信息,传输一更改的第一位值模式。

根据本发明的第四方面,提供一种主模块,包括:

时钟输出缓存器,用于将时钟信号驱动到第一端子上;

输入缓存器,用于在第二端子处接收数据信号;

用于在所述时钟信号的每个周期的第一半周期期间检测所接收的数据信号中的第一位值模式的控制器电路系统;

用于生成第二位值模式的控制器电路系统;

输出缓存器电路系统,用于在所述时钟信号的每个周期的第二半周期期间将该第二位值模式驱动到该第二端子上,其中所述时钟信号的每个周期的第二半周期不同于所述时钟信号的每个周期的第一半周期;

其中所述控制器电路系统适于通过更改该第二位值模式来传输信息;并且适于通过检测一更改的第一位值模式来接收信息。

根据本发明的第五方面,提供了一种集成电路,该集成电路包括根据第四方面的主模块。

根据本发明的第六方面,提供了一种从模块,包括:

时钟输入缓存器,用于在第一端子处接收时钟信号;

输入缓存器,用于在第二端子处接收数据信号;

用于在所述时钟信号的每个周期的第二半周期期间检测所接收的数据信号中的第二位值模式的控制器电路系统;

用于生成第一位值模式的控制器电路系统;

输出缓存器电路系统,用于在所述时钟信号的每个周期的第一半周期期间将该第一位值模式驱动到该第二端子上,其中所述时钟信号的每个周期的第二半周期不同于所述时钟信号的每个周期的第一半周期;

其中所述控制器电路系统适于通过更改该第一位值模式来传输信息;并且适于通过检测一更改的第二位值模式来接收信息。

根据本发明的第七方面,提供了一种集成电路,该集成电路包括根据第六方面的从模块。

当操作时,这提供了一种装置,用于将时钟从主机传输到配件并且接收一鲁棒信号,该鲁棒信号确认配件在总线的任一端处没有任何竞争的连续附接和操作,而不管沿着总线向上和向下的不可避免的传输传播延迟,因此避免了由于例如驱动器电流尖峰所导致的任何emi问题。该总线还提供了一种用于偶然控制数据或类似的鲁棒传输的简单而鲁棒的机制。

此外,此总线的实施方案可能被用来在如下信号线上提供低功率方式,所述信号线还被配置为用作较高速差分数据总线,具有从一个方式到另一方式的畅通无阻的切换,以及沿着总线向上和向下鲁棒地发送方式改变请求或其他信息的能力。

现将参考附图仅借助于实施例来描述本发明的实施方案,在附图中:

图1例示了一个音频系统;

图2示出了图1的系统的更详细的部分;

图3例示了图2的系统中的信号;

图4例示了图2的系统的操作;

图5例示了图2的系统中的更详细的信号;

图6是系统中的信号的另一例示;

图7是系统中的信号的另一例示;

图8是系统中的信号的另一例示

图9是系统中的信号的另一例示;

图10示出了在一个替代实施方案中图1的系统的更详细的部分。

下文的描述阐明了根据本公开内容的示例实施方案。本领域普通技术人员将明了其他示例实施方案和实施方式。此外,本领域普通技术人员将认识到,可以应用多种等同技术代替下文所讨论的实施方案,或可以与下文所讨论的实施方案结合应用多种等同技术,并且所有这样的等同物应被视为由本公开内容包含。

图1示出了一个音频系统,仅作为使用在本文中所描述的方法的系统的一个实施例。

具体地,图1示出了主机设备10,该主机设备在此实施例中采取智能电话中的编解码器的形式,但该主机设备可以是任何设备。在此描述的电路和方法可以在主机设备是便携式音频设备的情形下使用,但也可以在其他情形下使用。在此实施例中,该主机设备具有音频处理能力。

图1还示出了配件产品20,该配件产品在此实施例中采取一对耳机的形式,但该配件产品可以是任何设备。在此实施例中,该对耳机具有两个听筒22、24,每个听筒包括一个扬声器,用于响应于从主机设备10所传送的音频信号再现声音。每个听筒22、24还包括至少一个麦克风,例如用于检测穿戴者附近的环境噪声。

表示环境声音的信号之后从耳机传送到主机设备10,该主机设备10使用算法执行噪声消除功能,且生成传送到耳机用于回放的抗噪声信号。回放抗噪声信号的效果是,降低由穿戴者听到的环境噪声的水平,以及从主机设备10所传送的希望的声音(音乐、话音等)因此也是更可听的。

因此,从主机设备中的一个合适的模块到配件产品中的一个模块以及从配件产品中的该模块到主机设备中的该模块双向地传输数据。如上所述,有存在此要求的多种情形,图1仅示出了这样的系统的一个实施例。

配件产品20通过线缆30连接到主机设备10。在一个实施例中,线缆30是从便携式通信设备和音频配件中的至少一个可拆卸的。在一些实施方案中,线缆30持久地附接到配件20,并且可以设置有常规的4极trrs插头32,而主机设备10设置有匹配的4极插座34。在其他实施例中,线缆可以是任何合适的格式,例如它可以是usbtype-c连接器,该usbtype-c连接器类似地具有可用于音频接口的四个极。作为另一替代方案,配件产品(或主机设备)可以被设置在usb棒加密狗(usbstickdangle)中,其中通过usb兼容有线通信链路在该加密狗和其他设备之间传送数据。这些是可以被用来在两个设备之间运送双向数据的传输线的简单实施例。

如上文所提及的,存在必须在主机设备和配件设备之间双向传输数据的应用。例如,为了能够使用噪声消除,由听筒22、24中的麦克风所检测到的信号必须从配件设备传输到主机设备。略微类似地,主机设备中的语音识别应用也可以对由配件设备的听筒22、24中的麦克风所检测到的信号进行操作。

在这些应用中,通常需要以相对高的数据速率在主机设备和配件设备之间传送数据。因此,总线需要能够处理这些高数据速率。然而,存在很少数据或没有数据待传送的周期,因此提供总线的低功率操作方式是有利的,在总线的低功率操作方式下,在主机设备和配件设备之间仅会传送有限量的数据。

尽管下文描述了这样一个实施方案,在该实施方案中,配件具有低功率方式,并且可在主机设备和配件设备之间所传送的有限量数据可以被用来通过信号通知配件设备将进入较高功率方式,但应理解,在本文中描述的系统可以在期望在两个设备之间传输数据的任何情形下使用。

例如,在本文中描述的方法可以被用来从原本未激活的配件传递命令,其中所述命令对应于配件上被按压的特定按钮或触摸屏输入。作为另一实施例,从配件(例如,从触摸传感器或近距传感器、温度传感器、动作传感器、生物医学换能器等)传递到主机的信息可以涉及与配件的物理环境有关的任何参数。

如下文更详细地描述的,该方法涉及传输可以由配件所检测的时钟信号,从而当配件使用那个时钟信号时使用此方法存在特别的优点。然而,存在配件不使用该时钟信号的实施方案。

图2是例示了根据一个实施方案的系统的一般形式的示意图。在此实施例中,主机设备或主设备10和配件设备40通过总线50连接。该配件设备可以例如是从包含主机设备的产品可拆卸的较大的配件产品的一个部件(产品诸如图1中示出的一对耳机中的麦克风)。在这样的实施方案中,例如在包括如上文所讨论的usbtype-c连接器的实施方案中,总线50是从主机设备或配件中的一个或两个可拆卸的。替代地,配件可以是也包含主机设备的较大的产品中的一个部件(诸如膝上型计算机中的麦克风)。在这样的实施方案中,总线50可以连接主模块和从模块。因此,总线可以沿着外部线缆延伸,或可以被包括在产品(诸如膝上型计算机或平板计算机、电视等)的壳体内。

总线50被配置为用于在正常操作方式下传输差分信号,且具有正信号线52、负信号线54和地线56。正信号线的主端处的电压被称为vpm,且正信号线的从端处的电压被称为vps。负信号线的主端处的电压被称为vnm,且负信号线的从端处的电压被称为vns。

主机设备10包含一个具有电路系统60的模块,用于在正常总线操作期间在总线50上传输和接收数据,并且配件设备20包含一个具有电路系统62的模块,用于在正常总线操作期间在总线50上传输和接收数据。总线50被配置为用于差分操作(differentialoperation)。换言之,当传输具有第一值的数据位时,较正的电压被施加到正信号线52,较负的电压被施加到负信号线54。相反地,当传输具有第二值的数据位时,较负的电压被施加到正信号线52,较正的电压被施加到负信号线54。这些较正的电压和较负的电压优选地关于一个固定的共模电压对称,该固定的共模电压可以是零或更通常是比接地较正或可能地较负的某一非零电压。

现在将更详细地描述在低功率操作方式期间所使用的电路系统。

主机模块在节点70处生成或接收时钟信号ck32,该时钟信号ck32可以具有任何方便的频率,但在此例示的实施方案中在32khz的频率处。在系统具有较高功率操作方式的情况下,相比于在较高功率操作方式期间施加到总线的时钟信号的频率,时钟信号ck32可以在显著较低的频率处。例如,在较高功率操作方式期间施加到总线的时钟信号可以具有诸如48mhz的频率。在例示的实施方案中,时钟源70被设置在主机设备或主设备中。然而,还可以从更通常被认为用于其他目的的从设备的设备将时钟信号施加到总线。

时钟信号ck32的源70通过缓存器72连接到总线50的正信号线52。因此,正信号线52一直由主机用32khz的数字时钟信号主动地驱动。该时钟信号可以具有标称50%的占空比,且为配件设备40提供32khz的时钟参考。

因此,配件设备中的模块具有连接到正信号线52的缓存器74,并且此缓存器被连接到时钟生成器块76。此时钟生成器块可以生成配件设备的其他操作电路系统78所需要的较高频率的一个时钟或多个时钟,以允许配件设备继续在低功率方式下操作。在较高功率方式(如果存在的话)下,可以基于由从数据总线所接收的时钟信息所恢复的时钟来执行时钟生成,所述时钟信息可能被嵌入在数据流中。可能需要所生成的时钟的操作电路系统的实施例包括δ-∑adc或数字麦克风或δ-∑dac或d类功率放大器。在一些实施方案中,所生成的时钟在低功率方式下和在较高功率方式下可以是相同的,在其他情况下,较低的时钟频率可以在低功率方式下使用,以给出操作电路系统的较低功率消耗,可能是以性能参数化为代价的。例如,当记录音乐时,数字麦克风可以在较高功率方式下以相对高的时钟频率操作,但如果仅监控语音信号的存在或不存在,则以较低的时钟频率和较低的分辨率操作。

主机设备10中的模块还包括用于在总线的负信号线54上传输和接收数据的电路系统80,并且配件设备40包括用于在负信号线54上传输和接收数据的电路系统82。

具体地,电路系统80包括控制器84,用于生成待被传输的数据和用于处理所接收的数据。待被传输的数据被传递通过缓存器控制器86和输出缓存器88,且通过一个端子传递到总线50的负信号线54。所接收的数据被传递通过相同的端子到输入缓存器90和锁存器92,然后被传递到控制器84。

时钟信号ck32被传递到控制器84,且还被用来经由缓存器控制器86启用缓存器88,且被用来在不同的相应时间周期期间对用锁存器92缓存的输入信号采样,如下文所描述的,以使得主机模块在任何给定时间仅传输或接收。

配件中的电路系统82包括控制器94,用于生成待被传输的数据和用于处理所接收的数据。待被传输的数据被传递通过缓存器控制器96和输出缓存器98,且被传递到总线50的负信号线54上的一个端子。所接收的数据被传递通过相同的端子到输入缓存器100和锁存器102,之后被传递到控制器94。

所接收的时钟信号ck32s被传递到控制器94,且还被用来经由缓存器控制器96启用缓存器98,以及被用来在不同的相应时间周期期间用锁存器102采用缓存的输入信号,如下文所描述的,以使得配件模块在任何给定时间仅传输或接收。

如上文所提及的,主机模块和配件模块能够在不同的相应时间周期期间将数据写到总线50的负信号线54。在此实施例中,这些时间周期由总线50的正信号线52上的时钟信号ck32限定。

具体地,在此实施例中,在正信号线上的时钟信号为低的阶段期间,主机模块占有(即,驱动)负信号线54,并且当正信号线上的时钟信号为高时,主机模块不驱动该线(即,它的输出是高阻抗)。

当正信号线上的时钟信号在其高阶段时,配件占有(即,驱动)负信号线54,且当正信号线为低时,配件不驱动该线(即,它的输出是高阻抗)。

在配件占有负信号线54的连续周期期间,换言之,在配件在正信号线52上所接收的时钟信号ck32s的连续高阶段期间,配件在负信号线上写代码序列。

在此例示的实施例中,使用7位巴克码(barkercode),即[1,1,1,0,0,1,0],其最左位是第一位。然而,待由配件模块和主机模块所发送的位模式可以采用任何合适的形式。在具体实施方案中,可以使用其他预先安排的代码序列。

在所例示的实施方案中,此序列的编码是简单的。总线上的逻辑高信号电平与代码中的“1”相关联,且总线上的逻辑低信号电平与代码中的“0”相关联。因此,所选定的代码在线上提供具有合适的频谱特性的非常独特的签名,允许主机可靠地检测到配件模块存在(尽可能用无偏二进制检测器),而不管总线上的其他现象,诸如任何外部不相关的干扰。

接下来,能够方便地将多个代码位视为单个数据字,使得此数据字可以被用来以比仅传输单个数据位更大的可靠性来传达唤醒请求和唤醒命令。

在时钟信号的高阶段期间,主机模块接收由配件所传输的代码序列。具体地,主机模块可以在它开始驱动正信号线上的下降时钟沿的时刻对负信号线上的信号进行采样。

然后,主机模块使内部巴克码生成器与传入的数据同步。

在此低功率操作方式下,在主机占有负信号线的周期期间,换言之,在时钟信号ck32的低阶段期间,主机模块传输由其内部巴克码生成器所生成的位值。因此,在不存在传输位错误时且当主机模块不发信号时,它驱动来自巴克码的、与前一高时钟阶段期间从配件刚接收到的位相同的位。

图3例示了在此操作期间总线52、54上的信号。特别地,图3示出了在正信号线52和负信号线54的主端处的电压vpm和vnm,暂时忽略了时钟信号或数据信号从总线的一端行进到另一端所花费的时间。具体地,图3示出了在时钟信号ck32的编号为0-6的七个周期期间的信号。此时钟信号由主机模块驱动到正信号线52上。

当正信号线上的时钟信号为高(h)时,从模块在负信号线上将高(h)或低(l)值向上传输到主,如由向上的箭头↑指示的。当正信号线上的时钟信号为低(l)时,主模块在负信号线上将高(h)或低(l)值向下传输到从,如由向下的箭头↓指示的。在此例示的情形下,由主模块所传输的值复制在时钟信号ck32的紧邻前一半周期中由从模块所传输的值。

然而,在此情况下,即使当在线上存在位错误且主机模块接收不是预期的巴克码序列的一部分的位值时,主机可以被配置为仍然驱动由其内部巴克码生成器所生成的位值,直到它在给定时间内检测到预定数目的位错误,从而使操作对偶然的位错误不敏感。

图4是总线上的信号的示意性例示。因此,时钟ck32始终在线的主端处作为电压vpm由主模块驱动到正信号线52上。这延迟一个量tdownp出现在线的从端处,作为提供时钟ck32的本地延迟副本ck32s的电压vps。

在线的主端处,在由ck32所限定的时钟半周期内,经由中间缓存器控制器输出信号xnm将数据驱动到线上。在线的从端处,在由此时钟的延迟型式ck32s所限定的时钟半周期内,经由中间缓存器控制器输出信号xns将数据驱动到线上。

在线的主端处,将在由ck32所限定的一半时钟周期内来自主端的数据与在相对于ck32延迟tdownp的时钟ck32s的另一半周期内从从端向上传输且经受另一传输延迟tupn的数据组合。

类似地,在线的从端处,将在相对于ck32延迟tdownp的时钟ck32s的一半周期内从主端传输的数据与最初与时钟ck32对准但在传输中延迟一个量tdownn的从主端传输的数据组合。

因此,假设所有这些传输延迟tdownp和tdownn是相等的,并且忽略任何其他延迟,则在由主端和从端所驱动的延迟时钟ck32s的交替的半时钟周期内,数据出现在从端处。另一方面,在与由主端驱动的ck32对准的一半周期内,而在由从端驱动的延迟两个传输延迟tdownp和tupn的另一半时钟周期内,数据出现在主端处。

图5是将这些信号例示为波形的时序图。应注意,图5示出了时钟的高电平和低电平之间的有限转变时间。具体地,图5示出了信号vpm,即始终被驱动到正信号线上的时钟信号。

图5还示出了信号vps,即在正信号线上由从模块所检测的值。这对应于由主模块驱动到正信号线上的时钟信号,但在有限的总线转变时间tdownp之后由从模块接收它。

图5还示出了被用来控制从模块的实际输出缓存器驱动器的缓存器控制信号xns。这被例示为三电平信号,但在实际实施方式中,根据驱动器电路系统的详细设计,它很可能是驱动该驱动器电路系统的元件的两个或更多个二进制信号。当xns为高(h)时,这指示驱动器将逻辑高驱动到其输出上。当xns为低(l)时,这指示驱动器将逻辑低驱动到其输出上。xns的第三状态r指示驱动器变为高阻抗,即不将任何信号驱动到其输出上。

在vps为高的周期期间,取决于当前待被传输的代码值,xns可以为高(h)或低(l)。在vps为低的周期期间,xns进入第三状态r,第三状态在图5中被例示为在h电平和l电平之间的中间电平r。

图5还示出了被用来控制主模块的实际输出缓存器驱动器的类似的缓存器控制信号xnm。这被例示为三电平信号,但在实际实施方式中,根据驱动器电路系统的详细设计,它很可能是驱动该驱动器电路系统的元件的两个或更多个二进制信号。当xnm为高(h)时,这指示驱动器将逻辑高驱动到其输出上。当xnm为低(l)时,这指示驱动器将逻辑低驱动到其输出上。xnm的第三状态r指示驱动器变为高阻抗,即不将任何信号驱动到其输出上。

在vpm为低的周期期间,取决于待被传输的值,xnm可以为高(h)或低(l)。如上文所讨论的,在这些周期期间待被传输的值从从模块中的巴克码生成器获得,被适当地同步到由主模块从从模块所接收的数据模式,使得每个半周期内的待被传输的值等于在时钟信号的紧邻前一半周期期间由从模块所传输的值xns。在vpm为高的周期期间,xnm进入第三状态r,该状态在图5中被例示为在h电平和l电平之间的中间值r。

然后,图5还示出了分别在负信号线的主端和从端处的、由通过主模块和从模块驱动到总线上的信号所产生的信号vnm和vns。这些信号所产生的电压是主驱动器状态和从驱动器状态的影响与多种传输线延迟的附加影响的组合。

在示出的波形中,最初vpm和vps二者都为高。因此,xnm处于状态r且主输出缓存器不驱动线。xns为高,因此从输出驱动器将高电平驱动到线上,这在vns和vnm处可观察到。

当vpm(ck32)变为低时,xnm变为激活状态,在此情况下是h,对应于先前在vnm上可检测的高电平。然后,主输出驱动器主动地将vnm拉高,如由较重且略低绘制的线例示的。这几乎不具有可观察到的影响,因为vnm已经为高。

同时,vpm上的时钟沿已经以延迟tdownp传播到vps,导致xns进入r状态且禁用从输出驱动器。然而,直到此时刻,从输出驱动器仍然驱动线,如在此点处的较高且较弱的线例示的,并且允许传输线延迟tupn将仍然有效地驱动线的主端且达另一时间tupn。

因此,对于示出为t1的持续时间,等于tdownp+tupn,两个驱动器有效地将vnm驱动为高。

在线的从端处,在时钟信号沿着正信号线向下传播期间,通过从驱动器将线驱动为高且达一时间tdownp。然后,此驱动器变为高阻抗。同时,主输出驱动器开始在vpm的下降沿上主动地将vnm驱动为高,但它仅在传播延迟tdownn之后影响线的从端。如果tdownn等于tdownp(很可能,因为这些是对称的差分传输线的两个导线),则这两个事件同时发生。

类似地,在上升沿上,在主端处的事件仍然是同时的,但现在重叠t2(再次等于tdownp+tupn)是驱动器的高阻抗状态的重叠,因此vnm不被驱动达持续时间t2。这被例示为中间电平电压,但在实践中线上的电压可以由于线的电容而维持其先前的电压直到被主动驱动。在此实施例中,此时钟周期xns已经从h改变到l,因此vnm(和vns)从逻辑高电平改变到逻辑低电平。因为欠重叠周期,所以主驱动器和从驱动器没有时间试图将线的相同端驱动到相反的逻辑电平。

因此,通过相对时钟延迟的此配置且通过将主模块设计成在输出逻辑电平上正常跟随从模块,在驱动器之间不存在连接,而不管传输线延迟的影响。

换句话说,此方案的优点是,主机将总是在总线上开始驱动的第一方,因为它生成时钟且总线上的所有事件都是时钟事件的结果,将默认主机在总线上驱动相同的值,如已经存在的值。因此,可以保证,尽管信号的转变时间意味着在总线的两端处的时钟之间存在偏移,但在两侧都驱动总线的阶段(例如图5中的t1和t3)期间,不存在在相反方向上驱动的电流。在相反方向上驱动的电流将固有地导致来自线缆的低效的功率消耗和排放。

类似地,当配件开始驱动总线的负信号线时,它将仅在上升时钟沿到达它时这样做。此时,主机侧上的驱动器已经停止驱动(如在图5中的t2处指示的)。因此,即使当主机和配件在后续阶段将一个不同的逻辑值写在总线上时,也会保证在总线不存在驱动冲突,并且实现这无需复杂的时序机制。

在此例示的实施方案中,如下文更详细地描述的,主机模块和配件模块各自能够通过更改信号的模式来在总线上发送信息,如上文所描述的。

具体地,在此例示的实施方案中,其中配件具有正常操作方式和低功率操作方式,其中上文所描述的信号在低功率方式中使用,模式的一个改型可以由主机模块用作对配件的唤醒命令,且模式的另一改型可以由配件用以向主机发送唤醒请求。

图6是例示了在主机模块更改信号模式以向配件发送唤醒命令的周期期间总线的线52、54上的信号的时序图。

特别地,图6示出了在正信号线52和负信号线54的主端处的电压vpm和vnm,忽略了信号从总线的一端行进到另一端所花费的时间。具体地,图6(a)示出了在时钟信号ck32的编号为0-6的七个周期期间的电压vpm。此时钟信号通过主机模块被驱动到正信号线52上,并且所例示的模式被复制在时钟信号ck32的编号为0-6的七个周期的每个块中。

图6(b)、图6(c)和图6(d)示出了在时钟信号ck32的七个周期的三个连续的块期间总线的负信号线上的电压vnm。

图6(b)示出了在七个时钟周期的第一块中的情形,在该第一块期间,如参考图3描述的,当正信号线上的时钟信号为高(h)时,从模块在负信号线上将高(h)或低(l)值向上传输到主模块,如由向上的箭头↑指示的。当正信号线上的时钟信号为低(h)时,主模块在负信号线上将高(h)或低(l)值向下传输到从模块,如由向下的箭头↓指示的。在此块期间,由主模块所传输的巴克码值等于在时钟信号ck32的紧邻前一半周期内由从模块所传输的值。

为了向配件发送唤醒命令,主机对7位巴克码取逆。在此实施方案中,仅允许主机在7位巴克码的位槽(bit-slot)3处开始发送此命令。

因此,图6(c)示出了七个时钟周期的第二块的情形。如之前,当正信号线上的时钟信号为高(h)时,从模块在负信号线上传输高(h)或低(l)值,如向上的箭头↑指示的。当正信号线上的时钟信号为低(h)时,主模块在负信号线上传输高(h)或低(l)值,如由向下的箭头↓指示的。

在此第二块的时钟周期0-2期间,由主模块传输的值仍然等于在时钟信号ck32的紧邻前一半周期内由从模块所传输的值。

然而,在时钟周期3期间,主机开始唤醒命令,并且在此第二块的时钟周期3-6期间,由主模块所传输的值与在时钟信号ck32的紧邻前一半周期内由从模块所传输的值相反。

图6(d)示出了七个时钟周期的第三块的情形。如之前,当正信号线上的时钟信号为高(h)时,从模块在负信号线上传输高(h)或低(l)值,如向上的箭头↑指示的。当正信号线上的时钟信号为低(h)时,主模块在负信号线上传输高(h)或低(l)值,如由向下的箭头↓指示的。

在此情况下,由主模块所传输的值与在时钟信号ck32的紧邻前一半周期内由从模块所传输的值相反。

从低功率方式到正常操作的标称转变在图6(d)中示出的代码序列的结束时在主模块和从模块二者中发生。

多位代码序列的固定网格和用于改变代码的固定位置允许配件和主机准备响应,或执行从低功率方式到主动方式的转变,而对单个位错不敏感。

图7是例示了在配件模块更改信号模式以向主机发送唤醒请求的周期期间总线的线52、54上的信号的时序图。

特别地,图7示出了在正信号线52和负信号线54的主端处的电压vpm和vnm,忽略了信号从总线的一端行进到另一端所花费的时间。具体地,图7(a)示出了在时钟信号ck32的编号为0-6的七个周期期间的电压vpm。此时钟信号通过主机模块驱动到正信号线52上,并且所例示的模式被复制在时钟信号ck32的编号为0-6的七个周期的每个块中。

图7(b)、图7(c)、图7(d)和图7(e)示出了在时钟信号ck32的七个周期的四个连续的块期间总线的负信号线上的电压vnm。

图7(b)示出了在七个时钟周期的第一块中的情形,在该第一块期间,如参考图3描述的,当正信号线上的时钟信号为高(h)时,从模块在负信号线上传输高(h)或低(l)值,如由向上的箭头↑指示的。当正信号线上的时钟信号为低(h)时,主模块在负信号线上传输高(h)或低(l)值,如由向下的箭头↓指示的。在此块期间,由主模块所传输的值等于在时钟信号ck32的紧邻前一半周期内由从模块所传输的值。

在此例示的实施方案中,为了向主机发送唤醒请求,配件对7位巴克码取逆。在此实施方案中,配件仅可以在7位代码序列的开始处开始发送此请求。

因此将注意到,在例示的实施方案中,相对于由主机和由配件执行的7位代码序列的开始的更改开始点被偏移31/2位的位置,换言之,恰好是该7位代码序列的一半。

因此,图7(c)示出了七个时钟周期的第二块中的情形。如之前,当正信号线上的时钟信号为高(h)时,从模块在负信号线上传输高(h)或低(l)值,如向上的箭头↑指示的。当正信号线上的时钟信号为低(h)时,主模块在负信号线上传输高(h)或低(l)值,如由向下的箭头↓指示的。

从此第二块的开始开始,配件开始唤醒请求。因此,在第二块期间,在时钟ck32的每个时钟周期的第一半周期期间所传输的值与由巴克码所指示的值相反。

在此实施方案中,在第二块期间,主模块不采取动作,并且它继续传输由其拥有的巴克码生成器所生成的信号。这使对可能错误地发送模式转变信号的位错误不敏感。因此,在第三块(图7(d))的时钟周期0-2和第二块(图7(c))期间,由主模块所传输的值等于在时钟信号ck32的紧邻前一半周期内由从模块所传输的值相反的值。

响应于现在已经持续多于巴克码的单个循环的唤醒请求,除非通过系统中的某个其他控制重写,否则主模块传输唤醒命令,如上文所描述的。因此,在第三块的时钟周期3期间开始,主机开始传输是由其拥有的巴克码生成器所生成的信号的逆的信号。

因此,在第三块的时钟周期3-6和整个第四块(如图7(e)中示出的)期间,由主模块所传输的值再次等于在时钟信号ck32的紧邻前一半周期内由从模块所传输的值。

从低功率方式到正常操作的标称转变在图7(e)中示出的代码序列结束时在主模块和从模块二者中发生。

因此,在此实施例中,从低功率方式到正常操作的实际转变仅作为由主机发布的唤醒命令的结果发生。来自配件的唤醒请求仅是用于主机的信号,并且由主机来决定是否同意请求和何时同意请求。不存在响应于唤醒命令从配件到主机的特定响应。更确切地说,主机假设配件实际上将在接收到唤醒命令之后转变到正常操作方式。转变的任何失败可以通过稍后操作中的错误条件来检测。

在上文所例示的实施例中,在低功率方式下,配件和主机模块各自传输相应的位值模式,并且各自通过将那个相应的位值模式更改为特定替代的位值模式来发送信息。更具体地,配件和主机模块各自可以通过对相应的位值模式取逆来发送信息。

此方案可以被扩展以允许主模块和从模块发送替代消息,例如使用7位巴克码的旋转型式和它们的相应的补码(总共14个可能的代码序列,减去指定用于默认操作以及唤醒请求和唤醒命令的两个代码序列),其中保留了互相关属性,固有地保留了抵抗位错误的恢复力。

诸如这样的系统允许发送较宽范围的信息。例如,每个更改的位值模式可以表示按压配件上的特定按钮。

多个可能的信令位序列还可以被用来发送进入和离开低功率操作方式的不同方式的信号。例如,一个模式可以命令立即改变为低功率方式,另一模式可以请求临时请求改变为低功率方式,这仅在从主机收到又一模式时才被执行,可能地仅当在预定时间或预定数目的时钟周期内接收到此又一模式时才被执行。这将提供安全互锁,以防止由于数据错误或某个软件故障而造成意外进入低功率方式。

在由更改的位值模式所传输的信息涉及从配件的低功率操作方式转变为正常方式或主动方式(在此也被称为dai方式)的情况下,图8例示了此转变。

系统在此代码序列中的位槽6的低时钟阶段结束时从低功率方式转变到正常方式,如上文所描述的。

配件在lp方式中在检测到最后一个代码序列的位槽6中的vps的下降时钟沿时,使其lp输出驱动器98去激活,如正常它将做的那样,但之后永远不再激活它。在最后的半时钟周期内,时钟ck32(通过主模块而被主动地再现在正信号线52(dai+)上)为低,从而主模块主动地驱动负信号线54(dai-)。在此半周期中,待被驱动的巴克码值一直是零,因此主模块将dai-驱动为高。

同时地在此沿上,主模块激活其正常dai方式phy以驱动线,驱动差分逻辑零,即将dai+驱动为低且将dai-驱动为高。

当主模块接收最后一个输入时钟沿时,它使dai+和dai-二者上的驱动器去激活。因此,在半时钟周期的时段t0内,在驱动中存在一些重叠。

在此重叠之后,信号线不再被驱动到低功率方式逻辑电平,因此在短时间t1期间,它们转变到差分方式逻辑电平。这被执行而逻辑电平的极性没有任何改变,避免了逻辑故障的任何可能性。

然后,随着在某一时间t2之后由差分逻辑信号的一个符号长脉冲所发送的第一帧的开始的信号,接口开始正常操作,时间t2可以小于一个帧周期或可以大于一个帧周期,以允许用于某个系统初始化的时间。脉冲在每个帧周期被复制一次,且由从模块检测,该从模块之后照常执行同步和初始化的第一阶段。

图9例示了从正常方式到低功率方式的转变。

从正常方式到低功率方式的转变可以借助于经由从主机到配件模块中的控制寄存器的总线的寄存器写入,通过主机向配件发送信号。这可以是分组寄存器,即第一寄存器写入可以仅在经由总线从主模块接收到另一写入命令之后才具有操作效果。因此,转变到低功率方式在明确定义的时刻发生。

主机使用正常phy放在信号线上的最后一个符号可以是跟随分组开关的帧的第一符号的sync_0符号的差分逻辑0。因此,在示出为持续时间t0的此位周期中,vpm(dai-)将被驱动到低电压并且vnm(dai+)将被驱动到高电压。

为了避免转变时的故障,主低功率方式驱动器可以在此第一符号周期开始或结束或期间的某个点处被激活,以也将vpm驱动为低且将vnm驱动为高。这些驱动器通常将分别驱动为较低电压和较高电压,因此没有假逻辑电平被正常方式接收器或低功率方式接收器接收的危险。实际的驱动器电路也可以被设计成允许正常方式驱动器输出的此过驱动。

重叠的持续时间可以大于一个符号周期,但正常方式驱动器的输出将被维持为差分0电平,而不是转变到差分方式1,如在帧结构中可能是正常的。

因此,在某个间隔t1期间,输出将从差分方式逻辑电压电平转变到低功率方式逻辑电压电平,但在整个转变期间dai-将保持高电压且dai+将保持低电压。

在禁用正常方式驱动器之后,主驱动器可以被控制以允许在总线的正线上接受和传输ck32。此时钟(例如,32khz)可以与dai方式帧的末尾异步,因此在接收到第一正向沿之前可以存在延迟t2。可能方便的是,还允许一个或几个ck32周期用于系统彻底初始化。在正信号线上所传输的时钟的第一正半周期可以被认为巴克码循环的时钟周期数字1,在该情况下从模块将在时钟周期1和2内用逻辑高驱动负线,然后在时钟周期3和4内用低驱动负线,如先前的图中例示的。直到此第一正沿,配件驱动器是去激活的且dai-由主驱动器驱动,如与上文所描述的低功率方式操作一致,这在此第一正沿之后继续。

根据意在用途,进入和离开低功率方式可以由主机设备或由配件触发。例如,麦克风可以包括用于检测所接收的声音是否可能是语音或仅是背景噪声的电路系统。链路可以以低功率方式操作,除非怀疑有语音输入。麦克风可以包括可以识别特定用户或特定触发短语的电路系统。麦克风可以在可拆卸地连接到主机设备的单独配件中,或可以位于与主模块在共同的壳体内的从模块中,该从模块经由例如边缘连接器可拆卸地连接到该主模块或通过例如焊料连接而连接到该主模块。

上文的图2例示了一个实施方案,其中在正常方式下,数据可以从主机设备或主模块10传输到配件设备或从模块20,且从模块中的时钟生成器76可以由从数据总线50所接收的信号来恢复时钟。因此不需要单独的信号线来将时钟从主模块传达到从模块。然而,需要能够由所接收的数据流恢复时钟的时钟生成器。

图10例示了一个替代实施方案,其中在正常方式下,时钟在从主模块到从模块的信号线上传输,且该时钟可以被直接用来对传入的数据采样或在第二不同的信号线上传输数据。因此,不需要时钟恢复电路。

图10是例示了根据此替代实施方案的系统的一般形式的示意图。在此实施例中,主机设备或主设备110和配件设备140通过总线150连接。如同图2的情况,配件设备可以例如是从包含主机设备的产品可拆卸的较大的配件产品的一个部件(产品诸如图1中示出的一对耳机中的麦克风)。在这样的实施方案中,例如在包括如上文所讨论的usbtype-c连接器的实施方案中,总线150可以从主机设备或配件中的一个或两个可拆卸。替代地,配件可以是也包含主机设备的较大的产品中的一个部件(诸如,膝上型计算机中的麦克风)。在这样的实施方案中,总线150可以连接主模块和从模块。因此,总线可以沿着外部线缆延伸,或可以被包括在产品(诸如,膝上型计算机或平板计算机、电视等)的壳体内。

图10中示出的系统以与图2类似的方式以低功率方式操作,并且包括用于在低功率方式下使用的类似部件。

主机模块110在节点70处生成或接收时钟信号ck32,该时钟信号ck32可以具有任何方便的频率,但在此例示的实施方案中在32khz的频率处。在系统具有较高功率操作方式的情况下,相比于在那个较高功率操作方式期间施加到总线的时钟信号的频率,时钟信号ck32可以在显著更低的频率处。例如,在那个较高功率操作方式期间施加到总线的时钟信号可以具有例如48mhz的频率。在例示的实施方案中,时钟源70被设置在主机设备或主设备中。然而,还可以从更通常被认为用于其他目的的从设备的设备将时钟信号施加到总线。

时钟信号ck32的源70通过缓存器72连接到总线150的第一信号线152。因此,第一信号线152在低功率操作方式期间由主机用32khz的数字时钟信号主动地驱动。时钟信号可以具有标称50%的占空比,且为配件设备140提供32khz的时钟参考。

因此,配件设备中的模块具有连接到正信号线52的缓存器74。

主机设备110中的模块还包括用于在总线的第二信号线154上传输和接收数据的电路系统80,并且配件设备140包括用于在第二信号线154上传输和接收数据的电路系统82。

具体地,电路系统80包括控制器84,用于生成待被传输的数据和用于处理所接收的数据。待被传输的数据被传递通过缓存器控制器86和输出缓存器88,且被传递到连接到总线150的第二信号线154的一端子。所接收的数据通过相同的端子被传递到输入缓存器90和锁存器92,之后被传递到控制器84。

时钟信号ck32被传递到控制器84,且还被用来经由缓存器控制器86启用缓存器88,且被用来在不同的相应时间周期期间对用锁存器92缓存的输入信号采样,如下文所描述的,以使得主机模块在任何给定时间仅传输或接收。

配件中的电路系统82包括控制器94,用于生成待被传输的数据和用于处理所接收的数据。待被传输的数据被传递通过缓存器控制器96和输出缓存器98,且被传递到连接到总线150的第二信号线154的一端子。所接收的数据被传递通过相同的端子到输入缓存器100和锁存器102,之后被传递到控制器94。

所接收的时钟信号ck32s被传递到控制器94,且还被用来经由缓存器控制器96启用缓存器98,且被用来在不同的相应时间周期期间对用锁存器102缓存的输入信号采样,如下文所描述的,以使得配件模块在任何给定时间仅传输或接收。

因此,图10中示出的系统具有与图2中示出的系统相同的电路系统,用于在低功率方式下使用,且两个系统在低功率方式下的操作相同,如参考图3到图9中的一些或全部所描述的。

然而,在图10的系统中,在正常方式下,主模块110在输入160上生成或接收主位时钟bckm,并且经由驱动器72将那个时钟驱动到总线150的第一线152上。在从模块140处由输入时钟缓存器74接收该时钟信号,该输入时钟缓存器74之后为从设备的其他操作电路系统162提供从位时钟bcks。

总线150的第二线154被连接在主接收/传输缓存器160和从接收/传输缓存器162之间,该从接收/传输缓存器162可以在任一方向上传递数据,例如使用某种半双工方案。在总线的从端处,此数据由通过时钟bcks时钟控制的操作电路系统162中的一些接收或生成。

单独的信号线152和154被例示为单根导线,并且被连接到单输出缓存器或单输入缓存器,但在一些实施方案中,这些线中的任一个或两个可以包括一对导线,并且可以作为连接到差分输入缓存器或差分输出缓存器的差分信号线操作。

操作电路系统162可以包括某个时钟生成电路系统,用于提供在块162中所包括的或实际上在别处所包括的其他电路系统中使用的不同频率或相位的时钟,但此时钟生成器将接收与数据无关的输入时钟信号bcks,因此,相比于需要从周期性地嵌入在所接收的数据流中的同步脉冲或同步模式中提取位时钟电路或需要从连续数据流提取位时钟的电路,此简单得多。

因此,图10中示出的系统允许在正常操作方式期间在总线150的不同的线上传输时钟信号和数据信号。

因此,描述了一种在一些实施方案中允许经由双向有线通信线以低功率和/或低emi传送信息的系统。

对于许多应用,本发明的实施方案将被实施在dsp(数字信号处理器)、asic(专用集成电路)或fpga(现场可编程门阵列)上。因此,代码可以包括常规编程代码或微代码,或例如用于设立或控制asic或fpga的代码。代码还可以包括用于动态地配置可重新配置的装置(诸如,可再编程逻辑门阵列)的代码。类似地,代码可以包括硬件描述语言(诸如verilogtm或vhdl(超高速集成电路硬件描述语言))的代码。如本领域技术人员将理解,代码可以被分布在彼此通信的多个耦合的部件之间。在适当的情况下,还可以使用在现场可(再)编程模拟阵列或类似的模块上运行以配置模拟硬件的代码来实施所述实施方案。

注意,如在本文中使用的,术语“模块”应被用来指这样的功能单元或功能块,这样的功能单元或功能块可以至少部分地通过专用硬件部件(诸如自定义的电路系统)实施和/或至少部分地通过一个或多个软件处理器或在合适的通用处理器等上运行的适当的代码实施。模块自身可以包括其他模块或功能单元。可以由不需要同地协作的多个部件或子模块提供模块,并且模块可以被设置在不同的集成电路上和/或在不同的处理器上运行。模块可以被实施在单个集成电路上。

实施方案可以被实施在主机设备中,所述主机设备尤其是便携式和/或电池供电的主机设备,诸如移动电话、音频播放器、视频播放器、pda、移动计算平台例如膝上型计算机或平板计算机、和/或游戏设备。本发明的实施方案还可以被整体地或部分地实施在可附接到主机设备的配件中,例如在有源扬声器或头戴式受话器等中。

应注意,上文所提及的实施方案是例示本发明而不是限制本发明,并且在不偏离随附权利要求的范围的前提下,本领域技术人员将能够设计许多替代实施方案。词语“包括”不排除除了在权利要求中列出的那些元件或步骤之外的元件或步骤的存在,“一”或“一个”不排除多个,并且单个特征或其他单元可以实现权利要求中所列举的若干个单元的功能。权利要求中的任何附图标记或参考标注不应被解释为限制所述权利要求的范围。术语诸如“放大”或“增益”包括可能将小于1的缩放因子应用到信号。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1