控制器局域网收发器
文献发布时间:2023-06-19 19:00:17
技术领域
本公开涉及控制器局域网(CAN)收发器、包括结合所述CAN收发器的CAN控制器的CAN节点,以及操作CAN收发器的方法。
背景技术
例如控制器局域网(CAN)、具有灵活数据速率的CAN(CAN FD)、本地互连网络(LIN)、FlexRay、基于以太网的网络总线以及其它类型的车载网络(IVN)总线可用于车辆内的通信。例如,控制器局域网(CAN)总线是通常在汽车内使用的基于消息的通信总线协议。应了解,CAN网络还具有在汽车领域之外的应用。CAN总线网络可包括多个总线装置、所谓的节点或电子控制单元(ECU),例如引擎控制模块(ECM)、传动系控制模块(PCM)、安全气囊、防抱死刹车、定速巡航、电动助力转向、音频系统、车窗、车门、后视镜调整、用于混合动力/电动汽车的电池和再充电系统等等。CAN总线协议用于实现各种总线装置之间的通信。CAN协议的数据链路层被标准化为国际标准组织(ISO)11898-1:2003。作为标准化CAN数据链路层协议的扩展并同时集成到ISO11898-1:2015标准中的CAN灵活数据速率或“CAN FD”可提供更高的数据速率。但是标准化CAN数据链路层协议仍处于进行扩展以提供更高数据速率的另外过程中。在CiA610(自动化中的CAN)下论述的定义阶段中,采用允许更高数据速率的新级别方案的称为CAN XL的另一扩展在CiA610下进行了论述,并且正在以另外更新现有ISO11898标准或新标准的形式朝着标准化方向发展。然而,允许所有CAN风格之间,例如CANXL与CAN FD之间的向后兼容性是有意义的。
附图说明
现将仅借助于例子参考附图描述一个或多个实施例,附图中:
图1示出连接到公共CAN总线的多个CAN节点的示例实施例。
图2示出包括与CAN收发器耦合的CAN控制器的示例CAN节点,CAN收发器提供与CAN总线的耦合。
图3示出具有发送器布置和接收器布置的示例CAN收发器。
图4示出根据CAN或CAN FD协议的示例时序图,示出应用于CAN总线的发送信号和对应信令,以及源自从CAN总线上的信令获得的差分信号的接收数字输出信号。
图5示出根据所提出的CAN XL协议的示例时序图,示出应用于CAN总线的发送信号和对应信令,以及源自从CAN总线上的信令获得的差分信号的接收数字输出信号。
图6示出示例CAN帧格式,示出可以指示CAN总线上即将出现例如CAN XL的非CAN或非CAN FD信令的位位置。
图7示出在CAN FD节点处于协议异常状态时提供例如CAN XL信令等非CAN或非CANFD信令的示例时序图。
图8示出根据CAN FD从CAN总线信令获得的差分信号的第一例子,所述差分信号切换到CAN XL并返回到CAN FD。
图9示出配置有图10的越界逻辑的无源CAN XL收发器的例子。
图10示出可在图9和12的收发器中使用的越界(OOB)逻辑的例子。
图11示出用于可在图9和10的OOB逻辑中实施的已待命逻辑的状态机的实施例。
图12示出配置有图10的越界逻辑的有源CAN XL收发器的例子。
图13示出根据CAN FD从CAN总线信令获得的差分信号的第二例子,所述差分信号切换到CAN XL并返回到CAN FD。
图14示出根据CAN FD从CAN总线信令获得的差分信号的第三例子,所述差分信号切换到CAN XL并返回到CAN FD。
具体实施方式
本文公开的CAN XL收发器的实施例被设计成与使用CAN FD协议的装置向后兼容。向后兼容性是通过CAN FD协议位流中的控制位实现的,每当在总线线路上检测到CAN XL帧时,所述控制位会迫使现有CAN FD控制器进入协议异常状态。用于CAN XL和CAN FD的电压电平方案包括用于CAN总线导线上的信令的电压。与CAN XL相比,CAN FD使用的电压电平方案的修改可有助于使用CAN XL实现更高的总线速度。在一个或多个例子中,尽管使用不同的电压电平方案,本文描述的收发器也可使在相同总线导线105上交错运行CAN FD和CANXL这两个协议成为可能。为了帮助确保即使其它节点正在运行CAN XL协议CAN FD控制器也可靠地保持在协议异常状态,当在总线上检测到CANXL差分电压电平方案时,收发器将用信号通知CAN FD控制器。CAN或CAN FD显性转变为隐性后的反射可能会被误解为CAN XL差分电压电平方案,但本文公开的CAN XL收发器的实施例被设计成用于防止这种误解。反射不会导致接收数据输出产生故障,从而防止在CAN FD通信期间影响信号完整性。
作为CAN网络的例子,图1示出CAN总线系统100,其中多个节点或电子控制单元(ECU)101-104连接到同时包括第一CANH导线和第二CANL的相同CAN总线导线105。节点101和102包括实施CAN FD协议的常规CAN FD节点。节点103和104包括实施CAN协议的扩展版本的节点,所述扩展版本例如所提议的CAN XL协议。实现CAN FD协议的节点101、102不知晓CAN XL协议。
图2更详细地示出节点101-104中的一个的例子。节点主要包括CAN控制器201,例如微控制器,所述CAN控制器201例如通过使用嵌入式CAN FD或CAN XL协议控制器来实施CAN FD或CAN XL协议。控制器201通过CAN收发器202连接到CAN总线105。CAN控制器201通过称为发送数据(TXD)引脚203和接收数据(RXD)引脚204的两个接口连接而连接到CAN收发器202。因此,控制器可以具有与收发器的发送输入耦合的发送输出。同样,收发器可以具有与控制器的接收输入耦合的接收输出。收发器202用于将包括TXD引脚203上的数字位流的发送数据转换为总线导线105上的模拟信令。收发器202还可用于将来自总线105的模拟信令转换为包括提供给RXD引脚204的数字输出信号或位流的接收数据。
如果新CAN协议变型的引入不能向后兼容/互操作,此类引入可能会出现问题。网络中每个节点处的CAN收发器和CAN控制器在从一个CAN协议变型转变为下一个CAN协议变型时都可能经历数据不准确。因此,确保使用CANFD和CAN XL的节点之间的兼容性以及可选的互操作性可能很重要。
如所提及,CAN FD协议具有称为“协议异常状态”的功能,所述功能将CAN FD控制器置于等待回路中,直到总线105再次空闲。在此状态下,CAN FD控制器可容许不符合CANFD协议的总线信令,而不会产生任何错误。为了保持在协议异常状态内,从接收连接204到CAN FD控制器的接收输入上必须有显性信号(即逻辑0信号)/显性电平变化,以便用信号通知CAN FD控制器总线上仍有活动。为了离开协议异常状态,CAN FD控制器在RXD引脚204上查找一段时间的隐性信号(即,若干位上的连续逻辑1信号),此时总线105被视为再次空闲并且“未知”协议已完成。
CAN XL利用CAN FD的协议异常状态,并且意在将CAN FD控制器保持在异常状态,直到CAN XL帧完成。因此,假设CAN XL协议基于RXD引脚204处的CAN XL通信量创建所需的显性信号或显性信号变化,使得CAN FD控制器保持在协议异常状态,直到CAN XL通信量完成。
然而,所提出的CAN XL物理层指定总线105导线上的位的信令的电压电平方案修改,以提供所需的总线速度性能。此电压电平方案的结果是,RXD引脚204上可能没有朝向可能是网络100一部分的任何CAN FD控制器的显性信号边沿,因为总线105上使用的电压电平的电压容差可能导致符合CAN FD的CAN收发器未检测到显性信令。本质上,可能是CAN XL信令使用的电压电平幅度太低,以至于具有经典接收器阈值的CAN接收器(如CAN FD模块中使用的)并不识别任何总线105活动,并且提供到CAN FD控制器的RXD引脚204可能看起来是连续隐性的。因此,CAN FD控制器将过早离开其协议异常状态并产生错误,这可能会干扰总线105上的通信量。
如果节点第一次通电,而系统中的其它节点已经与CAN XL协议和层级通信,则会发生类似的问题。通电的节点默认情况下可以以协议异常状态启动,然后等待此异常状态到期。可能重要的是,节点可靠地识别CAN XL层级方案中的通信,以便保持此异常状态,直到总线再次空闲。
本公开的一个或多个例子可以被配置成在所提出的CAN XL物理层中定义的总线105上的信令期间,可靠地将CAN FD节点保持在其协议异常状态。在一个或多个例子中,具有实施CAN FD和CAN XL协议的CAN控制器的节点可以在同一总线105上混合而不受任何限制。这可实现同一介质上交织的CAN FD和CAN XL通信,并且可以允许节点在通电后集成到网络100中。
出于总线速度原因,CAN XL物理层根据协议的阶段而切换输出和输入行为,即电压电平方案以及可选的信令速率。在CAN XL帧的开头,使用CAN FD或ISO 11898-2:2016电平方案,所述方案也用于CAN FD节点。这保证帧开始时CAN FD与CAN XL的互操作性/向后兼容性。此电压电平方案用于确定通过已知CAN仲裁方法获得总线接入的节点101-104。
在通过决策点之后,用信号表示使用哪种协议(CAN FD或CAN XL),并且CAN XL的物理层更改为CAN XL电压电平方案或保持在CAN FD电压电平方案中。在CAN XL节点103、104赢得总线接入的情况下,可使用CAN XL电压电平方案来提供具有不同输出和输入电平的更强输出驱动。可能需要这样来以最大物理速度驱动总线。旧的CAN FD电压电平方案没有针对速度进行优化,因此可能不适合非常高的总线速度,而非常高的总线速度是CAN XL的主要期望特征。
如果考虑根据本文中的实施例的与CAN收发器耦合的符合CAN XL的控制器,则新CAN XL物理层可被配置成通过CAN XL控制器(或其协议控制器)与CAN收发器之间的控制机制在两个电压电平方案之间切换。收发器通常是不知晓要发送的协议的非常简单的装置。因此,CAN XL控制器可被配置成提供此切换信息。对于本公开,如何进行此控制并不相关。可以容易理解的是,旧的CAN FD控制器无法传递此切换信号,因为它是在CAN XL未知的时候开发的。因此,根据本文中的实施例的具有CAN FD控制器结合CAN收发器的模块无法在其它节点使用CAN XL协议时切换到CAN XL电压电平方案。
本文描述的一个或多个例子提出在CAN收发器内具有检测机制,所述检测机制可以基于对总线上电压电平的观察自主地执行两个电压电平方案之间的切换。如果总线线路上存在CAN XL通信量,则示例性CAN收发器202可被配置成将相应的电平转发到连接的CANFD控制器201的RXD引脚204,从而将所述CAN FD控制器201可靠地保持在协议异常状态,直到CAN XL帧结束。
在一个或多个例子中,本文描述的CAN收发器可以在所有节点中使用,而不管其耦合到哪个CAN控制器(或其协议控制器)。因此,本文在以下例子中描述的CAN收发器可与符合CAN FD的控制器(例如,不能根据CAN XL协议通信的控制器)或符合CAN XL的控制器(例如,至少在仲裁阶段能够根据CAN XL和CAN FD通信的控制器)耦合。如果是这种情况,则可以在同一总线105上用交织消息格式同时使用这两个协议。可能只需要使用新的CAN收发器对具有CAN FD控制器的“旧”节点进行升级。这种变化微小,并且可以在本文所述的CAN收发器可用时完成。可能需要更长的时间才能将具有CAN协议的所有控制器201升级到CAN XL控制器。
CAN XL协议被定义为CAN FD和经典CAN协议的超集。因而,CAN XL模块也可以根据CAN XL控制器的配置/编程使用CAN FD协议或甚至经典CAN协议。
CAN FD和CAN XL都通过ISO11898中针对CAN定义的所谓逐位仲裁使用相同的总线接入机制和总线电压电平方案。因而,这两种CAN变型都是可互操作且向后兼容的。只要CANFD节点通过标识符中的更高优先级赢得总线接入,CAN FD协议就针对帧的其余部分继续,其中使用CAN和CAN FD中使用的已知总线电压电平方案。CAN XL控制器能够按照CAN XL标准的定义理解CAN FD信令。
图3示出包括用于耦合到TXD引脚203的发送输入和用于耦合到RXD引脚204的接收输出的CAN收发器202的一般布置。收发器202包括发送器布置301,用于从发送输入接收数字发送数据,并用于耦合到总线105以基于发送数据向总线105的两个导线提供差分信令。收发器202包括接收器布置302,用于从总线105接收信令,并基于从总线105接收的差分信号向接收输出提供数字输出信号。
根据CAN系统的现有技术水平的收发器可使用ISO 11898-2:2016标准中定义的电压电平方案。图4示出的示例时序图示出此类电压电平方案。401、402处发送数据中也称为隐性位的逻辑高位在403、404处用0V差分表示,而405处也称为显性位的逻辑低位用以406处总线的CANH导线和CANL导线处的不同电压电平展示的+1.5V至+3V之间的正差分电压表示。因而,发送器布置301将逻辑“1”(高电平,也称为隐性)转换为0V差分输出电压,并且将逻辑“0”(低电平,也称为显性)转换为+1.5V至+3V之间的正差分电压。
连接到RXD引脚204的接收器布置302将差分电压转换回逻辑电平。同样,根据ISO11898-2:2016标准,接收器布置302在逻辑状态之间的阈值电压或阈值电压范围407为+0.5V至+0.9V差分时进行切换。在408和409处差分总线电压(Vdiff)低于+0.5V的情况下,接收布置输出“1”(高电平,也称为隐性),如410和411所示。如果412处的总线电压高于+0.9V,则接收布置输出“0”(低电平,也称为显性),如413所示。
CAN XL的目标之一是将通信速度提高到物理上可能达到的最大值。由于以下几个原因,ISO11898-2:2016中定义的电压电平方案没有为此目的进行优化。
首先,仲裁机制需要确保总线对于逻辑状态“1”(高)变得相对高欧姆(这就是为什么所述状态被称为“隐性”)。这种高欧姆状态可以被具有低欧姆“0”的另一发送器覆盖(这就是为什么所述状态被称为“显性”)。其次,在所有CAN FD帧中使用此同一机制,以用信号表示总线上检测到的错误。任何节点都可以在隐性位阶段的任何时候覆盖发送器,并以此动态停止发送。
“高欧姆”驱动的位相当慢,并且在实践中还有其它损耗。具有多个分支的长物理总线电缆会产生大量反射,并且可能损坏高欧姆位。
CAN XL电压电平方案可以针对总线105上的最大信号性能而更优化。由于用于确定总线接入的仲裁阶段在CAN XL中保持相同(为了向后兼容性),因此CAN XL收发器只有在仲裁阶段完成且CAN XL控制器已获得对总线的接入后才能使用新的电压电平方案。此时,CAN XL收发器可以切换到新的电压电平方案并提高总线105上的速度。有意地,CAN XL协议可能不允许任何其它节点覆盖数据位。可以避免高欧姆输出行为,并以更优的强度驱动所有位电平。
图5示出的示例时序图示出所提出的CAN XL电压电平方案。在CAN FD的电压电平方案中,位被描述为隐性或显性。然而,在所提出的方案中,不存在隐性位。501、502处发送数据中的逻辑高位用由503、504处总线的CANH导线和CANL导线处的不同电压电平所示的负差分信号(即,等于CANH-CANL)表示。505处的逻辑低位用由506处总线的CANH导线和CANL导线处的不同电压电平所示的正差分电压表示。因而,发送器布置301将逻辑“1”(高电平)转换为-0.6V与-1V之间的负差分输出电压,并且将逻辑“0”(低电平)转换为+0.6V与+1V之间的正差分电压。
连接到RXD引脚204的接收器布置302将差分电压转换回具有逻辑电平的数字输出信号。接收器布置在逻辑状态之间以-0.1V至+0.1V的阈值电压或阈值电压范围507进行切换。在508和509处的差分总线电压(Vdiff)低于-0.1V的情况下,接收装置输出“1”(高电平),如510和511所示。如果512处的总线电压高于+0.1V,则接收布置输出“0”(低电平),如513所示。
对于CAN XL收发器,定义了触发图4和5中所示电压电平方案之间切换的机制。此机制将发送器行为从已知的ISO11898-2:2016电平方案更改为CAN XL的新提出的方案,反之亦然。可以使用同一机制在电压电平方案之间切换接收器阈值。CAN XL标准中定义了模式切换机制。
图6示出示例CAN FD帧格式600(这里是具有11位标识符的CAN FD基本帧格式)。在用于仲裁过程的一系列位601之后,包括保留位602,用于用信号表示对网络100上的任何CAN FD控制器或对支持CAN XL的节点的协议异常状态的使用,所述保留位可以用信号表示CAN XL协议的即将到来的使用。因此,如果位602为显性,则数据字段603可包含符合CAN FD的信令;如果位602为隐性,则数据字段603可包含符合CAN XL的信令。因此,可以认为位602是发生从CAN FD协议到CAN XL协议的转变的位置。如果此保留位在总线线路上为显性的(逻辑0),则这是CAN FD帧,并且所有后续位遵循CAN FD协议规则,如图6所示。如果此保留位在总线上为隐性的(逻辑1),则所有后续位可遵循CAN XL协议规则(图6中未示出)。
图7示出示例时序图,示出总线105上接收到的位701、响应于所述位的CAN XL节点状态702、响应于所述位的CAN FD节点状态703以及在总线中使用的电压电平方案704。时段705包括仲裁阶段,在这个例子中,CAN XL节点在此阶段中赢得仲裁。获胜节点将保留位602置于逻辑1状态,并在总线上发送。因此,CAN XL节点被示为继续CAN XL协议,并且在时段706期间,CAN FD节点接收隐性逻辑1保留位602并将其自身置于协议异常状态。一旦CAN FD控制器发现此保留位是隐性的,它将进入“协议异常状态”,从现在起忽略总线上的所有通信量。CAN FD控制器将保持此状态,只要CAN FD控制器在总线上并且相应地在具有连续隐性状态的RXD引脚204的接收输入处看不到预定长度的时段。
因此,通常,只要CAN XL节点仍在向总线发送信令,CAN FD节点就保持在协议异常状态,因为CAN FD节点看到总线活动包括总线105上CAN XL信令引起的显性信令。
与比如CAN FD或经典CAN的所有CAN协议风格类似,所提出的CAN XL帧也在隐性逻辑1状态中以11个连续位时间结束,直到下一帧可以开始。对于这11个连续的隐性位时间,总线上以及CAN FD模块中CAN FD控制器的RXD引脚204上不再有位转变。CAN XL中定义的这11个隐性位还用于提供用信号表示CAN FD控制器可以离开协议异常状态所需的连续隐性信令的预定时间。因此,在隐性状态下的11位静默时间之后,所有节点再次有效,并且总线105上的新协商时段可以开始直到下一仲裁阶段708。考虑到电压电平方案704,在仲裁阶段705、离开协议异常状态的隐性信令的预定时间707和下一仲裁阶段708期间使用CAN FD电压电平方案。在CAN XL控制器赢得仲裁的数据阶段706期间,使用CAN XL电压电平方案。转变回ISO11898-2:2016电平方案发生在CAN XL帧结束时但在预定时间段之前的一些非相关位位置处,也称为帧间空间707。
因此,如果在数据阶段706期间CAN FD控制器可以看到显性信令,则可以理解,有可能在同一个总线系统中混合CAN FD与CAN XL节点。只有当CAN XL节点在总线上发送位时处于协议异常状态的CAN FD节点可以通过RXD引脚204观察总线活动的情况下,此机制才起作用。
不利的是,CAN XL电压电平方案利用总线上的电压电平,无法保证这些电平能被所有CAN FD收发器看到。因此,当总线上存在CAN XL信令时,CAN FD节点上的RXD引脚204可能看不到总线上的活动。在某些情况下,CAN XL数据阶段706中的总线电平可能低于CAN收发器用于区分ISO 11898-2:2016标准中逻辑1与逻辑0信令的最大接收器阈值+0.9V。具体而言,CAN XL数据位的最小电压可能仅为+0.6V,小于+0.9V的最大接收器阈值,因此在符合CAN FD的节点的RXD引脚204上未必再可见。相反,控制器将看到永久隐性状态(RXD引脚204上的逻辑“1”),并且在11个连续的位时间之后将离开协议异常状态。结果将是,CAN FD节点认为总线是空闲的,并将在后台CAN XL节点仍在用另一CAN XL电压电平方案使用总线时开始进行发送。
图8示出在时间段801期间根据CAN FD从CAN总线信令获得的差分信号的第一例子,所述差分信号在时间段802期间切换到CAN XL,并在时间段803期间切换回到CAN FD。如所提及,CAN FD收发器用于从CAN总线上的信令获得的差分信号804(CANH-CANL)中区分逻辑1和逻辑0的阈值介于+0.6V与+0.9V之间,如阈值1线路805和806所示。在时间段801和803,高电平和低电平明显高于和低于这些阈值,因此逻辑1与逻辑0之间的区别很明显。然而,在时段802中的CAN XL总线幅度的情况下,差分信号804具有接近阈值806和阈值805的电压。因此,例如由于生产扩展、温度条件或电缆损耗等原因,CAN XL信令可能不会超过下限阈值1线路805或上限阈值1线路806。在CAN XL标准(CIA610-3)中,当差分信号804(CANH-CANL)低于-0.45V(阈值3)时,RXD引脚204将被驱动到显性状态(RXD引脚204上的逻辑“0”),以用信号通知CAN FD控制器201(图2)总线上存在CAN XL信号。
当终止方案不是最优方案的情况下反射导致差分信号低于第三阈值时,会发生显性信号小故障,如时间T2与时间T3之间的带圆圈部分806所示。由于RXD信号在负反射期间被驱动为显性,因此数据阶段(在CAN XL帧的数据阶段电使用ISO11898-2:2016电平方案)的最大波特率可能会受到限制并低于预期。为了阻止在CAN FD期间负差分总线电压低于第三阈值反射的情况下将RXD信号驱动为显性,需要将通信量与CAN XL快速通信量期间的高位率区分开来。一种解决方案是使用滤波器,然而,抑制反射需要很长的滤波时间,这会限制CAN XL的最大位率,因为快速位可能不再被检测到。
图8中所示的第二个缺点发生在时间T6与时间T8之间,此时总线上存在电平0/电平1通信量,其中电平0的电压电平高于阈值1。这可能导致RXD信号中出现短的高脉冲(“检测到电平1和电平0”),因为阈值1的比较器1206(图12)将在总线上的下降沿处将RXD信号驱动为高,且阈值3的比较器1208(图12)将在不久后再次将RXD信号驱动为低。类似的行为将在总线上的上升沿处呈现。从发射角度看,短脉冲并不有利,因为它们的重复率是阈值1比较器频率的两倍。
因此,CAN FD收发器使用的电压阈值可能有问题。应理解,CAN FD控制器无法将所连接收发器使用的阈值切换或更改为不同的接收器阈值。在CAN FD的开发中未预见到此类功能。因此,CAN FD节点将收发器保留在ISO119898-2:2016电平方案内,接收器阈值为+0.5V至+0.9V。
图8假设在显性位状态内从ISO电平转变为CAN XL电平,并在隐性位状态期间转变回。
图9示出用于耦合到CAN FD控制器201(图1)的无源CAN XL收发器900的示例实施例。无源CAN XL收发器900包括发送器902和接收器布置901,所述接收器布置901包括比较器906、908、OOB逻辑910和与逻辑门904。术语“无源CAN XL收发器”可指使用CAN FD协议和电压阈值操作并且可检测总线上何时存在不处于CAN FD协议中的数据的收发器。无源CANXL收发器900可能无法解密例如CAN XL协议的其它协、议中的数据,但至少能够识别总线何时被占用。接收器布置901被配置成基于差分信号(CANH/CANL)向接收输出204提供数字输出信号。在一个或多个例子中,收发器900另外包括用于耦合到CAN控制器201并从中接收单端发送信号的发送输入203。无源CAN XL收发器900另外包括耦合到发送输入203以接收发送信号的发送器布置902,并且被配置成耦合到CAN总线105(图1)。发送器布置902被配置成基于发送信号提供差分模拟信号(CANH/CANL)。
OOB逻辑910和与门904可用于避免由于CAN FD信号中的反射而导致的问题。发送器902将单端发送信号转换为差分信号CANL和CANH。第一比较器906可被配置成使用第一阈值电压为+0.5V至+0.9V的CAN FD电压电平方案来确定数字输出信号。第二比较器908可被配置成使用阈值电压为-0.25V至-0.45V的CAN XL电压电平方案来确定数字输出信号。
对于CAN XL系统,定义了一定范围的可能波特率,这与收发器900内潜在CAN XL通信量的恰当检测相关。采用ISO11898-2:2016电平方案的CAN XL仲裁速度可高达1Mbps,对应于最小位时间的1μs(本文中μs也写成us),而数据阶段可高达10Mbps,对应于最小位时间的100ns。应了解,随着所提出的协议的建立,数据阶段可以上升到不同的或高的速率,例如12.5Mbps或其它值,并且相应地,数据阶段的最小位时间发生改变。
现在可以得出,CAN FD中协议异常状态的潜在最短超时时间发生在最高潜在仲裁波特率下。因而,终止协议异常状态的11个隐性位时间在最早11×1μs=11μs之后过期。对于仲裁阶段期间使用的较低波特率,协议异常状态相应更长。这意味着检测和用信号表示RXD引脚204上的CAN XL通信量的最长可用时间为11μs或更短。
CAN XL通信量的检测需要在CAN XL通信期间采用尽可能快的数据速率,可能为10Mbs,从而在总线上产生最小100ns或更长的脉冲/相位。如果CAN XL将用于更高的波特率,则此时间可相应缩短。具有相同位电平的多个连续位可以延长脉冲长度,并且对检测而言并不重要。最关键的是检测时间最短。
建议提供一种收发器(例如,CAN收发器),所述收发器可与根据CAN FD协议操作的CAN控制器201一起使用,并且可选地与根据CANXL协议操作的CAN控制器一起使用。应了解,如果至少仲裁阶段相同,则根据CAN XL协议操作的CAN控制器也可以根据CAN FD协议操作。为了避免反射引起的显性信号小故障和电平0/电平1检测引起的短脉冲,可在CAN FD和CANXL收发器内的越界(OOB)逻辑中使用两个准则。第一准则可以包括在检测CAN总线上的活动之前,在CAN FD发生从显性到隐性状态的切换之后等待指定的时间量,如图9进一步描述。第二准则可以包括在检测CAN总线上的活动之前,在从电平1切换到电平0以及从电平0切换到电平1之后等待指定的时间量,以避免使用CAN XL时RXD信号上的短脉冲,如图12进一步描述。
TXD引脚203耦合到单端差分转换器902的输入,所述单端差分转换器902产生差分CANH/CANL信号。比较器906包括耦合到CANL信号的第一输入和耦合到CANH信号的第二输入。比较器906的输出是数字信号,所述数字信号指示差分信号CANL和CANH是否在第一阈值之间,例如在0.5V与0.9V之间,或在其它选定电压之间。比较器906的输出被提供为与逻辑门904的输入和OOB逻辑910的输入。比较器908包括耦合到CANL信号的第一输入和耦合到CANH信号的第二输入。比较器908的输出是数字信号,所述数字信号指示差分信号CANL和CANH是否低于第三阈值,例如低于-0.45V或其它选定电压。比较器908的输出被提供为OOB逻辑910的输入。
参考图9和10,图10示出可在图9和图12的CAN收发器900、1200中使用的越界(OOB)逻辑910的例子。OOB逻辑910包括已待命逻辑电路1002和多路复用器1004。已待命逻辑电路1002包括接收比较器906的输出(示为信号COMP1)的第一输入和接收比较器908的输出(示为信号COMP3)的第二输入。多路复用器1004包括耦合到已待命逻辑电路1002输出的已待命状态信号的控制输入、耦合到信号COMP3的第一反相输入和耦合到始终具有值“1”的输入的第二输入。当断言已待命状态时,多路复用器1004输出信号COMP3的补码。当未断言已待命状态时,多路复用器1004的输出被设置为值“1”。多路复用器1004的输出被提供到与门904的第二输入。与门904的输出将为“0”,除非两个输入都被设置为“1”。
图11示出用于可在图9和10的OOB逻辑910中实施的已待命逻辑1002的状态机的实施例。在实施OOB逻辑910的装置通电时,OOB逻辑910进入待命状态1102,并断言已待命信号。当差分电压(即,CAN H和CAN L之间的差值)在大于预选时间段(如TDISARM所示)的持续时间内大于第一阈值电压(显性状态)时,已待命逻辑1002对已待命信号解除待命,从而禁用OOB逻辑910。针对TDISARM选择的时间段足以检测无源CAN XL收发器900中从隐性到显性的可靠转变。OOB逻辑910保持在解除待命状态,直到满足转变到预待命状态1104的准则,所述准则包括差分电压在大于另一预选时间段(如TARM所示)的持续时间内小于第三阈值电压。OOB逻辑1002保持在预待命状态1104,直到满足转变到待命状态1102的准则,所述准则包括差分电压大于第三阈值电压。
可以选择TDISARM和TARM的时间段,使得满足CAN XL通信量期间最小RXD低脉冲的要求(例如,TDISARM=TARM=15ns)。也可能有其它实施方案,其中TDISARM相较于TARM可以更长,例如,在显性脉冲期间仅禁用OOB逻辑1002(例如,CAN FD 8Mbit/s->tbit=125ns->TDISARM=<125ns)。
图12示出配置有图10的OOB逻辑910的有源CAN XL收发器1200的例子。有源CAN XL收发器1200包括发送器902和接收器布置1201,所述接收器布置1201包括比较器906、908、1202、OOB逻辑910、与逻辑门904和多路复用器1204。术语“有源CAN XL收发器”可指使用CANXL协议和电压阈值操作并且与CAN FD协议向后兼容的收发器。有源CAN XL收发器1200能够在CAN FD协议中解密数据。接收器布置1201被配置成基于差分信号(CANH/CANL)向接收输出204提供数字输出信号。在一个或多个例子中,收发器1200另外包括用于耦合到CAN控制器201并从中接收单端发送信号的TXD引脚203。CAN收发器1200另外包括耦合到发送输入203以接收发送信号的发送器902,并基于输入的发送信号将耦合的差分模拟信号CAN H和CAN L输出到CAN总线105(图1)。
OOB逻辑910和与门904可用于避免由于CAN FD信号中的反射而导致的问题。比较器906可被配置成使用阈值电压为+0.5V至+0.9V的CAN FD电压电平方案来确定数字输出信号。比较器908可被配置成使用阈值电压为-0.25V至-0.45V的CAN XL电压电平方案来确定数字输出信号。比较器1202可被配置成使用阈值电压电平与CAN XL标准(CiA610-3)的快速模式相关(示为-0.1V至+0.1V的阈值电压)的CAN XL电压电平方案来确定数字输出信号。术语“快速模式”是指与被称为“慢速模式”的使用CAN FD协议的操作相比,使用CAN XL协议实现的相对较高的数据速率。
多路复用器1204包括耦合到与逻辑门904的输出的第一输入(A)、耦合到比较器1202的输出的第二输入(B)和耦合到RXD引脚204的输出。在与CAN FD操作相对应的操作的慢速模式(Rx模式逻辑“0”)期间,RXD引脚204通过多路复用器1204耦合到与逻辑门904的输出。在与CAN XL数据阶段操作相对应的快速模式(Rx模式逻辑“1”)操作期间,RXD引脚通过多路复用器1204耦合到比较器1202的输出。
图13示出在时间段801期间根据CAN FD从CAN总线信令获得的差分信号的第二例子,所述差分信号在时间段802期间切换到CAN XL,并在时间段803期间切换回到CAN FD。例子对于电平0使用高于0.9V的典型电压,并且对于电平1使用低于-0.9V的电压。在区段801期间,在总线上的隐性到显性转变期间(时间T1),电压超过阈值1,并且在时间TDISARM之后,已待命信号变低并禁用OOB逻辑910。在显性到隐性转变之后(时间T2),由于总线上的反射,总线电压超过阈值3。由于OOB逻辑910被禁用(已待命=低),因此RXD引脚将不会被驱动到低电平,在图13中突出显示为“无显性小故障”。当总线电压再次升高并在时间T3超过阈值3时,已待命信号变高,并且在总线信号在最短持续时间TARM内低于阈值3的情况下启用OOB逻辑910。
在时间区段802的快速模式期间,总线上使用典型的电平0/电平1电压幅度。示出典型的或高的信号幅度,其中电平0的幅度始终高于阈值1。如果电平0信号的持续时间导致在至少时间TDISARM内比较器1的低电平,则在电平1电压低于阈值3之前再次禁用OOB逻辑910,从而防止电平1信号将RXD引脚驱动为低电平。
图14示出根据CAN FD从CAN总线信令获得的差分信号的第三例子,所述差分信号切换到CAN XL并返回到CAN FD。在时间区段802的快速模式期间,总线上使用最小电平0/电平1电压幅度,其结果是电平0幅度始终低于阈值1。
在快速模式(时间区段802)期间,总线上的电平0电压在时间T3处保持低于阈值1的上升水平,并且OOB逻辑910保持启用。当在时间T4处电平1电压低于阈值3时,RXD引脚被驱动为低电平,从而用信号通知CAN控制器201总线活动。时间T1处的第一电平1位将不会导致RXD引脚上的低电平,因为OOB逻辑910仍然被先前的隐性到显性转变禁用。因为在第一电平1到电平0转变之后,OOB逻辑910在时间T2再次启用,并且第二电平1位将被检测到并将RXD引脚驱动为低,所以不会出现问题。在最坏的情况下,由于快速模式期间的填充规则,CAN XL通信量为12个电平0位、12个电平1位、12个电平0位,其中包括前一填充位的11位等于12位。在最新24位后启用OOB逻辑910,并且在36位后RXD引脚被驱动为低电平。通常,CAN控制器201在36个快速位+15ns之后可靠地检测活动。协议异常状态期间总线空闲的要求是11个慢速位。最大仲裁速度为1Mbit/s,从而产生1us的最小慢速位。在11us-15ns的36位最小快速速度的情况下,波特率计算为3.2Mbit/s。由于CAN XL的快速模式仅用于高于5Mbit/s的速度,因此错过第一电平1信号不会出现问题。
现在可以理解,在选定实施例中,一种控制器局域网(CAN)收发器可以包括接收器,所述接收器被配置成根据从CAN总线接收的模拟信令确定电压差分信号(Vdiff),并且被配置成基于电压差分信号在接收器输出处向CAN控制器提供数字输出信号。接收器可以包括待命电路(OOB逻辑1210的已待命逻辑),所述待命电路被配置成基于电压差分信号、对应于第一CAN协议的第一定义电压电平方案的第一阈值(阈值1-CAN FD电平)和对应于与第一CAN协议不同的第二CAN协议的第二定义电压电平方案的第二阈值(阈值3-CAN XL电平),将接收器置于已待命状态或非待命状态。接收器可以被配置成使得当接收器处于非待命状态时,可以基于电压差分信号与第一阈值之间的比较(例如使用cmp1的比较)而提供指示CAN总线上的活动的第一数字信号(RxD或MUX1304的输入A),并且当接收器处于已待命状态时,可以基于电压差分信号与第一阈值和第二阈值中的每一者之间的比较(例如使用cmp1和cmp3的比较)而提供第一数字信号(RxD或MUX 1304的输入A)。
在另一方面,当接收器处于非待命状态时,第一数字信号可以在电压差分信号小于第一阈值时被驱动为高电平,否则被驱动为低电平。(例如,当待命=0时,Rx=cmp1,其中当Vdiff<thresh1时,cmp1=1)。
在另一方面,当接收器处于已待命状态时,第一数字信号在电压差分信号既小于所述第一阈值又大于第二阈值时被驱动为高电平,否则被驱动为低电平。(当待命=1时,Rx=cmp1而非cmp3)
在另一方面,待命电路被配置成在第一CAN协议中电压差分信号的显性状态期间将接收器置于非待命状态,并且在第一CAN协议中电压差分信号从显性状态转变为隐性状态之后,待命电路被配置成直到电压差分信号低于第二阈值达至少阈值时间量之后才将接收器置于已待命状态。(在显性转变为隐性之后,直到第一次负反射后才能待命)
在另一方面,当电压差分信号小于第二阈值达至少第一阈值时间量(tarm)时,待命电路被配置成将接收器从非待命状态置于已待命状态,并且电压差分信号随后上升到高于第二阈值。
在另一方面,当电压差分信号大于第一阈值达至少第二阈值时间量(tdisarm)时,待命电路被配置成将接收器从已待命状态置于非待命状态。
在另一方面,从CAN总线接收的模拟信令能够根据第一CAN协议(CAN FD)的第一定义电压电平方案或第二CAN协议(CAN XL)的第二定义电压电平方案操作,并且电压差分信号对应于CAN总线的第一导线上的电压减去CAN总线的第二导线上的电压(CANH CANL),其中:
第一阈值(例如0.5-0.9V)被设置成介于根据第一CAN协议的逻辑高位的差分电压电平与根据第一CAN协议的逻辑低位的差分电压电平之间的正值;并且
第二阈值(例如-0.4V)被设置成与根据第二CAN协议的活动电压阈值相对应的负值。
在另一方面,活动电压阈值的负值介于用于检测第二CAN协议的信令的预定较低接收器阈值与根据第二CAN协议的最大较低电压之间。
在另一方面,接收器另外被配置成将电压差分信号与第三阈值(阈值2)进行比较,其中所述第三阈值被设置成根据第二CAN协议区分逻辑低位和逻辑高位的值,其中第一阈值大于第三阈值,并且第三阈值大于第二阈值。
在另一方面,接收器能够在第一模式(慢速模式)和第二模式(快速模式)下操作,其中当接收器在第一模式下操作时,接收器输出处的数字输出信号由所述第一数字信号生成,并且当接收器在第二模式下操作时,接收器输出处的数字输出信号基于电压差分信号与第三阈值之间的比较而生成。
在另一方面,CAN收发器可另外包括发送器,所述发送器被配置成从CAN控制器接收发送信号,并且基于发送信号在CAN总线上提供模拟信令。在第一操作模式下,发送器可以根据第一CAN协议提供模拟信令,并且在第二操作模式下,发送器可以根据第二CAN协议提供模拟信令。
在其它选定实施例中,一种控制器局域网(CAN)收发器可以包括接收器,所述接收器被配置成根据从CAN总线接收的模拟信令确定电压差分信号(Vdiff),并且被配置成基于电压差分信号在接收器输出处向CAN控制器提供数字输出信号。接收器可以包括待命电路(OOB逻辑1210的已待命逻辑),所述待命电路被配置成当电压差分信号大于第一阈值(阈值1)达至少第一阈值时间量(tdisarm)时,将接收器从已待命状态置于非待命状态,以及当电压差分信号小于第二阈值达至少第二阈值时间量(tarm)时,将接收器从非待命状态置于已待命状态,并且电压差分信号随后上升到高于第二阈值。第二阈值可小于第一阈值。当接收器处于非待命状态时,可以基于电压差分信号与第一阈值之间的比较来提供指示CAN总线上的活动的第一数字信号(RxD或MUX 1304的输入A),并且当接收器处于已待命状态时,可以基于电压差分信号与第一阈值之间的比较以及电压差分信号与第二阈值之间的比较两者来提供第一数字信号。数字输出信号可以选择性地根据第一数字信号生成。
在另一方面,从CAN总线接收的模拟信令可能够根据第一定义电平方案(CAN FD)或不同于所述第一定义电平方案的第二定义电平方案(CAN XL)任一者操作。
在另一方面,电压差分信号可以对应于CAN总线的第一导线上的电压减去CAN总线的第二导线上的电压(CANH CANL)。可以将第一阈值(例如0.5-0.9V)设置成介于根据第一定义电平方案的逻辑高位的差分电压电平与根据第一定义电平方案的逻辑低位的差分电压电平之间的正值。可以将第二阈值(例如-0.4V)设置成介于用于检测第二定义电平方案的信令的预定较低接收器阈值与根据第二定义电平方案的最大较低电压之间的负值。
在另一方面,可以只在以下情况下将第一数字信号驱动为逻辑低电平:电压差分信号高于第一阈值(cmp1=0),或者接收器处于已待命并且电压差分信号小于第二阈值(OOB的输出=0b/c,已待命=1并且cmp3=1)。否则第一数字信号可以是逻辑高电平(与门1204的操作)。
在另一方面,接收器可能够在第一模式(慢速模式)和第二模式(快速模式)下操作,其中当接收器在第一模式下操作时,第一数字信号作为接收器输出处的数字输出信号提供,并且当接收器在第二模式下操作时,接收器输出处的数字输出信号基于电压差分信号与第三阈值之间的比较而生成,其中第三阈值介于第一阈值与第二阈值之间。(覆盖MUX1304的操作)
在其它选定实施例中,一种在具有被配置成根据从控制器局域网(CAN)总线接收的模拟信令确定电压差分信号(Vdiff)并且被配置成基于电压差分信号在接收器输出处向CAN控制器提供数字输出信号的接收器的CAN收发器中的方法可以包括:基于电压差分信号与第一阈值之间的比较提供第一比较输出;基于电压差分信号与第二阈值(阈值3)之间的比较提供第二比较输出,其中第二阈值小于第一阈值;并且响应于第一比较输出和第二比较输出,选择性地将接收器置于已待命状态。当接收器处于非待命状态时,可以提供第一比较输出作为第一数字信号(RxD或MUX 1304的输入A)。当接收器处于已待命状态时,可以提供第一比较输出与第二比较输出的逻辑组合(例如cmp1而非cmp3)作为第一数字信号(RxD或MUX 1304的输入A)。
在另一方面,响应于第一比较输出和第二比较输出而选择性地将接收器置于已待命状态可以包括:当电压差分信号小于第二阈值达至少第一阈值时间量(tarm)时,将接收器从非待命状态置于已待命状态,并且电压差分信号随后上升到高于第二阈值;以及当电压差分信号大于第一阈值达至少第二阈值时间量(tdisarm)时,将接收器从已待命状态置于非待命状态。
在另一方面,从CAN总线接收的模拟信令可能够根据第一定义电平方案(CAN FD)或不同于第一定义电平方案的第二定义电平方案(CAN XL)任一者操作,并且接收器可能够在至少两种模式(例如,慢速模式、快速模式)下操作。所述方法可另外包括:基于电压差分信号与第三阈值(阈值2)之间的比较提供第三比较输出(阈值2输出),其中第三阈值介于第二阈值与第一阈值之间;在第一模式下操作接收器,其中接收器输出处的数字输出信号由第一数字信号生成;以及在第二模式下操作接收器,其中接收器输出处的数字输出信号由第三比较输出生成,与第一和第二比较输出无关。
在另一方面,电压差分信号可以对应于CAN总线的第一导线上的电压减去CAN总线的第二导线上的电压(CANH CANL)。可以将第一阈值(例如0.5-0.9V)设置成介于根据第一定义电平方案的逻辑高位的差分电压电平与根据第一定义电平方案的逻辑低位的差分电压电平之间的正值。可以将第二阈值(例如-0.4V)设置成介于用于检测第二定义电平方案的信令的预定较低接收器阈值与根据第二定义电平方案的最大较低电压之间的负值。
除非明确陈述特定顺序,否则可以任何顺序执行以上图式中的指令和/或状态图步骤。而且,本领域的技术人员将认识到,虽然已论述了一个示例指令集/方法,但是在本说明书中的材料可以多种方式组合从而还产生其它例子,并且应在此详细描述提供的上下文内来进行理解。
在一些示例实施例中,上文描述的指令集/方法步骤实施为体现为可执行指令集的功能和软件指令,所述可执行指令集在计算机或以所述可执行指令编程和控制的机器上实现。此类指令经过加载以在处理器(例如,一个或多个CPU)上执行。术语处理器包括微处理器、微控制器、处理器模块或子系统(包括一个或多个微处理器或微控制器),或其它控制或计算装置。处理器可指代单个组件或多个组件。
在其它例子中,本文中示出的指令集/方法以及与其相关联的数据和指令存储于相应存储装置中,所述存储装置被实施为一个或多个非暂时性机器或计算机可读或计算机可用存储介质。这类计算机可读或计算机可用存储介质被视为物品(或制品)的部分。物品或制品可以指任何所制造出的单个组件或多个组件。如本文所定义的非暂时性机器或计算机可用介质不包括信号,但此类介质可能够接收并处理来自信号和/或其它暂时性介质的信息。
本说明书中论述的材料的示例实施例可整体或部分地经由网络、计算机或基于数据的装置和/或服务加以实施。这些可包括云、因特网、企业内部网、手机、台式机、处理器、查找表、微控制器、消费设备、基础设施、控制器局域网、局域网或其它使能装置和服务。如本文和权利要求书中可使用,提供以下非排他性定义。
在一个例子中,本文论述的一个或多个指令或步骤是自动化的。术语自动化或自动地(和其类似变型)意指使用计算机和/或机械/电气装置来控制设备、系统和/或过程的操作,而不需要人类干预、观测、努力和/或决策。
应了解,据称将耦合的任何组件可直接地或间接地耦合或连接。在间接耦合的状况下,可在称为耦合的两个组件之间安置另外的组件。
在本说明书中,已经按选定的细节集合来呈现示例实施例。然而,所属领域的技术人员将理解,可以实践包括这些细节的不同选定集合的许多其它示例实施例。希望所附权利要求书涵盖所有可能的示例实施例。
- 控制器局域网收发器和控制器
- 控制器局域网的控制器和收发器