CAN总线知识点

高速CAN和低速CAN的传输速度分别是多少? 以高速CAN为例,CAN总线是怎样传递2进制信息的?
高速CAN典型值为500Kbps, 低速CAN典型值为125Kbps
CAN总线由CAN高、CAN低两根线以双绞线方式布线, CAN高线输出3.5v 同时CAN低线输出1.5v之间的差分电压为2v左右,称为显性信号,表示二进制 0;CAN高CAN低同时输出2.5v 差分电压为0v时,称为隐性信号,表示二进制1。

CAN总线协议数据链路层有帧类型: 数据帧、远程帧、超载帧、错误帧

数据帧使用最多,帧最长为127位,其帧结构主要的部分有:
SOF帧起始位、
ID域 11位(标准can)帧的唯一标识
DLC有效数据字节长度 4位,表示一帧中有多少个有效字节
数据域 64位 最多8个字节
CRC校验位15位 验证收到的数据是否正确
ACK位 1位 用于向发送方应答 正确接收
EOF 7位 帧结束位

CAN总线中,各个节点是连接在同一条传输线路上的,为了避免彼此干扰,各节点之间是怎样协调 进行数据的发送和接收的
发送节点之间同时竞争发送各自想要发送的帧,通过can帧的id区分发送有效级,某个节点其发送的can数据帧id值越低越优先发送,各节点同步回读总线中的id位信息,发现自己发送的can帧优先级低则自动暂时退出发送,等到下一帧时又开始竞争发送。
同一条总线中的其他节点,要接收信号,在其内部设置 can帧过滤条件,符合条件的就接收上来,进一步解析;如果跨越不同can子网,则需要网关转发到其他总线。

CAN信号矩阵表
车辆的各个控制器之间,有大量的信息需要传递,每个信息需要为其设计一个具体的二进制信号,包括信号名长度放在哪个id的报文中,数据域的哪个部分等规则;所有信号汇聚在一个表格,称为信号矩阵表。
信号矩阵表中,每个信号的字段包括:信号名、信号的收/发方、信号放在哪个ID的can报文、信号二进制位长度、信号最低位在can报文数据域的起始位、信号原始值转为物理值时乘以的系数、偏移量、信号最大值最小值、信号单位、信号值的具体描述。

两种字节序以及规则
信号字节序是指,当信号的各位二进制数值放到can报文数据域中时,如果要跨越数据域的两个以上字节,高位和低位数据谁放在前面字节谁放在后面字节的问题。
通常有两种字节序:摩托罗拉序,信号的高位所占的字节在低位所占的字节之前;intel序,信号的高位所占字节在低位所占字节之后。

posted @ 2024-03-28 14:55  Fredqq  阅读(421)  评论(0)    收藏  举报