网络和现场总线模块-CANopen
| CANopen是针对第7层(ISO/OSI模型中的用户层)的通信协议,配置具有高度的灵活性,可以使用CAN作为第2层传输介质。它最初是专为运动控制应用而开发的,现在已成为广泛应用于医学工程,海事导航,铁路,甚至楼宇自动化领域的通信协议。 |
CANopen并非是一个典型的主从系统,它运行客户端 - 服务器服务并遵循生产者-消费者机制。 它可以提供标准化的通信对象:配置对象目录项的服务数据对象(SDO),传输实时数据的过程数据对象(PDO),控制与监控节点的网络管理对象(NMT)以及其它对象如同步对象,时间戳和紧急报文。 CAN的报文格式 - 图显示了CAN的报文格式。报文起始由的显性位发送,紧接着是11位标识符以及区分数据报文和数据请求报文(远程帧)的更远一位。借助远程帧,网络节点可以触发系统中另一个节点的报文传输。控制字段了一个报文的发送格式(标准/扩展)以及随后数据的字节数。
- CAN报文的数据场范围为0至8个字节。数据场之后是15位的CRC场。该场用于接收器检查接收到的报文。在应答场中,报文发送器期望从至少一个接收的网络节点处获得所传送报文的无差错接收的应答信号。网络中所有接收到无差错报文的节点给出此应答,并在应答间隙中发送一个显性位。此应答专门用于传输侧的故障排除。
可用更高标准的协议和配置文件
在ISO 11898标准中,从OSI数据通信模型的角度来看,CAN协议定义了第1层和第2层。然而,更广泛的功能对于实现网络相当必要。针对嵌入式系统和工业自动化应用,有两个标准可选:CANopen和DeviceNet。
高效的错误检测和故障排除
,CAN协议的特点之一是它能够检测传输错误。因此这可以满足的要求,例如针对机动车辆中的控制设备网络。的错误检测能力是由不同的错误检测措施的组合实现的。这方面的措施之一是由能检测所有全局有效错误的报文发送器监控总线电平。此外,每个报文接收器都会检查每个接收到的报文,它们基于已定义的格式元素和CRC场。以这种方式检测错误只有局部有效。除了检测传输错误之外,CAN协议还包含一种检测并关闭有缺陷的网络节点的机制。这将确保有缺陷的网络节点无法持续干扰报文传输。