利用以太网的控制器局域网通信的制作方法

文档序号:8001564阅读:214来源:国知局
利用以太网的控制器局域网通信的制作方法
【专利摘要】本发明涉及利用以太网的控制器局域网通信,具体地,提供了一种用于在CAN节点之间使用以太网实施控制器局域网(CAN)通信的系统和方法。以太网交换机包括端口,每个端口被配置为从CAN节点接收以太网数据包(EDP)。每个EDP都包含CAN消息,其包含相应于CAN节点的标识(ID)。第一端口被配置为接收第一EDP,且第二端口被配置为接收第二EDP。所述以太网交换机也包括控制器模块,其被配置为检测在所述第一EDP和所述第二EDP之间的CAN冲突。所述控制器模块被配置为响应所述CAN冲突的检测,基于对应于所述第一EDP的ID和对应于所述第二EDP的ID来选择所述第一EDP或者所述第二EDP。所述控制器模块被配置为将所选择的EDP路由至目的地。
【专利说明】利用以太网的控制器局域网通信
[0001]交叉参考相关申请
[0002]本申请要求在2012年7月23日提交的标题为“Ethernet Adaptation LayerFunction for CAN Controller”的美国临时专利申请第61/674,828以及在2012年12月17日提交的美国专利申请第13/716,521的权利,通用引用将其全部内容并入本文。
【技术领域】
[0003]本技术主要涉及网络通信,具体地,涉及使用以太网实施控制器局域网(CAN)通f目。
【背景技术】
[0004]CAN总线使用车辆总线标准,该标准被设计为允许微控制器和装置在车辆内部彼此通信或与其他控制系统通信。所述CAN总线可以使用基于消息的协议,其设计用于汽车应用并且对于它们的功能区域是特定的,但也可用于其他领域,比如工业自动化和医疗设备。

【发明内容】

[0005]本发明的一个方面涉及一种用于在多个控制器局域网(CAN)节点之间实施CAN通信的以太网交换机,所述以太网交换机包括:多个端口,每个端口被配置为从各自的CAN节点接收以太网数据包,每个以太网数据包包括CAN消息,每个CAN消息包括相应CAN节点的标识(ID);以及控制器模块,被配置为检测在所述多个端口中的第一端口接收的第一以太网数据包和在所述多个端口中的第二端口接收的第二以太网数据包之间的CAN冲突;其中,所述控制器模块被配置为响应所述CAN冲突的检测,基于对应于所述第一以太网数据包的ID和对应于所述第二以太网数据的ID来选择所述第一以太网数据包或所述第二以太网数据包,以及其中,所述控制器模块被进一步配置为将所选择的以太网数据包路由至目的地。
[0006]上述以太网交换机中,优选所述多个CAN节点中的每一个包括CAN控制器和以太网适配模块。
[0007]上述以太网交换机中,优选所述CAN冲突包括同时接收所述第一以太网数据包和所述第二以太网数据包。
[0008]上述以太网交换机中,优选所选择的以太网数据包是所述第一以太网数据包,并且其中,对应于所述第一以太网数据包的ID小于对应于所述第二以太网数据包的ID。
[0009]上述以太网交换机中,优选所述控制器模块被进一步配置为在路由所述第一以太网数据包之后的传输周期路由所述第二以太网数据包。
[0010]上述以太网交换机中,优选所述控制器模块被进一步配置为确定所选择的以太网数据包的所述目的地。
[0011]上述以太网交换机中,优选所述目的地包括:a)除了与接收了所选择的以太网数据包的端口相对应的CAN节点之外的所述多个CAN节点的单个CAN节点,b)除了与接收了所选择的以太网数据包的端口相对应的CAN节点之外的所述多个CAN节点的两个或更多个CAN节点,或c)除了与接收了所选择的以太网数据包的端口相对应的CAN节点之外的全部所述多个CAN节点。
[0012]上述以太网交换机中,优选进一步包括耦接至所述控制器模块的时钟模块,其中,所述时钟模块被配置为生成传输时钟,并且其中,所述控制器模块被配置为基于所述传输时钟路由所选择的以太网数据包。
[0013]上述以太网交换机中,优选所述时钟模块被配置为接收主基准时钟并且基于所述主基准时钟生成所述传输时钟。
[0014]上述以太网交换机中,优选所述控制器模块被配置为以所述目的地支持的带宽将所选择的以太网数据包路由至所述目的地。
[0015]上述以太网交换机中,优选所述控制器模块被配置为检测CAN消息错误并且基于所述CAN消息错误的检测将以太网故障消息传输至所述多个CAN节点的一个或多个。
[0016]本发明的另一方面涉及一种用于利用以太网实施控制器局域网(CAN)通信的CAN节点,所述CAN节点包括:CAN模块,被配置为生成第一 CAN消息,所述第一 CAN消息包括所述CAN节点的第一标识(ID);以太网适配模块,被配置为基于所述第一 CAN消息生成第一以太网数据包,并向收发器提供所述第一以太网数据包以通过以太网链路将所述第一以太网数据包传输至目的地;其中,所述以太网适配模块被进一步配置为从所述收发器接收第二以太网数据包,所述第二以太网数据包由所述收发器在所述以太网链路上检测,所述第二以太网数据包包括第二 CAN消息,所述第二 CAN消息包括第二 ID,并且其中,所述以太网适配模块被进一步配置为从所述第二以太网数据包提取所述第二 CAN消息;以及验证模块,被配置为将所述第一 ID与所述第二 ID比较,并且基于所述第一 ID与所述第二 ID的比较来确定所述第一以太网数据包的传输是否成功。
[0017]上述CAN节点中,优选所述以太网适配模块被配置为将所述第一 CAN消息封装为所述第一以太网数据包。
[0018]上述CAN节点中,优选进一步包括所述收发器,其中,所述收发器被配置为将所述第一以太网数据包传输至所述目的地,其中,所述第一 CAN消息包括用于传输所述第一 CAN消息的传输时间信息,并且其中,所述收发器被配置为根据所述传输时间信息传输所述第一以太网数据包。
[0019]上述CAN节点中,优选所述以太网适配模块被配置为检测以太网故障消息并且基于所述以太网故障消息的检测向所述CAN模块提供CAN消息错误。
[0020]上述CAN节点中,优选所述以太网链路包括共享的以太网总线。
[0021]本发明的又一方面涉及一种用于利用以太网在多个控制器局域网(CAN)节点之间实施CAN通信的方法,所述方法包括:从所述多个CAN节点中的第一 CAN节点接收第一以太网数据包,所述第一以太网数据包包括第一 CAN消息,所述第一 CAN消息包括所述第一 CAN节点的第一标识(ID);从所述多个CAN节点中的第二 CAN节点接收第二以太网数据包,所述第二以太网数据包包括第二 CAN消息,所述第二 CAN消息包括所述第二 CAN节点的第二 ID ;检测在所述第一以太网数据包和所述第二以太网数据包之间的CAN冲突;响应于所述CAN冲突的检测,基于所述第一 ID和所述第二 ID来选择所述第一以太网数据包或所述第二以太网数据包;确定所选择的以太网数据包的目的地;以及将所选择的以太网数据包路由至所述目的地。
[0022]上述方法中,优选所选择的以太网数据包是所述第一以太网数据包,其中,所述目的地是包括所述多个CAN节点中的一组的第一目标位置,并且其中,所述方法进一步包括确定所述第二以太网数据包的第二目标位置,所述第二目标位置包括除了所述多个CAN节点中的所述一组之外的所述多个CAN节点中的至少一个。
[0023]上述方法中,优选进一步包括同时将所述第一以太网数据包路由至所述第一目标位置并将所述第二以太网数据包路由至所述第二目标位置。
[0024]上述方法中,优选所选择的以太网数据包通过以太网链路路由至所述目的地,所述以太网链路包括共享的以太网总线。
【专利附图】

