CANopen节点监控:心跳报文与NMT守护机制解析

需积分: 41 48 下载量 27 浏览量 更新于2024-08-07 收藏 3.03MB PDF 举报
"该文档是Quectel BC25系列NB-IoT模块的产品规格书,版本1.5,主要讨论了CANopen协议中的节点状态和心跳报文机制。" 在CANopen网络中,节点状态管理和心跳报文是确保网络稳定运行的关键元素。节点状态分为不同的类型,如预操作、停止、预启动、运行等,这些状态由NMT(Network Management Toolkit)进行管理。NMT主站通过监控心跳报文来判断从站的状态,如果从站按照其对象字典中的1017h设置的心跳生产时间发送心跳报文,而主站(通过1016h设置的心跳消费时间)在预期时间内未接收到这些报文,那么主站会认为从站已离线或出现故障。 心跳报文是一种保持网络通信活跃并检测节点故障的方式。CANopen从站定期发送心跳报文,而主站则检查这些报文以确定从站的在线状态。如果在设定次数的心跳消费时间内没有收到报文,主站可以执行相应的错误处理策略,如重启或隔离故障节点。 除了心跳报文机制,文档也提到了早期CANopen应用中的节点守护(NMT Node Guarding)方法。在这种模式下,NMT主站通过发送标准的远程帧来轮询从站状态,从站则响应数据帧,其中包含一个触发位和状态信息。触发位必须在每次响应中交替变化,而状态信息的位0到位6指示节点当前的状态,这些状态值可以从表6.1中找到。 CANopen协议栈是基于ISO层级模型构建的,它在物理层之上提供了网络管理、进程数据交换等功能。对象字典(Object Dictionary, OD)是CANopen协议的核心部分,包含了网络中所有节点的配置和状态信息,允许节点间进行数据交换。OD通常由通信对象、通用通信对象、制造商特定对象和标准化设备子协议等组成,并可以通过EDS(Electronic Data Sheet)文件进行描述。 这份文档详细介绍了CANopen协议中关于节点状态监控和心跳报文的重要概念,对于理解CANopen网络的稳定性和故障检测机制具有重要意义,尤其对于开发和维护Quectel BC25系列NB-IoT模块的工程师来说,是必不可少的参考资料。