收藏 分享(赏)

CAN总线技术基础.ppt

上传人:精品资料 文档编号:10427773 上传时间:2019-11-11 格式:PPT 页数:45 大小:4.56MB
下载 相关 举报
CAN总线技术基础.ppt_第1页
第1页 / 共45页
CAN总线技术基础.ppt_第2页
第2页 / 共45页
CAN总线技术基础.ppt_第3页
第3页 / 共45页
CAN总线技术基础.ppt_第4页
第4页 / 共45页
CAN总线技术基础.ppt_第5页
第5页 / 共45页
点击查看更多>>
资源描述

1、CAN总线技术基础,CAN总线的优势及应用, 数据传输速度高(相对),1Mbit/s, 抗干扰能力强(差分数据线) 具有自我诊断能力(错误侦测),CAN总线的作用CAN(“Controller Area Network”,控制器局域网) 总线的作用就是将整车中各种不同的控制器连接起来,实 现信息的可靠共享,并减少整车线束数量。可以设想一种 极端情况,如下图所示:,如果整车上所有的用电设备都 是一个独立的CAN总线节点,并且 每一个节点都向外发送自己当前的 状态,并且接受来自外部的信息, 那么整车的控制只需要一条CAN总 线控制线和电源线就可以了!,组合开关,组合灯具,电磁阀,雨刷电机,仪表,传

2、感器,CAN总线的基本工作原理,跟其他总线一样,CAN总线的通信也是通过一种类似于“会议”,的机制实现的,只不过会议的过程并不是由一方(节点)主导,而 是,每一个会议参加人员都可以自由的提出会议议题(多主通信模 式),二者对应关系如下:,CAN总线工作原理,请求发言,发言优先权,开始发言,发言,参会人员 信息反馈,反馈结束发言,帧起始,仲裁,开始发送,0/1,接收成功应答,错误检测帧结尾一帧报文,CAN总线网络结构,Data Link LayerPhysical Layer,Application Layer,S A E J1 9 3 9,信号传输、抗干扰位定时、同步位编解码,如何将29ID分

3、类j1939组织架构,协议查找,总线仲裁机制位填充机制机制can报文帧结构报文打包can总线容错网络负载率信号电平,单片机,总线控制器总线收发器,CAN总线网络节点结构j1939本质,何为CAN收发器?,按照BOSCH CAN总线标准将0或1逻辑信号转换为,标准中规定的电平,同时有反馈功能,CAN总线上的电平CAN2.0A/B标准规定:总线空闲时,CAN_H和CAN_L上的电压为2.5V,在数据传输时,显性电平(逻辑 0):CAN_H 3.5V隐性电平(逻辑 1):CAN_H 2.5V,CAN_L 1.5V CAN_L 2.5V显性电平隐性电平,总线支持的最大节点数目,由上表可以看出,常用的两

4、款CAN驱动芯片 支持的总线节点数目都可以满足整车CAN节点需,求,这不是问题。,总线支持的最大节点数目,总线长度的思考,影响总线长度的主要因素:,(1)CAN总线通信的应答机制,即成功接收到一帧报文的节点必须在,应答场的”应答间隙“期间发送一位“显性位”表示成功接收到一帧数据,如:通信速率为250Kbit/s,传送一个bit所需时间为:1/2501000 = 4那么,该信号在总线上的延时时间必须小于(2?)才能保证发送节点成,功的在应答间隙期间接收到该“显性电平”。,任何一根导线都可以简化为左图所示,的电路模型,可以看到,其中既有电感又 有电容,因此,电流在其中传输并不是光 速,而是需要一定

