《CAN现场总线的概念及其相关协议.pptx》由会员分享,可在线阅读,更多相关《CAN现场总线的概念及其相关协议.pptx(52页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、CANCAN总线的概念总线的概念CAN 最初出现在汽车工业中,80年代由德国Bosch公司最先提出。最初动机是为了解决现代汽车中庞大的电子控制装置之间的通讯,减少不断增加的信号线。由于其良好的性能及独特的设计,CAN总线越来越受到人们的重视。随着应用领域的增多,CAN的规范从CAN 1.2 规范(标准格式)发展为兼容CAN 1.2 规范的CAN2.0规范(CAN2.0A为标准格式,CAN2.0B为扩展格式),目前应用的CAN器件大多符合CAN2.0规范。第1页/共52页基本术语基本术语报文报文 总线上的报文以不同的固定报文格式发送,但长度受限。当总线空闲时任何连接的单元都可以开始发送新的报文。
2、信息路由:不使用系统结构的任何信息信息路由:不使用系统结构的任何信息系统灵活性:节点可在不要求所有节点及其应用层改变任何软件和硬件的情况下,被接于CAN网络报文通信:一个报文的内容由其标识符ID命名成组:采用报文滤波,所有节点均接收报文。数据相容性:可以确保报文同时被所有节点或者没有节点接收。第2页/共52页基本术语基本术语3 3位速率不同的系统,CAN 的速度不同。在一个给定的系统里,位速率是唯一的,并且是固定的。4 4优先权在总线访问期间,识别符定义一个静态的报文优先权。5 5远程数据请求通过发送远程帧,需要数据的节点可以请求另一节点发送相应的数据帧。数据帧和相应的远程帧是由相同的识别符命
3、名的。第3页/共52页基本术语基本术语6仲裁只要总线空闲,任何单元都可以开始发送报文。具有较高优先权报文的单元可以获得总线访问权。如果2个或2个以上的单元同时开始传送报文,那么就会有总线访问冲突。仲裁的机制确保了报文和时间均不损失。当具有相同识别符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个单元可以继续发送。如果发送的是一“隐性”电平而监视的是一“显性”电平(见总线值),那么单元就失去了仲裁,必须退出发送状态。第4页/共52页基本术语基本术语 7 7错误检测错误检测为了获得最安全的数据发送,CAN 的每
4、一个节点均采取了强有力的措施以便于错误检测、错误标定及错误自检。要进行检测错误,必须采取以下措施:监视(发送器对发送位的电平与被监控的总线电平进行比较)循环冗余检查 位填充 报文格式检查 错误检测的执行第5页/共52页基本术语基本术语8 8故障界定故障界定CAN 节点能够把永久故障和短暂扰动区别开来。故障的节点会被关闭。9 9总线值总线值CAN总线具有两种逻辑状态,隐性和显性。显性表示逻辑”0”,隐性表示逻辑”1”。显性状态下,VCAN-H和VCAN-L两者差分电压大于2V。隐性状态下,VCAN-H和VCAN-L两者电压差为0。“显性”位和“隐性”位同时传送时,总线的结果值为“显性”。比如,在
5、总线的“写与”执行时,逻辑0代表“显性”等级,逻辑1代表“隐性”等级。1010应答应答所有的接收器检查报文的连贯性。对于连贯的报文,接收器应答,对于不连贯的报文,接收器作出标志。第6页/共52页CANCAN的特点的特点通信方式灵活,为多主方式工作CANCAN网络上的节点信息分成不同优先级,满足不同实时要求非破坏性的总线仲裁 只需通过报文滤波即可实现点对点、一点对多点及全局广播等几种方式传送接收数据,无需专门的“调度”。直接通信距离最远可达10km10km(速率5kbps5kbps以下);通信速率最高可达1Mbps1Mbps(此时通信距离最长为40m40m)。第7页/共52页CANCAN的特点的
6、特点节点数主要取决于总线驱动电路,目前可达110个;报文标识符可达2032种(CAN2.0A),而扩展标准(CAN2.0B)的报文标识符几乎不受限制 采用短帧结构。每一帧的有效字节数为8个,传输时间短,受干扰概率低,具有极好的检错效果。每帧信息都有CRC校验及其他检错措施,保证了数据出错率极低 第8页/共52页CANCAN的特点的特点通信介质可为双绞线,同轴电缆或光纤,选择灵活。CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响,具有较强的抗干扰能力 第9页/共52页CANCAN的分层结构的分层结构数据链路层MAC 数据链路层数据链路层数据链路层数据封装/拆装帧
7、编码(填充/解除)LLC接收滤波超载通知恢复管理媒体访问管理串行化/解除串行化物理层PLS 位编码/解码位定时 同步错误监测出错标定应答PMA 驱动器/接收器特性MDI 连接器监控器故障界定总线故障管理CAN的分层结构和功能LLC功能:为数据传送和远程数据请求提供服务,确认有LLC子层接收报文实际已被接收和为恢复管理和通知超载提供信息MAC子层的功能:传送规则,亦即控制帧结构,执行仲裁,错误检测,出错标定和故障界定。物理层功能:定义信号怎样进行发送,涉及位定时、位编码和同步描述第10页/共52页CANCAN的通信协议的通信协议总线访问仲裁编码/解码出错标注超载标注第11页/共52页CANCAN
8、报文的帧结构报文的帧结构报文传输由4个不同类型的帧表示和控制:数据帧:数据帧携带数据从发送器至接收器。总线上传输的大多是这个帧。远程帧:由总线单元发出,请求发送具有同一识别符的数据帧。数据帧(或远程帧)通过帧间空间与其他各帧分开。错误帧:任何单元一但检测到总线错误就发出错误帧。过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。第12页/共52页数据帧数据帧数据帧由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC 场、应答场、帧结尾。数据场的长度可以为0。CAN 2.0A数据帧的组成第13页/共52页数据帧数据帧 帧起始帧起始 帧起始(SOF)标志数据帧和远程帧
9、的起始,仅由一个“显性”位组成。只在总线空闲时才允许站开始发送。所有站必须同步于首先开始发送报文的站的帧起始前沿。仲裁场仲裁场 仲裁场包括识别符和远程发送请求位(RTR)第14页/共52页标准格式数据帧与扩展格式数据帧的仲裁场第15页/共52页识别符识别符标准格式识别符的长度为11位,相当于扩展格式的基本ID(Base ID)。这些位按ID-28到ID-18的顺序发送。最低位是ID-18。7个最高位(ID-28-ID-22)必须不能全是“隐性”。扩展格式识别符和标准格式形成对比,数据帧与扩展格式数据帧的仲裁场比较,扩展格式由29位组成。其格式包含两个部分:11位基本ID、18位扩展ID。基本I
10、D包括11位,它按ID-28到ID-18的顺序发送。它相当于标准识别符的格式。基本ID定义扩展帧的基本优先权。扩展ID:扩展ID包括18位。它按ID-17到ID-0顺序发送。标准帧里,识别符其后是RTR位。RTR的全称为“远程发送请求位(Remote Transmission Request BIT)”。第16页/共52页识别符识别符SRR是一隐性位。它在扩展格式的标准帧RTR位位置,因此代替标准帧的RTR位。因此,标准帧与扩展帧的冲突是通过标准帧优先于扩展帧这一途径得以解决的,扩展帧的基本ID如同标准帧的识别符。IDE的全称是“识别符扩展位(Identifier Extension Bit)
11、”标准格式里的IDE位为“显性”,而扩展格式里的IDE位为“隐性”。第17页/共52页控制场控制场控制场由6个位组成第18页/共52页数据长度代码表数据长度代码表 数据字节数 数据长度代码 DLC DLC DLC DLC0 0dddd1dddr2ddrd3ddrr4drdd5drdr6drrd7drrr8rddd第19页/共52页数据帧数据帧CRC场应答场帧结束:每个数据帧和远程帧均由7个隐位组成标志序列界定第20页/共52页远程帧远程帧通过发送远程帧,作为某数据接收器的站可以初始化通过其资源节点传送不同的数据。远程帧也有标准格式和扩展格式,而且都由帧起始、仲裁场、控制场、CRC 场、应答场、
12、帧结尾等6个不同的位场组成第21页/共52页远程帧远程帧与数据帧相反,远程帧的RTR位是“隐性”的。它没有数据场,数据长度代码的数值是不受制约的(可以标注为容许范围里0.8的任何数值)。此数值是相应于数据帧的数据长度代码。RTR位的极性表示了所发送的帧是一数据帧(RTR位“显性”)还是一远程帧(RTR“隐性”)。第22页/共52页错误帧错误帧错误帧由两个不同的场组成。第一个场用是不同站提供的错误标志(ERROR FLAG)的叠加。第二个场是错误界定符。检测到任何一个节点出错,即于下一位开始发送错误帧,通知发送端停止发送。第23页/共52页超载帧超载帧过载帧包括两个位场:过载标志和过载界定符,当
13、某接收因内部原因要求缓发下一个数据帧或远程帧时,向总线发出超载帧。第24页/共52页位定时与位同步位定时与位同步CAN总线的数据传输速率最高可达1Mbit/s,通常用石英晶振作为时钟发生器,可以独立进行位定时的参数设置,这样即使网络中节点之间的时钟周期不一样仍可获得相同的位速率。但网络中晶振的频率不是绝对稳定的,温度、电压以及器件的异常都会导致微小的差别,但只要将其稳定在振荡器容差范围之内,总线上的节点会通过重同步进行弥补。第25页/共52页基本概念基本概念标称位速率标称位速率理想的发送器在没有重新同步的情况下每秒发送的位数量正常位时间正常位时间CAN总线的一个位时间可以分成四个部分:同步段,
14、传播时间段,相位段缓冲1和相位段缓冲2 第26页/共52页基本概念基本概念同步段同步段 同步段用于同步总线上的各个节点,在此段内期望有一个跳变沿出现。如果跳变沿出现在同步段之外,那么沿与同步段之间的长度叫做沿相位误差。采样点位于相位缓冲段1的末尾和相位缓冲段2开始处。传播时间段传播时间段 传播时间段用于补偿总线上信号传播时间和电子控制设备内部的延迟时间。因此,要实现与位流发送节点的同步,接收节点必须移相。第27页/共52页基本概念基本概念采样点采样点采样点是读总线电平并解释各位的值的一个时间点。采集点位于相位缓冲段1(PHASE_SEG1)之后信息处理时间信息处理时间信息处理时间是一个以采样点
15、作为起始的时间段。采集点用于计算后续位的位电平第28页/共52页基本概念基本概念时间份额时间份额时间份额是派生于振荡器周期的固定时间单元。存在有一个可编程的预比例因子,其整体数值范围为132 的整数,以最小时间份额为起点,时间份额的长度为:时间份额(TIME QUANTUM)m*最小时间份额(MINIMUM TIME QUANTUM)(m 为预比例因子)第29页/共52页基本概念基本概念 参数 范围 说明 分频值 1.32 规定时间份额的长度 同步段 1tq 固定长度,同步总线节点 传播时间段 1.8tq 补偿总线物理延迟时间 相位缓冲段1 1.8tq 重同步时可以暂时延长 相位缓冲段2 1.
16、8tq 重同步时可以暂时缩短 同步跳转宽度 1.4tq 长度小于相位缓冲段位时间的参数 时间段的长度第30页/共52页基本概念基本概念 硬同步硬同步硬同步只在总线空闲时通过一个下降沿(帧起始)来完成,此时不管有没有相位误差,所有节点的位时间重新开始。强迫引起硬同步的跳变沿位于重新开始的位时间的同步段之内。重同步重同步在消息帧的随后位中,每当有从“隐性位”到“显性位”的跳变,并且该跳变落在了同步段之外,就会引起一次重同步。重同步机制可以根据跳变沿增长或者缩短位时间以调整采样点的位置,保证正确采样。第31页/共52页同步规则同步规则1.在一个位时间里只允许一个同步。2.仅当采集点之前探测到的值与紧
17、跟沿之后的总线值不相符合时,才把沿用作于同步。3.总线空闲期间,有一“隐性”转变到“显性”的沿,无论何时,硬同步都会被执行。4.如果仅仅是将“隐性”转化为“显性”的沿用作于重新同步使用,则其他符合规则1 和规则2 的所有从“隐性”转化为“显性”的沿可以用作为重新同步。有一例外情况,即,当发送一显性位的节点不执行重新同步而导致一“隐性”转化为“显性”沿,此沿具有正的相位误差,不能作为重新同步使用。第32页/共52页相位缓冲段和同步相位缓冲段和同步 同步跳转宽度规定了重同步发生时采样点在相位缓冲段内移动的距离。相位缓冲段和同步跳转宽度用来补偿振荡器容差,发生重同步时相位缓冲段会被加长或缩短。当总线
18、发生从隐性到显性跳变时,会产生同步,其作用是控制沿与采样点之间的距离。总线节点在每个时间份额都会采样总线,并与前一次采样值进行比较,如果前一次采样值是隐性而当前的采样值是显性,那么总线节点就会发生一次同步。如果跳变沿出现在同步段的前面,沿相位错误就是负的,反之就是正的。在帧起始时,总线会进行一次硬同步。硬同步后,位时间由每个位定时逻辑单元在同步段之后重新启动,强迫引起硬同步的边沿处于重新启动位时间的同步段内。第33页/共52页CANCAN的位仲裁技术的位仲裁技术要对数据进行实时处理,就必须将数据快速传送,这就要求数据的物理传输通路有较高的速度。在几个站同时需要发送数据时,要求快速地进行总线分配
19、。CANCAN总线以报文为单位进行数据传送,报文的优先级结合在11位标识符中,具有最低二进制数的标识符有最高的优先级。这种优先级一旦在系统设计时被确立后就不能再被更改。总线读取中的冲突可通过位仲裁解决。第34页/共52页CANCAN的位仲裁技术的位仲裁技术只要总线空闲,任何单元都可以开始发送报文。如果2 个或2 个以上的单元同时开始传送报文,那么就会有总线访问冲突。通过使用识别符的位形式仲裁可以解决这个冲突。仲裁的机制确保信息和时间均不会损失。当具有相同识别符的数据帧和远程帧同时初始化时,数据帧优先于远程帧。仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同,则这个
20、单元可以继续发送。如果发送的是一“隐性”电平而监控视到一“显性”电平(见总线值),那么该单元就失去了仲裁,必须退出发送状态。第35页/共52页CANCAN的位仲裁技术的位仲裁技术站3报文站1报文站2报文01111110000报文标识符01001100000010011100001丢掉0100110000001001110000101001100000丢掉跟踪 所有标识符都有相同的两位01,直到第3位进行比较时,站1的报文被丢掉,因为它的第3位为高,而其它两个站的报文第3位为低。站2和站3报文的4、5、6位相同,直到第7位时,站3的报文才被丢失。第36页/共52页CANCAN的位仲裁技术的位仲裁
21、技术缺点缺点由于CAN总线采用的是固定优先级,当所有的节点都随机的向总线发送数据时,具有低优先级的节点是比具有高优先级的节点具有较大的发送失败几率。每次具有较低优先级的节点都会在总线竞争中失败,从而导致它一个数据都发不出去,或者发送的数据有较大的延时第37页/共52页CANCAN报文滤波技术报文滤波技术用途用途在CAN总线中,存在多种传送和接收数据的方式,比如点对点、一点对多点及全局广播等几种方式。这几种方式的选择和转换就是通过CAN总线中的报文滤波技术实现的,无需专门的调度第38页/共52页CANCAN报文滤波技术报文滤波技术原理原理在验收滤波器的帮助下,CAN控制器允许RXFIFO只接收同
22、识别码和验收滤波器中预设值相一致的信息。只有当接收信息中的识别位和滤波器中预定义的值相等时,CAN控制器才允许将已接收的信息存入到RXFIFO第39页/共52页单滤波技术单滤波技术单滤波是指只有一个由4 个验收码寄存器和4 个验收屏蔽寄存器组成的验收滤波器总线上的信息只有通过了它的验收滤波才予以接收无论是单滤波还是双滤波ACR 和AMR 都是配合在一起工作,所有AMR 为0 的位,ACR 和CAN 信息帧的对应位必须相同才算验收通过。所有AMR 为1 的位ACR 对应位的验收滤波功能则予以屏蔽CAN 信息帧的相关位与验收结果无关第40页/共52页双滤波技术双滤波技术双滤波比单滤波要复杂一些,4
23、 个ACR 和4 个AMR 在双滤波方式下共构成两个滤波器接收的信息帧通过任意一个滤波器即可予以接收第41页/共52页错误检测错误检测位错误位错误站单元在发送位的同时也对总线进行监视。如果所发送的位值与所监视的位值不相符合,则在此位时间里检测到一个位错误(BIT ERROR)。但是在仲裁场(ARBITRATION FIELD)的填充位流期间或ACK间隙(ACK SLOT)发送一“隐性”位的情况是例外的 此时,当监视到一“显性”位时,不会发出位错误(BIT ERROR)。当发送器发送一个被动错误标志但检测到“显性”位时,也不视为位错误第42页/共52页错误检测错误检测填充错误填充错误如果在使用位
24、填充法进行编码的信息中,出现了第6 个连续相同的位电平时,将检测到一个填充错误。CRCCRC错误错误CRC 序列包括发送器的CRC 计算结果。接收器计算CRC 的方法与发送器相同。如果计算结果与接收到CRC 序列的结果不相符,则检测到一个CRC 错误(CRC ERROR)第43页/共52页错误检测错误检测形式错误形式错误当一个固定形式的位场含有1 个或多个非法位,则检测到一个形式错误应答错误应答错误只要在ACK 间隙(ACK SLOT)期间所监视的位不为“显性”,则发送器会检测到一个应答错误第44页/共52页错误标定错误标定检测到错误条件的站通过发送错误标志指示错误。对于“错误主动”的节点,错
25、误信息为“主动错误标志”,对于“错误被动”的节点,错误信息为“被动错误标志”。站检测到无论是位错误、填充错误、形式错误,还是应答错误,这个站会在下一位时发出错误标志信息。只要检测到的错误的条件是CRC 错误,错误标志的发送开始于ACK 界定符之后的位(其他的错误条件除外)。第45页/共52页故障界定故障界定错误激活状态错误激活状态可以正常地参与总线通讯并在错误被检测到时发出主动错误标志错误认可状态错误认可状态不允许发送主动错误标志。参与总线通讯而且在错误被检测到时只发出被动错误标志。而且,发送以后,仍为错误认可状态。在预设下一个发送之前处于等待状态。总线关闭状态总线关闭状态不允许在总线上有任何
26、的影响(比如,关闭输出驱动器)。第46页/共52页错误处理错误处理1.当接收器检测到一个错误,接收错误计数就加1。2.当错误标志发送以后,接收器检测到的第一个位为“显性”时,接收错误计数值加8。3.当发送器发送一错误标志时,发送错误计数器值加8。第47页/共52页错误处理错误处理4.发送主动错误标志或过载标志时,如果发送器检测到位错误,则发送错误计数器值加8。5.当发送主动错误标志或过载标志时,如果接受器检测到位错误(位错误),则接收错误计数器值加8。6.在发送主动错误标志、被动错误标志或过载标志以后,任何节点最多容许7 个连续的“显性”位。以下的情况,每一发送器将它们的发送错误计数值加8,及
27、每一接收器的接收错误计数值加8第48页/共52页错误处理错误处理7.报文成功传送后(得到应答及直到帧末尾结束没有错误),发送错误计数器值减1,除非已经是0。8.如果接收错误计数值介于1 和127 之间,在成功地接收到报文后(直到ACK 间隙接收没有错误,及成功地发送了应答位),接收错误计数器值减1。如果接收错误计数器值是0,则它保持0,如果大于127,则它会设一值介于119 到127 之间。第49页/共52页错误处理错误处理9.当发送错误计数器值等于或超过128 时,或当接收错误计数器值等于或超过128 时,节点为“错误被动”。让节点成为“错误被动”的错误条件致使节点发出主动错误标志。10.当发送错误计数器值大于或等于256 时,节点为“总线关闭”。第50页/共52页错误处理错误处理11.当发送错误计数器值和接收错误计数器值都小于或等于127 时,“错误被动”的节点重新变为“错误主动”12.在总线监视到128 次出现11 个连续“隐性”位之后,“总线关闭”的节点可以变成“错误主动”(不再是“总线关闭”),它的错误计数值也被设置为0。第51页/共52页感谢您的观赏!第52页/共52页