协调事件排序的制作方法

文档序号:19582995发布日期:2019-12-31 20:13阅读:220来源:国知局
协调事件排序的制作方法

相关申请的交叉引用

本申请根据35u.s.c.第119条要求2017年5月18日提交的、序列号为62/507,978的、名称为“coordinatedeventsequencing(协调事件排序)”美国临时专利申请的优先权,出于所有目的通过引用将其整体合并于此。

本公开总体上涉及用于事件同步的方法和系统。更具体地,本公开涉及用于事件同步而不需要同步计数器的方法和系统。



背景技术:

在当今日益复杂的电子系统中,可能会有多个事件要排序。作为非限制性示例,电子系统可以具有多个电源以实现期望的功能。通常,出于各种原因,例如防止损坏受电设备,以特定的时间关系(排序)以预定的顺序打开和关闭这种电源。有时,排序涉及位于物理上不同位置或子组件中的多个电子电路。因此,为了在多个设备之间执行排序,电子电路之间存在电通信,从而提供适当的排序。

已知的协调事件的方法包括基于时间的排序,其中每个排序控制器被编程为相对于共同的“开始”信号在特定时间启用或禁用事件。基于时间排序的一个示例是电源管理总线(pmbus)为电源开和关排序所定义的内容。尽管基于时间的排序是一种简单的方法,但它本身无法提供反馈或等待事件发生的能力。每个排序控制器等待其规定的时间,然后与其他任何排序控制器隔离运行。

更高级的排序方法使用反馈信号来指示下一个排序控制器应何时启动。再次参考电源示例,可以将一个电源的“电源正常”输出菊花链式连接到下一个电源的运行(run)引脚。这种排序方法提供了快速的排序时间,并且能够在上游事件没有发生或有问题的情况下自动延缓对下游事件的排序。但是,这种菊花链方法可能不够灵活,因为排序顺序通常是硬连线的。

另一种已知的排序方法使用包括反馈的菊花链方法,但是使用公共信号在排序控制器之间传达排序顺序。例如,串行总线信号在所有排序控制器之间进行仲裁。每个排序控制器也都有计数器。当一个排序控制器完成排序并准备好允许下一个排序控制器进行时,将释放串行总线。在确定串行总线线路已释放后,所有与串行总线耦合的排序控制器都将下拉串行总线信号,使每个计数器前移1。当共享计数与排序控制器的预编程位置匹配时,它将启用或禁用与其关联的事件。可以序列控制器的形式提供反馈,将串行总线保持在低电平,直到启用或禁用事件完成为止。重复此过程,直到所有排序控制器完成。这种排序方法提供了灵活性,可通过编程方式更改排序顺序,实现快速排序时间以及延缓排序的能力(可这能是不确定的)。但是,此方法依赖于所有排序控制器具有同步计数器,其中同步很难验证。

附图说明

附图是说明性实施方案。它们未示出所有实施方案。可以附加地或替代地使用其他实施方案。为了节省空间或为了更有效地说明,可以省略可能显而易见或不必要的细节。一些实施方案可以在有附加的组件或步骤和/或没有示出的所有组件或步骤的情况下实践。当相同的附图标记出现在不同的附图中时,它表示相同或相似的组件或步骤。

图1是与说明性实施方案一致的事件同步系统的示例性高级图。

图2示出了与说明性实施方案一致的示例性排序控制器。

图3a是示出了与说明性实施方案一致的在第一方向上串行通信总线上的信号序列的示例仲裁的时序图。

图3b是说明与说明性实施方案一致的在第二方向上串行通信总线上的信号序列的示例仲裁的时序图。

图4呈现了用于使用多个排序控制器来同步事件的说明性过程。

图5呈现了用于在串行通信总线已经释放之后报告故障的说明性过程。

发明详述

概述

在下面的详细描述中,通过示例的方式阐述了许多具体细节,以提供对相关教导的透彻理解。然而,显然的是,可以在没有这些细节的情况下实践本教导。在其他情况下,已经在相对较高的水平上描述了公知的方法、过程、组件和/或电路,而没有细节,以避免不必要地混淆本教导的各个方面。一些实施方案可以在有附加的组件或步骤和/或没有所描述的所有组件或步骤的情况下来实践。

