上一篇讲述了SPI总线如何配置、简单通讯测试,这一篇主要讲述下rk3588支持的另外一种通讯接口—CAN总线。
链接: SPI总线
一、CAN总线简介
CAN(Controller Area Network)总线,即控制器局域网总线,是一种有效支持分布式控制或实时控制的串行通信网络。CAN总线是一种在汽车上广泛采用的总线协议,被设计作为汽车环境中的微控制器通讯。
一个由CAN总线构成的单一网络中,理论上可以挂接无数个节点。实际应用中,节点数目受网络硬件的电气特性所限制。CAN 可提供高达1Mbit/s的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检定特性也增强了CAN的抗电磁干扰能力。
CAN总线的特点:
1)可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送信息,而不分主从,通信方式灵活。
2)网络上的节点可分成不同的优先级,可以满足不同的实时要求。
3)采用非破坏性位仲裁总线结构机制,当两个节点同时向网络上传送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传送数据。
4)可以点对点,一点对多点及全局广播几种传送方式接收数据。
5)直接通信距离最远可达10km(速率4Kbps以下)。
6)通信速率最高可达1MB/s(此时距离最长40m)。
二、内核及驱动配置
根据rk官方指南,CAN接口已经在芯片级设备树文件中配置好了,