CAN学习笔记

特点:

1.传输方式:广播式和请求式

2.高速CAN 125-1Mbps  40m  低速CAN 10k-125kbps  1km

3.11/29帧ID  区分消息功能 同时决定优先级

4.半双工  异步  差分  多对多  

区别:

硬件电路:

CAN收发器作用:输出电平转换  输出驱动  输入采样   与单片机相连  无需交叉  

高速CAN使用闭环网络,CAN_H 和 CAN_L两端加120欧电阻

低速CAN使用开环网络,CAN_H和CAN_L其中一端加2.2k电阻

CAN电平标准:

显性0电压差v隐性1电压差v
高速CAN20
低速CAN3-1.5

CAN的数据帧格式:

数据帧RTR位必须我显性电平,远程帧RTR位必须为隐形电平,

CAN通讯相关配置

  CAN_InitStructure.TTCM              = DISABLE; //时间触发通信,无时间触发功能
  CAN_InitStructure.ABOM              = ENABLE; //自动总线管理,自动尝试连接总线,用于总线故障后的恢复
  CAN_InitStructure.AWKUM             = ENABLE;//总线唤醒,总线由活动时会从休眠中唤醒总线
  CAN_InitStructure.NART              = ENABLE;//启用禁用自动重发,enable表示禁止重新发送未成功发送的消息,避免总线阻塞
  CAN_InitStructure.RFLM              = DISABLE;//新的报文是否会覆盖旧的报文消息,适合实时更新数据的系统
  CAN_InitStructure.TXFP              = ENABLE;//优先级由发送请求的顺序决定  禁用表示按照标识符确定优先级
  CAN_InitStructure.OperatingMode     = OPERATINGMODE;//工作模式,正确
  CAN_InitStructure.RSJW              = CAN_BIT_RSJW;//时间再同步,调整收发产生的时间偏差,维持CAN同步
  CAN_InitStructure.TBS1              = CAN_BIT_BS1;//
  CAN_InitStructure.TBS2              = CAN_BIT_BS2;
  CAN_InitStructure.BaudRatePrescaler = CAN_BAUDRATEPRESCALER;//波特率预分频器
  /*Initializes the CAN */
  CAN_Init(CAN1, &CAN_InitStructure);
  CAN_Filter_Init();

CAN数据协议格式

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值