本文公开的各种方法和电路总体上涉及用于基于其位置进行轮流仲裁的多个设备之间的事件同步的排序控制的方法和系统。具体地,本教导描述了排序方法和系统,其使用串行总线,该串行总线可以是单线或2线差分总线,而无需传统的主设备。所公开的方法和系统还提供一种排序方法,该排序方法一旦实现所有开启或关闭事件就自动进行自致动和自终止,从而消除了对“开始”和/或“停止”信号的需要。

本公开提供了新颖的排序系统和方案。串行总线(例如,充当单信号的单线或2线差分总线)在本文中称为串行通信总线(scb),它连接到配置用于事件同步的所有设备。

本文所述的排序操作提供了由相应的排序控制器确认在scb上提供的仲裁序列与排序控制器的预编程位置匹配后自致动排序事件的功能。应当注意,排序控制器不限于使用单个预编程位置。例如,可以将第一预编程位置用于序列向上位置,而将第二预编程位置用于序列向下,并且将第三预编程位置用于存在故障时的排序。尽管可以同时向所有设备供电,但是由其相应的排序控制器控制的不同设备可能具有不同的时间段来配置和稳定。一方面,本教导公开了将串行通信总线保持在固定状态,在此称为第二参考电平,直到由相应的排序控制器控制的事件完成为止。

应该注意的是,耦合到串行通信总线的所有排序控制器都不需要主动参与本文讨论的仲裁。在一个实施方案中,如果参与者在串行通信总线上的“不存在”投票是隐性值,则参与者可以在该序列的后期加入。另一方面,如果其在串行通信总线上的“不存在”投票是主导值,那么在开始一个序列之前,应该存在所有排序控制器。稍后将在图3a的讨论的上下文中进一步阐明该特征。

因此,排序控制器彼此通信以确定定序位置。但是,不是依赖于每个设备中包含的同步计数器,而是直接从串行通信总线使用每个排序控制器的序列位置。该序列位置编号有时在本文中称为事件位置,以显性/隐性方式串行通信,从而允许最低(或最高)编号赢得仲裁并确定当前序列位置。已经完成的排序控制器不参与仲裁,从而使活动的排序位置随着事件的完成而前进。

另外,由于不使用计数器,因此避免了逐步遍历所有未使用的序列位置,从而提供了更快的排序时间。这些未使用的序列位置随后可被将来的排序控制器利用,所述未来的排序控制器可被引入到序列的未使用的部分中(例如,中间),而无需对所有其他排序控制器进行重新编程。同样,由于将完整的序列位置广播给所有排序控制器,因此现在可以在序列中向前或向后跳过,以处理例如某些控制器被触发立即关闭而其他控制器继续向下排序的故障情况(或反之亦然)。

在各种实施方案中,广播序列位置的不同方法也是可能的,例如广播序列位置的按位倒数,从而允许最高值赢得仲裁。此外,如果您的信道会相应关闭,则可以更改何时投票,例如在出现故障时进行广播。借助于本文讨论的架构,可以实现丰富的复杂行为集。

除了当前序列位置之外,额外的信息,例如(但不限于)排序方向(向上与向下)、故障信息、排序组(用于多个同时但独立的序列)、跳转命令、准备就绪状态等也可以在设备之间传送。因此,可以实现更丰富和高级的排序方案。

通过使用没有主从配置的串行总线解决方案,不需要其他电路来实现主/从功能,这降低了实现事件同步的复杂性和物理区域,同时保持了可靠操作的质量。借助于本文所讨论的概念,提供了对任意数量的序列位置中的启用/禁用事件信号的控制。与一些现有技术系统相反,不需要通过中间序列位置进行计数,无论是否使用。在一些实施方案中,具有在识别出故障情况时关闭一组排序控制器的能力。参考附图,可以更好地理解这些和其他特征,这些将在下面详细讨论。

示例架构

