ISO11898-1数据链路层和物理层信号
can总线的国际标准

can总线的国际标准CAN总线,全称为控制器局域网总线(Controller Area Network),是一种用于实时应用的串行通讯协议总线。
由于其高性能、高可靠性、以及灵活的通讯方式,CAN总线在工业自动化、船舶、医疗设备、航空航天等领域得到了广泛应用。
CAN总线的国际标准,具体为ISO 11898系列。
这一系列标准详细规定了CAN 总线的物理层、数据链路层以及应用层的规范。
1.物理层:ISO 11898-1至-3规定了CAN总线的物理层。
这部分标准主要定义了CAN总线的基本电气特性,如位速率、位编码、位同步等。
同时,这些标准还对CAN总线的物理接口,包括连接方式、信号幅度和阻抗等进行了规定。
2.数据链路层:ISO 11898-4至-7规定了CAN总线的数据链路层。
这部分标准主要定义了如何实现节点间的数据传输和错误检测。
标准中规定了如何使用标识符来标识信息,如何发送和接收数据,以及如何处理错误和故障等。
3.应用层:ISO 11898-8至-10规定了CAN总线的应用层。
这部分标准主要定义了如何实现节点间的信息交互和通讯控制。
标准中规定了如何定义通讯协议、如何进行信息交互、如何处理异常情况等。
此外,CAN总线还有几个子标准,包括CAN 2.0、CAN FD(快速数据)等。
这些子标准在原有的CAN总线基础上进行了扩展和改进,以适应更高的数据传输速率和更复杂的应用需求。
总的来说,CAN总线的国际标准为各种不同领域的应用提供了一个通用的通讯平台。
通过遵循这些标准,不同的设备和应用可以方便地实现相互之间的通讯和控制,从而提高了系统的效率和可靠性。
CAN总线信号可靠性测试系统方案设计

2020.27科学技术创新CAN 总线信号可靠性测试系统方案设计齐家敏耿煜程昊(湖北文理学院纯电动汽车动力系统设计与测试湖北省重点实验室,湖北襄阳441053)1概述CAN 总线是80年代德国BOSCH 公司为了解决汽车内部通讯而研发的一套局部短距离通讯协议,由于其高传输速率及可靠性,以及防爆特性而在汽车等众多领域获得了广泛的应用[1]。
多年来一直备受各个厂家的青睐,是目前最有前途的现场总线之一。
随着电子技术日新月异,速率越来越高,工况干扰越来越复杂,同时对CAN 总线抗干扰能力提出了越来越高的要求。
CAN 总线多用于工控和汽车领域,在CAN 总线的开发测试阶段,需要对其拓扑结构,节点功能,网路整合等进行开发测试,需要虚拟、半虚拟、全实物仿真测试平台,并且必须测试各节点是否符合ISO11898中规定的错误响应机制等。
CAN 总线测试主要包括物理层测试、数据链路层测试以及应用层测试,物理层测试主要测试CAN 总线的电气特性,数据链路层和应用层测试主要包括协议层测试及其抗干扰能力测试[2]。
根据ISO11898标准协议仅仅规定了物理层和数据链路层协议,应用层交给厂家根据自己的需求开发自己的应用层协议。
应用层协议现如今应用比较广泛的是特用于工厂自动化的Device Net 、适用于嵌入式工业局域网的CANOpen 和专门为大型货车和重工机械车辆设计J1939。
CAN 总线测试是依据ISO11898-1数据链路层标准和ISO11898-2物理层协议标准,针对CAN 总线的电气参数测试、协议兼容性测试、噪声抑制等测试,制定了ISO16845CAN 总线一致性测试标准,主要包括单向接收、单向发送以及双向通讯的测试目的、连接结构、测试内容和通过准则等内容的测试细则,可有效而全面地解决CAN 总线产品的一致性、有效性测试问题[3]。
ISO16845规定的CAN 总线一致性测试除了对总线产品进行正常功能的测试外,还应包括波形畸变、失真、注入错误、加入噪声等特殊条件的测试。
汽车CAN总线详解

