通信电路及其控制电路的制作方法

文档序号:23350261发布日期:2020-12-18 16:55阅读:93来源:国知局
通信电路及其控制电路的制作方法

本发明涉及通信电路,尤其涉及具有至少两个使用相应的通信协议进行通信的通信单元的这种电路。本发明还涉及在这种通信电路中使用的控制电路。



背景技术:

通信电路通常使用给定的通信协议在通信接口上通信。可以与时钟信号同步地操纵待根据这种通信协议进行通信的数据,在这种情况下可以经由相应的数据和时钟通信节点在通信接口上建立并行数据和时钟路径。在此上下文下,数据可以包括控制数据。

通信电路得到广泛的使用。电路系统通常由需要彼此通信的电路子系统组成。示例电路子系统包括应用处理器和处理电路,例如操纵音频数据的音频应用处理器。当然,音频数据仅仅是可能需要在数据处理系统内通信的数据的一种示例类型。在具有外围输入/输出部件(诸如,传感器/换能器)的电路的上下文中,其他示例包括视频数据、音频数据、触觉数据和/或任何其他传感器/换能器数据。

这样的通信电路可以被实施在主机设备中的ic(集成电路)或其他电路系统上,该主机设备可以被认为是电气设备或电子设备。实施例包括便携式主机设备和/或电池供电主机设备,诸如移动电话、音频播放器、视频播放器、pda、移动计算平台(诸如,膝上型计算机或平板电脑)和/或游戏设备。

在被设计成支持多个通信协议的通信电路中,所需要的通信节点的数目尤其成为一个问题。例如,高级数字通信电路(例如,被实施在ic芯片上的)通常需要支持多种不同的通信协议,其中相关联的装置选择它们的子集(诸如,它们中的仅一个)。因此,在任一种应用中,这种电路可能仅需要使用其所支持的通信协议中的单个通信协议。在那种情况下,为最终未使用的一个或多个通信协议所设置的任何通信节点可能被认为是冗余的。

以集成电路为例,通信节点可以位于所涉及的通信电路的内部,在这种情况下,通信节点以及对应的通信路径的数目可能仅影响电路布局以及面积。然而,这样的通信节点可以是集成电路的外部节点,对应于连接引脚或接合垫/焊球。ic的持续小型化导致芯片尺寸减小以及芯片封装球数减少。因此,随着技术的发展,存在减少引脚数的压力。引脚数减少的潜在候选者是控制引脚以及数据引脚。

期望的是解决上面的问题,例如解决支持多个通信协议与减少所需的通信节点的数目之间的冲突。



技术实现要素:

根据第一方面,提供了一种通信电路,包括:n个通信节点,所述n个通信节点作为时钟候选节点,其中n≥2;n个通信单元,所述n个通信单元使用相应的通信协议进行通信,且所述n个通信单元被连接或能连接为经由相应的所述时钟候选节点接收相应的时钟信号,以用于根据所述n个通信单元的相应的通信协议进行通信;以及,控制单元,所述控制单元被配置为在判定操作中监视所述时钟候选节点,且取决于在所述时钟候选节点中的哪个时钟候选节点处检测到所接收的时钟信号来判定正在使用所述通信协议中的哪个通信协议,其中至少一个所述通信单元被连接或能连接为经由至少一个所述时钟候选节点根据其相应的通信协议来接收和/或发送数据,所述至少一个所述时钟候选节点不同于所述至少一个所述通信单元接收其相应的时钟信号所经由的时钟候选节点。

通过将所述通信单元布置成经由相应的不同时钟候选节点根据它们的相应的通信协议来接收相应的时钟信号以用于通信,可能的是,取决于在所述时钟候选节点中的哪个时钟候选节点处检测到所接收的时钟信号来判定正在使用所述通信协议中的哪个通信协议。这导致一种简洁的方法来判定正在使用哪个通信协议,且使得时钟候选节点能够在通信单元之间共享。

所述控制单元可以被配置为如果在用于所述通信协议中的一个特定通信协议的通信单元能连接以接收其相应的时钟信号所经由的时钟候选节点处检测到时钟信号,则判定正在使用该特定通信协议。

所述控制单元可以被配置为:启用或保持启用或连接以使用被判定为正在使用其通信协议的通信单元;和/或不启用、禁用、保持禁用或断开不同于被判定为正在使用其通信协议的通信单元的每一所述通信单元。

所述控制单元可以被配置为将被判定为正在使用其通信协议的通信单元连接至至少一个所述时钟候选节点,从而根据其相应的通信协议来接收和/或发送数据,所述至少一个所述时钟候选节点不同于该通信单元能连接以接收其相应的时钟信号所经由的时钟候选节点。

所述控制单元可以被配置为通过检测所述时钟候选节点中的一个或多个时钟候选节点处的信号边沿来监视所述时钟候选节点。所述控制单元可以被配置为基于在所述判定操作中在所述时钟候选节点中的所述一个或多个时钟候选节点处检测到多少个信号边沿(例如,通过检测这些节点中的哪个节点最先经历了例如给定数目的信号转换/信号边沿),来检测在所述时钟候选节点中的一个时钟候选节点处接收到时钟信号。

关于哪个时钟候选节点具有所述时钟信号的判定可能取决于所观察到的信号边沿的数目(用于不同节点的计数之间的比较)等。该判定还可能基于对计数值的过滤或其他数学运算。做出判定所花费的时间段会影响计数多少个信号边沿,且可以控制此时间段。类似地,也可以控制待计数的边沿的阈值数目。

所述控制单元可以被配置为在所述判定操作中对在所述时钟候选节点中的一个或多个时钟候选节点处所检测到的信号边沿进行计数,且如果在所述时钟候选节点处所检测到的信号边沿数的数目达到一个阈值,则检测到在该时钟候选节点处接收到时钟信号。例如,所述控制单元可以被配置为在所述判定操作中,如果在所述时钟候选节点中的一个时钟候选节点处所检测到的信号边沿的数目达到所述阈值之后,每一另外的时钟候选节点处所检测到的信号边沿的数目才达到所述阈值,则检测到在所述时钟候选节点中的所述一个时钟候选节点处接收到时钟信号。

所述控制单元可以被配置为在所述判定操作中对所述时钟候选节点中的一些或所有时钟候选节点处所检测到的信号边沿进行计数,且基于在针对那些时钟候选节点所计数的信号边沿的数目之间的比较或对针对那些时钟候选节点所计数的信号边沿的数目执行的数学运算,检测到在那些时钟候选节点中的一个时钟候选节点处接收到时钟信号。这样的“比较”可能足以排除基于例如存在的ddr数据信号的错误判定。