图1是与说明性实施方案一致的事件同步系统100的示例性高级图。该系统包括耦合到串行通信总线(scb)108的多个排序控制器106(1)至106(n),该串行通信总线可以是单端或差分的。在各种实施方案中,串行通信总线108经由电流源、电阻器、晶体管或任何其他适当的设备(例如以电阻器102表示)被拉到第一参考电平104(可以是vdd)。因此,scb108默认为第一参考电平104。该电平可以被认为是隐性电平。每个排序控制器106(1)至106(n)可以将串行通信总线108拉至第二参考电平(例如,接地,其可以被认为是主导电平),如将在图2中更详细地讨论的。

每个排序控制器106(1)至106(n)分别耦合至一个或多个设备110(1)至110(n),一个或多个设备110(1)至110(n)由其相应的排序控制器106(1)至106(n)控制分别用于对事件进行安排。安排事件示例可以包括但不限于电源开启和/或关闭。在这方面,来自排序控制器的排序控制与电源的有序开启和/或关闭有关。

一个实施方案中,该系统是模块化的,其中可以根据需要在位置位的数量所允许的程度上添加附加的排序控制器。例如,对于一个3位位置,可以容纳8个独立的排序控制器。在一些实施方案中,该位置由两个或更多个排序控制器共享,这使得能够同时激活多个设备。替代地,或另外地,可以将多个设备耦合至单个排序控制器以提供并行激活。

尽管使用电源来描述本教导,但是将理解,将从有序排序中受益的其他设备也在本公开的范围和精神内。

示例排序控制器

图2示出了可以用于实现图1的排序控制器的排序控制器200的示例架构。排序控制器200包括通向串行通信总线的双向端子212。排序控制器200还包括缓冲器204、控制逻辑单元202和开关206。缓冲器204具有经由端子212耦合到串行通信总线的输入。控制逻辑单元202耦合到缓冲器204的输出。控制逻辑单元202包括启用/禁用引脚210,该启用/禁用引脚210用于接通和/或关断与其耦合的设备,诸如电源或经受事件同步的任何其他设备。控制逻辑单元202包括用于在初始化阶段期间(例如,当控制逻辑被编程为可能用作事件位置的唯一编号时)接收序列位置208的输入。

存在仅作为示例而非限制地表示为n沟道金属氧化物半导体(nmos)的开关206,其具有耦合至串行通信总线212的第一节点(例如,漏极)、耦合到参考电压(例如,地)的第二节点(例如,源极),以及耦合到控制逻辑单元202的输出的控制节点(例如,栅极)。

双向终端212使排序控制器200能够从串行通信总线接收信息并在该串行通信总线上广播信息,该信息可被其他类似的排序控制器共享以用于事件同步。缓冲器204充当经由终端212在串行通信总线上提供的信息的接收器。

控制逻辑单元202被配置为在共享串行通信总线的若干排序控制器的事件同步系统中接收表示其事件位置的序列位置。例如,可以在初始设置阶段对控制逻辑202编程有顺序位置(其中将与启用/禁用引脚210的输出耦合的控制逻辑单元及其对应的设备(例如电源)引入这里讨论的事件同步系统)。

因此,如先前在图1的上下文中所讨论的,排序控制器被连结到串行通信总线,该串行通信总线经由电流源或电阻元件被拉至第一参考电平,诸如vdd。通过接通开关206,可以经由控制逻辑单元202将串行通信总线主动地拉到每个排序控制器200内部的第二参考电平(例如,gnd)。因此,如果有任何耦合到串行通信总线的排序控制器将串行通信总线上的信号拉至第二参考电平,所得到的信号电平(在该示例中为低)在来自图1的上拉电阻器102的高信号电平上占优势。

因此,通过接通和关断晶体管206,控制逻辑202可以经由端子212将其存储的位序列(表示其事件位置)广播到串行通信总线。任何排序控制器200也可以将串行通信总线的信号电平保持到第二参考电平(例如,gnd)达一段延长的时间,从而不放弃对串行通信总线的控制。例如,将总线保持在第二参考电平达预定时间段可以指示耦合至其引脚210的设备尚未完成其事件(例如,耦合至节点210的电源尚未完全斜升至预定电平)。在一个实施方案中,这种不满足事件的一个或多个标准的失败被识别为失败,稍后将更详细地讨论。

在一个实施方案中,控制逻辑单元202具有附加的引脚(未示出),以接收耦合至引脚210的设备的状态信息(例如,以指示由排序控制器发起的事件是否已完成)。