汽车CAN总线详解概述CAN(Controller Area Network)总线协议是由 BOSCH 发明的⼀种基于消息⼴播模式的串⾏通信总线,它起初⽤于实现汽车内ECU之间可靠的通信,后因其简单实⽤可靠等特点,⽽⼴泛应⽤于⼯业⾃动化、船舶、医疗等其它领域。
相⽐于其它⽹络类型,如局域⽹(LAN, Local Area Network)、⼴域⽹(WAN, Wide Area Network)和个⼈⽹(PAN, Personal Area Network)等,CAN 更加适合应⽤于现场控制领域,因此得名。
CAN总线是⼀种多主控(Multi-Master)的总线系统,它不同于USB或以太⽹等传统总线系统是在总线控制器的协调下,实现A节点到B节点⼤量数据的传输,CAN⽹络的消息是⼴播式的,亦即在同⼀时刻⽹络上所有节点侦测的数据是⼀致的,因此⽐较适合传输诸如控制、温度、转速等短消息。
CAN起初由BOSCH提出,后经ISO组织确认为国际标准,根据特性差异⼜分不同⼦标准。
CAN国际标准只涉及到 OSI(开放式通信系统参考模型)的物理层和数据链路层。
上层协议是在CAN标准基础上定义的应⽤层,市场上有不同的应⽤层标准。
发展历史1983年,BOSCH开始着⼿开发CAN总线;1986年,在SAE会议上,CAN总线正式发布;1987年,Intel和Philips推出第⼀款CAN控制器芯⽚;1991年,奔驰 500E 是世界上第⼀款基于CAN总线系统的量产车型;1991年,Bosch发布CAN 2.0标准,分 CAN 2.0A (11位标识符)和 CAN 2.0B (29位标识符);1993年,ISO发布CAN总线标准(ISO 11898),随后该标准主要有三部分:ISO 11898-1:数据链路层协议ISO 11898-2:⾼速CAN总线物理层协议ISO 11898-3:低速CAN总线物理层协议注意:ISO 11898-2和ISO 11898-3物理层协议不属于 BOSCH CAN 2.0标准。
CAN_发展史

CAN发展史起源1986年2月,Robert Bosch 公司在SAE(汽车工程协会)大会上介绍了一种新型的串行总线——CAN 控制器局域网,那是CAN诞生的时刻。
今天,在欧洲几乎每一辆新客车均装配有CAN局域网。
同样,CAN 也用于其他类型的交通工具,从火车到轮船或者用于工业控制。
CAN已经成为全球范围内最重要的总线之一——甚至领导着串行总线。
在1999年,接近6千万个CAN控制器投入应用;2000年,市场销售超过1亿个CAN器件。
在1980年的早些时候,Bosch公司的工程师就开始论证当时的串行总线用于客车系统的可行性。
因为没有一种现成的网络方案能够完全满足汽车工程师们的要求,于是,在1983年初,Uwe Kiencke 开始研究一种新的串行总线。
新总线的主要方向是增加新功能、减少电气连接线,使其能够用于产品,而非用于驱动技术。
来自 Mercedes-Benz 的工程师较早制定了总线的状态说明,而Intel也准备作为半导体生产的主要厂商。
当时聘请的顾问之一是来自于德国Braunschweig-Wolfenbüttel的Applied Science大学教授Wolfhard Lawrenz博士给出了新网络方案的名字“Controller Area Network”,简称CAN。
来自Karlsruhe大学的教授Horst Wettstein博士也提供了理论支持。
1986年2月,CAN诞生了。
在底特律的汽车工程协会大会上,由 Bosch公司研究的新总线系统被称为“汽车串行控制器局域网”。
Uwe Kiencke、 Siegfried Dais 和 Martin Litschel 分别介绍了这种多主网络方案。
此方案基于非破坏性的仲裁机制,能够确保高优先级报文的无延迟传输。
并且,不需要在总线上设置主控制器。
此外,CAN之父——上述几位教授和Bosch公司的Wolfgang Borst、Wolfgang Botzenhard、Otto Karl、Helmut Schelling、Jan Unruh 已经实现了数种在CAN中的错误检测机制。
高速CAN与低速CAN-风丘科技

