
特点:1.传输方式:广播式和请求式2.高速CAN CAN2.0B 125-1Mbps 40m 低速CAN CAN2.0A 10k-125kbps 1kmCAN FD :8 Mbit/s → 约40 米2 Mbit/s → 约100 米CAN XL:最大传输速率:标准设计目标是高达 20 Mbit/s,部分实验甚至能更高。最大传输距离:同样和速率相关:在20 Mbit/s时,一般在40–50 米左右比较可靠。3.11/29帧ID 区分消息功能 同时决定优先级 数字越低,优先级越高4.半双工(物理上) 异步 差分 多对多5.高速和低速,主要区别是配置波特率不同,一般推荐250K,保证距离和传输速度6.CAN最多挂载110个节点,但一般控制在30-50个7.CAN使用位同步的方式来抗干扰、吸收误差,提高通讯能力8.不支持使用DMA进行数据收发9、三个发送邮箱,2个接收缓冲队列,FIFO, 邮箱有仲裁和优先级判定,接收队列按照先进先出的原则,另外总线上会有仲裁和优先级判定区别:硬件电路:CAN收发器作用:输出电平转换 输出驱动 输入采样 与单片机相连 无需交叉高速CAN使用闭环网络,CAN_H 和 CAN_L两端并上120欧电阻低速CAN使用开环网络,CAN_H和CAN_L其中一端加2.2k电阻实际电路测试:H和L两端电阻是否是60欧姆,L对地,2.4V左右,H对地在2.6V左右CAN电平标准:显性0电压差v隐性1电压差v高速CAN20低速CAN3-1.5CAN的数据帧格式:数据帧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;/