关于CAN总线简单总结
使用CAN总线连接多个节点进行组网通信是比较方便的,CAN总线多应用于汽车通信中。在网上查了一些教程讲得都非常的专业,这里就应用而言简单总结一下。
1.CAN总线可以支持多个节点挂载到总线上进行通信,通信需要两根双绞线连接CAN_H,CAN_L。一般使用高速连接,接终端电阻120欧。看网上是在两个距离最远的节点加终端电阻,我测试4个模块都有终端电阻通信也没有影响。一般使用 STM32都有一个专用的CAN接口,使用这个接口再增加一个CAN接口芯片就可以进行组网通信了。
2.CAN总线的特点,高速,高可靠性。我使用的是STM32F4他对应的波特率是500KHz,速度还是比较快的,可靠性表现在他本身的电平隐性和显性电平使用双绞线传输,并且有CRC校验,相比于串口通信更安全可靠。另一个特点是不分主从机,都可以在总线上主动发送消息,通过总线的ID优先级来决定谁的数据优先。
3.在某个节点出现连续错误的时候,可以使这个节点停止工作,隔离出总线的功能也是很实用。
4.数据格式分几种数据帧,数据帧一般包含最多8个字节有效数据。
5.针对stm32的CAN通信,直接使用库函数可以很容易实现通信,其他的模块通信可以使用协议来区分。
以上是一点学习的小总结
写那些自己遇到的问题,然后解决的方式,不断吸取经验,坚持直到看见成功.