对从冗余总线接收到的信号进行解释的制作方法

文档序号:9829900阅读:654来源:国知局
对从冗余总线接收到的信号进行解释的制作方法
【专利说明】
【背景技术】
[0001]在基于汽车的控制系统或工业自动化系统中,诸如传感器和致动器的外围设备可使用控制器局域网络(CAN)总线来进行通信。CAN总线通常具有一对与时钟信号同步驱动以串行指示数据的差分通信线路。位于给定位置的多个外设中的一个可通过使用相关联的CAN总线控制器和收发器来与CAN总线进行通信。CAN控制器对CAN总线消息发送的格式/协议进行调整,并且收发器对CAN总线和CAN总线控制器之间的电压电平进行转换。
【附图说明】
[0002]图1是根据示例实施方式的包括冗余控制器局域网络(CAN)总线的计算机系统的示意图。
[0003]图2是根据示例实施方式的图1的计算机系统的节点的CAN总线控制器和CAN总线接口的示意图。
[0004]图3A、图3B、图4和图7是描绘出根据示例实施方式的对从冗余总线接收到的信号进行解释的技术的流程图。
[0005]图5是描绘出根据示例实施方式的对因隐性总线故障而导致通信受损的总线设备进行识别的技术的流程图。
[0006]图6是根据另一示例实施方式的CAN总线控制器和CAN总线接口的示意图。
【具体实施方式】
[0007]参照图1,根据示例实施方式,计算机系统100包括一个或多个节点104(在图1中描绘出N个示例节点104-1、104-2"_1044以作为示例),这些节点使用一组冗余总线150(在图1中描绘出两条总线150-1和150-2以作为示例)来相互进行通信。在这一点上,由于给定的总线150上的通信共享性,因此总线150可能会成为单个的故障点。例如,在给定总线设备上的单个弯式连接器引脚可能会在总线150上引发短路,该短路可能破坏节点104之间的通
?目O
[0008]冗余总线架构通过在给定总线上的通信已遭破坏的情况下提供可替代的通信路径,来提供一种相对更为健壮和容错的形式的通信。应注意到,虽然在图1中描绘出两条总线150,但是根据另一些示例实施方式,计算机系统100可具有三条、四条或更多条总线以形成一组冗余总线。
[0009]如果不存在故障,则冗余总线150同时指示相同的数据位(S卩,由通过数据位线所表示的逻辑值形成的数据位)。然而,如果发生总线故障,则数据位不同,即,一条总线150可提供当前的数据信号,而有故障的总线150则不提供当前的数据信号。正如本文所描述的,给定的节点104为了获取正确的总线数据信号而基于是否已检测到某个总线故障(以下描述)来解释从冗余总线150接收到的信号。
[0010]作为更具体的示例,根据本文所讨论的示例实施方式,节点104和总线150形成控制器局域网络(CAN)。然而应注意到,根据另一些实施方式,可使用其他网络和采用了其他总线通信协议的其他冗余总线。
[0011]根据示例实施方式,总线150采用串行通信,其中总线150的一对数据线差分地指示或表示串行数据比特流。这个流同步于时钟信号。串行数据表示消息的有效载荷数据、节点标识符等。在给定的时间,节点104中的一个被允许使用总线150,因此可通过总线150将一个或多个消息传送到接收节点104。根据示例实施方式,可通过使用节点标识符(ID)以及显性和隐性位,来实现决定哪个节点104被赋予在总线150上进行传送的当前权利,这也被称为“仲裁”。
[0012]作为示例,给定的节点104可通过将其ID串行传递给总线150来请求使用总线150。以这种方式,节点104的ID可以是“O”构成的前导序列而后跟“I”和“O”构成的另一序列。当多个节点104同时请求总线104时,节点104同时串行地将它们的ID提供给总线150,并且仲裁方案选择其ID位是最终ID位为“显性”的节点104。在这点上,根据示例实施方式,“显性”位与逻辑“O”相关联,而“隐性”位与逻辑“I”相关联。最初在串行ID传送期间,由于以上所描述的由“O”构成的ID前导,因此所有节点104都传送显性位,但是最终,节点104中的一个(仲裁赢家)传送显性位,而争夺总线150的其余节点104则传送隐性位。
[0013]在一般情况下,根据示例实施方式,每个节点104都包括总线接口140。为了传送总线数据,节点104的CAN总线控制器134生成数据,总线接口 140将该数据冗余地驱动到总线150-1和150-2的数据线。为了接收总线数据,总线接口 140和总线控制器134协作以对来自冗余总线150-1和150-2的数据信号进行逻辑合并,并且以容错方式来选择逻辑合并后的数据信号。更具体而言,如下文更详细地描述,根据示例实施方式,总线接口 140根据两个不同的逻辑功能对总线信号进行逻辑合并,用以提供两个相应的信号以供总线控制器134选择。当I)没有发生故障或者2)发生隐性总线故障(以下描述)时,信号中的一个正确地表示总线数据;当发生显性总线故障(以下描述)时,另一个信号正确地表示总线数据。
[0014]更具体而言,根据示例实施方式,对于1.没有发生总线故障的情况并且对于2.在总线150-1和150-2中的一个上发生隐性总线故障的情况(以下描述),总线接口 140对来自总线150-1和150-2的数据信号一起进行逻辑“与”运算以提供数据信号,该信号准确地表示或指示总线数据。
[0015]当总线150的差分数据线对一直指示隐性位(逻辑“I”)时,在给定的总线150上发生隐性总线故障,而不论由传送节点104驱动到总线150上的数据如何。因此,当给定的总线150经历隐性故障时,来自总线150的数据信号指示或表示连续的逻辑“I”的流。作为示例,隐性故障可能是由总线150的两条线之间的开路或短路而引起的,使得总线150的差分数据线对连续地指示隐性(逻辑“I”)位。
[0016]当没有出现故障时,通过对从总线150接收到的数据信号一起进行逻辑“与”运算而形成的数据信号准确地指示或表示正确的或预期的总线数据,并且如果总线150中的一个经历隐性故障,也准确地指示正确的数据。例如,如果预期的数据位为逻辑“O”并且如果没有发生隐性故障,则来自两条总线150的逻辑“O”位的“与”运算正确地生成一个逻辑“O”位。如果在总线150中的一个上发生隐性故障,则经历故障的总线150连续地指示逻辑“I”位。然而,逻辑“I”位(来自有隐性故障的总线150)和逻辑“O”位(来自没有故障的总线150)的“与”运算也生成正确的逻辑“O”位。如果预期的数据位为逻辑“I”并且如果没有发生隐性故障,则来自两条总线150的逻辑“I”位的“与”运算正确地生成一个逻辑“I”位。如果在总线150中的一个上发生隐性故障,则逻辑“I”位(来自有隐性故障的总线150)和逻辑“I”位(来自没有故障的总线150)的“与”运算也生成正确的逻辑“I”位。
[0017]然而,上述的逻辑“与”运算不能适应在总线150中的一个上的显性故障。当总线150的差分数据线对指示显性位(逻辑“O”位)时,在给定的总线150上发生显性总线故障,而不论由传送节点104驱动到总线150上的数据如何。因此,当给定的总线150经历显性故障时,接收连续的逻辑“O”的流以作为来自总线150的数据。例如当总线150的线接触电力轨时,可能会在给定的总线150上发生显性故障。由于“O”成为“与”运算的输入,因此来自总线150-1和150-2的数据信号的逻辑“与”运算生成恒定的逻辑“O”的流,故而逻辑“与”运算无法适应显性故障。
[0018]根据本文所公开的示例实施方式,除了对来自总线150的数据信号进行逻辑“与”运算之外,总线接口 140还同时对数据信号一起进行逻辑“或”运算,以生成控制器134的替代总线数据信号。该替代数据信号在显性故障事件中准确地指示或表示预期的总线数据。以这种方式,如果预期的数据位是逻辑“O”并且在总线150中的一个上发生显性故障,则经历故障的总线150连续地指示逻辑“O”位,而不论由传送节点104驱动到总线150上的数据如何。然而,逻辑“O”位(来自有显性故障的总线150)和逻辑“O”位(来自没有故障的总线150)的“或”运算生成正确的逻辑“O”位。如果预期的数据位是逻辑“I”并且在总线150中的一个上发生显性故障,则逻辑“O”位(来自有显性故障的总线150)与逻辑“I”位(来自没有故障的总线150)的“或”运算生成正确的逻辑“I”位。
[0019]因此,根据示例实施方式,总线接口140生成两个潜在的总线数据输入信号以供总线控制器134选择:通过接口 140对从总线150接收到的数据信号一起进行逻辑“与”运算而生成的第一信号;以及通过接口 140对数据信号一起进行逻辑“或”运算而生成的第二信号。总线控制器134至少部分地基于是否检测到显性故障来对总线接口 140所提供的数据信号进行解释(因此,选择适当的信号作为其总线数据输入信号)。
[0020]在这点上,如果没有检测到显性故障,则总线控制器134选择从总线数据信号的逻辑“与”运算中获得的总线数据输入信号。应注意到,该选择出的信号不倾向于隐性故障,因此
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1