Canbus通信协议

Canbus传输方式速度快,信号稳定优点。最新年款的车型大都采用Canbus通信协议。
#####标准CANBUS通讯协议,一般采用2个引脚通讯,分别叫做CAN+、CAN-。
#####一.CANBUS通讯波特率:
1、高速CAN 正常为500K 250K
2、低速CAN 正常为125K
3、单线CAN 正常为33.3K
125K 250K 500K 可以直接设置波特率,直接化为十六进制;33,3K需要使用波特率计算器,取采样率最高的组合
#####二、CANBUS通讯ID
1、分标准帧,扩展帧两种情况
2、标准帧是11bit的CANID,例如 00 00 07 E0
3、扩展帧是29bit,例如18 DA 00 F1
4、为了区别标准帧和扩展帧,将扩展帧ID最高位置1。
例如:18 DA 00 F1 ——>98 DA 00 F1
######三、CANBUS通讯滤波
1、有单滤波,双滤波两种模式
2、使用滤波器,可以同时接收多个ID的数据
#####五、CANBUS通讯数据
1、每帧数据最多8个字节,不足8个字节的补0x00,0xff,0x55或者不补数据。
2、标准CANBUS数据采用dataLen+data的格式打包数据
3、如果数据长度大于7个,采用多帧打包方式,0X1000为多帧标准位,数据长度是8-4095。前2字节等于0x1000+数据长度,后面加有效数据,超过8个,就分下一帧发送,前面加标志位0x21,标志位递增到0x2f,再从0x20开始递增。

例如发送:50 9b 30 31 32 33 34 35 36 37 38 39
数据
CANBus数据链路层协议采用对等式(Peer to peer)通信方式,即使主机出现故障,系统其余部分仍可运行(当然性能受一定影响)。当一个站点状态改变时,它可广播发送信息到所有站点。 CANBus的信息传输通过报文进行,报文帧有4种类型:数据帧、远程帧、出错帧和超载帧,其中数据帧格式如图8所示。CANBus帧的数据场较短,小于8B,数据长度在控制场中给出。短帧发送一方面降低了报文出错率,同时也有利于减少其他站点的发送延迟时间。帧发送的确认由发送站与接收站共同完成,发送站发出的ACK场包含两个“空闲”位(recessive bit),接收站在收到正确的CRC场后,立即发送一个“占有”位(dominant bit),给发送站一个确认的回答。CANBus还提供很强的错误处理能力,可区分位错误、填充错误、CRC错误、形式错误和应答错误等。 CANBus应用一种面向位型的损伤仲裁方法来解决媒体多路访问带来的冲突问题。其仲裁过程是:当总线空闲时,线路表现为“闲置”电平(recessive level),此时任何站均可发送报文。发送站发出的帧起始字段产生一个“占有”电平(dominant level),标志发送开始。所有站以首先开始发送站的帧起始前沿来同步。若有多个站同时发送,那么在发送的仲裁场进行逐位比较。仲裁场包含标识符ID(标准为llbit),对应其优先级。每个站在发送仲裁场时,将发送位与线路电平比较,若相同则发送;若不同则得知优先级低而退出仲裁, 不再发送。系统响应时间与站点数无关,只取决于安排的优先权。可以看出,这种媒体访问控制方式不像Ethetnet的CSMA/CDCA协议那样会造成数据与信道带宽受损。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ToF君

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值