【附图说明】
[0025]为了提供对本技术的进一步理解,包括附图,其并入本说明书并构成本说明书的一部分,所述附图示出了本技术的多个方面并与文字描述一起用来说明本技术的原理。
[0026]图1示出根据本技术的不同方面的包含以太网交换机的车辆的示例,该以太网交换机用于在CAN节点之间经由以太网链路实施CAN通信。
[0027]图2示出根据本技术的不同方面的以太网交换机102和CAN节点的组件的框图。
[0028]图3示出根据本技术的不同方面的用于在CAN节点之间经由以太网链路实施CAN通信的方法的示例。
[0029]图4示出根据本技术的不同方面的控制器的组件的框图。
【具体实施方式】
[0030]在以下具体的描述中阐述了大量特定的细节,以便提供对本技术的全面的理解。然而,应当明白的是本技术可以在没有一些这些特定细节的情况下实行。在其他情况下,结构和技术没有具体地示出以避免模糊本技术。
[0031]车辆可具有用于不同子系统的若干个至多达150个或更多的电子控制单元(ECU)0 一个ECU是发动机控制单元(也是汽车中的发动机控制模块(ECM)或动力系控制模块(PCM))。其他ECU可用于传动装置、安全气囊、防抱死制动系统、巡航控制、电动转向系统、音频系统、车窗、车门、后视镜调节、混合动力/电动汽车的电池和充电系统等。这些ECU中一些可形成独立的子系统,但通信尤其重要。子系统可能需要控制致动器或从传感器接收反馈。
[0032]所述CAN标准是用于连接不同CAN节点比如E⑶的多主广播串行总线标准。所述节点可以连接至所述CAN总线(例如通过主处理机和CAN控制器)。每个节点能够发送和接收消息。消息包含数据(例如达到八个数据字节或更多)和相应节点的标识符(ID),其能够用来代表所述消息的优先级。消息能够在所述CAN总线上串行地传输。所传输的信号模式可以根据非归零(NRZ)线路代码来编码,并且可被全部节点检测到。
[0033]如果所述总线是空闲的,那么任一节点可以开始传输。如果两个或更多节点在同一时间开始发送消息,那么具有更占优势的ID的消息(例如它具有更占优势的比特,即零)可以优先于其他节点的不占优势的ID,以致最终仅带有最占优势的ID的消息剩余下来并被全部节点所接收。确定要发送哪个消息的这种机制可能被称为仲裁(例如基于优先级的总线仲裁)。例如,带有较低数值的ID的消息具有较高的优先级,并因此可能会赢得所述仲裁并首先传输。
[0034]根据本技术的不同方面,包含所述仲裁处理的CAN通信可以利用以太网来实施。以太网是由许多网络计算装置所使用的常见标准,并且尤其提供较高的带宽、与其他网络协议会聚、交换操作以及用于诊断和解决通信中的错误的一组定义明确的故障错误。因此,兼容通信的CAN协议可以利用以太网以更快且更有效的方式实施。
[0035]图1示出根据本技术的不同方面的包含以太网交换机102的车辆100的示例,以太网交换机102用于在CAN节点104a、104b、104c以及104d之间经由以太网链路106a、106b、106c以及106d实施CAN通信。在一些方面,CAN节点104a、104b、104c以及104d可以是用于发动机控制、传动控制、安全气囊、防抱死制动系统、巡航控制、电动转向系统、音频系统、车窗、车门、后视镜调节、混合动力/电动汽车的电池和充电系统、照明、电动门锁和/或其他功能的ECU。虽然图1中仅示出四个CAN节点,应当明白的是对于任意数量CAN节点可以利用以太网来实施CAN通信。还应当明白的是可以利用相同的以太网总线来实施多个CAN总线。还应当明白的是可以实施多个以太网总线,其每个支持一个或多个CAN通信。根据某些方面,具有要传输的CAN消息的CAN节点(例如CAN节点104a)可以包括将所述CAN消息转换成以太网数据包的以太网适配模块。这种以太网数据包可以由以太网交换机102经由以太网链路(例如以太网链路106a)接收,以太网交换机102可以接着经由一个或更多以太网链路(例如以太网链路106b、106c和106d)将所述以太网数据包传输至一个或更多接收CAN节点(例如CAN节点104b、104c和104d)。一个或多个接收CAN节点可以每个都包括将以太网数据包转换为原CAN消息的以太网适配模块。根据某些方面,以太网交换机102可以实施CAN仲裁处理,以便对要路由至所述一个或多个接收CAN节点的以太网数据包设置优先级。
[0036]图2示出根据本技术的不同方面的以太网交换机102和CAN节点104a、104b、104c以及104d的组件的框图。以太网交换机102包括端口 206a、206b、206c以及206d、交换机控制器模块202以及时钟模块204,它们彼此通信。CAN节点104a包括以太网适配模块208a、CAN模块210a、验证模块212a以及物理层(PHY)模块214a,它们彼此通信。类似地,CAN节点104b包括以太网适配模块208b、CAN模块210b、验证模块212b以及PHY模块214b。CAN节点104c包括以太网适配模块208c、CAN模块210c、验证模块212c以及PHY模块214c。CAN节点104d包括以太网适配模块208d、CAN模块210d、验证模块212d以及PHY模块214d。在一些方面,所述模块可以以软件实施(例如子例行程序和代码)。在一些方面,一些或全部所述模块可以以硬件中施(例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、可编程逻辑器件(PLD)、控制器、状态机、门控逻辑、离散的硬件组件或任一其他适当的器件)和/或两者的结合。在本公开中进一步描述了根据本技术的各个方面的这些模块的其他特征和功能。
[0037]根据某些方面,CAN模块(例如CAN模块210a、210b、210c或210d)包括用于生成CAN消息的逻辑、电路和/或代码。在一个或多个实施方案中,所述CAN模块包括CAN控制器。每个CAN消息包括数据和相应的CAN节点的标识(ID)。例如,CAN模块210a可以生成包括数据和CAN节点104a的ID的CAN消息。以太网适配模块(例如以太网适配模块208a、208b,208c或208d)包括逻辑、电路和/或代码,用于基于从相应的CAN模块接收的CAN消息生成以太网数据包。根据某些方面,以太网适配模块可以将CAN消息封装为以太网数据包,从而允许所述CAN消息经由以太网链路传输。PHY模块(例如PHY模块214a、214b、214c或214d)包括用于支持与其他网络设备通信的逻辑、电路、接口和/或代码。根据某些方面,PHY模块可以包括用于支持与其他网络设备通信的收发器(例如接收器和发射器)、扰频器、解扰器、一个或多个数字信号处理块和/或其他组件。所述PHY模块可以从所述以太网适配模块接收所述以太网数据包,并经由以太网链路(例如以太网链路106a、106b、106c以及106d)将所述以太网数据包提供至以太网交换机102。
[0038]根据本技术的不同方面,以太网交换机102包括端口 206a、206b、206c以及206d,其每个都被配置为从各自的CAN节点接收以太网数据包(例如端口 206a从CAN节点104a的PHY模块214a经由以太网链路106a接收以太网数据包,端口 206b从CAN节点104b的PHY模块214b经由以太网链路106b接收以太网数据包,端口 206c从CAN节点104c的PHY模块214c经由以太网链路106c接收以太网数据包,以及端口 206d从CAN节点104d的PHY模块214d经由以太网链路106d接收以太网数据包)。端口(例如端口 206a、206b、206c或206d)可以将已接收的以太网数据包提供至交换机控制器模块202,它包括用于支持与其他网络设备通信的逻辑、电路和/或代码。根据某些方面,交换机控制器模块202和/或端口(例如端口 206a、206b、206c或206d)可以包括用于支持与其他网络设备通信的收发器(例如接收器和发射器)、扰频器、解扰器、一个或多个数字信号处理块和/或其他组件。在一些方面,交换机控制器模块202被配置为经由相应的端口将以太网数据包路由(route,发送)至目的地。
[0039]根据某些方面,时钟模块204包括用于使交换机控制器模块202能够根据定时循环传输和接收数据包的逻辑、电路和/或代码。CAN消息可以包括与要传输CAN消息的期望时间和/或在CAN消息被认为是错误之前能够将CAN消息传递至它的预期目的地的时间相关的信息。在这点上,交换机控制器模块202可以提取此定时信息,并且时钟模块204可以确定将以太网数据包传输至它的预期目的地的可接受的时间(例如传输时钟)。时钟模块204可以利用主基准时钟确定所述传输时钟,主基准时钟可以由例如自由运行的晶体振荡器生成,或者从另一网络组件(例如另一交换机)接收。交换机控制器模块202可以根据由时钟模块204生成的相应的传输时钟传输以太网数据包。根据某些方面,交换机控制器模块202和/或时钟模块 204可以利用 Institute of Electrical and Electronics Engineers(IEEE)802.1AS标准、IEEE1588标准和/或其他标准从以太网网络时钟生成CAN参考时钟,该以太网网络时钟源自CAN节点和/或其他交换机之间的定时和/或与CAN节点和/或其他交换机之间的定时同步。
[0040]PHY模块(例如PHY模块214a、214b、214c或214d)也可以从以太网交换机102接收以太网数据包。以太网适配模块(例如以太网适配模块208a、208b、208c或208d)可以从所述以太网数据包提取CAN消息并将CAN消息提供至CAN模块(例如CAN模块210a、210b、210c 或 210d)。
[0041]根据某些方面,CAN节点(例如CAN节点104a、104b、104c或104d)可以参加CAN仲裁处理,比如确定以太网数据包是传输成功(因此不需要重新传输)还是未传输成功(因此需要重新传输,比如在替代传输了具有更占优势ID的另一以太网数据包的情况下)。CAN节点可以传输原始以太网数据包(包括具有传输CAN节点的特定ID的CAN消息)。CAN节点可以利用验证模块(例如验证模块212a、212b、212c或212d)来确定这种传输是否成功。根据某些方面,经由以太网链路传输原始以太网数据包的相应的PHY模块可以检测在以太网链路上观测到的以太网数据包。相应的以太网适配模块可以从观测到的以太网数据包提取CAN消息。验证模块可以将来自此CAN消息的ID与正传输的CAN节点的特定ID相比较。如果这些ID相匹配,那么所述验证模块确定原始以太网数据包的传输是成功的。否则,验证模块确定原始以太网数据包的传输是不成功的(例如,因为观测到的以太网数据包具有更占优势的ID,并且经由所述以太网链路传输)。
[0042]图3示出根据本技术的不同方面的用于在CAN节点104a、104b、104c以及104d之间经由以太网链路106a、106b、106c以及106d实施CAN通信的方法300的示例。例如,以太网交换机102可以用来实施方法300。然而,方法300也可以通过具有其他配置的系统实施。虽然本发明参考图1、2和4的示例描述了方法300,但是方法300并不局限于这些示例。而且,方法300不一定必须按照示出的顺序执行。基于设计偏好,应当明白的是方法300的顺序可以重新安排。
[0043]为了示出的目的,假设CAN节点104a要将第一以太网数据包(包括第一 CAN消息,第一 CAN消息包括CAN节点104a的第一 ID)传输至CAN节点104b。而且,假设CAN节点104c要将第二以太网数据包(包括第二 CAN消息,第二 CAN消息包括CAN节点104c的第二ID)传输至CAN节点104d。CAN节点104a和104c可以将第一以太网数据包和第二以太网数据包分别传输至以太网交换机102,其经由端口 206a和206c分别接收这些数据包(S302 )。
[0044]根据某些方面,交换机控制器模块202被配置为检测在第一以太网之间数据包和第二以太网数据包之间的CAN冲突(S304)。也就是说,交换机控制器模块202能够检测在以太网交换机102是否存在着不止一个的要传输的以太网数据包(例如在同一时间接收所述第一以太网数据包和所述第二以太网数据包)。如果交换机控制器模块202没有检测到CAN冲突(例如在以太网交换机102仅有单个以太网数据包可用于传输),那么交换机控制器模块202可以继续进行确定所接收的单个以太网数据包的目的地的步骤(S308)。然而,如果交换机控制器模块202检测到CAN冲突(例如接收到不止一个的以太网数据包),那么以太网交换机102可以实施仲裁处理,以便为所接收的以太网数据包的传输顺序设置优先级。例如,交换机控制器模块202基于第一 ID和第二 ID选择第一以太网数据包或第二以太网数据包用于传输(S306)。交换机控制器模块202可以通过将与较低ID相关联的以太网数据包设为优先的(例如“0000000”的ID可以具有最高的优先级,而“1111111”的ID可以具有最低的优先级)来模仿CAN仲裁处理。为了示例说明的目的,假设CAN节点104a的ID小于CAN节点104c的ID。因此,交换机控制器模块202可以选择第一以太网数据包(从CAN节点104a)进行传输。在这点上,第二以太网数据包可以在下一个传输周期传输。
[0045]根据某些方面,交换机控制器模块202确定所选择的以太网数据包的目的地(例如如果检测到CAN冲突),或者在以太网交换机102存在的用于传输的单个以太网数据包的目的地(例如如果没有检测到CAN冲突)(S308)。为了示例说明的目的,假设第一以太网数据包是用于传输的所选择的以太网数据包。根据某些方面,来自所述第一以太网数据包的第一 CAN消息可以包括关于它的预期目的地的信息。在这种情况下,交换机控制器模块202可以通过从所述第一 CAN消息提取该预期目的地信息来确定第一以太网数据包的目的地。在一些方面,所述目的地可以被预先确定。例如,一个或多个节点(例如CAN节点104b、104c和/或104d)可以被预先确定来接收源自CAN节点104a的全部数据包。此预先确定的目的地可以提供至以太网交换机102和/或储存在以太网交换机102中。在这点上,交换机控制器模块202可以通过查找预先确定的目的地来确定第一以太网数据包的目的地。
[0046]根据某些方面,交换机控制器模块202将以太网数据包(例如如果检测到CAN冲突时所选择的以太网数据包,或者如果没有检测到CAN冲突时在以太网交换机102可用于传输的单个以太网数据包)经由一个或多个相应端口路由至所确定的目的地(S310)。假设第一以太网数据包是所选择的以太网数据包,并且目的地被确定为CAN节点104b,则交换机控制器模块202可将第一以太网数据包经由端口 206b路由至CAN节点104b。
[0047]根据某些方面,以太网通信的带宽可以大于由CAN节点典型支持的带宽。因此,可以提供每个传输CAN节点的最大带宽,从而使得使用以太网的CAN通信比没有使用以太网的CAN通信更加有效。在一个或多个实施方案中,如果CAN节点(例如CAN节点104a、104b、104c或104d)以125千比特/秒(kbps)传输,并且以太网交换机102以全双工在10兆比特/秒(mbps)的带宽操作,那么多达40个CAN节点能够在没有仲裁损耗的情况下传输(例如以太网数据包不必等待带有更占优势的ID的另一以太网数据包传输完成)。因此,假设以太网数据包不具有同一目的地,那么多个CAN节点能够在没有仲裁损耗的情况下传输以太网数据包。如上所述,第一以太网数据包的预期目的地是CAN节点104b,而第二以太网数据包的预期目的地是CAN节点104d。根据某些方面,交换机控制器模块202可以在同一时间在没有仲裁损耗的情况下将第一以太网数据包路由至CAN节点104b并将第二以太网数据包路由至CAN节点104d。
[0048]在一些方面,以太网交换机102可以以设定带宽实施CAN通信。在一个或多个实施方案中,如果CAN节点的网络需要在125kbps操作,以太网交换机102可以在设定带宽(例如125kbps)而不是在它的最大带宽(例如IOmbps)将所选择的以太网数据包路由至目的地。在一些方面,交换机控制器模块202被配置为以目的地所支持的带宽将以太网数据包路由至它的目的地。虽然以太网交换机102被描述为在可IOmbps的带宽操作,但是以太网交换机102可以在任一以太网带宽(例如IOOmbps、250mbps、IOOOmbps、2500mbps等)操作。虽然每个传输CAN节点都被描述为可在125kbps的带宽操作,但是每个传输CAN节点都可以在任一带宽操作(例如小于以太网带宽)。
[0049]根据本技术的不同方面,CAN总线状态信号(比如CAN错误消息可)以利用以太网来传播。交换机控制器模块202可以检测CAN消息错误(例如过度循环冗余检验错误、局部CAN地址不可到达和/或未监听错误(not-listened-to error)),并基于所检测出的CAN消息错误生成相应的以太网故障消息。交换机控制器模块202可以将所生成的以太网故障消息路由至所述错误适用的CAN节点。此CAN节点的以太网适配模块可以接收以太网故障消息(经由相应的PHY模块),基于所接收的以太网故障消息生成相应的CAN消息错误,并将所述CAN消息错误提供至所述相应的CAN模块。在某些方面,以太网适配模块也可以向CAN模块报告电缆故障(例如短路、开路、不适当的传输线路等)。
[0050]虽然上述CAN通信被描述为利用以太网交换机102实施,但是CAN通信也可以利用共享的以太网总线操作实施(例如CAN节点104a、104b、104c以及104d可以经由共享的以太网链路直接传输)。共享的以太网总线操作可以包括IEEE802.3Carrier-Sense, MultipleAccess/Collision Detection (CSMA/CD)法、主从时隙访问 IEEE802.3 以太网 PON 法、或其变体。在共享的以太网总线操作中,除了以太网数据包的传输和接收经由单个以太网链路以外,每个CAN节点可以如上所述地传输和接收以太网数据包。因此,全部CAN节点都可以监听经由所述以太网链路发生的传输。而且,每个CAN节点的以太网适配模块可以实施上述仲裁处理,以确定以太网数据包经由所述以太网链路的传输是成功的还是不成功的。
[0051]图4示出根据本技术的不同方面的控制器400的组件的框图。控制器400包括处理器模块404、存储模块410、输入/输出(I/O)模块408、内存模块406以及总线402。总线402可以是用于传递信息的任一适当的通信机构。处理器模块404、存储模块410、I/O模块408以及内存模块406与总线402耦接,用于在控制器400的任一模块之间传递信息和/或在控制器400的任一模块和至控制器400的外部装置之间传递信息。例如,在控制器400的任一模块之间传递的信息可以包括指令和/或数据。在一些方面,总线402可以是通用串行总线。在一些方面,总线402可以提供以太网连接性。
[0052]在一些方面,处理器模块404可包含一个或多个处理器,其中每个处理器可实施不同功能或执行不同指令和/或处理。例如,一个或多个处理器可利用以太网执行用于执行CAN通信的指令,且一个或多个处理器可执行用于输入/输出功能的指令。
[0053]内存模块406可以是随机存取内存(“RAM”)或用于存储处理器模块404所执行信息和指令的其他动态存储设备。内存模块406还可用于在处理器404的指令执行期间存储临时变量或其他的中间信息。在一些方面,内存模块406可包含电池组供电的静态RAM,其存储信息而不需要电力来维持所存储的信息。存储器模块410可以是磁盘或光盘并且也可存储信息和指令。在一些方面,存储器模块410可包含硬盘存储器或电子内存存储器(快闪式存储器)。在一些方面,内存模块406和存储器模块410均为机器可读介质。
[0054]可通过I/O模块408将控制器400连接至系统控制和管理系统(例如,车辆中央网关)、和/或可允许用户将信息和选择命令通信至控制器400以及从控制器400接收信息的用户接口。例如,车辆中央网关可提供带宽、日志故障诊断、重置和恢复动作、以及日志统计。用户接口可以是向用户显示信息的监视器(例如,液晶显示器(IXD)、发光二极管(LED)显示器、有机发光二极管(0LED)、柔性显示器、平板显示器、固态显示器)。用户接口还可包括,例如键盘、鼠标或任何通过I/O模块408被连接至控制器400用于将信息和命令选择通信至处理器模块404的具有感官反馈、视觉反馈、听觉反馈、和/或触觉反馈的设备。
[0055]根据本技术的各个方面,可通过控制器400执行此处所描述的方法。在一个或多个实施中,处理器模块404执行一个或多个包含在内存模块406和/或存储器模块410中的指令序列。在一些方面,指令可从另一个机器可读介质例如存储器模块410读取至内存模块406。在一些方面,指令可例如从用户通过用户接口从I/O模块408直接读取至内存模块406。包含在内存模块406和/或存储器模块410中的指令序列的执行可导致处理器模块404实施利用以太网执行CAN通信的方法。在一个或多个实施中,利用以太网执行CAN通信的计算算法可作为一个或多个指令序列存储在内存模块406和/或存储器模块410中。可通过总线402从处理器模块404将信息例如以太网数据包、CAN消息、以太网数据包的选择、目的地、定时信息、CAN消息错误、以太网故障信息和/或其他信息通信至内存模块406和/或存储器模块410,以用于存储。在一些方面,可通过总线402将所述信息从处理器模块404、内存模块406和/或存储器模块410通信至I/O模块408。然后通过用户接口将所述信息从I/o模块408通信至用户。
[0056]以多处理排列的一个或多个处理器还可用于执行包含在内存模块406和/或存储器模块410中的指令序列。在一些方面,可利用硬接线电路代替软件指令或者与软件指令结合来执行本技术的各个方面。因此,本技术的方面不局限于硬件电路和软件的任何特定组合。
[0057]本文所用的术语“机器可读介质”或“计算机可读介质”指的是任何参与将指令提供至处理器模块404用于执行的介质。该介质可采用许多形式,包括,但不局限于,非易失性介质和易失性介质。非易失性介质包括,例如,光盘或磁盘,例如存储器模块410。易失性介质包括动态内存,例如内存模块406。机器可读介质或计算机可读介质的公共形式包括,例如,软盘、软磁盘、硬盘、磁带、任何其他的磁性介质、CD-ROM、DVD、任何其他的光学介质、穿孔卡、纸带、任何其他的具有孔图案的物理介质、RAM、PROM、EPROM、FLASH EPROM、任何其他的内存芯片或盒式磁带、或任何其他的处理器可从其读取的介质。
[0058]本领域内的那些技术人员应该意识到此处描述的说明性方框、模块、组件、组件、方法、以及算法可被实施为电子硬件、计算机软件、或两者组合。为了说明该硬件和软件的可互换性,在上文中就其功能概括地描述了各种说明性方框、模块、元件、组件、方法以及算法。该功能是否被实施为硬件或软件取决于特定应用和对整个系统所施加的设计约束。技术人员可针对各自的特定应用以不同方式执行所述功能。可在不偏离本技术的保护范围下对各种组件和方框进行不同的排列(例如以不同顺序排列,或以不同方式划分)。
[0059]应该理解所公开的处理中的方框的任何特定顺序或层级是说明示例性方法。根据设计偏好,应该理解,可重新排列处理中的方框的任何特定顺序或层级,或者可执行全部的说明性方框。可同时执行任何方框。在一个或多个实施方案中,多任务和并行处理可能是有利的。而且,上述实施方式中的各种系统组件的分隔不应该被理解为在全部的实施例中都要求这样的分隔,且应该理解所描述的程序组件和系统通常可整合在单个软件产品中或被封装成多个软件产品。
[0060]在本申请的此说明书和任何权利要求中所使用的术语“接收器”、“计算机”、“服务器”、“处理器”和“内存”全部指电子或其他的技术设备。这些术语排除了人或人群。为了具体说明,术语“显示”或“进行显示”意味着在电子设备上进行显示。
[0061]如本文所使用的,在一系列项目之前(或之后)的短语“至少一个”(借助术语“和”或“或”分隔任何项目)是作为一个整体修改列表,而不是列表的各个构件(即,每个项目)。短语“至少一个”并不要求选择至少一个的每个所列项目;相反地,该短语意味着包含所述项目中的至少一个的任一项目,和/或至少一个的所述术语的任何组合,和/或至少一个的每个项目。例如,短语“A、B和C中的至少一个”或“K、B或C中的至少一个”各自指仅A、仅B、或仅C 'K、B和C的任何组合;和/或A、B和C各自至少一个。
[0062]谓语单词“被配置为”、“可操作用于”以及“可编程用于”不是暗示主题的任何特定的有形或无形的变化,相反,是可互换使用的。在一个或多个实施方案中,被配置分析和控制操作或组件的处理器也指被编程以分析和控制操作的处理器或可操作用于分析和控制操作的处理器。同样地,被配置执行代码的处理器可被解释为被编程用于执行代码或可操作用于执行代码的处理器。
[0063]短语例如“方面”不是暗示该方面对本技术是必不可少的或者该方面应用至本技术的所有配置。与方面相关的公开可应用于所有配置,或一个或多个配置。方面可提供本公开的一个或多个示例。例如“方面”的短语可指一个或多个方面,反之亦然。例如“实施方式”的短语不是暗示该实施方式对本技术是必不可少的或者该实施方式应用至本技术的所有配置。与实施方式相关的公开可适用于全部实施方式,或一个或多个实施方式。实施方式可提供本公开的一个或多个示例。例如“实施方式”的短语可指一个或多个实施方式,反之亦然。短语例如“配置”不是暗示该配置对本技术是必不可少的或者该配置应用至本技术的所有配置。与配置有关的公开可适用于所有配置,或一个或多个配置。配置可提供本公开的一个或多个示例。例如“配置”的短语可指一个或多个配置,反之亦然。
[0064]此处所用的词“示例性”意味着“用作示例、实例或说明”。此处作为“示例性”或作为“示例”描述的任何实施方式不一定被解释为比其他实施方式优选或有利。此外,就本说明书或权利要求中使用的术语“包括(include)”^具有”等而言,这样的术语与当“包括(comprise)”在权利要求中被用作过渡词所解释的术语“包括(comprise)”的方式类似地包含。[0065]将本领域技术人员所已知的或之后将知道的与贯穿本公开描述的各个方面的组件等价的所有结构和功能通过引用明确地并入本文且被涵盖在权利要求中。而且,本文所公开的内容均不贡献给公众,而不管该公开是否被明确地记载在权利要求中。除非明确地使用短语“用于…的手段”来记载要素,或者在方法权利要求的情况下,使用短语“用于…的步骤”,否则权利要求的要素均不按照35U.S.C.§ 112,第六段的规定来解释。
[0066]提供前面的说明是为了使本领域内的任何技术人员能实践本文所述各个方面。对这些方面的各种修改对本领域内的那些技术人员是显而易见的,并且可将此处所定义的一般原则应用于其他方面。因此,权利要求并不受本文所示出的各个方面的限制,而是与语言表达的权利要求一致的全部保护范围,其中除非有特别说明,否则采用单数形式提及组件并不意味着“一个并且仅一个”,而是“一个或多个”。除非另有特别说明,否则术语“一些”指的是一个或多个。男性代词(例如,他的)包括女性和中性(例如,她的和它的),反之亦然。如果存在任何标题和副标题,其仅是为了方便说明而不是限制本公开。
【权利要求】
1.一种用于在多个控制器局域网(CAN)节点之间实施CAN通信的以太网交换机,所述以太网交换机包括: 多个端口,每个端口被配置为从各自的CAN节点接收以太网数据包,每个以太网数据包包括CAN消息,每个CAN消息包括相应CAN节点的标识(ID);以及 控制器模块,被配置为检测在所述多个端口中的第一端口接收的第一以太网数据包和在所述多个端口中的第二端口接收的第二以太网数据包之间的CAN冲突, 其中,所述控制器模块被配置为响应所述CAN冲突的检测,基于对应于所述第一以太网数据包的ID和对应于所述第二以太网数据的ID来选择所述第一以太网数据包或所述第二以太网数据包,以及 其中,所述控制器模块被进一步配置为将所选择的以太网数据包路由至目的地。
2.根据权利要求1所述的以太网交换机,其中,所述多个CAN节点中的每一个包括CAN控制器和以太网适配模块。
3.根据权利要求1所述的以太网交换机,其中,所述CAN冲突包括同时接收所述第一以太网数据包和所述第二以太网数据包。
4.根据权利要求1所述的以太网交换机,其中,所选择的以太网数据包是所述第一以太网数据包,并且其中,对应于所述第一以太网数据包的ID小于对应于所述第二以太网数据包的ID。
5.根据权利要求4所述的以太网交换机,其中,所述控制器模块被进一步配置为在路由所述第一以太网数据包之后的传输周期路由所述第二以太网数据包。
6.根据权利要求1所述 的以太网交换机,其中,所述控制器模块被进一步配置为确定所选择的以太网数据包的所述目的地。
7.根据权利要求6所述的以太网交换机,其中,所述目的地包括:a)除了与接收了所选择的以太网数据包的端口相对应的CAN节点之外的所述多个CAN节点中的单个CAN节点,b)除了与接收了所选择的以太网数据包的端口相对应的CAN节点之外的所述多个CAN节点中的两个或更多个CAN节点,或c)除了与接收了所选择的以太网数据包的端口相对应的CAN节点之外的全部所述多个CAN节点。
8.根据权利要求1所述的以太网交换机,进一步包括耦接至所述控制器模块的时钟模块,其中,所述时钟模块被配置为生成传输时钟,并且其中,所述控制器模块被配置为基于所述传输时钟路由所选择的以太网数据包。
9.一种用于利用以太网实施控制器局域网(CAN)通信的CAN节点,所述CAN节点包括: CAN模块,被配置为生成第一 CAN消息,所述第一 CAN消息包括所述CAN节点的第一标识(ID); 以太网适配模块,被配置为基于所述第一 CAN消息生成第一以太网数据包,并向收发器提供所述第一以太网数据包以通过以太网链路将所述第一以太网数据包传输至目的地, 其中,所述以太网适配模块被进一步配置为从所述收发器接收第二以太网数据包,所述第二以太网数据包由所述收发器在所述以太网链路上检测,所述第二以太网数据包包括第二 CAN消息,所述第二 CAN消息包括第二 ID,并且 其中,所述以太网适配模块被进一步配置为从所述第二以太网数据包提取所述第二CAN消息;以及验证模块,被配置为将所述第一 ID与所述第二 ID比较,并且基于所述第一 ID与所述第二 ID的比较来确定所述第一以太网数据包的传输是否成功。
10.一种用于利用以太网在多个控制器局域网(CAN)节点之间实施CAN通信的方法,所述方法包括: 从所述多个CAN节点中的第一 CAN节点接收第一以太网数据包,所述第一以太网数据包包括第一 CAN消息,所述第一 CAN消息包括所述第一 CAN节点的第一标识(ID); 从所述多个CAN节点中的第二 CAN节点接收第二以太网数据包,所述第二以太网数据包包括第二 CAN消息,所述第二 CAN消息包括所述第二 CAN节点的第二 ID ; 检测在所述第一以太网数据包和所述第二以太网数据包之间的CAN冲突; 响应于所述CAN冲突的检测,基于所述第一 ID和所述第二 ID来选择所述第一以太网数据包或所述第二以太网数据包; 确定所选择的以太网数据包的目的地;以及 将所选择的以太网数据包路由至所述目的地。
【文档编号】H04L12/40GK103580973SQ201310269007
【公开日】2014年2月12日 申请日期:2013年6月28日 优先权日:2012年7月23日
【发明者】永范·金, 穆罕默德·瓦基夫·泰兹贝, 凯文·布朗, 曼弗雷德·瓦格纳 申请人:美国博通公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1