ISO11898标准 和 ISO11519标准ISO11898 和 ISO11519-2的不同点
高速CAN
低速CAN
CAN协议经ISO标准化后有ISO11898标准(高速CAN)ISO11519-2(低速CAN)标 准两种。
ISO11898标准和ISO11519-2对于 数据链路层的标准相同,但物理层不同。
2ISO11898标准是通信速度为125Kbps 以下的CAN低速通信标准。
ISO11519-2是ISO11519-1追加新规约后的版本ISO11519标准
1ISO11898 和 ISO11519-2在CAN协议中物理层的标准有所不同。
CAN协议的物理层定义了三个子层,ISO11898 和 ISO11519-2在物理层中的PMA层和MDI 层有所不同。
物理层的不同点
CAN协议定义的部分
CAN协议定义的部分ISO11898/11519-2标准化的部分
高速CAN和低速CAN的物理层电气特性不一样,因此不能将它们连接在一起
高速CAN主要应用在发动机、变速箱等对实时性、数据传输速度要求高的场合
低速CAN主要应用在对车身控制系统等对可靠性要求高的场合
CAN_H或CAN_L任意一根导线折断,高速CAN节点不能收发,但低速CAN节点可以接收。
因此低速CAN的可靠性高于高速CAN ,例如在发生事故时CAN线折断一根,车门控制器还可以接收CAN信号开门
通用汽车单线CAN(Single Wire CAN)和低速CAN应用一致低速CAN节点必须连接电源才能正常工作。
CAN总线

CAN总线上任意两个节点之间的最大传输距离与其位速率有关,表7.1列举了相关的数据。
表7.1 CAN总线系统任意两节点之间的最大距离
位速率/kbps
1000
500
250
125
பைடு நூலகம்100
50
20
10
5
最大距离/m
40
130
270
530
620
1300
3300
6700
10000
这里的最大通信距离是指在同一条总线上两个节点之间的距离。一个实际的影院系统网络结构中可以是“树型拓扑”(有时称为干线和支线)。在各级“分支”的节点上采用“网关”(可称为“中继器”或“网桥”),实际上就是由多个CAN控制器或外加其他通信协议的接口芯片组成的一个设备。这样几乎既不受限制地扩大了通信距离(“中继器”的作用),又有“网关”或“网桥”甚至“路由”的作用。
1)CAN遵从ISO/OSI模型,采用了其中的物理层、数据链路层与应用层。采用双绞线,通信速率最高达到1Mbps/40m,直接传输距离最远可达10KM/5kbps。最多可挂接110个设备。
2)CAN的信号传输采用短帧结构,每一帧有效字节数为8个。因而传输时间短,受干扰的概率低。当节点发生严重错误时,具有自动关闭的功能,切断该节点与总线的联系,使总线上其它节点不受影响,具有很强的抗干扰能力。
在20世纪90年代初,Bosch CAN规范(2.0版)被提出作为国际标准。经过几次争论,在1993年11月公布了CAN的ISO 11898标准。同时,在CAN的协议中定义了物理层的波特率最高为1MBPS。另外,CAN数据传送中的错误处理方式也在1995年的ISO11519-2中的标准化,ISO11898标准也由于加入了描述29位CAN的标识符而扩充。但是,所有公布的CAN规范和标准都有错误和不完整的地方。
诊断通讯协议总结