在相关事件的启动和/或完成(通过启用/禁用引脚210控制)之后,排序控制器200释放其下拉设备(即开关206),从而允许串行通信总线信号上升至第一参考电平(例如,经由图1的电阻元件102)。在预定时间段内识别出第一参考电平后,每个与串行通信总线耦合的排序控制器都知道该总线已被释放,从而触发了另一个周期。在一个实施方案中,通过下面的等式1来提供处于第一参考电平的预定时段的持续时间,第一参考电平指示总线已经被释放:

时段≥p(n+1)(等式1)

其中:p=在scb上广播位置的每个位的时间;

并且

n=该位置的位数。

由等式1定义的时段足够长,以使得任何参与的排序控制器(包括在消息中间唤醒的排序控制器)都可以确定总线已释放。其他实施方案通过以重复的间隔将额外的位插入到消息中来支持更短的释放时段。这些额外的位可以在第二电平下广播。对于这样的替代实施方案,释放时段仅需要比额外的第二电平位之间的间隔稍长。

上面的等式1的预定时间段的第一参考电平通过串行广播其序列位置(在本文中有时称为其事件位置)来启动每个参与的排序控制器以参与串行通信总线上的数字通信。在一个实施方案中,从最高有效位(msb)开始广播位序列,同时也考虑其他顺序。

在各种实施方案中,当赢得串行通信总线上的仲裁之后,排序控制器200完成了其相应事件的启用时,排序控制器200在下一周期之前广播(i)所有隐性状态(在此实施例中为高电平)的序列位置,(ii)已知比任何其他序列状态都高的序列位置,或(iii)指示其已完成其对应事件的启用(和/或完成)的预定位模式。在一个实施方案中,提供了指示事件状态的位模式(例如,超时与电源良好,或者在连续模式与非连续模式等)。所有排序控制器可以在完成其相应的事件时执行相同的功能。

排序控制器200不仅广播其事件位置作为位序列,而且还可以监视串行通信总线上的仲裁结果。例如,每个排序控制器200可以在串行通信总线上广播位,然后读取串行通信总线处于什么信号电平。每个接收到的位可以被存储在控制逻辑202中。在识别出串行通信总线上的仲裁位序列与排序控制器200的事件位置的位序列相对应时(即,被识别为针对串行控制器200的仲裁“获胜”),则控制逻辑单元202通过引脚210改变相应事件的状态(例如,启用或禁用)。在一个实施方案中,控制逻辑单元202将串行通信总线保持在第二参考电平,直到(即,经由引脚210)耦合到控制逻辑单元202的设备的启用或禁用完成为止。

相反,如果排序控制器200识别出串行通信总线上的仲裁位序列不对应于其事件位置的位序列,则控制逻辑202进入保持模式,在本文中称为待机模式,其中排序控制器200不会通过引脚210启用或禁用其相应的设备(例如电源),并且直到下一个周期才会在串行通信总线上广播。因此,每个排序控制器也在仲裁过程中监听。

图3a是说明与说明性实施方案一致的,在串行通信总线上的信号的向上序列的示例仲裁的时序图。每个仲裁周期分别以起始帧304、314、324和334开始。在一个实施方案中,在每个起始帧中,串行通信总线被保持在第一参考电平达预定的时段,如在以上等式1的上下文中所讨论的。为了避免混乱,在图3a中未按比例绘制起始帧的预定时段的持续时间(应该比广播事件位置的位数要花费的时间更长)。

在第一个仲裁周期中,定序器a,b和c在串行通信总线上一次一位地广播其事件位置。在每次广播其事件位置的一位之后,每个定序器都会读取串行通信总线上的仲裁信息。在本实施例中,第二参考电平(即,接地)相对于第一参考电平(即,vdd)占优势。由于定序器a具有最小的事件位置(即001),因此实际总线值001与其相同。因此,定序器a赢得了第一仲裁周期。由于定序器a赢得了仲裁,因此它将拒绝随后的周期,并进入待机模式以允许其余的定序器轮流使用。

在第二仲裁周期期间,当定序器a处于待机模式时,其余定序器b和c一次一位地在串行通信总线上广播其事件位置。由于定序器b的事件位置具有比定序器c的事件位置小的值,因此定序器b赢得了仲裁,因此避免参与后续的仲裁周期。