5、的时间。,对于双绞线而言,信号在其中的传播,延时时间约为,5ns/m(典型值)。当通 信速率达到1Mbit/s时,40m的总线长度, 延时时间就达到200ns,而允许延时时间 为600ns左右,还是不能不考虑的!,注意后面同步的概念,总线长度的思考,由上面的分析可知:,总线通信速率越高,通信距离越短,对物理传输线的要求就越高,在双绞 线、屏蔽线还是其他的传输线选择上,通信速率是一个很关键的参数。影响总线长度的其他因素:,(1)信号在节点ECU内部的延时时间,(2)振荡器的容差(各个节点ECU内部晶振频率的差别) 这些因素加起来就形成了CAN总线通信中总的信号延时。,CAN总线的硬件抗干扰(1)

6、,共模电感作用:共模电压有较大的感,抗,差模电压感抗为零,相当于电感滤波。 对共模电流有较大的阻碍作用。,CAN总线的硬件抗干扰(2),1 终端电阻,终 端 电,阻 120 欧姆,并非固定不 变,这跟使 用的导线有 关!,ISO11898的推荐值,何为CAN控制器?,CAN控制器主要实现了两部分的功能,1:数据链路层 的全部功能;2:物理层的位定时功能,也就是BOSCH CAN 2.0A/B中规定的部分,总线长度的限制位定时、同步,CAN总线控制器按照时间片的概念将每一个bit的时间划分成了n个时间片。 这样做的目的就是为了实现CAN总线的同步、保证不同节点间时间的一致性。,如:晶振和CAN

7、CLOCK 频率均为4MHz,那么每,一个时间片最小时间就,为0.25s,通信波特率 为250Kbit/s,那么每一 个bit的时间就为4s, 因此,每一个bit 的总的 时间片数目就为16 。当,然可以进一步提高晶振,频率,使得每一个bit 被,划分的更加细致。,CAN2.0A/B将每一个bit的时间划分成了4段,同步段、传,输段、相位段1和相位段2,每一段占用一定的时间片,同步的概念,假设两个节点的时间完全一致(即晶振完全相同,没有误,差),信号经过T延时后到达节点B,此时节点B就以当前时,刻为基准进行位定时,因为二者的时钟完全一致,因此,节,点B的采样不会出现任何问题,即节点B总是能采样

8、到A节点,发出的总线电平。硬同步只发送在一个帧的起始。,T,采样点,采样点,同步的概念,假设传输没有延时,但是节点A和节点B的晶振有误差, 那么由上图可以看出,虽然硬同步已经实现,但是节点B的,采样点却不能够采样到当前时刻的数据,而是上一时刻的,数据,即节点B的时间跑的慢了。那么CAN总线控制器如,何处理该问题呢? 通过重同步的机制实现。,采样点,采样点,同步的概念,CAN总线控制器通过在一帧数据的传输过程进行重同步保证一帧报文,的顺利传输,重同步的本质为:增加或减少自己的位定时时间(如:增加,12个时间片)来和总线上的其他节点同步。,为了实现重同步,CAN总线控制器必须要通过位填充实现, 即

9、:如果CAN总线控制器发现报文里有5个连续相同的位,就,会在第六位填充一位相反的数据位(该数据位只是为了总线安,全才考虑的),同步发生在隐性电平(逻辑1)向显性电平(逻 辑0)转换的跳变沿。,Can总线报文帧结构 CAN总线共有四种报文:1 数据帧 2 远程帧,3 错误帧,4 过载帧,数据帧定义,帧起始:1bit。从图中看出,在帧间隙后由逻辑1(至少两个bit)向 逻辑 0 的跳变就被认为是帧起始,它的作用就是为了硬同步。仲裁场:由29bit的ID标示符和IDE、SRR、RTR位构成。IDE位用 于标示该帧是扩展帧(29bit ID)还是标准帧(11bit ID);SRR在扩展 帧 中 为 一