所述控制单元可以被配置为在所述判定操作中对在所述时钟候选节点中的一些或所有时钟候选节点处所检测到的信号边沿进行计数,且检测在那些时钟候选节点中检测到更高或最高数目的边沿的一个时钟候选节点处接收到时钟信号。

所述控制单元可以被配置为基于在对应于所述判定操作的判定周期中检测到多少个信号边沿来检测在所述时钟候选节点中的一个时钟候选节点处接收到时钟信号。

所述控制单元可以被配置为通过检测在至少另一所述时钟候选节点处未接收到时钟信号来检测在特定的时钟候选节点处接收到时钟信号。

每一通信单元可以被连接以经由一个或多个所述时钟候选节点根据其相应的通信协议来接收和/或发送数据,所述一个或多个所述时钟候选节点不同于该通信单元被连接以接收其相应的时钟信号所经由的时钟候选节点。

所述通信单元中的至少一个通信单元可以被连接以经由所述通信电路中不同于所述时钟候选节点的一个或多个通信节点根据其相应的通信协议来接收和/或发送数据。

所述控制单元可以被配置为在一个或多个后续的判定操作中重复所述监视和判定,以判定正在使用的通信协议是否已经改变。例如,所述控制单元可以被配置为如果确定关于正在使用哪个通信协议的现有判定不再是有效的,则在一个或多个后续判定操作中重复所述监视和判定。所述控制单元可以被配置为如果确定关于正在使用哪个通信协议的现有判定是正确的,则停止重复所述监视和判定。

例如,可能存在“锁定模式”。协议在通信期间可能具有特性特征,以确保协议仍然有效,如果未检测到这样的特征,则这可能指示协议已经改变,之后可以重复所述监视和判定。然而,如果在通信中检测到这样的特征,则可能无需重新启用或继续所述监视和判定。

所述控制单元可以被配置为如果判定正在使用的通信协议已经改变,则改变启用使用哪个通信单元或连接使用哪个通信单元。

所述控制单元可以被配置为基于指示所述通信协议已经停止使用或者未能进入正常操作或者未能获取同步的信号,重复所述监视和判定。

所述控制单元可以包括检测单元,所述检测单元能操作以在所述时钟候选节点中的一个或多个时钟候选节点处或在所述通信电路中不同于所述时钟候选节点的一个或多个通信节点处检测预定的信号签名,且所述检测单元能操作为如果检测到信号签名,控制判定操作何时发生和/或在该检测操作中监视哪些时钟候选节点。

所述通信协议中的一些或所有通信协议可能彼此不同。所述通信协议中的一些或所有通信协议可能彼此相同。

根据第二方面,提供了用于在通信电路中使用的控制电路,所述通信电路,包括:n个通信节点,所述n个通信节点作为时钟候选节点,其中n≥2;n个通信单元,所述n个通信单元使用相应的通信协议进行通信,且所述n个通信单元被连接或能连接为经由相应的所述时钟候选节点接收相应的时钟信号,以用于根据所述n个通信单元的相应的通信协议进行通信;其中至少一个所述通信单元被连接或能连接为经由至少一个所述时钟候选节点根据其相应的通信协议来接收和/或发送数据,所述至少一个所述时钟候选节点不同于所述通信单元接收其相应的时钟信号所经由的时钟候选节点,所述控制电路被配置为在判定操作中监视所述时钟候选节点,且取决于在所述时钟候选节点中的哪个时钟候选节点处检测到接收的时钟信号来判定正在使用所述通信协议中的哪个通信协议。

根据第三方面,提供了一种控制通信电路的方法,所述通信电路包括:n个通信节点,所述n个通信节点作为时钟候选节点,其中n≥2;n个通信单元,所述n个通信单元使用相应的通信协议进行通信,且所述n个通信单元被连接或能连接为经由相应的所述时钟候选节点接收相应的时钟信号,以用于根据所述n个通信单元的相应的通信协议进行通信;其中至少一个所述通信单元被连接或能连接为经由至少一个所述时钟候选节点根据其相应的通信协议来接收和/或发送数据,所述至少一个所述时钟候选节点不同于所述至少一个所述通信单元接收其相应的时钟信号所经由的时钟候选节点;所述方法包括在判定操作中监视所述时钟候选节点,且取决于在所述时钟候选节点中的哪个时钟候选节点处检测到接收的时钟信号来判定正在使用所述通信协议中的哪个通信协议。

根据第四方面,提供了一种计算机程序,当在通信电路上执行所述计算机程序时,所述计算机程序导致执行一种控制方法;所述通信电路,包括:n个通信节点,所述n个通信节点作为时钟候选节点,其中n≥2;n个通信单元,所述n个通信单元使用相应的通信协议进行通信,且所述n个通信单元被连接或能连接为经由相应的所述时钟候选节点接收相应的时钟信号,以用于根据所述n个通信单元的相应的通信协议进行通信;其中至少一个所述通信单元被连接或能连接为经由至少一个所述时钟候选节点根据其相应的通信协议来接收和/或发送数据,所述至少一个所述时钟候选节点不同于所述至少一个所述通信单元接收其相应的时钟信号所经由的时钟候选节点;所述控制方法包括在判定操作中监视所述时钟候选节点,且取决于在所述时钟候选节点中的哪个时钟候选节点处检测到接收的时钟信号来判定正在使用所述通信协议中的哪个通信协议。

根据第五方面,提供了一种(非暂时性)存储介质,在所述(非暂时性)存储介质上存储有上述第四方面的计算机程序。

附图说明

现在仅以实施例的方式参考附图,在附图中:

图1是体现本发明的通信电路的示意图;

图2是体现本发明的通信电路的示意图;

图3呈现了两个表格,指示可以如何利用图1和图2的通信节点;

图4和图5是体现本发明的通信电路的示意图;

图6是作为图4电路的一部分的一个详细实施方式的控制电路的示意图;

图7是图6电路的一部分的示例详细实施方式的示意图;

图8是图6电路的另一部分的示例实施方式的示意图;

图9是图6电路的另一部分的示例详细实施方式的示意图;

图10和图11是与体现本发明的方法有关的流程图;以及

图12是体现本发明的主机设备的示意图。

具体实施方式

