Controller Area Network

Posted 旭日初扬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Controller Area Network相关的知识,希望对你有一定的参考价值。

一、CAN概述

Controller Area Network(控制器局域网络):缩写为CAN。是ISO国际标准化的串行通信协议。CAN总线协议已经称为计算机控制系统和嵌入式工业局域网的标准总线。并且拥有以CAN为底层协议转为大型货车和重工机械车辆设计的J1939协议。

CAN 通信只具有两根信号线,分别是 CAN_H CAN_L,CAN 控制器根据这两根线上的电位差来判断总线电平。总线电平分为显性电平和隐性电平,二者必居其一。发送方通过使总线电平发生变化,将消息发送给接收方。

二、CAN的特点

  • 多主控制。在总线空闲时,所有单元都可以发送消息(多主控制),而两个以上的单元同时开始发送消息时, 根据标识符( Identifier 以下称为ID)决定优先级。 ID 并不是表示发送的目的地址,而是表示访问总线的消息的优先级。两个以上的单元同时开始发送消息时,对各消息 ID 的每个位进行逐个仲裁比较。仲裁获胜(被判定为优先级最高)的单元可继续发送消息,仲裁失利的单元则立刻停止发送而进行接收工作。
  • 系统的柔软性。与总线相连的单元没有类似于“地址”的信息。因此在总线上增加单元时,连接在总线上的其它单元的软硬件及应用层都不需要改变。
  • 信号通过快,通信距离远。最高 1Mbps(距离小于 40M),最远可达 10KM(速率低于 5Kbps)。
  • 具有错误检测、错误通知和错误恢复功能。所有单元都可以检测错误(错误检测功能),检测出错误的单元会立即同时通知其他所有单元(错误通知功能),正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止(错误恢复功能)。
  • 故障封闭功能。CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。由此功能,当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。
  • 连接节点多。CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。

三、CAN总线网络

以上是关于Controller Area Network的主要内容,如果未能解决你的问题,请参考以下文章

Controller Area Network(CAN)简介

WebAPI增加Area以支持无限层级同名Controller

WebAPI增加Area以支持无限层级同名Controller

cmd_ospf_cfg

Area路由的配置

Area路由的配置