《CAN总线培训资料.ppt》由会员分享,可在线阅读,更多相关《CAN总线培训资料.ppt(96页珍藏版)》请在优知文库上搜索。
1、现场总线控制系统第第5章、章、CAN总线通信技术总线通信技术5.1 概述概述5.1.1 CAN的发展概况n现代社会对汽车的要求不断提高,这些要求包括:极高的主动安全性和被动安全性;乘坐的舒适性;驾驶与使用的便捷和人性化;尤其是低排放和低油耗的要求等。n在汽车设计中运用微处理器及其电控技术是满足这些要求的最好方法,而且已经得到了广泛的运用。目前这些系统有:ABS(防抱系统)、EBDEBD(制动力分配系统)(制动力分配系统)、EMS(发动机管理系统)、多功能数字化仪表、主动悬架、导航系统、电子防盗系统、自动空调和自动CD 机等。5.1.1 CAN的发展概况n这些系统由多个电控单元相互连接而成,可分
2、为控制器、传感器、执行器等。同时各个系统之间也互相连接,进行着越来越多的数据交换。这样就需要使用大量的线束和插接器来实现互连,进行它们之间的数据交换。随着汽车电子技术的不断发展,这种需求的增长是惊人的(如图)。5.1.1 CAN的发展概况n由于线束和插接器的数量不断增加,整车电子系统的复杂程度愈来愈高,其可靠性将难以保证,故障率会提高,维修会更加困难。n为了满足汽车内部信息交换量急剧增加的要求,有必要使用一种实现多路传输方式的车载网络系统。这种网络系统采用串行总线结构,通过总线信道共享,减少线束的数量。 n车载网络除了要求采用总线拓扑结构方式外,必须具有极好的抗干扰能力;极强的差错检测和处理能
3、力;满足信息传输实时性要求;同时具备故障的诊断和处理能力等。另外考虑到成本因素,要求其控制接口结构简单,易于配置。 5.1.1 CAN的发展概况n20世纪80年代,Bosch的工程人员开始研究用于汽车的串行总线系统,因为当时还没有一个网络协议能完全满足汽车工程的要求。参加研究的还有Mercedes-Benz公司、Intel公司,还有德国两所大学的教授。n1986年, Bosch在SAE(汽车工程人员协会)大会上提出了CANn1987年,INTEL就推出了第一片CAN控制芯片82526;随后Philips半导体推出了82C200。n1993年,CAN的国际标准ISO11898公布n从此CAN 协
4、议被广泛的用于各类自动化控制领域。 5.1.1 CAN的发展概况n1992年,CIA(CAN in Automation)用户组织成立,之后制定了第一个CAN应用层“CAL”。n1994年开始有了国际CAN学术年会(ICC)。n1994年美国汽车工程师协会以CAN为基础制定了SAEJ1939标准,用于卡车和巴士控制和通信网络。 n到今天,几乎每一辆欧洲生产的轿车上都有CAN;高级客车上有两套CAN,通过网关互联;1999年一年就有近6千万个CAN控制器投入使用;2000年销售1亿多CAN的芯片;2001年用在汽车上的CAN节点数目超过1亿个 。n但是轿车上基于CAN的控制网络至今仍是各大公司自
5、成系统,没有一个统一标准。5.1.1 CAN的发展概况n基于CAN的应用层协议应用较通用的有两种:DeviceNet(适合于工厂底层自动化) 和 CANopen(适合于机械控制的嵌入式应用)。n任何组织或个人都可以从DeviceNet供货商协会(ODVA)获得DeviceNet规范。购买者将得到无限制的、真正免费的开发DeviceNet产品的授权。nDviceNet自2002年被确立为中国国家标准以来,已在冶金、电力、水处理、乳品饮料、烟草、水泥、石化、矿山等各个行业得到成功应用,其低成本和高可靠性已经得到广泛认同。5.1.2 CAN的性能特点n有专门的国际标准ISO11898 。n任一节点可
6、在任一时刻主动发送。n报文以标识符分为不同的优先级,可满足不同的实时性要求。优先级最高的报文保证134us内得到传输。n非破坏性总线仲裁技术,大大节省了总线冲突的仲裁时间。n通过对报文滤波可实现点对点、一点对多点和全局广播等多种传送方式。n速率最高可达1Mbps,最远可达10kmn节点数可达110个,标识符几乎不受限制5.1.2 CAN的性能特点n短帧结构,传输时间短,受干扰概率低,适于工业环境n每帧信息都采用CRC校验及其他检错措施,数据出错率极低。n通信介质选择灵活(双绞线、同轴电缆或光纤)n错误严重情况下自动关闭输出,保证不影响总线上其他节点通信。n性价比高,器件容易购置,节点价格低。n
7、开发技术容易掌握,能充分利用现有的单片机开发工具。5.1.3 位数值表示和通信距离n“显性”位0和“隐性”位1n若总线上有两个以上驱动器同时分别发送“0”和“1”,其结果是总线数值为显性“0” 。 VCAN-H VCAN-L 隐性位隐性位 隐性位隐性位 显性位显性位 CAN总线上两个节点间的最大距离速率kbps1000500250125100距离 m40130270530620速率kbps5020105距离 m130033006700100005.2 CAN技术规范技术规范n1991年9月BOSCH公司发布了CAN技术规范2.0,该技术规范包括A和B两部分。n2.0A给出了CAN报文的标准格式
8、n2.0B给出了标准的和扩展的两种报文格式n1993年11月ISO正式将它颁布为:道路交通工具-数据信息交换-高速通信控制器局域网标准ISO11898。n2.0B完全兼容2.0A。所以我们介绍2.0B。5.2.1 基本概念n位速率位速率 在一个给定的CAN系统里,位速率是唯一且固定的n远程数据请求远程数据请求 通过发送远程帧,需要数据的节点可以请求另一节点发送相应数据帧n仲裁仲裁 当总线开放时任何单元均可开始发送报文,运用非破坏性逐位仲裁规则解决潜在冲突:在标识符(仲裁区)发送期间,每个发送器都监视总线上当前的电平,并与它发送的电平进行比较,如果相等则继续发送,如果发送一个隐性位(1)而检测到
9、的是一个显位(0),那么此节点失去仲裁,立即停止后续位的发送。仲裁区值最小的竞争者将赢得仲裁。5.2.1 基本概念标识符的逐位仲裁01Arbi t rati on LostM odul e 1M odul e 2Bus Line显性隐性失去仲裁节点1节点2线上可见5.2.2 依据OSI模型的CAN的分层结构 位编码/解码 位定时 同步 驱动器接收器特性逻辑链路子层LLC 接收滤波 超载通知 恢复管理介质访问控制子层MAC 数据包装/解包 帧编码 介质访问管理 错误监测 出错标定 应答 串并转换数据链路层物理层故障界定总线故障管理监控器5.2.3 报文传送及其帧结构5.2.3.1 帧格式和帧类型
10、n标准帧标准帧 11位标识符n扩展帧扩展帧 29位标识符n帧类型帧类型 数据帧、远程帧、错误帧和过载帧n编码规则编码规则1)位填充:发送器监视发送位流,连续5个相同位便自动插入一个补码位。(错误帧和过载帧以及帧结束标志不执行位填充)2)采用不归零(NRZ)编码5.2.3.2 数据帧n由7个不同的场组成。数据场长度可为0nCAN2.0B存在标准和扩展两种帧格式n为了设计简单,可以对标准格式执行部分扩展,不一定要完全扩展n可以用整个标识符进行报文滤波,也可以把标识符屏蔽一部分进行报文滤波仲裁场控制场数据场CRC场帧间空间帧结束帧起始ACK场帧间空间数据帧数据帧的标准格式和扩展格式n标准格式n扩展格
11、式仲裁场控制场数据场11位标识符SOFRTRIDEr0DLC仲裁场控制场数据场11位标识符SOFRTRIDEDLC18位标识符 r1 r0SRR数据帧的标准格式和扩展格式n帧起始(帧起始(SOFSOF)仅由一显位构成。所有站都必须同步于首先发送的那个帧起始前沿n仲裁场(标准格式)仲裁场(标准格式)由11位标识符ID28 ID18、远程发送请求位RTR组成,其中ID高七位不可全为1(隐性)。n仲裁场(扩展格式)仲裁场(扩展格式)由29位标识符ID28 ID0、SRR位、IDE位、RTR位组成nSRR是隐性位,它用于替代标准格式的RTR位。nIDE=1(隐性)代表扩展格式。IDE位在扩展格式中位于
12、仲裁场而在标准格式中位于控制场。数据帧的标准格式和扩展格式n控制场控制场由6个位组成n数据长度码数据长度码DLC3DLC0指示数据场的字节数,08,其他数值不允许使用。n保留位保留位r1和r0必须为0,IDE(标准格式)=0n数据场:数据场:08个字节,8位/字节,MSB先发nCRCCRC场场由15位CRC序列和1位CRC界定符组成。CRC界定符为一隐性位。保留位控制场数据场或CRC场数据长度码仲裁场IDE/r1r0DLC3DLC2DLC1DLC0数据帧的标准格式和扩展格式n应答场应答场为2位,包括应答间隙和应答界定符,不进行位填充。n在应答间隙时间,发送器发隐位;所有正确接收到有效报文的接收
13、器发一个显位。n应答界定符为隐位(1)。n帧结束:帧结束:由7个隐位组成,不进行位填充。7.2.3.3 远程帧n需要数据的节点可以发送远程帧请求另一节点发送相应数据帧n远程帧的RTR位是隐性的,它没有数据场,所以数据长度码没有意义。5.2.3.4 错误帧n错误帧由两个不同的场组成,第一个场是不同站提供的错误标志的叠加,第二个场是错误界定符。n错误标志错误标志分两种,主动错误标志(6个显性位)和被动错误标志(6个隐性位)n检测到错误条件的“错误主动”站发送主动错误标志,这样一来所有其他站都会检测到错误条件并开始发送错误标志。叠加在一起最多12个显性位错误标志的重叠错误界定符帧间空间或过载帧错误帧
14、数据帧错误标志5.2.3.4 错误帧n检测到错误条件的“错误被动”站发送被动错误标志。从那时开始,等待6个相同极性的位,一旦等到,被动错误标志就算完成n错误界定符错误界定符包括8个隐性位。一个站发送错误标志以后,就发送一个隐性位,并一直监视总线,直到发现一个隐性位,就发送其余7个隐性位。5.2.3.5 过载帧n过载帧包括两个场:过载标志(6个显位及其叠加)和过载界定符(8个隐位)n导致发送过载标志的条件:导致发送过载标志的条件:接收器内部要求延迟下一个数据帧或远程帧,在间歇场第一或第二位检测到一个显性位n过载标志过载标志的形式与主动错误标志一样n一个站发出过载标志,其他站都将检测到过载条件并发
15、出过载标志。n过载界定符过载界定符的形式与错误界定符一样。过载标志发送后,站就监视总线直到发现从显位到隐位的跳变,然后发送其余7个隐性位。过载标志的重叠过载界定符帧间空间或过载帧过载帧帧结束或错误界定符或过载界定符过载标志5.2.3.6 帧间空间n对于数据帧或远程帧,无论它前面是什么帧,都用帧间空间来分开;但是对于过载帧或错误帧,没有帧间空间与前面帧分开n间歇场由3个隐位组成。间歇场期间不允许启动发送数据帧或远程帧。n总线空闲周期可为任意长度。此时,总线是开放的,任何站可随时发送。间歇场总线空闲帧帧间空间帧5.2.4 错误类型和界定n5种错误类型:(1)位错误:发送器监视到总线位数值与发出的位
16、数值不同。仲裁场填充位和应答间隙发出隐位而检测到显位则例外(2)填充错误:应该使用位填充的地方出现第6个相同位。(3)CRC错误:计算结果与收到的CRC不同(4)形式错误:固定形式的位场中出现非法位(5)应答错误:在应答间隙,发送器未检测到显位5.2.4 错误类型和界定n检测到CRC错误,应在应答界定符后发送错误标志;检测到其他错误应在下一位发送错误标志。n节点的3 3种故障状态种故障状态:错误主动,错误被动,总线关闭n正常情况下节点是“错误主动错误主动”站站,此类站检测到错误时发送主动错误标志n出现错误较多的节点转为“错误被动错误被动”站站,此类站检测到错误时只能发被动错误标志n出现太多错误时节点转为“总线关闭总线关闭”状态状态,此时节点不可对总线有任何影响(例如关闭输出驱动器)5.2.4 错误类型和界定n为了界定故障,在每个节点中都有两种计数发送错误计数和接收错误计数,按照以下规则计数:(1)接收器检出错误时,接收错误计数器加1(2)接收器在送出错误标志后第一位检出一个显位,接收错误计数器加8(3)发送器送出一个错误标志时,发送错误计数器加8(4)送出一个错误标志或过载标志时检测到