理论教育 CAN高层协议及应用领域:CAL、OSEK、CANopen

CAN高层协议及应用领域:CAL、OSEK、CANopen

时间:2023-09-26 理论教育 版权反馈
【摘要】:CAN 高层协议即应用层协议, 是一种在现有的CAN 底层协议之上实现的协议。高层协议是在CAN 规范的基础上发展起来的应用层。目前已经有许多标准得到广泛的接受, 如CAL 和OSEK。CAL 发布于1993 年, 是CiA 首批发布的条款之一。CAL 的其中一个子集是作为CANopen 的应用层。因此, CANopen 的设备可以用在指定应用的CAL 系统。CANopen 标准是由CiA 旨在解答EU-研究程序结果的一组成员编制。

CAN高层协议及应用领域:CAL、OSEK、CANopen

CAN 高层协议即应用层协议, 是一种在现有的CAN 底层协议(物理层和数据链路层)之上实现的协议。 高层协议是在CAN 规范的基础上发展起来的应用层。 许多系统(像汽车工业) 中, 可以特别制定一个合适的应用层, 但对于许多行业来说, 这种方法是不经济的。一些组织已经研究并开放了应用层标准, 以使系统的综合应用变得十分容易。 目前已经有许多标准得到广泛的接受, 如CAL 和OSEK。 CAL 可以被认为是不依赖于应用的应用层, 它适用于各种基于CAN 且直接使用应用层服务的应用中, 而OSEK-Com/Net 标准则具有应用层和网络管理的功能性, 主要用于汽车网络中。

CAL (CAN Application Layer) 发布于1993 年, 是CiA (CAN-in Automation) 首批发布的条款之一。 CAL 为基于CAN 的分布式系统的实现提供了一个不依赖于应用、面向对象的环境, 它为通信、标识符分布、网络和层管理提供了对象和服务。 CAL 的主要应用在基于CAN 的分布式系统, 这个系统不要求可配置性以及标准化的设备建模。 CAL 的其中一个子集是作为CANopen 的应用层。 因此, CANopen 的设备可以用在指定应用的CAL 系统。 在欧洲, 一些公司在尝试使用CAL。 尽管CAL 在理论上正确, 并在工业上可以投入应用, 但每个用户都必须设计一个新的子协议, 因为CAL 是一个真正的应用层。 CAL 可以被看作开发一个应用CAN 方案的必要理论步骤, 但在这一领域它不会被推广。

OSEK/VDX 是汽车行业里的一个联合(开发) 项目, 其目的是为汽车的分布式系统提供工业标准以便具有开放式的结构。 这个标准包括一个实时操作系统的定义、软件接口的定义以及一个通信和网络管理系统的定义。 OSEK 操作系统提供服务以便于任务管理和同步、中断管理、警告和错误处理。 这个操作系统的主要目的是规定一个通用平台以集成不同厂家的软件模块。 由于想把操作系统应用在任何类型的控制单元中, 因此它必须支持大多数硬件的实时应用。 OSEK 通信规定定义了一个硬件以及总线系统独立的应用接口。 本地和远程任务的通信是由操作系统通过“信息对象” 执行的。 这里要区分两种信息: “状态信息” 和“事件信息”。 状态信息通常表示大多数系统变量(没有缓冲) 的实际状态, 并通过事件信息报告事件。 因此, 使用者必须处理每个信息。 这两种类型的信息可以在点对点和多播传送方式中使用, 传送模式包括周期性、事件驱动和周期性/事件驱动。 传输层服务额外地向不响应不分段的数据层服务提供响应的分段的数据传送。

由于汽车内系统的通信要求非常高, 为了确保通信网络的安全性和可靠性, 提出了一个完善的网络管理系统。 系统使用“节点监控”, 即每个节点都被网络中的所有其他节点监控(直接监控)。 被监控的节点根据一个专门和统一的算法发送一个NM (network management)信息。 直接节点监控要求网络范围内的NM 信息要同步, 因此使用了一个逻辑环。 任何节点都必须能够将NM 信息发送到所有其他节点并从其他节点接收信息。

如果觉得直接监控对于一个设备来说太复杂, 可以使用“间接监控” 原则。 这个原则基于应用信息的观察, 并受限于定期发送信息的节点。 这种类型的节点可能被一个或更多的其他节点监控。

还有一种十分不同的开放式系统, 其解决方案由SAE J1939 标准提供。 这个标准是由汽车工程师重型汽车社团和总线部门为了向电子系统提供一个开放的互联系统而定义的。 这个系统主要的应用范围是面向路面或非路面设计的轻、中、重型机车, 以及为获取部件而专有的静止应用场合。 机车包括行驶在公路上的卡车拖车建筑装备、农业装备以及船用仪器。 J1939 标准是基于29 位信息标识符的用法。 这个标准化的信息标识符使得8 个优先级别、预定义信息类型、指定目标的通信和广播各有差异。 J1939/7x 定义了标准的汽车内信息和诊断信息。 因此, 数据类型、数据的范围、数据重复率等, 以及相应的参数组号码, 它们确定各自的信息标识符。 此外, J1939 还定义了信息映射到参数组的CAN 数据区。(www.daowen.com)

工业应用中主要代表开放式分布系统的标准是CANopen DeviceNet 和SDS。

开放式分布系统标准的工业应用包括工业自动化中由工业器件(传感器、执行器、控制器、人机接口) 组成的低层网络。 这种应用的主要要求有可配置性、灵活性和可扩展性。为了保持生产厂商的独立性, 必须以“设备子协议” 的形式定义器件的功能性。 因此, 这种类型的通信系统解决方案提供了一个完整的通信框架和系统服务、设备建模以及设施, 其目的是便于系统配置和设备参数化。

CANopen 标准是由CiA 旨在解答EU-研究程序结果的一组成员编制。 CANopen 在通信和系统服务以及网络管理的方面使用了CAL (CAN Application Layer) 子集。 设备建模是借助于对象目录基于设备功能性的描述。 这种方法广泛地符合其他现场总线(Interbus -S,Profibus) 使用的设备描述形式。 标准设备以“设备子协议(Device Profile) 的形式规定。CANopen 标准由CiA 同行机构集团支持, 设备子协议由CiA 中专门的同行机构集团规定。

DeviceNetTM是由Allen-Bradley 开发的非常成熟的开放式网络, 根据抽象对象模型来定义。 这个模型是指可用的通信服务和一个DeviceNet 节点的外部可见行为。 DeviceNet 标准由一个独立的供应者组织(Open DeviceNet Vendor Association, ODVA) 管理, 这个组织也同时广泛地支持DeviceNet 的市场。 相应的设备子协议规定同类设备的行为。

SDSTM (Smart Distribution Systems) 是由Honeywell Micro Switch 开发的一个开放式网络标准。 由于它基于特定的应用层协议, 因此定义了一个面向对象的等级设备模型以便在SDS设备之间建立互用性。 SDS 是特别为分布式二进制传感器和执行器设计的。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