什么是CAN网络节点?

首先,在Can网络中,每个ECU相当于一个Can的网络节点,如果ECU有多个核,那就可能存在多个节点。Can通信是基于高低电平两条线传输数据,如果节点在这组高低电平线上,就归属于这个网络。在一个Can网络中的所有节点通信速度是相同的,不同网络通信速度可以不同。在一组Can网络中,各个节点通过Can报文进行通信,首先,Can报文是通过广播的形式在总线上传输到各个节点,这帧传输的数据包含了源地址的节点地址,通过解析Can报文的ID字段获取。也就是说所有节点都是通过分析接收和发送的报文,来判断自己和其他ECU在网络中的地址,可以联想到手机的电话通讯,我拨打号码给我的朋友,我知道我要拨打的号码,肯定是我的朋友,我的朋友看见打过来的电话号码可以确定是我打过去的,但是我们互不知道我们现在的地理位置。

第二,在广播的条件下,各个ECU节点都会收到这帧报文,但是ECU在内部通过寄存器配置Can Controller的MailBox(MessageRAM),会确定哪些Can报文可以通过各个ECU控制器的MailBox的筛选机制(Filter),也就是说,虽然源节点广播了报文到所有节点,但是因为其他ECU都配有筛选机制,导致其他节点只会回收自己想要的报文,其他报文都会拒掉,比较类似与手机中的黑白名单。

第三,如果在一个原本稳定的Can网络中,新加入一个Can节点,一般情况下,只要新节点ID与网络中的其他节点不冲突,就可以正常加入,但考虑到网络安全,比如某个黑客把自己伪装成给车辆转向发送信号的节点,并且把原本应该给车辆转向发送信号的节点给破坏了,那么此刻,黑客就接管了车辆的安全驾驶。所以可以通过Can Transceiver TJA1145,对收到其他节点加入请求后,实施节点身份合法性验证,消息过滤和异常检测。

什么是CAN的网络节点

网络节点是指连接到CAN总线上的设备或模块,每个网络节点都具有唯一的标识符,称为节点ID,用于在CAN总线上进行通信和识别。在一个MCU 中,CAN通道的数量决定了它支持的CAN节点数量。每个CAN通道相当于一个独立的CAN控制器,可以与一个CAN节点进行通信。

各个单元通过 CAN 总线连接在一起,每个单元都是独立的 CAN 节点。同一个 CAN 网络中所有单元的通信速度必须一致,不同的网络之间通信速度可以不同。

如何判断CAN的网络节点是多少?

可以根据DBC来定义查看。

以ADCU为例,域控作为主节点,一般外部的像雷达,camera的数据都是向域控发送的,0x26节点向0x40节点发送报文。

MCU如何检测和识别CAN网络中有哪些节点?

在CAN网络中,每个节点都可以发送和接收消息,但是并没有一个直接的方法让MCU知道网络中有哪些节点。这是因为CAN网络是一种多主机系统,每个节点都可以同时发送和接收数据。

有一些间接的方法可以帮助MCU了解网络中的节点:

  • 通过消息交换:如果一个节点在网络上发送了消息,那么其他的节点就可以通过接收这个消息来知道发送节点的存在。这种方法需要节点定期发送消息,或者在加入网络时发送一条特殊的消息。
  • 通过网络管理:在某些CAN网络中,可能会有一个网络管理协议,这个协议可以用来发现和监控网络中的节点。例如,AUTOSAR CAN网络管理就是一种无中心式的网络管理,网络中的每个节点都依赖于自己和别人的网络管理报文(NM PDU)来实现通信的睡眠和唤醒。
  • 通过错误管理:当网络中的一个节点出现错误时,它会发送一个错误标志。其他节点可以通过接收这个错误标志来知道出错节点的存在。
MCU可以通过监听CAN总线上的报文来检测网络中的活动节点。当其他节点发送报文时,MCU可以接收到报文并解析其中的节点ID。根据CAN 2.0A和CAN 2.0B标准,CAN网络支持最多 1 至 2047 个节点。对于CAN 2.0A,节点ID为 0 至 127。对于CAN 2.0B,节点ID为 0 至 2047。