基于 K 线的 KWP2000 协议标准主要包括 ISO/WD 14230-1 ~ 14230-4,各部份协议与 OSI 模型的对应关系如表 1 所示。
表 1 KWP2000 协议与 OIS 模型的对应关系OSI 模型基于 K 线的 KWP2000 基于 CAN 总线的 KWP2000应用层 ISO 14230-3 ISO 15765-3表述层 N/A N/A会话层 N/A N/A传输层 N/A N/A网络层 N/A ISO 15765-2数据链路层 ISO 14230-2 ISO 11898-1物理层 ISO 14230-1,ISO9141-2 用户选择ISO 14230-1 规定了 KWP2000 协议的物理层规范( K 线、 L 线),它在 ISO 9141-2 的基础上把数据交换系统扩展到了 24V 电压系统。
ISO 14230-2 规定了 KWP2000 的数据链路层协议,包括报文结构、初始化过程、通讯连接管理、定时参数和错误处理等内容。
K 线的报文包括报文头、数据域和校验和三部份,其中报文头包含格式字节、目标地址(可选)、源地址(可选)和附加长度信息(可选),如表 2 所示。
表 2 基于 K 线的 KWP2000 报文结构[3]报文头数据域校验和Fmt Tgt1) Src1) Len1) SId2) . . Data2) . . CS最长 4 字节最长 255 字节 1 字节1 )可选字节,取决于格式字节 Fmt 的 A1A0 位2 )服务标识符( Service ID ),数据域的第 1 个字节KWP2000 ( Keyword Protocol 2000)是欧洲汽车领域广泛使用的一种车载诊断协议标准,该协议实现了一套完整的车载诊断服务,并且满足 E-OBD ( European On Board Diagnose)标准。
KWP2000 协议仅对其中三个子层进行了定义说明,即:应用层(第七层)、数据链路层(第二层)和物理层(第一层)。
直流充电设备通用技术规范-附件1 计费控制单元与充电控制器通信协议