实施方案涉及被配置为支持多个通信协议的通信电路,且涉及包括这种电路以及相关联的方法的设备/装置。这种通信电路可以在主机设备的icsoc(片上系统)中找到具体用途。

仅作为一个具体的运行实施例,是在音频领域可以采用的两个通信协议。或低功耗芯片间串行媒体总线是在基带或应用处理器与例如移动终端中的外围部件之间使用的标准化接口(www.mipi.org/specifications/mipi-slimbus)。提供了通用的综合音频接口以及可扩展架构,该可扩展架构可以被用于在多种类型的设备中启用音频特征和功能(www.mipi.org/specification/soundwire)。

典型地,同时支持标准的ic需要4个引脚(2个用于以及2个用于),或者如果支持双数据通道模式,则为6个引脚(3个用于以及3个用于)。因此,在ic芯片同时支持协议但是在最终应用中实际上仅需要一个协议的情况下,ic芯片引脚中的2个或3个在使用中是冗余的(从而是浪费的)。

本文中所公开的电路允许管理或控制如何使用通信节点(例如,引脚),使得可以减少所需的这种节点的总体数目(例如,引脚计数)。本文中所公开的技术允许有效地执行这样的管理或控制,从而相关联的总体开销相对适中。

概括而言,本文所采用的总体思想是通过通信协议来布置对通信节点的使用,从而每一通信协议都“查看”用于其时钟信号的不同的通信节点。可以根据所使用的协议接收时钟信号的那些通信节点可被视为时钟候选节点。通过监视时钟候选节点以尝试检测所接收到的时钟信号,从而可以判定正在使用哪个协议。然后,可以启用或连接(用于该通信协议的)有关的通信单元,且可以禁用(或保持不启用或断开)其他通信单元。

时钟信号的规则性质通常使得它能够被检测且与其他(例如,数据)信号区分开。这种规则信号的一个要素是信号边沿的连续且规则的产生,这将稍后在本文中加以利用。例如,可以预期的是,在与时钟信号同步地发送数据信号的情况下,在给定的时间段内出现的时钟边沿多于数据边沿。如上面所提及的,在本文中将数据信号视为包括除了时钟信号以外的所有信号(例如,控制信号)。

图1是通信电路100的示意图。通信电路100包括时钟候选节点ccn1和ccn2、数据节点dn1以及第一通信单元130和第二通信单元140。时钟候选节点ccn1和ccn2以及数据节点dn1可以被视为通信节点。

通信电路100可以被实施为集成电路,例如与其他电路(未示出)一起被实施在ic芯片上。节点ccn1、ccn2和dn1可以是这种ic芯片的外部节点,从而可以在(片上)通信单元130和140与其他(片外)通信电路(例如,与通信单元130或140相似但是设置在给定通信系统中的另一ic芯片上的通信单元)之间进行通信连接。

通信单元130和140使用相应的通信协议(在图1中被指示为p1和p2)通信。在本布置中,通信协议p1和p2彼此不同,但是在一些布置中,它们可能彼此相同(知晓正在使用两个相同的协议p1和p2中的哪个可以提供一些信息,这些信息可以被用于控制通信或某一其他功能)。每一通信协议都被配置为使得可以经由包括时钟通道以及一个或多个数据通道的接口通过该协议来传达信息。这样的通道可以被视为通信路径或通信连接。

将通信单元130作为代表实施例,提供了时钟输入c以及第一和第二数据输入/输出d1和d2连同缓冲器35以及接口电路36。时钟输入c经由缓冲器35被连接至接口电路36,从而向该接口电路36提供时钟输入c处所接收的时钟信号。数据输入/输出d1经由缓冲器35被连接至接口电路36,从而接口电路36可以经由该数据输入/输出来发送和/或接收数据信号。类似地,数据输入/输出d2经由缓冲器35被连接至接口电路36,从而接口电路36可以经由该数据输入/输出发送和/或接收数据信号。

通信单元140具有输入/输出c、d1和d2连同缓冲器45和接口电路46,所述输入/输出c、d1和d2分别对应于通信单元130中的那些输入/输出,所述缓冲器45和接口电路46分别对应于通信单元130中的缓冲器35和接口电路36。因此,省略了重复的描述。

接口电路36被配置用于根据通信协议p1通信,而接口电路46被配置用于根据通信协议p2通信。假定接口电路36和接口电路46被连接至通信电路100的其他电路(未示出),所述其他电路被配置为与根据相关协议所交换的信息合作操作。

时钟候选节点ccn1被连接至通信单元130的时钟输入c以及通信单元140的数据输入/输出d1。时钟候选节点ccn2被连接至通信单元130的数据输入/输出d1以及通信单元140的时钟输入c。数据节点dn1被连接至通信单元130的数据输入/输出d2以及通信单元140的数据输入/输出d2。

假定事先不知晓将使用通信协议p1和p2中的哪一个,通信电路100被配置为基于在哪个时钟候选节点ccn1和ccn2处接收到时钟信号来确定或判定(外部所连接的装置)正在使用哪个通信协议。当正在使用协议p1时,通信单元130经由时钟候选节点ccn1接收时钟信号,且通信单元130可以经由时钟候选节点ccn2和数据节点dn1发送/接收数据信号。然而,当正在使用协议p2时,通信单元140经由时钟候选节点ccn2接收时钟信号,且通信单元140可以经由时钟候选节点ccn1和数据节点dn1发送/接收数据信号。

考虑到通信电路100经由时钟候选节点ccn1或ccn2接收到有关的时钟信号,可以将通信单元130和140视为作为提供时钟信号(从而确定正在使用哪个通信协议)的外部主单元(未示出)的从单元操作。

在此注意,通信单元130和140被连接为从不同的时钟候选节点ccn1、ccn2接收用于它们的相应的通信协议的时钟信号。也就是说,就时钟路径而言,时钟候选节点ccn1、ccn2与协议p1、p2之间存在互相排斥(或一对一)的关系。这种互相排斥关系当然可以扩展到超出仅两个通信协议p1、p2(如图1中的)。例如,可以存在n个通信协议,具有n个对应的通信单元以及时钟候选节点,其中n是整数且n≥2。

这样称作时钟候选节点是因为,直至知晓正在使用哪个通信协议为止,可能在它们中的任一个处接收到时钟信号。一旦正在使用的通信协议操作,将经由时钟候选节点中的一个有关节点接收用于该协议的时钟信号,而另一个或另一些时钟候选节点可用于承载数据信号。实际上,在一些布置中,一个或多个这样的另外的时钟候选节点甚至可以用于另外的通信接口。本公开内容将被相应地理解。