发送节点探测报文:MCU可以发送特定的节点探测报文来主动探测网络中的其他节点。探测报文可以包含特定的节点ID或标识符,其他节点可以对这些报文进行回应。通过接收到的回应报文,MCU可以确定哪些节点是活动的。

  • 通过读取CAN消息中的节点ID字段,您可以确定消息来自哪个节点。
  • 对于11位标识符(CAN 2.0A),前5位通常用于设备类型和网络地址,后6位用于节点ID。
  • 对于29位标识符(CAN 2.0B),前11位通常用于设备类型和网络地址,后18位用于节点ID。通过解析标识符字段的后18位,您可以确定CAN消息是来自哪个节点。
  • 广播的can报文,可以发到所有的can网络节点,但是通过can控制器的MailBox机制筛选出想要的报文。除此之外,Can_Trcv可以用于过滤特定类型的报文,配置为仅接收特定标识符的CAN报文。
  • 如何通过广播发送CAN报文到对应的节点,对应的节点如何收到自己想要的报文?
广播类型的总线意味着所有节点都可以侦听到所有传输的报文,无法将报文一对一发送给指定节点。所有节点都将始终捕获所有报文。但是,CAN硬件能够提供本地过滤功能,让每个节点对报文有选择性地做出响应。

CAN的筛选机制:

消息 RAM 实现了过滤器、接收 FIFO、接收 buffer、 发送事件 FIFO 和发送 buffer。

通过配置寄存器,确定接收过滤器用于定义节点接收哪些报文,过滤器的定义是通过设置报文标识符(ID)参数来实现的还有屏蔽寄存器(Mask Registers),可以与AUTOSAR中的Basic Can一起用。

如何确保网络中的节点能够正确地加入和离开网络?

节点插入CAN网络的过程:

  • 加入网络:节点会发送加入网络的请求或广播消息,通知其他节点它的存在并请求加入网络。节点的加入请求可能会包含节点ID和其他必要的信息。
  • 网络确认:其他节点收到加入请求后,会验证节点的身份和合法性。如果节点ID与网络中的其他节点不冲突,并且节点满足网络的要求和策略,则可以接受该节点的加入请求。
  • 网络配置:一旦节点成功加入CAN网络,它可能会接收到网络的配置信息,包括通信参数(如波特率)和过滤器设置等。节点需要根据配置信息进行相应的参数设置。
节点拔出CAN网络的过程:

  • 离开网络:节点发送离开网络的通知或广播消息,通知其他节点它即将离开网络。该消息可能包含节点ID或其他标识。
  • 网络确认:其他节点收到离开通知后,会从网络中移除该节点的信息。其他节点可能会相应地调整网络配置和拓扑结构

原创文章,作者:速盾高防cdn,如若转载,请注明出处:https://www.sudun.com/ask/77992.html

Like (0)
速盾高防cdn的头像速盾高防cdn
Previous 2024年5月28日 下午3:39
Next 2024年5月28日

相关推荐

  • 巫师2设置

    作为一款备受玩家喜爱的游戏,《巫师2》在游戏设置方面也有着重要的地位。它不仅影响着游戏的流畅度和画质,更能够为玩家带来更加舒适的游戏体验。那么,你是否想知道《巫师2》设置是什么?它…

    行业资讯 2024年3月26日
    0
  • seo策略需要对用户分层么

    SEO策略需要对用户分层么,这是一个备受争议的话题。在搜索引擎优化行业,SEO策略被认为是提高网站排名的重要手段,而用户分层则被视为更进一步提升网站流量的有效方法。那么什么是SEO…

    行业资讯 2024年3月19日
    0
  • 个人web服务器软件

    在如今这个网络安全日益重要的时代,个人web服务器软件成为了越来越多人关注的热门话题。但是,什么是个人web服务器软件?它有什么功能和作用?市面上又有哪些常见的个人web服务器软件…

    行业资讯 2024年4月15日
    0
  • 怎样举报投诉网站,怎么样投诉网站有用

    您是否曾经打开过某个网站但发现无法访问它?或者您是否在使用某些软件时突然发现它无法正常工作?这可能是由于被阻止而导致的。那么为什么网站会被屏蔽呢?如何判断我正在使用的网站是否被屏蔽…

    行业资讯 2024年5月7日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注