10、 隐 性 位 ; R T R 位 为 远 程 帧 标 志 位 。由上图可以看出,11bit的基本ID首先被发送(ID28ID18),然后,在发送18bit的扩展ID(ID17ID0),CAN总线的仲裁机制,要点 (1)首先发送ID的29位,优先级问题 (2)总线电平由谁决定,CAN总线总裁机制的实现也就实现了CAN总线的多主机,模式,总线节点不存在谁主谁从的概念,友情提示:我们可以人为的给29位的ID赋予一定的意义从而,区分不同的报文类型!,报文滤波,报文滤波可以通过软件编程的方式实现,也可以通过硬件(芯片内部的 报文滤波寄存器)实现,但二者实现的原理是相同的,如下图所示:,数据帧中的其他场作

11、用,控制场:包括两位保留位(必须为0),和数据长度位(DLC0DLC3) 数据场:包括最多8个字节的数据,CRC场:是一种算法,对数据进行CRC校验,共15bit,其后跟了一位CRC界 定符为1(隐性电平),应答场:为两个1(总线电平为低电平),其中一位为应答间隙,另一位为应,答界定符。成功接收到数据的节点必须发送一位显性位(总线电平为高电平),来应答该发送节点,必须注意:该显性位必须在应答间隙期间,,即1bit的时间内将总线电平拉高。,帧结尾:7个连续的1组成(隐性电平),CAN总线的侦听机制支持仲裁及错,误检查,帧听就是发出 去的数据再采 样回来,比较 采样回来的数 据是否和发出 的数据一

12、致!,CAN总线错误检测,CAN总线通过如下几个方面进行错误检测,(1)当节点赢得总线发送权后,会对总线电平进行检测,当发送的电平和检,测到的总线电平不一致时,认为错误,(2)出现6个连续相同的电平时,认为是填充错误,(3)CRC错误,接收数据的节点按照与发送数据的节点相同的方法计算数据 的CRC校验值,如果接收节点的计算结果与数据包中CRC场的数据不一致, 认为是CRC错误,(4)应答错误,在应答场如果没有监控到一个显性电平,那么就认定一个,应答错误,(5)固定位错误,例如:CRC界定符等,其电平是固定的,当监控到该电平,不相符时,认定一个错误,另:总线同步机制也是CAN总线容错的一种方式,

13、注意:通过上面5种错误检测机制,发送节点和接收节点均可,以检测到总线上的错误,并通过错误的累加来实现总线节点的 关闭等操作,CAN总线负载率计算,计算例子:,假设CAN总线波特率为250Kbit/s,总线报文发送时间间隔为10ms, 报文为数据帧(8个字节数据),那么10ms内总线能够支持的最大报文数,量为多少?,第一步:根据通信波特率计算10ms总共可以发送多少bit,(250000/1000)*10 = 2500bit,第二步:计算最长的一帧报文有多少个bit,1sof + 29id + 1ide + 1rtr + 1srr + 2r + 4dlc + 8*8data + 16crc +

14、2ack + 7eof = 128bit,第三步:计算10ms内可以支持的报文数目,2500/128 19,由上面的计算可知,当10ms间隔的报文数量超过19条时,就会,出现丢帧,总线饱和。,计算报文数量也是设计CAN网络所要考虑的,可以查阅相关文献,看负载率在多少时合适!,SAE J1939的组织架构,SAE J1939主要包括下面的协议文档,(1)SAE J1939-11 规定了J1939协议通信的物理层(CAN总线物理,层),(2)SAE J1939-21 规定了J1939协议的数据链路层,(3)SAE J1939-31 规定了J1939协议的网络层(设计网关ECU时,遵守),(4)SA

15、E J1939-71 规定了J1939协议的整车应用层,(5)SAE J1939-73规定了J1939协议的诊断层(诊断仪诊断协议)实际上J1939协议是以CAN总线通信为数据传输的基础,并在此 基础上建立的更高一层的通信协议。其中J1939-21介绍了如何将 29Bit的ID进行划分定义,J1939-71更加具体的对整车信息进行分类,定义。,SAE J1939-21,发动机、变速箱、ABS等系统包含了大量的消息,如何将这些整车消,息进行分类,方便通信?,J1939-21/71的本质就是通过将29bit的ID赋予一定的含义,从而实,现整车信息的分类管理。,SAE J1939有多少PGN?,J1

