直到第 7 层的各层都必须由应用程序的附加服务进行管理。各种标准化的更高层协议(如 CANopen)都已发布并广泛应用于工业应用中。为了便于遵守 RTCA/DO-178 [3] 指南,没有选择通用的高层协议,而是开发了一种特定类型的应用层协议,并记录在系统接口文档 [2] 中。对通信需求的分析产生了以下协议要求:• 网络上的每个烟雾探测器都必须具有唯一性• 烟雾探测器生成的消息必须包含有关其身份的信息• 支持主从通信模型 CAN 标识符使用 29 位扩展标识符,并分成如图 3 所示的子字段。消息类型消息类型的目的在于根据消息的总体相对优先级对其进行分类,并指示模块 ID 是包含发送器地址还是接收器地址。两类消息类型、过程数据对象 (PDO) 和服务数据对象 (SDO) 被实例化为发送或接收对象;分别为 T_PDO 和 R_PDO 以及 T_SDO 和 R_SDO。发送数据对象 (T_xDO) 表示模块 ID 包含发送器的网络地址,而接收数据对象 (R_xDO) 则在模块 ID 字段中包含目标接收器的网络地址。
直到第 7 层的各层都必须由应用程序的附加服务进行管理。各种标准化的更高层协议(如 CANopen)都已发布并广泛应用于工业应用中。为了便于遵守 RTCA/DO-178 [3] 指南,没有选择通用的高层协议,而是开发了一种特定类型的应用层协议,并记录在系统接口文档 [2] 中。对通信需求的分析产生了以下协议要求:• 网络上的每个烟雾探测器都必须具有唯一性• 烟雾探测器生成的消息必须包含有关其身份的信息• 支持主从通信模型 CAN 标识符使用 29 位扩展标识符,并分成如图 3 所示的子字段。消息类型消息类型的目的在于根据消息的总体相对优先级对其进行分类,并指示模块 ID 是包含发送器地址还是接收器地址。两类消息类型、过程数据对象 (PDO) 和服务数据对象 (SDO) 被实例化为发送或接收对象;分别为 T_PDO 和 R_PDO 以及 T_SDO 和 R_SDO。发送数据对象 (T_xDO) 表示模块 ID 包含发送器的网络地址,而接收数据对象 (R_xDO) 则在模块 ID 字段中包含目标接收器的网络地址。
功能代码(位 24..15)每个应用程序功能在其各自的消息类型中都被指定为唯一的功能代码。除了描述下一级仲裁优先级之外,功能代码还用于传输逻辑数据,而无需使用实际的 CAN 数据字段。在这种情况下,数据长度代码 (DLC) 为 0,从而能够高效利用数据带宽,特别是对于 R_PDO 和 R_SDO,它们主要包含针对烟雾探测器的状态请求,并且不携带除请求本身之外的任何其他信息。模块 ID(位 14..5)模块 ID 字段包含 CAN 节点的唯一网络标识。当消息同时指向多个节点时,这也可能是广播标识。两个子字段模块类型和模块地址将模块 ID 分为设备类别及其各自的地址。整个模块地址空间可重复用于网络上的每个模块类型。系统 ID(位 4..0)系统 ID 用于使用唯一系统标记 CAN 标识符
直到第 7 层的各层都必须由应用程序的附加服务进行管理。各种标准化的更高层协议(如 CANopen)都已发布并广泛应用于工业应用中。为了便于遵守 RTCA/DO-178 [3] 指南,没有选择通用的高层协议,而是开发了一种特定类型的应用层协议,并记录在系统接口文档 [2] 中。对通信需求的分析产生了以下协议要求:• 网络上的每个烟雾探测器都必须具有唯一性• 烟雾探测器生成的消息必须包含有关其身份的信息• 支持主从通信模型 CAN 标识符使用 29 位扩展标识符,并分成如图 3 所示的子字段。消息类型消息类型的目的在于根据消息的总体相对优先级对其进行分类,并指示模块 ID 是包含发送器地址还是接收器地址。两类消息类型、过程数据对象 (PDO) 和服务数据对象 (SDO) 被实例化为发送或接收对象;分别为 T_PDO 和 R_PDO 以及 T_SDO 和 R_SDO。发送数据对象 (T_xDO) 表示模块 ID 包含发送器的网络地址,而接收数据对象 (R_xDO) 则在模块 ID 字段中包含目标接收器的网络地址。