CAN协议和CANOpen协议两套协议的不同点
扫描二维码
随时随地手机看文章
本文说的CAN即是一种总线,也是一种协议。因此,我们常听见CAN总线,也常听见CAN协议。
CAN协议和CANOpen协议是两套不同的协议。从软硬件层次来划分,CAN协议属于硬件协议,而CANOpen属于软件协议。CAN 总线(Controller Area Network)是控制器局域网的简称,是 20 世纪 80 年代初德国 BOSCH 公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议。目前,CAN 总线已经被列入 ISO 国际标准,称为 ISO11898。CAN 总线已经成为工业数据通信的主流技术之一。
CAN 总线作为数字式串行通信技术,与其他同类技术相比,在可靠性、实时性和灵活性方面具有独特的技术优势,主要特点如下:
• CAN 总线是一种多主总线,总线上任意节点可在任意时刻主动地向网络上其他节点发送信息而不分主次,因此可在各节点之间实现自由通信。
• CAN 总线采用非破坏性总线仲裁技术。但多个节点同时向总线发送信息时,优先级低的节点会主动退出发送,而最高优先级的节点可以不受影响地继续传输数据,从而大大节省总线冲突的仲裁时间。即使在网络负载很重的情况下也不会发生网络瘫痪情况。
• CAN 总线的通信介质可以是双绞线、同轴电缆或光导纤维,选择灵活。
• CAN 总线的通信速率可达 1Mbit/s(此时通信距离最长为 40 米),通信距离最远可达 10km(速率在 5kbit/s 以下)。
• CAN 总线上的节点信息分成不同的优先级,可以满足不同级别的实时要求,高优先级的数据可以在 134μs 内得到传输。
• CAN 总线通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送数据,无需专门的调度。
• CAN 总线的数据采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。
• CAN 总线采用 CRC 检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
• CAN 总线上的器件可被置于无任何内部活动的睡眠方式,相当于未连接到总线上,可以有效降低系统功耗。
• CAN 总线上的节点在错误严重的情况下具有自动关闭输出的功能,以使总线上其他节点的操作不受影响。
CAN 总线卓越的特性、极高的可靠性和独特的设计,特别适合工业过程中监控设备的互连,因此,越来越受到工业界的重视,并被公认为是最有前途的现场总线之一。另外,CAN 总线协议已被国际标准化组织认可,技术比较成熟,控制的芯片已经商品化,性价比高,特别适用于分布式测控系统之间的数通讯。CAN 总线插卡可以任意插在 PC AT XT 兼容机上,方便地构成分布式监控系统。因此,用 FPGA 实现 CAN 总线通信控制器具有非常重要的应用价值。
使用CAN总线的注意事项
电气特性 :CAN总线对电气特性有严格的要求,包括电压水平、终端电阻、电缆长度等。确保遵循CAN总线规范中的电气参数,以保证通信的稳定性。
拓扑结构 :CAN总线通常采用线性或星形拓扑。线性拓扑简单,但对电缆长度有限制;星形拓扑可以减少电缆长度,但需要使用集线器或中继器。
终端电阻 :在CAN总线的两端必须安装终端电阻,以减少信号反射,保证信号完整性。
电缆选择 :选择适合CAN总线的双绞线电缆,以减少电磁干扰和信号衰减。
节点数量 :CAN总线理论上可以支持多达110个节点,但实际应用中,节点数量应根据网络的负载和性能要求来确定。
错误处理 :CAN总线具有错误检测和错误处理机制,包括位错误、帧错误、CRC错误等。了解这些机制对于故障诊断和系统维护至关重要。
消息优先级 :CAN总线通过消息ID来确定消息的优先级。设计系统时,应合理分配消息ID,以确保高优先级消息能够及时传输。
实时性 :虽然CAN总线支持实时通信,但在高负载或复杂网络中,消息可能会延迟。设计时需考虑实时性要求。
网络安全 :随着CAN总线在车辆中的应用越来越广泛,网络安全成为一个重要议题。需要采取措施保护CAN总线免受恶意攻击。
软件和硬件兼容性 :确保所使用的CAN控制器和软件工具与CAN总线标准兼容,以避免兼容性问题。
CAN总线与其他通信协议对比
与LIN总线对比 :
成本 :LIN总线成本较低,因为它使用单线通信,而CAN总线需要双绞线。
速度 :CAN总线的数据传输速率通常高于LIN总线,适合高速通信。
可靠性 :CAN总线具有更强的错误检测和处理能力,适合需要高可靠性的应用。
与FlexRay总线对比 :
速度 :FlexRay总线的数据传输速率远高于CAN总线,适合需要极高速度的应用。
复杂性 :FlexRay总线比CAN总线更复杂,成本也更高。
同步性 :FlexRay总线支持时间触发通信,而CAN总线是事件触发的。
与MOST总线对比 :
媒体类型 :MOST总线使用光纤通信,而CAN总线使用双绞线。
速度 :MOST总线的数据传输速率远高于CAN总线,适合多媒体数据传输。
成本 :MOST总线的成本较高,因为它需要光纤和相应的接口。
与以太网对比 :
速度 :以太网的数据传输速率远高于CAN总线,适合大数据量的传输。
协议复杂性 :以太网协议比CAN总线复杂,需要更多的处理能力。
应用领域 :以太网广泛应用于IT和网络通信领域,而CAN总线主要用于车辆和工业控制。
与SerCOS总线对比 :
实时性 :SerCOS总线具有非常高的实时性,适合需要精确同步的应用。
成本 :SerCOS总线的成本较高,因为它需要特殊的硬件和协议支持。
应用领域 :SerCOS总线主要用于工业自动化和机器人领域。
总结来说,CAN总线以其可靠性、实时性和成本效益在车辆和工业控制领域占有重要地位。然而,根据不同的应用需求,可能需要考虑其他通信协议。在选择通信协议时,应综合考虑成本、速度、可靠性、实时性等因素。