在第三仲裁周期期间,其余定序器c广播其事件位置并默认情况下获胜。由于所有定序器a到c都避开了下一个周期(第四仲裁周期),因此实际总线值指示起始帧,随后串行通信总线在预定时间段内保持在第一电平,从而表明所有定序器都轮到了,所有定序器都可以参与下一个周期。

因此,当单个序列位置中的所有事件完成时,串行通信总线信号被释放(例如,被允许再次上升到第一参考电平),导致该过程重复直到所有分配的序列位置被完成为止。当在串行通信总线上看到所有隐性状态(在此实施例中为高)的序列位置时,共享同一串行通信总线的所有排序控制器便可以识别出整个序列已完成。

在某些情况下,也可能需要进行向下排序。在各种实施方案中,降序的顺序可以与向上排序相同或不同。例如,电源系统可能希望通过同时关闭所有电源或以与打开电源相同的顺序关闭设备来防止损坏。换句话说,向上或向下排序时都可以使用相同的事件位置。

在其他实施方案中,序列向下位置可以与序列向上位置不同。为此,每个排序控制器可以具有单独的序列位置,该序列位置在获悉当前正在执行第二(例如,向下)排序时被激活。为此,可以使用排序控制器的存储器中的单独位置来存储第二序列位置。因此,可以使用单独的存储位来存储不同的事件位置。

在一个实施方案中,不使用单独的存储器位置。而是使用相同的位置,但仅通过逆变器将其反转以实现相反的顺序。例如,如果原始位置为110,则反向位置为001。如果反向排序顺序与正向排序顺序相反,则可以进行这种反转。以此方式,不需要将单独的事件位置存储在排序控制器中,从而节省了宝贵的存储器资源。

图3b是说明与说明性实施方案一致的在第二方向上串行通信总线上的信号序列的示例仲裁的时序图。仲裁300b是使用反转位置的逆序电源关序列。每个仲裁周期分别由起始帧354、364、374和384启动。

在第一仲裁周期中,定序器a,b和c在串行通信总线上一次一位地广播它们的反转事件位置。在每次广播其事件位置的一位之后,每个定序器都会读取串行通信总线上的仲裁信息。在本实施例中,第二参考电平(即,接地)相对于第一参考电平(即,vdd)占优势。由于定序器c具有最小的反转事件位置(即010),因此实际总线值010与之相同。因此,定序器c赢得了第一仲裁周期。由于定序器c赢得仲裁,因此它将拒绝随后的周期,并进入待机模式以允许其余的定序器轮流使用。

在第二仲裁周期期间,当定序器c处于待机模式时,其余定序器a和b一次一位地在串行通信总线上广播它们的反转事件位置。由于定序器b(100)的反转事件位置的值小于定序器a(110)的值,所以定序器b赢得了仲裁,因此避免参与后续的仲裁周期。

在第三个仲裁周期中,其余的定序器a广播其反转事件位置并默认获胜。由于所有定序器a到c都避开了下一个周期(第四仲裁周期),因此实际总线值指示起始帧,随后串行通信总线在预定时间段内保持在第一电平,从而表明所有定序器都轮到了,所有定序器都可以参与下一个周期。

因此,当单个序列位置中的所有事件完成时,串行通信总线信号被释放(例如,被允许再次上升到第一参考电平),从而导致该过程重复进行,直到所有分配的序列位置都结束为止。当在串行通信总线上看到所有隐性状态(在此实施例中为高)的序列位置时,共享同一串行通信总线的所有排序控制器便可以识别出整个序列已完成。

示例故障控制

在一个实施方案中,排序控制器(例如,图1中的106(1))可以经由串行通信总线108提供关于其对应设备110(1)的故障信息。

例如,可能需要一些由排序控制器控制的设备(例如电源)来完成事件。为此,在一个实施方案中,排序控制器可以与设备(例如电源)交互以从中接收确认或测量电压电平,以确认事件已成功完成。如果在预定的阈值时间内未提供确认或未达到预期的效果(例如,所需的电压不在公差范围内),则可能存在故障情况,该故障情况会传达给耦合到串行通信总线108的其他排序控制器(例如110(2)到110(n))。

