广州致远电子有限公司文库资料©2017GuangzhouZHIYUANElectronicsStockCo.,Ltd.文章源自广州致远电子有限公司,转载或引用请注明出处1工业通讯-CANbus通信产品ISO11898-1数据链路层和物理层信号ISO11898-1定义了哪些内容,相关项目如何测试?1、关于ISO11898ISO是世界性的标准化组织,主要任务是制定国际标准,协调世界范围内的标准化工作,与其他国际性组织合作研究有关标准化问题。IS011898由以下部分组成:ISO11898-1:数据链路层和物理层信号ISO11898-2:高速接入单元ISO11898-3:低速容错接入单元11898-4:时间触发通讯ISO11898-5:低功耗的高速接入单元ISO11898-6:选择性唤醒的高速接入单元最新的ISO11898-2、ISO11898-5和ISO11898-6已经取代ISO11898-2:2003、ISO11898-5:2007和ISO11898-6:2013。2、ISO11898-1的定位对比标准的OSI通讯协议模型,ISO11898-1定义了CAN的数据链路层和部分物理层,如图1。数据链路层和物理层具体可分为逻辑链路控制、媒介访问控制、物理层编码、物理层介质、物理层媒介依赖。图1ISO11898的定位3、适用范围ISO11898-1旨在实现CAN模块之间数据链路层上的信息规范。控制器区域的网络是一种串行通信协议,用于道路车辆和其他控制领域,支持分布式实时控制和多路复用。ISO11898-1:2015适用于经典CAN帧与灵活CAN帧(CAN-FD)。经典的CAN帧有效载荷达8个字节,比特率最高允许1Mbit/s。最新的CAN帧(CAN-FD)帧格式允许比特率高于1mbit/s,并且有效载荷大于每帧8字节。新帧架构(CAN-FD)兼容经典帧结构。图2新旧帧关系广州致远电子有限公司文库资料©2017GuangzhouZHIYUANElectronicsStockCo.,Ltd.文章源自广州致远电子有限公司,转载或引用请注明出处2工业通讯-CANbus通信产品4、基本概念SO11898-1详细列举出CAN总线涉及到的基本概念。具体细节请读者参考原文,此处不再展开。图3基本概念5、CAN层体结构ISO11898-1包含逻辑链接控制子层(LLC)、介质访问控制子层(MAC)、物理编码子层(PCS)。其中LLC包括接受过滤、过载通知以及恢复管理;MAC层包括数据封装与解封、帧编码、介质访问管理、错误检测、序列及反序列;PCS层包括位编码、位解码以及同步。图4ISO11898包含的规范6、MAC数据的一致性要传送的消息是由LLC产生的,通过节点的控制器主机接口和数据链路层的子层传输到MAC子层。MAC子层将把整个消息存储在一个临时缓冲区中,该缓冲区在传输开始之前被填充。当传送的信息被传送到MAC的子层时,LLC子层应检查数据错误。如果检测到数据错误,就不会启动传输。如果在检测到数据错误时已经启动,那么节点将被切换到总线监控模式或进入受限的操作模式,接收节点将不会看到一条有效消息。图5自动错误过滤广州致远电子有限公司文库资料©2017GuangzhouZHIYUANElectronicsStockCo.,Ltd.文章源自广州致远电子有限公司,转载或引用请注明出处3工业通讯-CANbus通信产品7、错误及恢复为了避免设备因自身原因影响其他正常节点,11898-1固定每个CAN控制器都有一个发送错误计数器(TEC)和接收错误计数器(REC)。转换流程如图6。主动错误状态:这是设备正常状态,设备正常参加通信,当检测到错误时发送错误标识;被动错误状态:检测出错误后,设备将发送被动错误标识;总线状态关闭:因为自身严重问题使总线自身进入总线关闭状态,该状态下无数据收发。图6设备状态转换8、一致性测试CAN总线实际应用中总会遇到很多问题,因此对总线的各个方面做一致性测试十分必要。CAN的一致性测试包括物理层一致性测试、数据链路层一致性测试、应用层一致性测试。参考ISO11898-1,可使用CANScope对CAN总线做数据链路层一致性测试,包括图7内的测试项目。图7一致性测试项目采样点测试:该测试旨在验证CAN控制器的波特率采样点位置。采用干扰的手段,将采样点位置的逻辑电平破坏,则这个CAN报文将出现错误。以此就可以确定干扰的位置为采样点位置。图8采样点测试CAN2.0B兼容测试:测试被测设备DUT是否能兼容CAN2.0B的扩展帧,不会发出错广州致远电子有限公司文库资料©2017GuangzhouZHIYUANElectronicsStockCo.,Ltd.文章源自广州致远电子有限公司,转载或引用请注明出处4工业通讯-CANbus通信产品误帧。根据GMW14242,要求在DUT在接收扩展帧时,不会有错误帧发出。测试平台架构如图9所示。图9CAN2.0B兼容性测试报文标示符测试:测试被测DUT发出的报文标识符(ID)是否符合预期。根据ISO11898-1,要求在DUT在发送所有应用报文,都具备正确的ID。如图10在数据长度框、帧ID框内进行关键字检索,查找异常帧。图10报文标示符测试