16、939 数据页0的PGN总数为 239(SAE)+ 1(MF)+ (254 240,+ 1)*256(SAE)+ 256(MF)= 4336,也就是说,通过J1939协议,我们可以把整车信息分成4336*2个组,,每一组都包含有至少1个整车参数,r d1 p,pf8 pf3,s o p3 p2 p1 f,s i r d r e,p p f f 2 1,ps8 ps1,sa8 sa1,r r r t r 0 1,PGN优先级及PDU,由上图可以看出,PGN的PDU FORMAT首先发送,也就是说,PF越小, 优先级越高。因为PDU1格式的报文PF是从0239,可以看出,它的优先级较高,因此, J

17、1939将较小的PGN号分配给实时性要求较高,延时较小的报文。其实PDU本质上就是一帧J1939报文,它包含了ID和数据。但J1939创建 了两种格式的PDU(PDU FORMAT1和PDU FORMAT2),其原因就是为了: 兼容更多的参数组,以便包含更多的参数,但同时还可以实现目标地址固定的 通信方式(即某一参数组是发送到特定的ECU单元的)。另外,为了保证私有参数组定义与SAE定义的参数组之间不相互冲突, J1939还定义了私有参数组,该参数组既有FORMAT1格式,也有FORMAT2 格式,例子1,J1939将发动机转矩控制模式、驾驶员需求转矩、发动机实际输 出转矩和发动机转速分成一组

18、,组号(PGN)为61444 同时该PGN为PDU2格式,PS的意义为扩展参数组,该报文由变速箱TCU发送给发动机ECU,可以看出,它属于PDU1 格式,并且ps为目的地址(0x00),优先级很高!当然其他设备,也可以接收该报文,但是发动机必须处理该请求。,例子2,控制声音报警请求故障码预留功能保留,参数名称,Bit0-12-34-50-7,Byte0自定义,PDU2格式的报文,查找J1939协议中规定的报文,SAE J1939-71中规定了,整车应用层中所有的报 文内容,及报文中各个 参数的意义,我们可以,根据PGN 号来查找报文, 然 后 根 据 报 文 中 的 SPN 号(SAE J19

19、39 同样给,每一个整车参数分配了 一个索引号)来查找与,SPN 相 对 应 的 参 数 的 意,义!,基于J1939-73的诊断协议,关于DTC,SPN:故障的参数号,通过SPN查找故障码表,用来确定具体的故障类型 FMI:故障严重等级定义,OC:该SPN故障发生的次数累计 CM:SPN组合方式,AMT系统故障举例,Open,断路,5,Short To GND,对地短路,4,Manufacturer Assignable SPN,521794,Solenoid,Intake,Clutch Short,离合器进气阀,OpenShort To Battery,断路对电短路,53,Short To

20、 GND,对地短路,4,Manufacturer Assignable SPN,521793,Clutch Exhaust Solenoid,离合器排气阀,OpenShort To Battery,断路对电短路,53,Short To GND,对地短路,4,Short To Battery,对电短路,3,Manufacturer Assignable SPN,521792,Clutch Main Solenoid,离合器总电磁阀,Fault,故障,11,Percent Clutch Slip,522,Clutch Slip,离合器滑摩,Sensor Circuit High,信号高,3,Sensor Circuit Low,信号低,4,Clutch Cylinder Position,33,Clutch Position Sensor,离合器位置传感器,J1939-73中定义的FMI,诊断仪的诊断流程,诊断仪向TCU发送请求DM1的报文,可以看出,诊断仪发送的 PGN为0x00EA03(PF为EA,PS为03目的地址),通过 J1939-21知道,该PGN为一个请求PGN,它所请求的PGN号为 FECA(DM1),注:DM1报文也可以实时的向外发送,J1939-21中定义的请求PGN的报文格式,TCU响应诊断仪的请求,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报