计费控制单元与充电控制器通信协议1 范围本部分规定了计费控制单元与充电控制器之间基于控制器局域网(Control Area Network,以下简称CAN)的通信物理层、数据链路层、交互流程、报文分类、报文格式和内容的定义。
本部分适用于计费控制单元和充电控制器之间的通信。
2 规范性引用文件下列文件对于本文件的应用是必不可少的。
凡是注日期的引用文件,仅注日期的版本适用于本文件。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 19596 电动汽车术语Q/GDW 11709.1-2017 电动汽车充电计费控制单元第1部分:技术条件IEC 60870-5-101 基本远动任务的配套标准(Transmission Protocols-Companion Standard for Basic Telecontrol Tasks)ISO 11898-1:2003 道路车辆控制器局域网络第1部分:数据链路层和物理信令(Road vehicle –Control area network (CAN) Part 1: Data link layer and physical signaling)SAE J1939-11:2006 商用车控制系统局域网CAN通信协议第11部分:物理层,250K比特/秒,屏蔽双绞线(Recommented practice for serial control and communication vehicle network Part 11: Physical layer–250K bits/s, twisted shielded pair)SAE J1939-21:2006 商用车控制系统局域网CAN通信协议第21部分:数据链路层(Recommented practice for serial control and communication vehicle network Part 21: Data link layer)3 术语和定义GB/T 19596、Q/GDW 11709.1-2017界定的以及下列术语和定义适用于本文件。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
ISO11898-1数据链路层和物理层信号
ISO 11898-1定义了哪些内容,相关项目如何测试?
1、关于ISO 11898
ISO是世界性的标准化组织,主要任务是制定国际标准,协调世界范围内的标准化工作,与其他国际性组织合作研究有关标准化问题。
IS0 11898由以下部分组成:
ISO11898-1:数据链路层和物理层信号
ISO11898-2:高速接入单元
ISO11898-3:低速容错接入单元
11898-4:时间触发通讯
ISO11898-5:低功耗的高速接入单元
ISO11898-6:选择性唤醒的高速接入单元
最新的ISO 11898-2、ISO 11898-5和ISO 11898-6已经取代ISO 11898-2:2003、ISO 11898-5:2007和ISO 11898-6:2013。
2、ISO11898-1的定位
对比标准的OSI通讯协议模型,ISO 11898-1定义了CAN的数据链路层和部分物理层,如图1。
数据链路层和物理层具体可分为逻辑链路控制、媒介访问控制、物理层编码、物理层介质、物理层媒介依赖。
图1 ISO 11898的定位
3、适用范围
ISO11898-1旨在实现CAN模块之间数据链路层上的信息规范。
控制器区域的网络是一种串行通信协议,用于道路车辆和其他控制领域,支持分布式实时控制和多路复用。
ISO11898-1:2015适用于经典CAN帧与灵活CAN帧(CAN-FD)。
经典的CAN帧有效载荷达8个字节,比特率最高允许1 Mbit/s。
最新的CAN帧(CAN-FD)帧格式允许比特率高于1 mbit/s,并且有效载荷大于每帧8字节。
新帧架构(CAN-FD)兼容经典帧结构。
图2 新旧帧关系
4、基本概念
SO11898-1详细列举出CAN总线涉及到的基本概念。
具体细节请读者参考原文,此处不再展开。
图3 基本概念
5、CAN层体结构
ISO 11898-1包含逻辑链接控制子层(LLC)、介质访问控制子层(MAC)、物理编码子层(PCS)。
其中LLC包括接受过滤、过载通知以及恢复管理;MAC层包括数据封装与解封、帧编码、介质访问管理、错误检测、序列及反序列;PCS层包括位编码、位解码以及同步。
图4 ISO 11898包含的规范
6、MAC数据的一致性
要传送的消息是由LLC产生的,通过节点的控制器主机接口和数据链路层的子层传输到MAC子层。
MAC子层将把整个消息存储在一个临时缓冲区中,该缓冲区在传输开始之前被填充。
当传送的信息被传送到MAC的子层时,LLC子层应检查数据错误。
如果检测到数据错误,就不会启动传输。
如果在检测到数据错误时已经启动,那么节点将被切换到总线监控模式或进入受限的操作模式,接收节点将不会看到一条有效消息。
图5 自动错误过滤
7、错误及恢复
为了避免设备因自身原因影响其他正常节点,11898-1固定每个CAN控制器都有一个发送错误计数器(TEC)和接收错误计数器(REC)。
转换流程如图6。
主动错误状态:这是设备正常状态,设备正常参加通信,当检测到错误时发送错误标识;
被动错误状态:检测出错误后,设备将发送被动错误标识;
总线状态关闭:因为自身严重问题使总线自身进入总线关闭状态,该状态下无数据收发。
图6 设备状态转换
8、一致性测试
CAN总线实际应用中总会遇到很多问题,因此对总线的各个方面做一致性测试十分必要。
CAN的一致性测试包括物理层一致性测试、数据链路层一致性测试、应用层一致性测试。
参考ISO 11898-1,可使用CANScope对CAN总线做数据链路层一致性测试,包括图7内的测试项目。
图7 一致性测试项目
采样点测试:该测试旨在验证CAN 控制器的波特率采样点位置。
采用干扰的手段,将采样点位置的逻辑电平破坏,则这个CAN 报文将出现错误。
以此就可以确定干扰的位置为采样点位置。
图8 采样点测试
CAN2.0B 兼容测试: 测试被测设备DUT 是否能兼容CAN2.0B 的扩展帧,不会发出错
误帧。
根据GMW14242,要求在DUT在接收扩展帧时,不会有错误帧发出。
测试平台架构如图9所示。
图9 CAN2.0B兼容性测试
报文标示符测试:测试被测DUT 发出的报文标识符(ID)是否符合预期。
根据ISO11898-1,要求在DUT在发送所有应用报文,都具备正确的ID。
如图10在数据长度框、帧ID框内进行关键字检索,查找异常帧。
图10 报文标示符测试。