背景技术:
本文所述实施方案涉及集成电路领域,并且更具体地涉及用于在集成电路之间通信的通信电路。
相关领域的描述
计算系统可包括一个或多个片上系统(soc),该一个或多个片上系统可将诸如应用执行、图形处理和音频处理等多个不同功能集成到单个集成电路上。利用单个集成电路中所包括的多个功能,移动计算系统(诸如平板电脑)中的芯片数量可保持很低,这就例如可降低装配成本并减小用于此类移动计算系统的形状因数。
各种计算系统可包括多个电压域,即由不同电源供电的不同电路,这些电源可具有不同电源电压电平和/或不同共模电压电平(通常被称之为“地参考”、“电压地端”或简称为“地”)。在一些系统中,为了从一个电压域中的soc或其他类型的集成电路(ic)传送到另一电压域中的ic,通信信号必须通过电平位移器,即设计用于将来自第一电压域的信号转换成其他电压域中的等效信号的电路。在各种实施方案中,电平位移器的一些缺点在于消耗附加电力,占用电路板或ic上的空间以及增加被电平移位的信号的延时。
技术实现要素:
本发明公开了通信电路的各种实施方案。广义地讲,本公开设想了一种系统、一种装置和一种方法,其中该系统可包括多个单元,其中多个单元中的每个单元具有相应的共模电压端子、相应的通信上部端子和相应的通信下部端子。多个单元中的第一单元可被配置为在第一单元的相应的通信上部端子上生成第一多个电流,其中所述第一多个电流中的每个电流对应于第一多个位中的相应位。多个单元中的第二单元可被配置为在第二单元的相应的通信下部端子上接收第一多个电流并且在接收第一多个电流期间保持第二单元的相应的通信下部端子处的电压电平。电压电平可等于第二单元的相应共模电压端子的共模电压。
在另一个实施方案中,第一单元的相应供电电压端子可耦合到第一电源的正极端子,并且第二单元的相应的共模电压端子可耦合到第一电源的负极端子。在另一个实施方案中,第二单元可被进一步配置为在第二单元的相应的通信下部端子上生成第二多个电流,其中第二多个电流中的每个电流对应于第二多个位中的相应位。
在一个实施方案中,第一单元可被进一步配置为在第一单元的相应的通信上部端子上接收第二多个电流并且在接收第二多个电流期间保持第一单元的相应的通信上部端子的相应电压电平。相应电压电平可等于第一单元的相应供电电压端子的供电电压电平。
在另一个实施方案中,第二单元的相应的通信上部端子耦合到多个单元中的第三单元的相应的通信下部端子。第三单元可被配置为在第三单元的相应的通信下部端子上接收第一多个电流并且在接收第一多个电流期间保持第三单元的相应的通信下部端子的相应电压电平。相应的通信下部端子的相应电压电平可等于第三单元的相应共模电压端子的共模电压。
在另一个实施方案中,第一多个位可包括针对第二单元的至少一个命令。在另一个实施方案中,第一多个位中的每个位可对应于时钟信号的相应逻辑状态。
附图说明
下面的具体实施方式将参照附图进行描述,现在对附图进行简要说明。
图1示出了具有单个电池单元的电池管理系统的实施方案。
图2示出了电池管理电路的框图的实施方案。
图3示出了具有多个电池单元的电池管理系统的实施方案。
图4示出了用于通信电路的实施方案的时钟电路。
图5示出了用于通信电路的实施方案的数据收发器电路。
图6示出了用于跨电压域传输命令的方法的实施方案的流程图。
图7示出了用于跨电压域传输对命令的响应的方法的实施方案的流程图。
尽管本公开容易作出各种修改形式和替代形式,但附图中以举例的方式示出并将在本文中详细描述其具体实施方案。然而,应当理解,附图及具体实施方式并非旨在将本公开限制于例示的特定形式,而正相反,其目的在于覆盖落在由所附权利要求书限定的本公开的实质和范围内的所有修改形式、等同形式和替代形式。本文所使用的标题仅用于组织的目的,并非意在用于限制说明书的范围。如在整个专利申请中所使用的那样,以允许的意义(即,意味着具有可能性)而不是强制的意义(即,意味着必须)来使用字词“可能”。类似地,字词“包括”和“包含”意味着包括但不限于。
各种单元、电路或其他部件可被描述为“被配置为”执行一项或多项任务。在此类上下文中,“被配置为”是一般表示“具有”在操作期间执行一个或多个任务的“电路”的结构的宽泛表述。因此,单元/电路/部件可被配置为即使在单元/电路/部件当前未接通时也执行所述任务。通常,形成与“被配置为”对应的结构的电路可包括硬件电路。类似地,为了描述中方便,可将各种单元/电路/部件描述为执行一项或多项任务。此类描述应当被解释成包括短语“被配置为”。表述被配置为执行一项或多项任务的单元/电路/部件明确地旨在对该单元/电路/部件不援引对35u.s.c.§112第f段的解释。更一般地,对任何元件的表述都明确旨在不调用35u.s.c.§112第f段针对该元件的解释,除非特别表述了“用于……的装置”或“用于……的步骤”的语言。
具体实施方式
便携式设备可利用一个或多个电池单元来向该设备的电路提供电力。每个电池单元包括能够向一个或多个电路提供电压和电流的正端子和负端子。在一些设备中,电池管理电路可用于监测和管理电池单元的性能。一些此类设备可使用单个管理电路来管理电池单元,而其他设备可针对每个电池单元使用一个管理电路。在使用多个电池管理电路的情况下,每个电路可仅从其正在监测的电池单元接收电力。向每个电池单元提供专用管理电路可提供优势,诸如允许电路邻近单元的封装或甚至在单元的封装内放置。然而,专用管理电路可使管理电路之间的通信成为问题,这是因为在任何给定时间电池单元可具有不同电压电平。此外,串联布置的电池单元将导致每个耦合的管理电路具有与其他管理电路不同的共模电压电平。此类问题可能需要在两个电池管理电路之间针对电平位移信号的附加电路。
本文公开了一种通信电路,其可使得信号在无需附加电路进行中间电平位移的情况下在两个或更多个管理电路之间行进,从而允许每个管理电路在其相应电压域内处理信号。本发明所公开的通信电路可提供一种用于启用在多个电压域中电路之间的双向通信的方法。
需注意,尽管本文使用电池管理电路来例示本文公开的概念,但这些概念也可适用于其他类型的电路。例如,这些概念可适用于诸如处理器和存储器、传感器和控制单元、输入设备和计算系统等的电路,或需要通信信道的任何两个或更多个电路。
本公开中使用参考ic设计通用的许多术语。为了清晰起见,除非另行指出,这些术语中的一些术语的预期定义如下。
金属氧化物半导体场效应晶体管(mosfet)描述了一种可用于现代数字逻辑设计的晶体管。mosfet被设计为两个基本类型的n沟道和p沟道之一。当大于晶体管阈值电压的正电压施加于栅极和源极之间时,n沟道mosfet在源极和漏极之间打开导电路径。当大于晶体管阈值电压的电压施加于漏极和栅极之间时,p沟道mosfet打开导电路径。
互补mosfet(cmos)描述了一种利用n沟道和p沟道mosfet混合设计而成的电路。在cmos设计中,n沟道和p沟道mosfet可被布置成使得mosfet栅极上的高电平将n沟道晶体接通,即打开导电路径,并使p沟道mosfet关断,即关闭导电路径。相反地,mosfet栅极上的低电平使p沟道接通并使n沟道关断。尽管在本文所述示例中使用cmos逻辑部件,但需注意,任何适当逻辑过程可用于本文所述实施方案中描述的电路。
需注意,“逻辑1”、“高”、“高状态”或“高电平”涉及大到足以接通n沟道mosfet并关断p沟道mosfet的电压,而“逻辑0”、“低”、“低状态”或“低电平”涉及小到足以关断n沟道mosfet并接通p沟道mosfet的电压。在其它实施方案中,不同技术可带来“低”和“高”的不同电压电平。
还需注意,如本文所用,术语“共模电压”涉及施加于接地节点或给定电路的端子的电压。“共模电压”也可称为“接地参考”、“电压地”或相对于给定电路简称为“地”。具有不同共模电压的两个电路可包括另外的电路,诸如电平位移电路,以便共享典型电压驱动信号。
在本文举例说明和描述的实施方案中,可采用cmos电路。然而,在各种其他实施方案中,可采用其他适当技术。
图1中示出包括电池和电池管理电路的系统的框图。系统100包括电池(batt)101、电池管理电路(bmc)102、传感器元件(sense)103和负载105。系统100可对应于诸如膝上型计算机、智能电话、平板电脑或可穿戴设备等便携式计算系统的一部分。
电池101可为单个电池单元或耦合在一起以产生单个输出电压的多个电池单元。在各种实施方案中,电池101可为可再充电的或一次性的。在本实施方案中,电池101向负载105和bmc102提供电力。
bmc102通过测量并跟踪由电池101向负载105所供给的电流来管理电池101的性能。如果电池101为可再充电的,则bmc也可测量并跟踪充电电流到电池101中。bmc101可保持关于电池101的可操作或统计信息,诸如使用/剩余电量、供给的平均电流、供给的峰值电流、电池101已经历的充电循环数量,以及当前充电循环所经过时间。bmc102可通信耦接至系统100中的处理器(未示出)以接收来自处理器的命令并向处理器提供保持的电池信息。
bmc102利用传感器元件103来测量电流。传感器元件103可为电阻器、电感器或能够感测在供电线路中从电池101流到负载105的电流的方向和大小的其他元件或电路。bmc102可测量传感器元件103任一侧上的电压并将电压测量值转换为电流的对应大小和方向。
bmc102还使fet104接通和关断。fet104可用作电源开关以允许电流从电池101传送到负载105或禁用负载105中所包括的电路。在可再充电系统中,bmc102还可使fet104接通以允许电池101再充电。来自电池101的电流可流过传感器元件103,无论fet104是否接通,以便从电池101供电或对电池101进行充电。尽管将fet104举例说明并描述为场效应晶体管,但在其他实施方案中,fet104可被实现为双极结型晶体管(bjt)、结型栅极场效应管晶体管(jfet)或任何其他适当类型的晶体管。在一些实施方案中,fet104可对应于多个晶体管。
负载105表示从电池101接收电力的任何一个或多个电路。在各种实施方案中,负载105可为单个ic、整个便携式计算设备或计算设备的一部分。在电池105可再充电的实施方案中,负载105包括用于将再充电电流中继至电池101的电路。
需注意,图1的系统100仅仅为示例。其他实施方案可包括更多部件。例如,bmc102可测量多于一个传感器元件,以便监测从电池101到多个负载的多个电源线路。
移向图2,其示出了电池管理电路(bmc)的实施方案的框图。在例示的实施方案中,bmc200包括处理器201,其耦接至存储块202、电池管理单元204、通信块205、时钟管理单元206,所有这些部件通过总线210耦接。另外,时钟发生器207可耦接至时钟管理单元206并将一个或多个时钟信号212提供至bmc200中的功能块。在一些实施方案中,bmc200对应于图1中的bmc102。
在各种实施方案中,处理器201可表示执行计算操作的通用处理器。例如,处理器201可为诸如嵌入式处理器的中央处理单元(cpu)、微控制器、专用集成电路(asic)或现场可编程门阵列(fpga)。在一些实施方案中,处理器201可包括多个cpu内核并且可包括一个或多个寄存器文件和存储器。
在各种实施方案中,处理器201可实现任何适当指令集架构(isa),诸如armcortex、powerpctm、x86isa或它们的组合。处理器201可包括允许处理器201经由总线210向其他功能块(例如存储块202)传送的一个或多个总线收发器单元。
存储块202可包括任何适当类型的存储器,诸如动态随机存取存储器(dram)、静态随机存取存储器(sram)、只读存储器(rom)、电可擦可编程只读存储器(eeprom)、闪存存储器、铁电随机存取存储器(feram)、电阻式随机存取存储器(rram或reram)或磁阻式随机存取存储器(mram)。一些实施方案可包括单个存储器,诸如存储块202,并且其他实施方案可包括多于两个存储块(未示出)。在各种实施方案中,存储块202可被配置为存储可由处理器201执行的程序指令,存储待处理的数据诸如图形数据,或它们的组合。
电池管理单元204包括用于管理耦接至bmc200的电池的性能的电路。电池管理单元204可包括用于测量传感器(例如图1中的传感器元件103)的电压电平的一个或多个模数转换器(adc)。电池管理单元204可包括用于测量温度、测量电荷/库仑,并控制耦合电池充电的附加电路。
通信块205包括用于与其他ic通信的电路。通信块可包括用于支持多个通信协议的电路,例如内部集成电路(i2c)、通用异步接收器/发送器(uart)和串行外围接口(spi)。此外,通信块205包括对允许信号跨两个或更多个电压域被传输和接收的通信协议的支持。附加协议可提供两个或更多个bmc之间的通信支持,每个bmc耦合至独立电池并由独立电池进行供电。下文将进一步详细解释附加通信协议。
时钟管理单元206可被配置为启用、配置并监测一个或多个时钟源的输出。在各种实施方案中,时钟源可位于时钟发生器207、通信块205中,位于时钟管理单元206内,位于bmc200内的其他块中,或来自通过一个或多个输入/输出(i/o)引脚耦合的外部信号。在一些实施方案中,时钟管理206在其分布在整个bmc200之前能够配置所选时钟源。时钟管理单元206可包括用于使内部时钟源同步于外部时钟信号的电路。
时钟发生器207可为bmc200内的独立模块或者可为时钟管理单元206的子模块。一个或多个时钟源可包括在时钟发生器207中。在一些实施方案中,时钟发生器207可包括pll、fll、dll、内部振荡器、用于外部晶体的振荡器电路等。一个或多个时钟信号输出212可向bmc200的各种功能块提供时钟信号。
系统总线210可被配置作为一个或多个总线,以将处理器201耦接至bmc200内的其他功能块,例如存储块202和i/o块203。在一些实施方案中,系统总线210可包括耦接至一个或多个功能块的接口,这些接口使得特定功能块通过总线进行通信。在一些实施方案中,系统总线210可允许功能块之间的数据移动和交易(即,请求和响应),而无需处理器201的干预。例如,通过i/o块203接收的数据可直接存储到存储块202。
需注意,图2所示的mbc仅仅为示例。在其它实施方案中,根据旨在用于bmc的特定应用,不同功能块和功能块的不同配置是可能的。
转到图3,其示出了具有多个电池单元的电池管理系统的框图的实施方案。系统300的例示的实施方案包括电池301a-c、电池管理电路(bmc)302a-c、传感器元件(sense)303、场效应晶体管(fet)304、负载305和主机320。每个bmc302包括对应的时钟电路310和数据电路312。系统300还包括信号主机时钟325、主机数据327、芯片对芯片通信(comms)时钟330ab和330bc、芯片对芯片通信数据332ab和332bc。类似于图1的系统100,系统300可对应于诸如膝上型计算机、智能电话、平板电脑或可穿戴设备的便携式计算系统的一部分。
电池301a-c向负载305中所包括的电路提供电力。在本实施方案中,电池301a-c是可再充电的,而在其它实施方案中,它们是一次性的。电池301a-c串联布置并且电池301a在本文中可被称为“底部单元”,电池301b被称为“中间单元”,并且电池301c被称为“顶部单元”。在一些实施方案中,如图所示,每个单元可直接向负载305的至少一部分提供电力,而在其它实施方案中,到负载305的电力可经由串联的所有电池301a-c提供至负载。负载305表示从电池301a-c接收电力的任何电路并且可对应于用于便携式计算系统的任何数量的电路和设备。
bmc302a-c管理每个对应电池301a-c的性能。换句话讲,bmc302a管理电池301a,bmc302b管理电池301b,并且bmc302c管理电池301c。每个bmc302a-c从bmc正监测的相应电池301a-c接收电力。由于电池301a-c串联布置,因此每个bmc302a-c可以不同供电电压电平以及不同的共模电压电平操作。例如,用于bmc302b的共模电压电平与用于bmc302a的供电电压电平相同。同样,用于bmc302b的供电电压电平与bmc302c的共模电压电平相同。
bmc302a-c可管理它们相应电池的类似于图1中bmc102描述的性能,即通过测量并跟踪提供给负载305的电流和/或电荷。每个bmc302a-c还可测量并跟踪进入到电池301a-c中的再充电电流。bmc302c利用传感器元件303来测量电流/电荷。就传感器元件103而言,传感器元件303可为能够感测电流的方向和大小的部件或电路。
类似于图1中fet104的描述,bmc302c使fet304接通和关断。fet304可用作电源开关,以允许电流从电池301a-c传送到负载305。在fet304打开时,来自电池301a-c的电流可流过传感器元件303,以便从电池301a-c供电或对电池301a-c充电。尽管将fet304举例说明并描述为场效应晶体管,但在其他实施方案中,可使用任何其他适当类型的晶体管,并且在一些实施方案中,fet304可对应于多个晶体管。
每个bmc302a-c保持有关相应电池301a-c的操作的信息,例如平均和峰值供电电流、平均和峰值充电电流、当前电荷水平、再充电循环次数、距最后充电循环的时间、或有关相应电池301a-c的任何其他相关信息。bmc302a-c可与主机320共享部分或全部信息。主机320可为计算系统中的主处理器,或用于监测并控制计算系统中的硬件的系统管理单元的一部分。主机320还可为负载305的一部分,即可由一个或多个电池301a-c供电。在例示的实施方案中,主机320被耦接以与监测底部单元的bmc(即bmc302a)通信。bmc302a被耦接以与bmc302b通信并且随后bmc302b被耦接以与bmc302c通信。这些串行连接使得主机320与bmc302a-c中的每个bmc通信。
为了促成每个bmc302a-c与主机320之间的通信,每个bmc302a-c包括相应的时钟电路310和数据电路312。时钟电路310a-c和数据电路312a-c是通信块(诸如图2中的通信块205)的一部分。由于每个bmc302a-c利用不同供电电压电平和共模电压电平来操作,如前所述,因此在每个时钟电路310a-c和每个数据电路312a-c之间没有电平位移电路的情况下,bmc之间的标准通信协议可能不正常运行。在没有电平位移电路的情况下,诸如i2c、spi和uart等通信协议通常至少依赖于单个共模电压来在收发器之间发送和接收信号。
为了在每个bmc302a-c之间通信,时钟电路310a-c和数据电路312a-c支持利用电流电平而非电压电平的通信协议以指示数据位的值。时钟电路310a-c和数据电路312a-c被设计用于通过提供或吸收预先确定的量的电流来传输数据以指示数据值。由于电流从较高电压电平流至较低电压电平,因此给定bmc302a-c的通信块提供电流还是吸收电流取决于给定bmc302a-c从电池301a-c中的哪个电池接收电力。例如,对于用于传送至bmc302a的bmc302b,bmc302b将经由通信时钟330ab和通信数据332ab提供各种电流电平。相反地,bmc302b将经由通信时钟330bc和通信数据332bc吸收电流以传送至bmc302c。通过利用电流电平而非电压电平来指示数据值,尽管缺少单个供电电压电平或共模电压电平,bmc302a-c也可在彼此之间通信。
需注意,如本文所用,将电流限定为从具有较高电压电平的节点流向具有较低电压电平的节点,即在与电子流向相反的方向上。因此,如本文所用,“提供电流”指的是启用从给定节点到具有较高电压电平的另一节点的路径,并且“吸收电流”指的是启用从给定节点到具有较低电压电平的另一节点的路径。
为了与主机320通信,bmc302a的通信块使用标准通信协议,诸如i2c、spi或uart。在bmc302a从底部单元供电时,虽然主机320和bmc302a可共享单个共模电压电平,但各自仍可具有不同的供电电压电平。甚至在具有不同供电电压电平的实施方案中,bmc302a和主机320可利用开漏信号经由标准通信协议通信(诸如i2c),而无需电平位移电路。在其它实施方案中,主机320还能够通过提供或吸收电流来传输数据以指示数据值。
为了与每个bmc302a-c通信,主机320经由同步于主机时钟325的主机数据327来向bmc302a发送命令。bmc302a的通信块能够识别分配给每个bmc302a-c的唯一地址或标识值。主机320可包括命令旨在用于的目标bmc302a-c的地址。在bmc302a不是针对命令的目标的情况下,bmc302a可将命令向上传播至bmc302b,或者在bmc302a是针对命令的目标的情况下,阻止命令的传播。bmc302b可以类似方式传播命令,使得用于顶部单元的bmc、bmc302c仅接收为其目标的命令。
在本实施方案中,bmc302a经由芯片对芯片通信数据332ab将数据传输至bmc302b,其与芯片对芯片通信时钟330ab上的时钟信号同步。时钟信号可在bmc302a内独立地生成或可同步到来自主机320的时钟信号,诸如主机时钟325。由于bmc302a耦合至主机320,时钟电路310a可提供用于bmc302a-c之间所有通信的主时钟。时钟电路310a通过在两个灌电流值之间周期性地触发通信时钟330ab来生成时钟信号。在一些实施方案中,“低”或“0”位值可由零或近零的吸收电流来表示,并且“高”位值或“1”位值可由较高吸收电流值来表示,诸如1ma。在其它实施方案中,可利用任何适当电流,包括针对低位值的电流,其大于针对高位值的电流。在各种实施方案中,时钟信号可连续工作,从而向所有bmc302a-c提供同步定时信号,或者可仅在bmc302a传输数据时或在bmc302a期望来自bmc302b或bmc302c的数据时传输。
为了传输数据至bmc302b,数据电路312a可使用与时钟电路310a类似的灌电流值来指示高位值和低位值。在其它实施方案中,数据电路312a每次可使用多于两个的灌电流值,以便指示多于单个位值。例如,可使用四个灌电流值来传输两个数据位,例如近零电流表示为“00”,1ma表示为“01”,2ma表示为“02”,并且3ma来指示“11”。通过响应于时钟信号的上升跃迁来驱动通信数据332ab上的下一数据位值,数据电路312a使数据同步到时钟信号周期。在其它实施方案中,可响应于下降跃迁来驱动下一数据。响应于通信时钟330ab上的下降跃迁(或上升跃迁,在数据响应于下降跃迁被驱动的情况下),数据电路312b读取通信数据332ab上的数据位值。
需注意,本文所述“时钟跃迁”(其也可被称为“时钟边沿”)指的是从第一逻辑值变为第二逻辑值的时钟信号。如果时钟信号从低值变为高值,则时钟跃迁可为“上升的”,如果时钟信号从高值变为低值,则时钟跃迁可为“下降的”。
在接收到命令时,可期望bmc302b或bmc302c以一个或多个数据值应答。例如,bmc302c可接收源于主机320的命令以返回对应于电池301c中剩余的当前电荷的值。在通过bmc302a和302b发送命令之后,bmc302c可确定用于响应的值并通过bmc302b和bmc302a传输回数据值。一旦准备好传输数据值,数据312c提供预先确定的电流,该预先确定的电流对应于响应于通信时钟330bc上的上升跃迁发送的数据位值。如上所述,对于数据电路312a,数据电路312c每次可提供两个电流中的一个电流以指示单个数据位的值,或者每次可提供多于两个电流中的一个电流以指示多于一个数据位的值。
由于时钟电路310a为用于bmc通信的主时钟源,因此时钟电路310a可在命令已被发送之后保持时钟信号活动。时钟电路310a可响应于例如通过接收预先确定的“命令完成”数据值而确定已接收到应答数据,使时钟信号禁用。在其它实施方案中,时钟电路310a可根据传输命令在预先确定时间量内保持时钟信号活动。由数据312a通过数据312b接收应答数据。在接收到应答数据时,bmc302a中的通信块利用标准通信协议向主体320传输应答。
需注意,图3的框图仅为用于例示本发明所公开的概念的实施例。任何适当数量的电池可包括在对应数量的电池管理电路中,在其它实施方案中,每个电池301可以任何适当布置包括多于一个的电池单元。尽管将数据位的值描述为对应于多个预先确定电流中的一个电流,但需注意,诸如操作电压、温度、ic制造工艺等各种参数可使得实际电流值偏离它们的预先确定值。可选择预定义值以说明此类偏离。
现移向图4,其示出了通信电路的一种实施方案的时钟电路。时钟电路400可对应于图3中的每个时钟电路310a-c,因此作为诸如每个bmc302a-c等电池管理电路的子系统。时钟电路400包括晶体管q401到q412、可变电流源(source)420、反相器(inv)422和电阻器r424。时钟电路400还包括内部信号接收使能(rx_en)430、时钟输入(clock_in)446和时钟输出(clock_out)448,以及外部信号供电电压440、共模电压441、通信(comms)时钟上部442和通信(comms)时钟下部443。
在该实施方案中,时钟电路400包括用于在图3所述通信协议下同时接收和传输时钟信号的电路。为了启用时钟电路400的传输部分,rx_en430可以很低,关断n沟道q403并允许n沟道晶体管q401和q402的栅极上电压根据来自电流源420的电流值来确定。rx_en430的低值还可使p沟道q406接通,从而将p沟道晶体管q404和q405的栅极拉高,从而使它们关断。inv422响应于rx_en430的低状态而输出高值,从而使n沟道q409接通,从而将n沟道晶体管q407和q408拉低,从而使它们也关断。在q404、q405、q407和q408关断的情况下,时钟电路400的接收部分被禁用。
在例示的实施方案中,在rx_en430为高值而不是低值的情况下,执行对时钟电路400的接收部分的启用。rx_en430的高值使q403接通,以便将栅极q401和q402拉低,从而使q401和q402关断。在q401和q402关断的情况下,时钟电路400的传输部分被禁用。此外,rx_en的高状态使q406关断并且(在反相成低信号之后)q409关断。因此,通过q404、q405、q407和q408的电流由它们相应的栅源电压来确定,以启用时钟电路400的接收部分。
在本实施方案中,为了传输时钟信号(诸如上文针对bmc302a所描述的),晶体管q401、q402和q403与可变电流源420一起使用。通过bmc302a中的控制电路使rx_en430进入低状态。时钟信号作为clock_in446被接收。clock_in446可从诸如主机320之类外部源接收,或者可在bmc302a内生成。clock_in446耦合至电流源420的电压控制输入,使得在clock_in446较低的情况下提供第一电流值并且在clock_in较高的情况下提供第二电流值。q401充分接通以允许近似等于来自电流源420的电流值的电流通过。由于q402的栅极连接至q401的栅极并且两个晶体管的源极耦合至共模电压441,因此q402也充分接通以允许近似等于来自电流源420的电流值的电流通过。q402的漏极耦合至通信时钟上部442,该通信时钟上部是bmc302a外部的信号。参考图3,bmc302a的通信时钟上部442对应于节点通信时钟330ab。因此,对应于clock_in446当前状态的电流值来自bmc302b中的时钟电路310b。
为了接收时钟信号,如上文针对bmc302b所述的,bmc302b中的控制电路使rx_en430进入高状态。通信时钟下部443也对应于图3中的节点通信时钟ab,即bmc302b的通信时钟下部443连接至bmc302a的通信时钟上部442。在bmc302a经由通信时钟330ab传输时钟信号的情况下,对应于时钟信号状态的灌电流牵引q408源极处的电压电平,在q408上创建栅源电压并从q408引出等于来自bmc302a的灌电流的电流。来自q408的电流通过q405镜像并将从通信时钟上部442引出。q408和q407的栅极上的电压使得q407接通。由于q407和q408的源节点未耦合,通过q407的电流量可以不等于通过q408的电流。然而,通过q407的电流取决于通过q408的电流,从而取决于通过通信时钟330ab的灌电流值。通过q405的灌电流在其栅极类似地创建电压,该电压以类似于q407的方式使q404接通,使得两个晶体管通过相等电流。由于q412的栅极节点和源节点分别耦接至q407的栅极节点和源节点,因此q412通过q407产生镜像电流。
需注意,如本文所涉及的“电流镜像”或“电流镜”指的是电路,该电路被设计为感测通过电路的第一部分的电流并且在电路的第二部分中重新产生类似的电流量。再生电流在与所感测电流基本上相同的时间出现。再生电流可在不向感测电流添加阻抗的情况下耦接至其他电路。
同时,p沟道晶体管q411和电阻器r424的耦合创建通过q411的电流。该电流用作参考电流并且在q410中被镜像,因为q410的栅极节点和漏极节点分别耦合至q411的栅极节点和漏极节点。可选择电阻器424的电阻值以生成预先确定的参考电流值。由于q412的漏极节点耦合至q410的源节点,因此在通过q412的电流低于参考电流的情况下接收时钟信号clock_out448的状态为高状态,并且在通过q412的电流高于参考电流的情况下该接收时钟信号的状态为低状态。
时钟电路400传播在通信时钟下部处和通信时钟上部442处接收到的时钟信号。由于q405对通过q408的电流进行镜像,因此从通信时钟下部443引出的灌电流量等于从通信时钟上部442拉入的电流。再次参见图3,bmc302b的通信时钟上部442连接至与bmc302c的通信时钟下部443相同的节点。因此,bmc302c接收来自bmc302a的时钟信号,相比于bmc302b无延迟。由于bmc302c耦合至顶部单元,因此无法耦合附加的bmc并且bmc442的通信时钟上部可连接至bmc302c的供电电压440。
需注意,图4的时钟电路400仅示出时钟电路的示例性实施方案。仅示出了例示本发明所公开概念必要的部件。在其它实施方案中,可包括附加部件。图4所示部件旨在示出实际电路中所使用部件的物理位置或尺寸。
现转向图5,其示出了通信电路的一种实施方案的数据收发器电路。数据电路500可对应于图3中每个数据电路312a-c,因此作为诸如每个bmc302a-c等电池管理电路的子系统。数据电路500包括晶体管q501到q515、可变电流源(source)520和521、反相器(inv)522和523以及电阻器r424。时钟电路500还包括内部信号接收使能(rx_en)530、时钟输入(clock_in)546和时钟输出(clock_out)548,以及外部信号供电电压540、共模电压541、通信(comms)时钟上部542和通信(comms)时钟下部543。数据电路500在构成和功能上与图4中的时钟电路400类似。因此,数据电路500的操作如上文关于图4所描述的,但也存在下文所指出的例外。
数据电路500以与时钟电路400传输时钟信号几乎相同的方式来传输数据。然而,一个区别在于,在前述公开的实施方案中,时钟信号是单向的。即,时钟电路400仅从通信时钟上部节点而非通信时钟下部节点向外传输时钟信号,这是因为(参见图3)bmc302a向bmc302b和bmc302c中的时钟电路提供主时钟信号。然而,数据信号为双向的,从而附加电路用于允许数据信号从通信数据上部542和通信数据下部543向外传输。
将bmc302b用作示例,为了传输数据,302b中的控制电路bmc将rx_en530(在一些实施方案中其可对应于rx_en430)设定为低状态,从而启用传输电路并禁用接收电路。可变电流源520、q501和q502如上文针对电流源420、q401和q402所描述的进行操作并经由通信数据上部542输出数据。与经由通信数据上部542发送的数据并行的进行,可变电流源521、q513和q514通过通信数据下部543输出相同数据。rx_en530的低状态由使q515关断的inv523反相为高状态。数据信号tx_data546驱动电流源521的压控输入,继而迫使电流通过q513。在例示的实施方案中,数据每次使用两个电流值发送一个位。然而,如前所述,在其它实施方案中,可使用多于两个电流值来并行地发送多个数据位。通过q513的电流在q514中被镜像,该q514将电流提供至通信数据下部543。
通过通信数据下部543接收数据如上文关于图4所描述的。通过通信数据上部542接收数据以类似方式进行。当bmc302c传输数据时,bmc302b中的控制逻辑部件将rx_en530设定为高状态,从而使q503和q515同时关断,从而禁用发送电路。此外,rx_en530的高状态使q506和q509关断,从而启用接收电路。bmc302c的传输电路提供对应于所发送数据位的电流。所提供电流迫使电流通过q505和q508并从通信数据下部543输出。通过q505的该电流在其栅极处生成电压,其还耦合至q504的栅极。由于q505和q504的漏极未耦合至同一节点,因此q504通过电流,该电流可以不同于通过q505的电流,但其取决于q505电流。通过q504的电流使得相同电流通过q507。q512使通过q504的电流镜像。如针对图4中q410、q411和电阻器r424所描述的,q510、q511和电阻器r524生成通过q510的参考电流。如果通过q512的电流小于参考电流,则rx_data548变为高状态,相反地,如果通过q512的电流大于参考电流,则rx_data548变为低状态。
在其它实施方案中,rx_en530可与另一控制信号结合,使得经由通信数据上部542和通信数据下部543的数据传输可单个地启用。例如,在将命令从bmc302a传输到bmc302c期间,bmc302a可启用发送电路来将数据从其相应的通信数据上部542节点发送出来。bmc302b在其相应的通信数据下部543节点处接收数据,并同时在其相应的通信数据上部542节点处发送数据。bmc302c在其相应的通信数据下部543节点处接收数据。在此场景下,bmc302a无需经由其通信数据下部543节点发送数据,因为没有bmc与该节点耦合,从而可禁用从该节点向外发送数据的电路。相反地,为了响应所接收命令,bmc302c经由其通信数据下部543节点向bmc302b发送数据,bmc302b将数据传送至bmc302a。由于bmc302c没有与其通信数据上部542节点耦合的bmc,因此bmc302c中的控制电路可禁用相关联的传输电路。
需注意,图5的数据电路500仅为数据收发器电路的示例。图5的电路图经简化以突出与本公开相关的特征结构。在其它实施方案中,可包括附加部件,诸如用于将rx_en530与一个或多个附加使能信号相结合的电路。图5所示部件旨在示出实际电路中所使用部件的物理位置或尺寸。
移向图6,其示出了用于在电压域上传输命令的方法的实施方案的流程图。该方法可适用于电池管理电路,例如图3中的bmcs302a。共同参考图3的系统300和图6的流程图,该方法开始于框601。
bmc302a接收时钟信号和数据信号用于转发至bmc302b(框602)。可从系统300中的另一处理器(例如主机320)接收时钟信号和数据信号。数据可包括用于一个电池管理电路(诸如bmc302c)或所有bmcs302a-c的命令。
bmc302a吸收具有对应于第一数据位的数据的值的电流(框604)。时钟电路,如时钟电路310a,吸收对应于时钟信号的第一相的第一时钟电流。响应于时钟电路310a吸收第一时钟电流,数据电路(诸如数据电路312a)吸收对应于第一数据位的第一数据电流。在本实施方案中,时钟电路310a和数据电路312a吸收类似的电流来表示逻辑高或逻辑低。在其它实施方案中,时钟电路310a和数据电路312a可吸收针对每个逻辑状态的不同电流值。在另一个实施方案,数据电路312a可吸收多于两个电流值中的一者来表示单个时钟周期中的多于一个的数据位。在数据电路312a开始吸收第一数据电流之后,时钟电路310a吸收对应于时钟信号的第二相的第二时钟电流。
bmc302b感测来自bmc302a的电流(框606)。时钟电路310b可感测来自时钟电路310a的第一时钟电流和第二时钟电流,并且数据电路312b可感测来自数据电路312a的第一数据电流。数据电路312b可响应于检测到从第一时钟电流转变到第二时钟电流,感测第一数据电流。
需注意,bmc302c可与bmc302b并行地利用相同方法感测由bmc302a吸收的电流。换句话讲,能够通过bmc302b和bmc302c来观察由bmc302a所吸收的时钟电流和数据电流,两者之间几乎无延迟。如本文所用,“并行”指的是操作或动作在重叠时间段处发生。“并行”进行的操作不一定在完全相同时间开始和结束。
该方法的进一步操作可取决于吸收电流与参考电流的比较(框608)。时钟电路310b感测通过一个或多个晶体管的第一时钟电流,该一个或多个晶体管通过共同节点耦合至时钟电路310a。电流可利用上文关于图4和图5所描述的电流镜电路进行再生。将再生电流与参考电流进行比较以确定时钟信号的对应逻辑状态。数据电路312b可利用类似技术来确定从数据电路312a接收的数据位的对应值。如果感测电流的量值大于参考电流的量值,则该方法移至框612。否则,该方法移至框610。
如果感测电流小于参考电流,则确定接收信号处于逻辑高状态(框610)。响应于接收电流小于参考电流,时钟电路310b中的晶体管驱动高电压电平。数据电路312b中类似的晶体管执行同样的功能。高电压电平表示逻辑高值。此时,接收时钟信号和数据位能够由bmc302b内的cmos逻辑部件来使用。
如果感测电流大于参考电流,则确定接收信号处于逻辑低状态(框612)。响应于接收电流小于参考电流,如框610中所述,驱动高电压电平的相同晶体管对低电压电平进行驱动。低电压电平表示逻辑低值并且接收数据位现可由bmc302b内的cmos逻辑部件来使用。
该方法的后续操作可取决于对更多待发送数据的确定(框614)。bmc302a中的逻辑部件确定更多数据位是否准备好被发送。如果更多数据准备就绪,则时钟电路310a再次吸收第一时钟电流以便开始下一时钟周期并且数据电路312a吸收对应于下一数据位的值的第二数据电流。如果没有更多数据准备好传输,则该方法保持在框614中等待需发送的更多数据。
需注意,图6所示的方法仅仅为示例性实施方案。对该方法的变型是可能的并且可设想的,例如可以不同顺序执行一些操作和/或可包括附加操作。
现转向图7,其示出了用于在电压域上发送对命令的响应的方法的实施方案的流程图。该方法可适用于电池管理电路,例如图3中的bmcs302c。共同参考图3的系统300和图7的流程图,该方法开始于框701。
bmc302c准备对先前所接收命令进行响应(框702)。bmc302c可通过bcm302a和bmc302b从主机320接收命令。该命令可对应于用于初始化对来自bmc302c的数据的设置或请求的指令。可期望响应,诸如对设置已被初始化的确认或请求数据的传输。
bmc302c提供对应于数据位的响应的电流(框704)。bmc302c通过向bmc302a发送数据来传送给主机320。bmc302a继而可利用不同通信接口(诸如i2c)传送至主机320。在将命令发送至bmc302b或bmc302c之后,bmc302a可继续传输时钟信号供bmc302b或bmc302c用来传输响应。响应于确定出时钟信号已从第二时钟电流转变到第一时钟电流(如上文针对图6所述),从而指示下一时钟周期的开始,数据电路312c提供对应于响应的数据位值的第一数据电流。数据电路312c所提供的第一数据电流可类似于图6所述的由数据电路312a吸收的第一数据电流。在其它实施方案中,由给定数据电路所提供的电流可具有与所吸收电流不同的值。
需注意,尽管电流可被描述为类似的,但多种参数可引起相应电流值上的偏差。例如,操作电压、温度、ic制造工艺等可使得两个类似电路产生不同电流,但可设计电路来产生类似电流值。可设计系统以容许电流上的预先确定偏差量并保持正确操作。此类容差被称为“设计余量”。
bmc302a感测来自bmc302c的第一数据电流(框706)。由数据电路312c所提供的电流可通过并行的数据电路312b和数据电路312a来感测。在一些实施方案中,数据电路312b可确定出由bmc302c所接收的命令并非旨在用于bmc302b并且对该命令的对应响应并非旨在用于bmc302b。在此类实施方案中,数据电路312b可以不感测从数据电路312c所提供的电流。bmc302a经由数据电路312a利用其吸收电流以传输数据的同一节点来接收所提供电流。换句话讲,在例示的实施方案中,经由双向节点来耦合数据电路312a-c。
该方法的进一步操作可取决于提供电流与参考电流的比较(框708)。数据电路312a通过经由公共节点耦合到数据电路312c(经由数据电路312b)的一个或多个晶体管来感测所提供电流。可在数据电路312a中利用前述电流镜像电路来再生所提供电流。将再生电流与参考电流进行比较以确定时钟信号的对应逻辑状态。在一些实施方案中,与源电流相比较的参考电流可类似于与上文关于图6的框608所述的吸收电流相比较的参考电流。在其它实施方案中,可根据所感测电流是拉电流还是灌电流来调节参考电流以供比较。如果感测电流的量值大于参考电流的量值,则该方法移至框712。否则,该方法移至框710。
如果感测电流小于参考电流,则确定所提供电流为逻辑高值(框710)。响应于接收电流小于参考电流,时钟电路310a中的晶体管驱动高电压电平。高电压电平表示逻辑高值。此时,接收时钟信号和数据位能够由bmc302a内的cmos逻辑部件来使用。
如果感测电流大于参考电流,则确定接收信号处于逻辑低状态(框712)。响应于接收电流小于参考电流,如框710中所述,驱动高电压电平的相同晶体管对低电压电平进行驱动。低电压电平表示逻辑低值并且接收数据位现可由bmc302a内的cmos逻辑部件来使用。
该方法的后续操作可取决于确定出响应包括更多待发送数据(框714)。bmc302c中的逻辑部件确定响应是否包括下一数据位。如果另一数据位准备就绪,则bmc302c确定在从第二时钟电流到第一时钟电流的下一转变发生的情况下,指示下一时钟周期的开始。作为响应,数据电路312c提供对应于下一数据位值的第二数据电流。如果没有更多数据准备好传输,则该方法保持在框714中等待需发送的更多数据。
需注意,图7所示的方法为用于例示本发明所公开的概念的实施例。在各种实施方案中,可以不同顺序执行一些操作和/或可包括附加操作。
尽管上文已经描述了具体实施方案,但这些实施方案并非要限制本公开的范围,即使仅相对于特定特征描述单个实施方案的情况下也是如此。本公开中提供的特征示例意在进行例示,而非限制,除非做出不同表述。上述说明书意在涵盖此类替代形式、修改形式和等价形式,这对知晓本公开有效效果的本领域技术人员将是显而易见的。
本公开的范围包括本文(明确或暗示)公开的任意特征或特征组合,或其任意推广,无论其是否减轻了本文解决的任何或所有问题。因此,在本申请(或要求享有其优先权的申请)进行期间可以针对特征的任何此类组合做出新的权利要求。具体地,参考所附权利要求,可以将从属权利要求的特征与独立权利要求的特征组合,并可以通过任何适当方式而不是仅仅通过所附权利要求中列举的具体组合来组合来自相应独立权利要求的特征。