1. CAN简介
CAN(controller area network)控制器局域网是用于解决汽车众多控制部件之间的数据交换而开发的一种串行数据通信总线。
其特点有:
总线上节点不分主从
采用载波监听多路访问、逐位仲裁的非破坏性总线仲裁技术。
直接通信距离最远10km,速率5Kb/s
通信速率最高可达1Mb/s,距离40m
末端要有120欧终端电阻
11898协议
iso的osi模型
11898-1对应controller
11898-2对应高速can收发器
11898-3对应低速can收发器
11898-4增加时间触发通讯机制
can总线协议主要工作在osi模型中的物理层和数据链路层
2、波特率
CAN总线波特率是指CAN总线上数据传输的速率,也称为通信速率。它表示每秒钟CAN总线上可以传输的位数。波特率通常以bps(bits per second)为单位表示。
CAN总线波特率的选择需要考虑系统的需求和硬件的限制。较高的波特率可以提供更快的数据传输速度,但也会增加传输错误的可能性。较低的波特率可以提高传输的可靠性,但会降低数据传输速度。
在CAN总线中,常见的波特率有以下几种:
- 125 kbps:适用于较长的总线长度和较低的数据传输要求。
- 250 kbps:适用于中等长度的总线和一般的数据传输要求。
- 500 kbps:适用于较短的总线和较高的数据传输要求。
- 1 Mbps:适用于较短的总线和非常高的数据传输要求。
3、总线拓扑
闭环总线网络----ISO11898
闭环总线网络高速、短距离,它的总线最大长度为 40m,通信速度最高为 1Mbps,总线的两端各要求有一个120 欧的电阻。
开环总线网络----ISO11519
开环总线网络低速、远距离,它的最大传输距离为 1km,最高通讯速率为 125kbps,两根总线是独立的、不形成闭环,要求每根总线上各串联有一个2.2千欧的电阻。
差分信号
CAN总线采用差分信号传输,通常情况下只需要两根信号线就可以进行正常的通信。
在差分信号中,逻辑0和逻辑1是用两根差分信号线的电压差来表示。
当处于逻辑1,CAN_High和CAN_Low的电压差小于0.5V时(0V),称为隐性电平(Recessive);
当处于逻辑0,CAN_High和CAN_Low的电压差大于0.9V时(2V),称为显性电平(Dominant)。
差分信号的传输的优点:
抗干扰能力强
能有效抑制它对外部的电磁干扰
时序定位精确
4、CAN数据帧
CAN总线是一种常用的实时通信协议,用于在汽车、工业控制和其他领域中传输数据。CAN总线分为标准帧和扩展帧两种类型,它们的区别如下:
-
标准帧:
- 标准帧使用11位的标识符(ID)来表示消息的优先级和内容。
- 标准帧的数据域长度为0-8字节,可以传输最多8个字节的数据。
- 标准帧的标识符长度较短,因此适用于传输较小的数据量。
- 标准帧的标识符范围是0x000到0x7FF。
-
扩展帧:
- 扩展帧使用29位的标识符来表示消息的优先级和内容。
- 扩展帧的数据域长度为0-8字节,同样可以传输最多8个字节的数据。
- 扩展帧的标识符长度较长,因此适用于传输较大的数据量。
- 扩展帧的标识符范围是0x00000000到0x1FFFFFFF。
总的来说,标准帧和扩展帧在标识符长度和可传输数据量上有所不同。标准帧适用于传输较小的数据量,而扩展帧适用于传输较大的数据量。根据具体的应用需求,可以选择使用标准帧或扩展帧来进行数据通信
标准帧和拓展帧的区别
标准帧和拓展帧的区别在于仲裁域,拓展帧拥有庞大的ID群,不会担心ID不够用的情况出现,以便扩展更多的CAN节点
帧ID越小代表访问总线的消息优先级越高