can协议

简介:CAN是控制器局域网(Controller Area Network)的简称,CAN属于总线式串行通信网络。

分类:can协议分为标准can和扩展can。标准can用于家用汽车,扩展can协议用于公交车,卡车。

Can总线特点

        一个时刻只能有一个ECU/DCU发出信号,其他控制设备接受信号;

        一个设备发出信号所有在总线上的设备都能收到信号(具体是否接收,取决于设备的can信号过滤设置);

        总线中所有设备地位相同,没有主控设备,设备之间按照规则自发竞争发送信号

Can物理层要求:

1.由两根线构成,两根线配合传输信号。分别为CAN高和CAN低。CAN_L和CAN_H

2.两根信号线发出电压的规则

                标准规则:

                 当CAN高发出3.5伏电压时 CAN低只能发出1.5伏电压

                此时CAN高和CAN低两根线之间的电压差为2伏(差分信号)

                这个2伏的信号差表示二进制的0,也称为“显性信号”

                

                当CAN高发出2.5伏电压时,CAN低只能发出2.5伏电压

                此时CAN高和CAN低两根线之间的电压差为0伏

                这个0伏的电压差表示二进制1,也称为“隐性信号”

3.Can总线分高度/低俗两种标准

高速CAN500k~1m bps

低速CAN125k 200kbs左右

Can数据链路层--帧结构

什么是帧:can总线传输数据的最小单位

标准can协议中,典型的帧类型为数据帧和远程帧

数据帧结构图:

                        假装这里有个帧结构图

                        后面补上

标准can数据帧中,各重要字段(域)含义:

 1.标识符(或称can帧/报文的id,或称一帧can报文的仲裁场):用于唯一标识一个canzhen。11位二进制数据,理论上表达2的11次方种不同的can帧。

2.DLC:数据长度,表达数据域中实际数据的 字节数。录入数据中存放了2个字节的有效数据,dlc应该表达2这个数值的2进制,即“0010”

3.数据域:64位二进制数据(8个字节),作用是存储一帧can报文实际要发送的数据

4.ACK应答位:接收can报文的节点,通过在应答位上发送一个“1”给发送端,反馈已经正确接收数据。作用是接收方告诉发送方是否正确接收到数据。如果未正确接收,发送方应该重新传输这一真信息。

5.crc:校验字段,用于接收方计算接收的数据是否错误

和小杨同学聊了一晚上,没写完。回家吃饭先。

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值