为何车辆中有多个CAN总线?


17

CAN总线上有很多问题,但据我所知,没有一个问题可以解释为什么车辆中有多个CAN总线。据我了解,许多不同的节点可以连接到一条CAN总线,因此我不确定为什么需要多个节点。我唯一的想法是:

答:一个CAN总线上可以连接多少个节点有一个相当小的限制。但是,如果真是这样,我会想象必须存在一些CAN之间的连接,以便可以进行仲裁和错误检查(CAN SPEC 2.0)。

- 要么 -

B.节点被优先划分为主系统,辅助系统和第三系统,并且每个级别都有自己的CAN总线,并且这些级别仅包含在功能方面彼此独立的设备。IE制动器,发动机控制,外部照明灯,锁在主要总线上。收音机,交流电,座椅控制,在辅助总线等上。

如果有人可以解释/澄清,我将不胜感激。提前致谢。


1
我承认对此了解不多,但是我认为只有一条总线,因为只有一个连接-OBDII端口。如何处理单独的总线?是什么使它们分开?
JPhi1618 '16

@ JPhi1618老实说,我自己并不了解那么多,这就是为什么我问周围。在他从Hackathon事件中回来后,我正在通过CAN总线与同级车辆的安全问题进行讨论,我们发现有很多人提到大多数车辆都有多条CAN总线。我同意我所知道的唯一连接是OBDII端口。这里有几篇文章,人们提到过很多。(Mechanics.stackexchange.com/questions/8559/obd2-and-can-bus-am6sigma在答案中提到了它)。
Moeman69 '16

找到了下面这样的讨论要请求数据,您需要与CAN网关握手,协商连接设置,从特定的CAN设备请求一组数据并读取返回的数据。有了正确的请求,你可以从任何从一个连接的3对总线的访问数据-让你的CBT可以从发动机控制器从仪表板,从右前门控制器等窗口位置请求转速,里程表 所以它看起来像一个“网关”是关键。
JPhi1618 '16

@ JPhi1618啊,谢谢。我从未见过该页面。看来我的想法B是正确的,因为仪表成簇地连接到不同的总线。但是,CAN网关似乎是大众汽车所独有的,不一定是标准。我只能想象其他车辆也有类似的设备和设置,但这纯粹是猜测。我希望我能成为PM专家,因为像我提到的那些人似乎对多辆公共汽车有第一手的了解。
Moeman69 '16

Answers:


17

CAN总线主要与

  • 管理交通拥堵
  • 减少对安全关键系统的监管关注
  • 更好地控制谁可以访问各种公交车

简单的车辆将有两条CAN总线,一条用于发动机和安全系统,另一条用于车身控制(照明,用户体验等)。

复杂的车辆将有一条单独的总线,用于影响车辆运动的系统,例如雷达辅助巡航控制,停车系统,车道引导等,以及除简单的车身控制之外的其他用户功能系统,例如在车辆娱乐系统中。

虽然公交车可以共享,有几个理由不这样做:

拥塞

甚至高速CAN总线也没有无限的badnwidth,实际上,与现代通信系统相比,它们非常慢。但是,仍然必须携带大量数据,并且大多数数据都是时间紧迫的,因此保持低利用率可以使消息更快地传递(减少冲突),这意味着实时消息可以按时到达,而不是延迟。

测试中

安全关键系统通常与其他系统分开,从而减少了测试。连接到安全关键总线上的所有设备必须具有更高的操作标准,因此必须进行测试以确保它们不会对安全关键总线造成问题。使用单独的车身总线,由于停电不会引起安全问题,因此您的标准可能会略低,因此可以减少测试。

与其将所有内容组合在一条总线上并确保所有内容都符合更高的标准,不如使用单独的总线,设计人员可以对总线进行分段以降低成本。

行业法规很困难,特别是因为油门问题和行业过去遇到的其他线控问题。通过将关键系统与非关键系统分开,找出问题出在哪里,然后加以解决就变得容易了,而且由于可能会影响安全系统正常运行的设备较少,因此解决的可能性也较小。

控制

一旦改装者发现他们可以通过一个界面改变引擎管理和其他计算机,车辆制造商便开始将诊断连接器及其总线与其余车辆总线分开,并使用网关仅传递他们允许的消息用户和车库访问。它们通常确实具有允许其自己的技术人员访问的附加功能,甚至许多功能都向诊断连接器添加了另一条总线,但没有发布消息详细信息,因此它们可以具有较高的访问速度,同时仍保持与诊断排放法规的向后兼容性。

但是,将总线分开可以使它们通过简单的诊断连接器对谁可以轻松访问车载计算机进行更多控制。

额外的复杂性

由附加总线引入的复杂性由网关控制器处理。在某些车辆中,这是车身控制器,通常具有其他总线连接,例如LIN。这会在总线之间传递消息,以便例如在连接诊断设备时,该设备可以访问整个车辆的所有相关诊断信息。