在各种情况下,关闭(和/或防止打开)依赖于该设备110(1)的其他设备(例如,电源)可能是适当的。例如,如果未适当激活先前事件(例如110(1)),则某些设备(例如110(2))可能无法可靠运行,甚至损坏。在一个实施方案中,如图3a的上下文中所讨论的,代替通过广播起始帧来释放总线,在排序控制器106(1)释放串行通信总线108之后立即经由预定的位序列(例如101010)广播故障情况。在各种实施方案中,通用故障代码或描述确切的故障的特定故障代码可能会在串行通信总线上广播。这样,可以适当地触发耦合到串行通信总线的其他排序控制器,使其关闭或进入备用状态。

在某些情况下,在释放串行通信总线之后,由排序控制器确定故障情况。例如,可以在启用其他设备(例如电源)之后识别出故障情况,这可能不利地影响先前启用的设备(例如具有较早事件位置的电源)。在这种情况下,已识别出故障的排序控制器可以退出待机模式,以在串行通信总线上广播故障情况。为此,本主题的串行控制器等待下一个仲裁周期,以在串行通信总线上一次一位地仲裁其事件位置。此外,事件位置仲裁之前是状态仲裁,使发生故障的控制器能够胜过未发生故障的控制器。除非有另一个排序控制器已经识别出具有较低(即,更优先)事件位置的相同周期之间的故障情况,否则本主题的排序控制器将赢得仲裁。赢得仲裁后,本主题的排序控制器可以在串行通信总线上广播故障情况,以供其他排序控制器读取。

在一个实施方案中,在每个周期的开始,单个仲裁状态位在事件位置位之前。在此状态位期间,所有已在其设备(110)中检测到故障的排序控制器都将广播主导电平,并且隐性电平由尚未在其设备中检测到故障的所有控制器广播。该特定位称为故障状态位。如果没有控制器出现故障,则仲裁将继续进行,如图3a所示,最低的顺序位置获胜。如果有任何控制器发生故障,则所有未发生故障的控制器都会在此故障状态位之后失去仲裁,并在当前周期的其余时间停止广播,从而允许发生故障的控制器在它们之间进行仲裁。最低位置故障的控制器获胜,从而将最低故障的位置广播到整个系统。然后,各个控制器可以根据其相对于刚刚接收到的故障位置的位置而采取措施。例如,如果其顺序关闭位置早于故障位置,则它们可以立即关闭其设备,如果它们的顺序关闭位置晚于故障位置,则可以等待顺序关闭。

在某些系统中,期望尽可能快地广播故障相关信息。对于这些系统,有利的是避免在特定的控制定序器等待其事件完成时长时间将总线保持在主导状态。相反,在完成故障状态位和位置仲裁之后,将释放scb,从而允许立即开始一个新的周期。这使检测到新故障的排序控制器可以广播此信息,而无需等待无故障的排序控制器完成其事件。当系统中没有故障时,排序控制器重复广播其位置,直到其事件完成为止,从而以类似于通过将scb保持为主导状态直到其事件完成所实现的方式延缓其他事件排序。

设想了另外的实施方案,其增加了在位置位之前广播的状态位的数量,例如序列方向(上与下)、序列组标识位(以启用多个交错序列)和故障优先级位。

示例过程

利用架构100和示例排序控制器200的前述概述,现在考虑对示例过程进行高级讨论可能是有帮助的。为此,图4呈现了用于使用多个排序控制器来同步事件的说明性过程400。图5呈现了用于在串行通信总线已经释放之后报告故障的说明性过程500。过程400和500被示为逻辑流程图中的框的集合,其表示可以以硬件、软件或其组合来实现的一系列操作。在软件的上下文中,框代表计算机可执行指令,当由一个或多个处理器执行时,计算机可执行指令执行所述操作。通常,计算机可执行指令可以包括执行功能或实现抽象数据类型的例程、程序、对象、组件、数据结构等。描述操作的顺序不旨在被理解为限制,并且可以以任何顺序组合和/或并行执行任何数量的所描述的框以实现该过程。为了讨论的目的,参考图1的架构100和图2的排序控制器200描述了过程400和500。