在图1中,数据节点dn1以及对应的数据输入/输出d2被指示为是可选的。协议p1、p2中的每一协议可能仅需要单个数据通道,在这种情况下,时钟候选节点ccn1和ccn2可能足以满足根据那些协议的时钟信号以及数据信号的通信。在另一实施例中,可能通信协议p1和p2中的仅一个利用两个数据信道。在另外的布置中,一个或多个通信协议可能需要两个以上的数据信道,在这种情况下,可以提供一个以上的数据节点dn1(例如,数据节点dn1和dn2)。

通信协议p1和p2可以分别对应于上面所提及的协议,如已经解释的,可以用单个数据通道或多个数据通道来实施协议。当然,通信协议p1和p2的这些可能性仅是一个实施例,然而,为了易于理解例如关于图6和图7所描述的详细实施方式,稍后在本文中将返回参考它们。

数据输入/输出d在图1中被示出为能够输入和输出(接收和发送)数据信号。当然,取决于所涉及的应用,它们中的任一个或多个可以仅仅是数据输入或仅仅是数据输出。再次,本公开内容将被相应地理解。

应理解,基于如上面所提及的时钟信号的检测,提供了控制电路(尽管未明确示出)来确定或判定正在使用哪个通信协议。类似地,这样的控制电路可以控制在通信节点ccn1、ccn2和dn1与通信单元130和140之间进行哪些连接和/或控制启用通信单元130和140中的哪个。仅为了简单起见,从图1中省略了这些细节,但是稍后将在本文中更详细地考虑。

图2是通信电路200的示意图。除了提供三个(而非两个)通信单元之外,通信电路200类似于通信电路100。

因此,通信电路200包括时钟候选节点ccn1、ccn2和ccn3,以及第一通信单元230、第二通信单元240和第三通信单元250。再次,时钟候选节点ccn1、ccn2、ccn3可以被视为通信节点。在此,虽然没有提供与图1中的数据节点dn1等效的数据节点,但是将理解,除了时钟候选节点之外,还可以在图2中提供任何数目的这种数据节点。

通信单元230、240和250使用相应的通信协议p1、p2和p3进行通信,且以与图1中类似的方式被连接至(用于时钟信号和数据信号的)时钟候选节点ccn1、ccn2和ccn3。因此,基于通信电路100的操作将容易理解通信电路200的操作,且实际上为了简单起见,以简化形式示出了通信单元230、240和250。与另外的通信单元相比,每一通信单元期望经由不同的时钟候选节点接收用于其通信协议的时钟信号。因此,将基于在哪个时钟候选节点处检测到时钟信号来利用有关的通信单元和协议。

图3呈现了两个表格,总结不同的通信协议如何利用图1和图2的通信节点。图3(a)的表对应于图1,且图3(b)的表对应于图2。在每种情况下,(从高亮显示)可以看到,每一时钟候选节点被连接以接收用于仅一个有关通信协议的时钟信号。对于至少一个协议,该协议使用至少一个另外的时钟候选节点来承载数据信号。因此,协议之间存在一定程度的时钟候选节点的“共享”。

因此,概括而言,只要存在足够的时钟候选节点以及对应的连接,使得每一通信单元可以经由与另一个或另一些通信单元所利用的时钟候选节点不同的时钟候选节点接收用于其通信协议的时钟信号,然后通过检测在哪个时钟候选节点处从外部电路接收到时钟信号,就可以确定正在使用哪个通信协议。以这种方式,从外部电路采用哪个通信协议的意义上来说,不必事先知晓将提供哪个外部电路。

图4和图5是有益于理解实施图1的通信电路100中的控制的两种可能方式的通信电路300和400的示意图。因此,通信电路300和通信电路400都可以被视为通信电路100的详细实施方式,在通信电路100中明确地示出了上面所提及的控制电路。

首先看图4,通信电路300包括通信单元330和340以及如图1中的时钟候选节点ccn1和ccn2,通信单元330和340分别对应于通信单元130和140。因此,如关于图1所描述的判定或确定正在使用哪个通信协议(基于在时钟候选节点ccn1和ccn2中的哪个时钟候选节点处接收到时钟信号)的总体技术在此同样适用,且省略了重复的描述。

如同在图1中,在通信电路300中提供了仅两个通信单元330和340以及仅两个候选通信节点ccn1、ccn2。当存在两个以上这样的通信单元以及时钟候选节点时,类似的考虑也适用(回想这样的单元和节点的数目可以是n,其中n≥2)。为了简单起见,假定图4中不存在与图1中的数据节点dn1对应的数据节点。

通信电路300包括时钟检测单元360和直通单元(pass-throughunit)362,它们可以一起被考虑来控制使用通信单元330和340中的哪个,从而控制使用通信协议p1和p2中的哪个。时钟检测单元360被连接为监视在时钟候选节点ccn1和ccn2处所接收到的任何信号,且控制直通单元362。直通单元362被连接至时钟候选节点ccn1和ccn2,且还被连接至通信单元330和340的时钟和数据输入/输出。

直通单元362可操作,从而根据如图4中所指示的从时钟检测单元360所接收的控制信号ctrl,在时钟候选节点ccn1、ccn2与通信单元330的时钟和数据输入/输出之间或者在时钟候选节点ccn1、ccn2与通信单元340的时钟和数据输入/输出之间传递信号。

直通单元362还可以以类似的方式满足与任何另外的通信单元的附加连接,以及按照图1的用于任何数据节点(例如,dn1)与对应的数据输入/输出的附加连接。为了简单起见,如上面所提及的,图4中忽略了任何这些附加连接。

详细地,时钟检测单元360被配置为监视时钟候选节点ccn1和ccn2,且判定那些节点的中的哪个(如果有的话)接收时钟信号。下面将结合图6至图9考虑此功能的一种可能的详细实施方式,此功能包括一起监视两个时钟候选节点ccn1和ccn2。然而,在一些布置中,可能足够的是,监视例如时钟候选节点中的仅一个时钟候选节点(或者在存在两个以上时钟候选节点时,仅监视它们的子集)。例如,在如图4中存在仅两个时钟候选节点的情况下,可能足够的是,监视例如仅节点ccn1,且如果在该节点处未检测到时钟信号,则假定在节点ccn2处提供了时钟信号。