1
我同意您的观点,但会强调“安全”而不是“测试”。网关将安全关键控制器与其他控制器隔离,该网关对总线之间的通信进行过滤并将其限制为已定义的子集。DVD播放器不应该能够控制中断或安全气囊(在您用精心设计的USB棒劫持后)或在逻辑上或电气上意外破坏其CAN总线。该策略与任何具有关键任务服务器且不会暴露给Internet的LAN相同。测试仅进行到现在为止;隔离是万无一失的证明。
彼得-恢复莫妮卡

@ PeterA.Schneider我不同意您的看法,但我为09年款大型福特汽车开发了车身模块,虽然预期的结果可能有所增加或可验证的安全性,但证据正在测试,并且在这种情况下减少了测试时间。现实情况是,仅测试一个复杂的模块可能需要花费数月的内部排列时间,而测试一个完整的车辆总线则需要数年时间。这可以在一定程度上与高昂的成本相提并论,但即使是几周也无法接受。分离总线可以简化,更快地进行测试。
亚当·戴维斯

@ PeterA.Schneider这样可以对模块和总线进行更完整的测试,从而确实提高了安全性,但是主要目标是减少开发时间,同时保持一定的安全性标准-而不是提高安全性。设计模块的方式和设计消息传递的方式,引擎总线上重新刷新的DVD播放器极不可能引起问题。连接总线的硬件可防止DOS级别的DOS攻击,并且无法通过软件对连接至该硬件的微控制器进行编程。
亚当·戴维斯

@ PeterA.Schneider也许这可能是语义上的,或者是没有区别的区别,但是如果制造商要求使用单个总线,则可以将系统设计为具有与单独总线相同的安全级别。开发时间是唯一真正遭受损失的事情。幸运的是,单独总线的附加成本很低,否则,如果单独总线的成本太大,我们将设计单个总线。
亚当·戴维斯

8

当专门谈论CAN时,答案不是以上所有。

在CAN系统中,节点不直接相互通信,而是系统基于消息。每个消息都有一个基于其地址的优先级,该优先级决定了谁可以交谈。谁拥有优先级消息,谁就将消息传送给所有人,谁需要优先级消息将其读入。

可以有多少个节点有一些限制,但是该限制是电气限制,而不是实际总线的功能。

原因是高速CAN由于其速度而在电气上非常复杂。(我可以继续讲传输线,信号完整性,短截线和端接,但这远远超出了这个答案的要求。)这使设计变得复杂,使用它的模块也更加昂贵。此外,并不是所有的东西都需要高速CAN的断颈速度。CAN总线系统通常分为低速,中速和高速三类总线。

  • 高速CAN连接所有重要系统。发动机,ABS,安全气囊,变速箱,车身。然后,车身计算机将充当其他总线之​​间的网关。
  • 中速CAN通常用于汽车功能,例如外部照明,电动锁,电动后视镜等。
  • 低速CAN可以接收其余的非关键系统。这些可以包括室内照明,娱乐等。

如前所述,CAN总线使用消息地址而不是节点地址。例如,车速将是一条消息。该消息由ABS单元发送并具有相当高的优先级。引擎,安全气囊,变速箱和车身都对该消息感兴趣并进行阅读。在收到该消息后,车身通过其他总线重新传输该消息。低速公交车通常不需要像高速公交车那样频繁的更新,因此车身仅偶尔进行更新。

如果模块需要的信息不是很常见,则模块可以请求信息。总线的设计使得当请求数据时,具有信息的模块仅知道需要该信息,而不知道谁需要该信息。

网关不必是主体,它可以是仪表板或其他计算机。


感谢您的坚定回答。我对CAN消息和消息仲裁非常熟悉。我猜我真正要寻找的问题是,一个CAN上的消息(例如低速非关键CAN)是否被连接在另一CAN上的节点(如高速关键系统CAN)看到?我可以想象,如果所有设备都连接到单个CAN,则该系统可以完美运行,因为仲裁系统将固有地处理消息优先级。或者即使将不同的CAN连接在一起。它们是分开的,仅是必要性和费用问题吗?
Moeman69 '16

@ Moeman69是的。汽车中可能有一百多个不同的节点。为它们全部配备高速CAN的成本高昂。这也会使总线拥塞,并在关键系统中给出更多故障点。
vini_i

2

2003年的这幅漫画很好地总结了一个原因:

在此处输入图片说明

(“找到新设备:空中客车A310。开始自动配置?[开始] [取消]”)

实际上,最近已经报道了类似的攻击。将安全关键组件放在单独的总线上,只有通过配置良好的网关才能访问该总线,这大大降低了发生上述意外问题的可能性,并使黑客攻击更加困难。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.