在框402处,事件位置信息由一个或多个排序控制器接收,每个作为独特的一系列位。事件位置信息可以在系统100的设置阶段期间和/或在添加新的排序控制器时被接收。

在框404中,每个排序控制器(例如106(1)至106(n))监视串行通信总线的第一参考电平,该参考电平可以是vdd。

在确定串行通信总线在预定时间段内未处于第一参考电平时(即,在判定框405处为“否”),过程继续进行至框404。但是,在确定第一参考电平处于串行通信总线上达预定时间段时(即,判定框405处为“是”),该过程继续进行到框406,在此,耦合到串行通信总线的每个排序控制器在队列中广播其故障状态位(如果可用)。

在框407,每个排序控制器确定scb是处于主导电平还是隐性电平。如果scb处于主导电平(即,判定框407中为“否”),表明至少一个排序控制器已检测到故障,则过程继续进行到框404。但是,如果scb处于隐性电平(即,在判定框407处为“是”),指示未检测到故障,然后,过程继续进行至框408,其中,与串行通信总线耦合的每个排序控制器一次一位地在队列中广播其唯一事件位置。

在框410中,每个排序控制器确定它在串行通信总线上监视的仲裁事件位置是否与它广播的事件位置相同。在一个实施方案中,该确定是在逐位比较的基础上执行的。由于在我们的实施例中,每个排序控制器106(1)至106(n)具有唯一的事件位置,因此在每个迭代(即仲裁周期)中只有一个排序控制器可以赢得该仲裁。在确定仲裁事件位置与广播事件位置不相同时(即,判定框410处为“否”),该过程继续进行到框412,其中未赢得仲裁的排序控制器不在串行通信总线108上广播其事件位置信息。相反,在框402,它继续监视串行通信总线以进行下一次迭代(即,框404)。

返回到框410,一旦确定所仲裁的事件位置与广播位序列相同(即,判定框410处为“是”),则过程继续进行到框414,其中与赢得仲裁的排序控制器相对应的事件被启用。例如,可以打开或关闭电源。

在框416,赢得仲裁的排序控制器确定是否存在故障情况。例如,当事件不满足阈值标准时(例如在阈值时间内完成或产生所需电压),可以触发故障情况。如果是这样(即,判定框416处为“否”),则在框418处,在串行通信总线108上报告事件的完成。例如,预定的位或位流在串行通信总线108上广播以向其他耦合的排序控制器指示,该事件已成功完成而没有故障。在一些实施方案中,不确定事件是否已经完成。而是,在框418中报告事件的发起。

在框420中,赢得仲裁的排序控制器从后续迭代中脱离,并进入待机模式,直到所有其他排序控制器都已轮到(即赢得仲裁并发起其事件)并且重复该循环。换句话说,仲裁过程反复重复,直到所有排序控制器都已轮到。

在各种实施方案中,当排序控制器处于待机模式时,脱离的排序控制器可以(i)不广播;(ii)广播最大事件位置(例如1111...1);(iii)对于任何后续迭代,高于耦合到串行通信总线108的任何其他排序控制器的事件位置的任何事件位置。

在一个实施方案中,系统100还提供故障信息。例如,在框416处,一旦确定故障情况(例如,事件未在阈值时间内完成(即,判定框416处为“否”)),则过程继续进行至框430,其中串行通信总线未释放。而是,在串行通信总线108上报告故障情况,从而可以相应地触发其他排序控制器被打开,关闭或处于任何其他状态。

在一个实施方案中,可以在主题排序控制器获胜并随后释放串行通信总线之后报告故障情况。为此,图5呈现了用于在串行通信总线已经释放之后报告故障的说明性过程500。在各种实施方案中,过程500可以独立地或在过程400的框420之后运行。

在框502,已经轮到他们的每个排序控制器确定是否存在故障情况。如果没有故障情况(即,判定框502为“否”),则相应的排序控制器停留在待机模式。然而,一旦识别出故障情况(即,在判定框502处为“是”),则过程继续至框504,在此,主题排序控制器(已经识别出故障)监视串行通信总线以使串行通信总线处于第一参考电平持续预定时间。

