CANopen协议诞生及发展
2015-11-10
作者:周立功致远电子
摘要:OSI是Open System Interconnection的缩写,意为开放式系统互联。国际标准化组织(ISO)制定了OSI模型,该模型定义了不同计算机互联的标准,是设计和描述计算机网络通信的基本框架。OSI模型把网络通信的工作分为7层,分别是物理层、数据链路层、网络层、传输层、会话层、表示层和应用层。
从OSI的7层网络模型的角度来看同,CAN(Controller Area Network)现场总线仅仅定义了第1层(物理层,见ISO11898-2标准)、第2层(数据链路层,见ISO11898-1标准);而在实际设计中,这两层完全由硬件实现,设计人员无需再为此开发相关软件(Software)或固件(Firmware),只要了解如何调用相关的接口和寄存器,即可完成对CAN的控制。如图 1所示。
图 1 CAN控制器结构
但CAN没有规定应用层。也就是没有规定与实际应用相关的逻辑,比如开关量输入输出,模拟量输入输出。所以本身对于应用来说,是不完整的。这就像铁矿石(物理层)冶炼成铁锭(数据链路层),然后针对具体应用,再加工做成汽车、轮船、钢筋、坦克、钢结构建筑等等。如图 2所示。
图 2 从物理层到应用层
因此,基本每个行业的CAN应用,都需要一个高层协议来定义CAN报文中的11/29位标识符、8字节数据的使用。但在CAN总线的工业自动化应用中,由于设备的互通互联的需求越来越多,所以需要一个开放的、标准化的高层协议:这个协议支持各种CAN厂商设备的互用性、互换性,能够实现在CAN网络中提供标准的、统一的系统通讯模式,提供设备功能描述方式,执行网络管理功能。其中包括:
l 应用层(Application layer):为网络中每一个有效设备都能够提供一组有用的服务与协议。
l 通讯描述(Communication profile):提供配置设备、通讯数据的含义,定义数据通讯方式。
l 设备描述(Device proflile):为设备(类)增加符合规范的行为。