CAN协议是 一种 ISO 国际标准化的串行通信协议(全称:Controller Area Network),CAN控制器根据CANH和CANL两根线的高低电平差来判断总线电平,总线电平分显性电平和隐性电平,发送方通过总线电平的变化将信号传递给接收方。
CAN特点
(1)多主控制:总线空闲,所有单元都可发送消息,最先访问总线的单元获得控制权,多个单元同时开始发送时,发送高优先级ID的消息可获得控制权。
(2)消息的发送:固定格式发送,总线空闲时,所有与总线相连的单元都可发送消息,并根据ID决定消息的优先级,通过对各个消息的每个位进行逐个仲裁比较,仲裁成功的单元优先级最高,可以继续发送消息,总裁失败的单元停止发送消息并准备进行接收。
(3)系统的柔软性:总线增加单元,连接在总线的其他单元不需要改变软硬件。
(4)通信速度:同一网络,所有单元的通信速度必须相同,即使有一个单元的通信速度与其它的不一样,此单元也会输出错误信号,妨碍整个网络的通信。不同网络间则可以有不同的通信速度。
(5)远程数据请求:通过发送“遥控帧” 可请求其他单元发送数据。
(6)错误检测功能/错误通知功能/错误恢复功能: 所有的单元都可以检测错误。检测出错误的单元会立即同时通知其他所有单元。正在发送消息的单元一旦检测出错误,会强制结束当前的发送。强制结束发送的单元会不断反复地重新发送此消息直到成功发送为止。
(7)故障封闭: CAN 可以判断出错误的类型是总线上暂时的数据错误(如外部噪声等)还是持续的数据错误(如单元内部故障、驱动器故障、断线等)。当总线上发生持续数据错误时,可将引起此故障的单元从总线上隔离出去。
(8)连接 :CAN 总线是可同时连接多个单元的总线。可连接的单元总数理论上是没有限制的。但实际上可连接的单元数受总线上的时间延迟及电气负载的限制。降低通信速度,可连接的单元数增加;提高通信速度,则可连接的单元数减少。
持续更新中…