Linux工业网络与开发工具全解析
1. 工业网络协议
1.1 CAN协议
CAN(Controller Area Network)即控制器局域网,它不仅是最常见的现场总线,可能也是应用最广泛的网络形式之一。1986年,Robert Bosch GmbH将其作为汽车行业的串行总线系统引入,随后在众多其他行业得到应用。早期,梅赛德斯 - 奔驰和英特尔的工程师为CAN的发展做出了贡献,英特尔还提供了首款CAN芯片82526。如今,每年有超过1亿个新的CAN设备售出。
CAN的应用领域广泛,从中高端汽车(使汽车内的不同系统能够有效通信并进行诊断)到工厂自动化网络。它规定了硬件接口和通信机制,是一种具有错误检测能力的多主串行网络协议,消息识别通过内容而非接收节点或发送节点的标识来完成。CAN由自动化中的CAN(CiA)组织管理和推广,遵循1993年发布的ISO标准11898。自Linux内核2.6.25版本起,官方内核开始支持CAN。
由于CAN是一种类似于以太网的底层协议,因此出现了许多高层协议来完善它,包括J1939、DeviceNet、智能分布式系统(SDS)和CANopen等。J1939由汽车工程师协会(SAE)引入并维护,在汽车行业,尤其是柴油动力应用中非常受欢迎。DeviceNet是另一种基于CAN的流行高层协议,由开放DeviceNet供应商协会(ODVA)管理。SDS由霍尼韦尔提出并由该公司继续推广和管理。CANopen由维护CAN的同一组织CiA引入和管理。SDS不如DeviceNet和J1939受欢迎,因为它从未被标准化,而J1939、DeviceNet和CANopen都已标准化。
如需了解更多关于CAN、CAN相关硬件和C
超级会员免费看
订阅专栏 解锁全文
2911

被折叠的 条评论
为什么被折叠?