在本布置中,如果时钟检测单元360在时钟候选节点ccn1处检测到时钟信号,则时钟检测单元360判定正在使用通信协议p1,且借助于控制信号ctrl来控制直通单元362,从而按照图1将时钟候选节点ccn1和ccn2连接至通信单元330的时钟和数据输入/输出(在它们之间传送信号的意义上),而非用于通信单元340。另一方面,如果时钟检测单元360在时钟候选节点ccn2处检测到时钟信号,则时钟检测器单元360判定正在使用通信协议p2,且借助于控制信号ctrl来控制直通单元362,从而按照图1将时钟候选节点ccn1和ccn2连接至通信单元340的时钟和数据输入/输出。

其次看图5,通信电路400包括通信单元430和440(分别对应于通信单元130和140)以及如同图1中的时钟候选节点ccn1和ccn2。因此,再次,基于在时钟候选节点ccn1和ccn2中的哪个处接收到时钟信号来判定或确定正在使用哪个通信协议的总体技术在此同样适用,且省略了重复的描述。

如同在图1中,在通信电路400中提供了仅两个通信单元430和440以及仅两个候选通信节点ccn1、ccn2。然而,如较早所提及的,应理解,当存在两个以上这样的通信单元以及时钟候选节点时,类似的考虑适用。另外,假设图5与图4一样,不存在与图1中的数据节点dn1对应的数据节点。

通信电路400和通信电路100之间的主要差别在于,通信电路400包括时钟检测单元460以及启用单元462,可以将它们一起考虑来控制使用通信单元430和440中的哪一个。与时钟检测单元360类似,时钟检测单元460被连接以监视在时钟候选节点ccn1和ccn2处所接收的信号,且使用控制信号ctrl来控制启用单元462。

启用单元462被连接至通信单元430和440,且可操作以基于从时钟检测单元460所接收的控制信号ctrl来控制启用(或连接)它们中的哪一个。启用单元462(如果设置的话)可以包括与任何另外的通信单元的连接。

类似于时钟检测单元360,时钟检测单元460被配置为监视时钟候选节点ccn1和ccn2,且判定那些节点中的哪个节点接收时钟信号(如果有的话)。如果时钟检测单元460在时钟候选节点ccn1处检测到时钟信号,则它判定正在使用通信协议p1,且控制启用单元462通过启用信号en1按照图1启用通信单元430。另一方面,如果时钟检测单元460在时钟候选节点ccn2处检测到时钟信号,则时钟检测单元460判定正在使用通信协议p2,且控制启用单元462通过启用信号en2启用通信单元440。因此,不同于图4中,在图5中,在两种情况下,时钟候选节点ccn1、ccn2与通信单元430、440之间的连接均保持“连接”,但是通信单元430、440本身被启用或被禁用。

另外,还可以使用对应的启用信号en1和en2在图4的直通单元362中设置启用单元462的启用功能,从而有效地组合关于图4和图5所讨论的功能。此可以使用逻辑、门或三态缓冲器来实施。

图6是作为图4的时钟检测单元360和直通单元362的组合的一种详细实施方式的控制电路500的示意图。

控制电路500包括:边沿计数器510、520;判定逻辑单元530;优胜者锁存器单元(winnerlatchunit)540;验证器单元550;以及,与功能逻辑单元560和570;它们共同构成时钟检测单元580,且对应于图4的时钟检测单元360。控制电路500还包括与图4的直通单元362对应的直通单元570。

另外,读者应理解,为了使控制电路500替代地对应于图5的时钟检测单元460和直通单元462的组合,直通单元570可以用与启用单元462对应的启用单元代替。

边沿计数器510被连接,以从时钟候选节点ccn1接收信号且异步地对该信号的边沿(诸如,上升沿)计数。类似地,边沿计数器520被连接,以从时钟候选节点ccn2接收信号且异步地对该信号的边沿(再次诸如,上升沿)计数。当然,可以对下降沿而非上升沿计数。边沿计数器510和520这二者都被连接为通过复位信号rst_cnt来复位,从而它们可以一起被复位且因此从共同的时间开始点对信号边沿递增计数。边沿计数器510和520将指示所计数的边沿数目的相应计数信号c1和c2输出至判定逻辑单元530。

如较早所提及的,将在考虑通信协议p1和p2分别对应于协议的一个示例应用的情况下来描述图6的电路。因此,如果在时钟候选节点ccn1处检测到时钟信号,则应理解,正在使用协议作为协议p1(其中用于该协议的数据被期望经由时钟候选节点ccn2传送),且如果在时钟候选节点ccn2处检测到时钟信号,则应理解,正在使用协议作为协议p2(其中用于该协议的数据被期望经由时钟候选节点ccn1传递)。当然,在另外的布置中,可以使用另外的协议。

判定逻辑单元530被配置为针对计数信号c1和c2中的每一个,借助于分别对应于计数信号c1和c2的锁存信号l1和l2来指示该计数信号何时指示所计数的边沿的数目已经达到一个给定阈值。在本布置中,判定逻辑单元530被配置为当计数信号c1指示已经达到有关阈值时,将锁存信号l1从逻辑0切换至逻辑1。类似地,判定逻辑单元530被配置为当计数信号c2指示已经达到有关阈值时,将锁存信号l2从逻辑0切换至逻辑1。在此假定阈值对于计数信号c1和c2是相同的,但是在一些布置中,可以应用不同的阈值(或者如果关于正在使用哪个协议的判定是不清楚的,则可以使用自适应阈值)。

判定逻辑单元530被连接为也通过复位信号rst_cnt来复位,使得它可以与边沿计数器510和520同时被复位。在本实施例中,将假设当通过复位信号rst_cnt来复位时,锁存信号l1和l2这二者均采用逻辑0值。

图7是决策逻辑单元530的一个示例详细实施方式600的示意图,有益于理解该单元如何在本布置中起作用。实施方式600包括:触发单元610、620和630;与功能逻辑单元(与门)640和650;或功能逻辑单元(或门)660;以及,触发器670和680。

概括而言,详细实施方式600旨在当对应的计数信号c1、c2(最先)指示已经计数了7个信号边沿的阈值时,确定在时钟候选节点ccn1、ccn2中的一个处检测到时钟信号。

