一、ISO 11898标准概述
ISO 11898是一系列国际标准,专门用于道路车辆的控制器局域网(CAN)的数据链路层和物理层。这些标准不仅定义了CAN网络的基本操作,还规定了网络设计、实施和测试的要求。
关键部分:
ISO 11898-1:定义了数据链路层和MAC子层的操作,以及与物理层的交互。
ISO 11898-2:涉及高速CAN收发器的特性,为汽车电子控制单元(ECU)之间的高速通信提供指导。
ISO 11898-3:描述了低速CAN的特点,主要用于车身电子系统。
ISO 11898-4:引入了时间触发通信的概念,适用于需要严格时间同步的应用。
ISO 11898-5:提出了一种针对CAN的容错总线方案,以提高系统的鲁棒性。
ISO 11898-6:定义了没有额外硬件的容错CAN网络。
物理层规范
物理层规范是关于信号的实际传输方式,包括位表示、位定时以及总线电气特性等。
位表示:差分信号表示,使用CAN_H和CAN_L两条线来表达逻辑状态。
位定时:定义了位的传输速率,即波特率,以及与之相关的时序参数。
电气特性:描述了网络在不同速度下所允许的电压水平。
数据链路层服务
数据链路层提供了数据的可靠传输,通过以下机制确保数据完整性:
帧封装/拆装:数据在传输前被封装成帧,接收节点再将其拆装。
错误检测:使用循环冗余校验(CRC)和其他检查方法来验证数据的完整性。
确认和重传:发送节点等待接收节点的确认响应,如果未收到则进行重传。
容错机制
ISO 11898标准还考虑了网络的容错能力,确保即使在单个节点或信号线出现故障的情况下,网络仍能继续运行。
故障限制:当检测到错误时,节点会自动减少其在总线上的活动,以避免对其他节点造成干扰。
总线监控:所有节点都持续监控总线状态,以检测并响应可能的故障情况。
ISO 11898标准为CAN网络的设计和实施提供了全面的指导,确保了不同制造商的设备能够在同一网络上无缝协作。了解这些标准对于开发可靠的CAN网络至关重要,因为它们定义了从物理连接到数据交换各个方面的要求。
二、CANOpen、J1939等高层协议介绍
1、CANopen
CAL提供了所有的网络管理服务和报文传送协议,但并没有定义CMS对象的内容或者正在通讯的对象的类型。而这正是CANopen切入点。CANopen是在CAL基础上开发的,使用了CAL通讯和服务协议子集,提供了分布式控制系统的一种实现方案。CANopen的核心概念是设备对象字典(OD:Object Dictionary),对象字典不是CAL的一部分,而是在CANopen中实现的。
2、DeviceNet
DeviceNet是20世纪90年代中期发展起来的一种基于CAN技术的开放型、符号全球工业标准的低成本、高性能的通信网络。它通过一根电缆将PLC、传感器、光电开关、操作员终端、电动机、轴乘座、变频器和软启动器等现场智能设备连接起来,是分布式控制系统减少现场I/O接口和布线树立、将控制功能下载到现场设备的理想解决方案。
DeviceNet不仅可以作为设备级的网络,还可以作为控制级的网络,通过DeviceNet提供的服务还可以实现以太网上的实时控制。较之其他的一些现场总线,DeviceNet不仅可以接入更多、更复杂的设备,还可以为上层提供更多的信息和服务。 DeviceNet最初由Rockwell公司设计,目前由ODVA(Open DeviceNet Vendors Association)致力于支持DeviceNet产品和规范的进一步开发。
3、SAEJ1939
美国汽车工程学会SAE于2000提出的J1939,成为货车和客车中控制器局域网的通用标准。J1939协议实质是将CAN扩展帧格式中未明确定义的11位ID,18位扩展ID进行了明确定义,紧随ID的是8个字节的数据。
4、iCAN
iCAN协议全称“industry CAN-bus Application Protocol”,即工业CAN-bus应用层协议。iCAN协议沿用了CAN协议标准所规定的总线网络的物理层和数据链路层,对CAN-bus报文中的帧标识符和数据域进行了重定义。iCAN协议位于OSI模型的第7层。iCAN协议详细的定义了CAN-bus报文中帧标识符以及数据的分配和应用,建立了一个统一的设备模型,定义了设备的I/O资源和访问规则,主要内容如下:iCAN报文格式定义,规定了iCAN协议规范中使用的CAN帧类型、以及帧ID、报文数据的使用。