can通信基础知识点

remarks
1、对于CAN来说,0为显性,1为隐性。所以当对不同的ID号来进行仲裁时,ID号越小,优先级越高。对于标准数据帧和扩展数据帧的仲裁,如下图黄色所示,标准帧中的RTR为0,SRR中为1,所以标准帧的优先级更高(数据帧分为标准帧/扩展帧,具体可参考其ID的帧格式中bit位来区分)。
2、对于ID号越小,优先级越高分析:①、根据can标准数据帧格式,起始位后为仲裁段(ID段),所以ID的比较是从数据的MSB位开始比较,即高位开始比较,例如ID为0x01和0x02,那么0x01的bit1位是显性电平,故0x01优先级高;②、两个节点PK,1bit位即决出优先级,参考图仲裁段,若那个节点首先出现隐性电平1,则会失去对总线的占有权,进入接收状态;
2.1、仲裁是发生在节点与节点之间的节点与节点之间同时竞争can总线的使用权;两个节点进行仲裁:是因为它们同时向总线发出数据帧,同一时间,同一bit位(同步时),遵循线与关系;
2.2、 can通信是异步半双工,总线上同一时刻只能有一个信号(高电平/低电平), 在整个网络中的同一时刻只能有一个节点发送,其余都只能接收(广播形式);
2.3、同can网络,多节点间交互在软件上打包发送各节点要错开时间(设为t1 ≥ 1帧数据传输花费时间);单节点自身软件上的多数据帧发送,理论上不存在仲裁,由自身can控制器+收发器硬件管理限制,也可设个间隔时间(设为t1 ≥ 1帧数据传输花费时间),保证上一帧发送且被接收完再发下一帧
在这里插入图片描述
在这里插入图片描述
3、can和canOpen的区别,can只定义了物理层(数据链路层),但是用户层一般都是不同厂家不同用户自定义的协议层(应用层/自定义协议内容),canOpen在can基础上应该是官方组织规定的用户层(例如数据帧中仲裁段含义不同等等);
4、可以参考一下野火的课件;
5、差分总线;闭环高速短距离,比特率≤ 1Mbps , ≤40m,总线两端各串联一个120Ω电阻;开环低速长距离,比特率≤ 125kbps , ≤1km,两根总线独立,各独自串联一个2.2KΩ电阻;
6、用户协议层标准帧ID最大 0x7FF,11bit;
7、标准帧中crc校验计算一般由硬件完成,不需要软件调用crc函数进行校验,出错时的处理则由软件控制最大重发数;
8、数据段0~8byte,MSB先行;
9、控制段位于仲裁段与数据段间,控制段中的DLC(data length code,4bit)段存放了数据段含有多少个字节数据,0~8个;
10、帧的起始位,1bit Low电平;帧结束,7bit High电平;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

SUR0608

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

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

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

打赏作者

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

抵扣说明:

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

余额充值