然而,考虑到通信协议p1和p2分别对应于协议的运行实施例,详细实施方式600也旨在考虑协议(p1)以最大ddr(双倍数据速率)数据运行的情况,即其数据信号以与其时钟信号基本相同的速率在逻辑0和1之间切换。在这种情况下,当最先在时钟候选节点ccn1处检测到7个信号边沿的阈值时,启用存在用于协议(p1)的时钟信号的(正确)判定,可能的是,如果之后重新开始边沿的计数(从而再次执行计数),则由于时钟与数据信号之间的细微时序差异,可能的是,最先在时钟候选节点ccn2处(即,在数据信号上)检测到7个信号边沿的阈值。在那种情况下,存在这样的风险,仅通过着眼于7个信号边沿的阈值,可能的是,将正在使用协议(p1)的(正确)判定逆转为正在使用协议的(错误)判定。图7的电路包括试图避免这种错误的判定逆转的功能。应理解,该功能有效地用于比较计数信号c1和c2且基于该比较进行操作。由计数信号所指示的计数结果通常可以被比较且可以在数学上进行运算,从而判定正在使用哪个协议。

另外,上面“计数”技术仅仅是用于检测ddr数据以及本文中所公开的其他功能的一种方便的技术。然而,当然可以使用专用的ddr检测电路来检测ddr数据。

触发单元610被配置为如果计数信号c1指示已经在时钟候选节点ccn1处计数了5个、6个或7个边沿,则输出逻辑1的ddr信号(以考虑到在时钟候选节点ccn2处存在ddr信号的情况)。触发单元620被配置为检测在时钟候选节点ccn1处是否已经接收到时钟信号,且如果计数信号c1指示已经计数了7个边沿,则输出逻辑1信号。触发单元630被配置为检测是否已经在时钟候选节点ccn2处接收到时钟信号,且如果计数信号c2指示已经计数了7个边沿,则输出逻辑1信号。否则,触发单元610、620和630输出逻辑0信号。

逻辑单元650(具有与功能)被连接,以(在反相输入处)接收从触发单元610所输出的ddr信号,且接收来自触发单元630的输出信号。因此,假如在时钟候选节点ccn2处计数了7个边沿之后,在时钟候选节点ccn1处计数了5个边沿,则逻辑单元650将逻辑1触发信号t2(即,具有上升沿)输出至触发器680的时钟输入,逻辑1触发信号t2将导致锁存信号l2从逻辑0切换至逻辑1(指示正在使用协议p2的判定)。否则,逻辑单元650输出逻辑0触发信号t2(即,不具有上升沿),该逻辑0触发信号t2不触发触发器680。

逻辑单元640(具有与功能)被连接,以接收从触发单元610所输出的ddr信号且接收来自触发单元630的输出信号,且将其输出逻辑信号输出至逻辑单元660。逻辑单元660(具有“或”功能)也接收来自触发单元620的输出信号,且将触发信号t1输出至触发器670的时钟输入。因此,如果在时钟候选节点ccn1处计数了7个边沿(即,在复位边沿计数器510之前),则逻辑单元660将输出逻辑1触发信号t1(即,具有上升沿),该逻辑1触发信号t1将导致锁存信号l1也具有逻辑1值(指示正在使用协议p1的判定)。否则,逻辑单元660输出逻辑0触发信号t1(即,不具有上升沿),该逻辑0触发信号t1不触发触发器670。注意,触发器670和680(或锁存器)在它们的d输入处被连接至逻辑“1”输入信号。

如果当在时钟候选节点ccn1处计数了5个、6个或7个边沿时,在时钟候选节点ccn2处计数了7个边沿(即,在ddr信号具有逻辑1值的情况下),逻辑单元640将输出逻辑1信号,该逻辑1信号也将使锁存信号l1为逻辑1(再次指示正在使用通信协议p1的判定)。这正是上面所提及的ddr情境,其中由于时序问题,恰好在时钟候选节点ccn1处出现7个边沿之前(即,在节点ccn1处的计数为5个、6个或7个,这包括为恰好在7个之前的情况),在时钟候选节点ccn2处计数了7个边沿。在这种情况下,(正确地)做出正在使用通信协议p1的判定,且通过将ddr信号(在这种情况下具有逻辑1值)馈送到逻辑单元650,防止了正在使用通信协议p2的(不正确)判定。

在此应理解,值7用作用于计数信号c1和c2这二者的示例阈值。

为了简单起见,在下文中将基于最先在哪个时钟候选节点处计数了信号边沿的阈值,关于图6来描述正在使用哪个通信协议的判定,而忽略上面所讨论的示例ddr情境。应理解,可以通过去除单元610、640、650和660且将单元620和630分别直接地连接至触发器670和680来在图7中实现此更简单的情境。

注意,触发器670和680这二者都被连接为在反相复位输入处接收复位信号rst_cnt,从而当借助于具有逻辑0值(或相应的下降沿)的复位信号rst_cnt进行复位时,锁存信号l1和l2这二者均采用逻辑0值。

返回至图6,优胜者锁存器单元540被配置为借助于分别对应于锁存信号l1和l2的启用信号e1和e2,指示锁存信号l1和l2中的哪个最先指示已经达到阈值,即,在递增计数至阈值(这里为7)方面的优胜者。在本布置中,优胜者锁存器单元540被配置为当锁存信号l1是从逻辑0改变至逻辑1的第一个信号时,将启用信号e1从逻辑0切换至逻辑1。类似地,优胜者锁存器单元540在此被配置为当锁存信号l2是从逻辑0切换至逻辑1的第一个锁存信号时,将启用信号e2从逻辑0切换至逻辑1。

启用信号e1和e2共同对应于图4中的控制信号ctrl。因此,当e1=1且e2=0时,直通单元570被控制,以将时钟候选节点ccn1和ccn2分别连接至根据通信协议p1进行操作的通信单元的时钟和数据输入/输出。另一方面,当e1=0且e2=1时,直通单元570被控制,以将时钟候选节点ccn1和ccn2分别连接至根据通信协议p2进行操作的通信单元的数据和时钟输入/输出。

优胜者锁存器单元540被连接为通过复位信号rst_all来复位。在上面的实施例中,将假设当借助于复位信号rst_all来复位时,启用信号e1和e2均采用逻辑0值。稍后将考虑复位信号rst_cnt和rst_all之间的关系。

图8是优胜者锁存器单元540的示例详细实施方式700的示意图。实施方式700包括:与功能逻辑单元710和720;触发器730和740;以及,或功能逻辑单元750。如上所述,优胜者锁存器单元540的总体目的是确保启用信号e1和e2中的仅一个具有逻辑1值,代表对应的时钟候选节点正在接收时钟信号(从而正在使用哪种通信协议)的判定或确定。注意,触发器730和740在它们的d输入处设置有逻辑“1”的输入。