在确定第一参考电平在串行通信总线上不存在时(即,在判定框506处为“否”),该过程继续监视串行通信总线。但是,一旦确定串行通信总线处于第一参考电平预定的时间段(即,判定框506为“是”),则过程继续进行到框507,其中耦合到串行通信总线的每个排序控制器在队列中广播其故障状态位。

在框507中,在一个实施方案中,已经在其设备中检测到故障的排序控制器广播第二参考电平(主导值),然后该过程继续进行到框508,其中如果所述排序控制器也检测到其设备中的故障,则耦合到串行通信总线的每个排序控制器一次一位地在队列中广播其唯一事件位置。

在框510处,每个排序控制器确定其在串行通信总线上监视的仲裁事件位置是否与其广播的事件位置相同。在一个实施方案中,该确定是在逐位比较的基础上执行的。由于在我们的实施例中,主题的排序控制器已经轮到了,因此可以预期该主题排序控制器将赢得仲裁(除非另一个事件位置较低的排序控制器也可以识别故障情况)。

然而,在确定仲裁事件位置与广播事件位置不相同时(即,判定框510处为“否”),则过程继续进行至框512,在此,主题排序控制器通过继续监视串行通信总线来等待下一个周期以进行下一迭代(即,框504)。当一个以上的排序控制器在同一时间段内识别故障情况时,可能会出现这种情况,其中另一个排序控制器的事件位置数量要比主题排序控制器的事件位置数量低。

返回到框510,在确定所仲裁的事件位置与广播位序列相同时(即,判定框510处为“是”),该过程继续进行至框514,在此通过串行通信总线广播故障。这样,排序控制器可以重新获得串行通信总线的优先级。

结论

已经讨论的组件、步骤、特征、目的、益处和优点仅仅是示例性的。它们或与它们有关的讨论均无意以任何方式限制保护范围。还可以想到许多其他实施方案。这些包括具有更少,额外和/或不同的组件、步骤、特征、目的、益处和/或优点的实施方案。这些还包括其中组件和/或步骤被不同地布置和/或排序的实施方案。

例如,本文讨论的任何信号可以被缩放,缓冲,缩放和缓冲,转换为另一种模式(例如,电压、电流、电荷、时间等),或转换为另一种状态(例如,从高电平到低电平以及从低电平到高电平),而不会实质性地更改基础控制方法。此外,虽然本文通过示例的方式讨论了串行通信总线,但是差分布线在本公开的范围内。

已经讨论的组件、步骤、特征、目的、益处和优点仅仅是示例性的。它们或与它们有关的讨论均无意以任何方式限制保护范围。还可以想到许多其他实施方案。这些包括具有更少,额外和/或不同的组件、步骤、特征、目的、益处和优点的实施方案。这些还包括其中组件和/或步骤被不同地布置和/或排序的实施方案。例如,可以使用双极型晶体管(例如,pnp或npn)或结栅场效应晶体管(jfet)代替mos晶体管。可以使用pnp代替npn,并且可以使用pmos代替nmos。

除非另有说明,否则本说明书中列出的所有测量结果、值、额定值、位置、大小、尺寸和其他规格均为近似值,并不精确。它们旨在具有与它们所涉及的功能以及它们所涉及的领域中的习惯相一致的合理范围。

除以上所述之外,已经陈述或示出的任何内容无意或不应解释引起任何组件、步骤、特征、目的、益处、优势或等同物于贡献给公众,无论是否权利要求中记载或不记载。

在本公开中已经引用的所有文章、专利、专利申请和其他出版物通过引用并入本文。

将理解的是,本文中使用的术语和表达相对于它们相应的相应咨询和研究领域具有与此类术语和表达相一致的普通含义,除非本文另外阐述了特定含义。诸如“第一”和“第二”之类的关系术语可以仅用于将一个实体或动作与另一个实体或动作区分开,而不必要求或暗示它们之间的任何实际关系或顺序。当与说明书或权利要求书中的元件列表结合使用时,术语“包括”、“包含”及其任何其他变形旨在指示该列表不是排他的并且可以包括其他元素。类似地,在没有其他约束的情况下,以“一”或“一个”开头的元素不会排除存在相同类型的其他元素。

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