逻辑单元710(具有与功能)被连接,以接收锁存信号l1且(在反相输入处)接收来自逻辑单元750的输出信号。逻辑单元720(具有“与”功能)被连接,以接收锁存信号l2且(在此,在反相输入处)接收来自逻辑单元750的输出信号。触发器730被连接,以在其时钟输入处接收逻辑单元710的输出信号且输出启用信号e1。触发器740被连接,以在其时钟输入处接收逻辑单元720的输出信号且输出启用信号e2。逻辑单元750(具有或功能)被连接,以接收启用信号e1和e2。

注意,触发器730和740这二者都被连接为在反相复位输入处接收复位信号rst_all,从而在借助于具有逻辑0值(或对应的下降沿)的复位信号rst_all复位时,启用信号e1和e2均采用逻辑0值。

因此,在初始状态中,当触发器730和740已经被复位时,启用信号e1和e2这二者均具有逻辑0值,且逻辑0值从逻辑单元750被反馈至逻辑单元710和720的反相输入。另外,假设触发器670和680也已经在初始状态下被复位,则锁存信号l1和l2这二者均具有逻辑0值。

在此状态中,借助于实施方式600的操作,锁存信号l1和l2中的无论哪一个最先导致具有逻辑1值(指示已经在对应的时钟候选节点处计数了阈值个的边沿,忽略了上面所提及的ddr情境),都将导致其逻辑单元710或720触发其触发器730或740,从而导致其启用信号e1或e2采用逻辑1值。启用信号e1或e2上的此逻辑1值将导致逻辑单元750(具有或功能)的输出变为逻辑1,这之后将防止触发器730和740这二者进一步都被触发,直至借助于如上面所提及的复位再次返回至初始状态为止。因此,优胜者锁存器单元540用于确保启用信号e1和e2中的仅一个采用逻辑1值,另一个具有逻辑0值。

边沿计数器510和520、判定逻辑单元530以及优胜者锁存器单元540的复位的时序影响了图6的控制电路500的总体操作。现在这将结合验证器单元550以及逻辑单元560和570来更详细地考虑。

再次返回至图6,验证器单元550被配置为使得重新访问由判定逻辑单元530以及优胜者锁存器单元540所做出的判定(即,启用信号e1和e2中的哪个具有逻辑1值,指示已经判定在哪个时钟候选节点处接收到时钟信号),以考虑到已经做出错误判定的可能性。

概括而言,边沿计数器510和520以及判定逻辑单元530在复位之间重复地执行如上面所描述的它们的操作。将操作的结果(即,锁存信号l1和l2中的哪个最先采用逻辑1值)与当前判定(即,启用信号e1和e2中的哪个具有逻辑1值)进行比较,从而查看它们是否一致。如果它们一致,则确认现有的判定。然而,如果它们不一致,则可能(或甚至很可能)的是,现有的判定是一个可能需要逆转的糟糕判定。为了进行此比较,验证器单元550被连接为接收锁存信号l1和l2以及启用信号e1和e2。

在前一种情况(一致)中,可以保留现有的判定,且ok输出信号被给定逻辑1值。在后一种情况(不一致)中,重新做出判定,且problem(问题)输出信号采用逻辑1值,有效地导致优胜者锁存器单元540(与边沿计数器510和520以及判定逻辑单元530一起)的复位,如将更详细地解释的。

图9是验证器单元550的示例详细实施方式800的示意图。实施方式800包括与功能逻辑单元810、820、830和840以及或功能逻辑单元850和860。

逻辑单元810(具有与功能)被连接以接收信号e1和l1,逻辑单元820(具有与功能)被连接以接收信号e2和l2,逻辑单元830(具有与功能)被连接以接收信号e1和l2,且逻辑单元840(具有与功能)被连接以接收信号e2和l1。逻辑单元850(具有或功能)接收逻辑单元810和820的输出信号且输出ok信号。逻辑单元860(具有或功能)接收逻辑单元830和840的输出信号且输出problem信号。

因此,如果当前判定具有逻辑为1的启用信号e1以及逻辑为0的启用信号e2(即,判定时钟候选节点ccn1接收时钟信号,且正在使用协议p1),且在重复边沿计数器510、520以及判定逻辑单元530的操作中,锁存信号l1最先采用逻辑1值,则逻辑单元810将采用逻辑1值(指示对于p1的判定为ok)且逻辑单元850将导致输出信号ok具有逻辑1值。然而,如果锁存信号l2最先采用逻辑1值,则逻辑单元830将输出逻辑值1(指示对于p1的判定有问题)且逻辑单元860将导致输出信号problem具有逻辑1值。

类似地,如果当前判定具有逻辑为1的启用信号e2以及逻辑为0的启用信号e1(即,判定时钟候选节点ccn2接收时钟信号,且正在使用协议p2),且在重复边沿计数器510、520以及判定逻辑单元530的操作中,锁存信号l2最先采用逻辑1值,则逻辑单元820将输出逻辑1值(指示对于p2的判定为ok)且逻辑单元850将导致输出信号ok具有逻辑1值。然而,如果锁存信号l1最先采用逻辑1值,则逻辑单元840将输出逻辑值1(指示对于p2的判定有问题)且逻辑单元860将导致输出信号problem具有逻辑1值。

再次返回至图6,逻辑单元560(具有与功能)被连接以(在反相输入处)接收problem信号且接收reset(复位)信号,且输出rst_all复位信号。逻辑单元570(具有与功能)被连接以(在反相输入处)接收problem信号、(在反相输入处)接收ok信号且接收reset信号,且输出rst_cnt复位信号。

假设problem信号以及ok信号的默认状态(除非被激活)为逻辑0(如从图9显而易见的)且reset信号的默认状态为逻辑1,则rst_all和rst_cnt复位信号的默认状态为逻辑1(从图7和图8中的触发器的反相输入可以看出,这不会导致复位)。

如果使ok信号采用逻辑1值,则将使rst_cnt信号具有逻辑0值,这将使得边沿计数器510和520以及触发器670和680复位(将信号c1、c2、l1和l2归零,从而它们都具有逻辑0值),以使得ok信号返回至逻辑0值且边沿计数器510、520以及判定逻辑单元530可以重复它们的操作。这样,验证器单元550可以重复地验证所做出的判定。

如果使problem信号采用逻辑1值,则将使rst_cnt和rst_all信号这二者均具有逻辑0值,这将使边沿计数器510和520、触发器670和680复位(将信号c1、c2、l1和l2归零)且使触发器730和740复位(将信号e1和e2归零),使得可以重复上面所描述的总体操作且重新做出判定。

在任何时候,reset信号都可以被给定逻辑0值,以使得复位控制电路500复位,除了上面的现有的判定存在问题的情况之外(再次,在这种情况中,将导致rst_cnt和rst_all信号这二者都具有逻辑0值)。

图10是方法900的示意图,该方法900可以由通信电路300在将图6的控制电路500及如关于图7至图9所描述的其元件的详细实施方式纳入考虑的情况下来执行。

方法900包括步骤s2至s14。步骤s2、s4、s6、s10和s12例如可以由控制电路500本身执行。

在步骤s2中,监视时钟候选节点(诸如,节点ccn1和ccn2)。在此初始状态中,假定图6中的信号l1、l2、e1和e2具有逻辑0值。该方法行进至步骤s4,在步骤s4中,基于所述监视在时钟候选节点中的一个处检测到时钟信号,以判定正在使用哪个通信协议(诸如,通信协议p1或p2)。此对应于图6中的锁存信号l1和l2中的一个最先采用逻辑1值。

然后,该方法行进至步骤s6,在步骤s6中,“锁存”关于正在使用哪个协议的当前判定,这对应于由于锁存信号l1和l2中的一个最先采用逻辑值1而导致图6中的启用信号e1和e2中的一个采用逻辑1值。然后,该方法行进至步骤s8,在步骤s8中,所涉及的通信电路根据经锁存的协议操作。这对应于图6中的直通单元570基于启用信号e1和e2而在时钟候选节点ccn1、ccn2与用于所判定的通信协议的有关通信单元(图6中未示出)之间传送信号。

然后,该方法行进至步骤s10,在步骤s10中,确定关于正在使用哪个协议的当前判定是否仍然有效。这可以对应于图6的验证器单元550的操作,因此可以包括如步骤s2中有效地监视时钟候选节点,以启用锁存信号l1和l2的新值,所述新值可以与启用信号e1和e2进行比较。然而,步骤s10的验证过程还可以包括另外的功能,例如以实施关于改变哪个协议被确定为正在使用的一些“惯性”。这种另外的功能可以包括例如查看(例如,在非时钟候选节点上)所接收/发送的数据,或者查询一段时间内的趋势。

如果确定关于正在使用哪个协议的当前判定仍然是有效的(s10,是),则该方法返回至步骤s10且所涉及的通信电路继续根据经锁存的协议操作。因此,此是在假设所判定的协议是正确协议的情况下的系统理想地稳定的状态,其中重复步骤s10的验证,例如定期地或间或地或在一定时间段内。

然而,如果确定关于正在使用哪个协议的当前判定不再是有效的(s10,否),则该方法行进至步骤s12。

在步骤s12中,清除关于正在使用哪个协议的经锁存的判定,且该方法行进至步骤s14,在步骤s14中,控制所涉及的通信电路停止根据先前经锁存的协议的操作。此对应于图6中的启用信号e1和e2这二者都采用逻辑值0。然后,该方法返回至步骤s2,如同该方法是第一次开始一样,其中图6中的锁存信号l1和l2也再次具有逻辑值0。

尽管未在图10中示出,但是在任何时间都可以使用reset信号来复位控制电路500,这对应于返回至步骤s2,如同是如上面所提及的第一次一样。此可以对应于步骤s10中的“否”判定,其中reset信号被用于指示关于正在使用哪个协议的当前判定不再是有效的。同样,在任何时间都可以禁用所涉及的通信电路,在这种情况下方法900可以终止。

图11是方法900的步骤s4的详细实施方式的示意图。此实施方式中的步骤s4包括步骤s42至s48。

在步骤s42中,边沿计数器(诸如,图6的边沿计数器510和520)的计数器值被复位,然后该方法行进至步骤s44,在该步骤s44中,使用边沿计数器对每一时钟候选节点在这种节点处经历的信号边沿进行计数。该方法然后行进至步骤s46,在步骤s46中,等待直至计数器中的一个达到一个给定阈值为止。直至此发生(s46,否)为止,在步骤s44中继续计数。一旦计数器中的一个达到该给定阈值(s46,是),则在步骤s48中判定当前使用的协议(即,基于哪个时钟候选节点的计数器最先达到该给定阈值)。

另外,返回至图10,按照图6在步骤s10中可执行的重复的监视和判定不需要在所涉及的通信电路的全部操作期间继续。例如,如果给定数目的重复未要求方法行进至步骤s12,则方法900可以终止,其中通信电路继续根据经锁存的通信协议进行通信而不需要继续验证。如果之后发现根据经判定的通信协议进行的通信失败(例如,未发现通信中的给定签名或模式,或者应用级别存在故障),则方法900可以在步骤s2或s10处重新开始。

另外,使用协议,可能的是,在开始根据该协议的“正常”通信之前,在数据线上进行逻辑转换而无需时钟线切换。在这种情况中,如步骤s10中反复地验证判定的能力是有用的(例如,以操纵该协议中的checkingdataline状态)。

如先前所提及的,本文中所公开的通信电路(以及控制电路)可以被实施在主机设备中。图12是电气或电子设备1000的示意图,电气或电子设备1000可以被视为这样的主机设备。设备1000包括本文中所公开的通信电路和控制电路中的任何一个。

本发明的一个优点是,所描述的通信电路的用途可以被设置为设备上所设置的唯一通信接口,而不需要任何附加的引脚或通信控制设备。例如,上面的控制电路可能实际上对于通信接口而言表现为不可见的,其中外部设备仅根据给定协议进行操作且本地设备通过“自动地”检测该协议(不需要并行控制数据通道)以及根据该协议通信来做出响应。

本领域技术人员将认识到,上文所描述的装置(电路)和方法的一些方面可以具体化为例如位于非易失性载体介质(诸如,磁盘、cd-rom或dvd-rom、程序化存储器诸如只读存储器(固件))上或位于数据载体(诸如,光学信号载体或电信号载体)上的处理器控制代码。例如,控制电路(诸如,图6的控制电路500)可以被实施为基于处理器控制代码操作的处理器。

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

本发明的一些实施方案可以被布置为音频处理电路的一部分,例如可以设置在如上面所讨论的主机设备中的音频电路(诸如,编解码器等)。根据本发明的一个实施方案的电路或电路系统可以被实施为集成电路(ic),例如在ic芯片上。在使用中,一个或多个输入或输出换能器可以被连接至集成电路。

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

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