收藏 分销(赏)

CAN总线2 ppt.ppt

上传人:xrp****65 文档编号:13063207 上传时间:2026-01-12 格式:PPT 页数:53 大小:649KB 下载积分:10 金币
下载 相关 举报
CAN总线2 ppt.ppt_第1页
第1页 / 共53页
CAN总线2 ppt.ppt_第2页
第2页 / 共53页


点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,第九讲,CAN,总线技术(,2,),5.2.3 CAN,总线的错误类型和界定,错误类型:,位错误,填充错误,CRC错误,形式错误,应答错误,5.2.3 CAN,总线的错误类型和界定,位错误(Bit Error),向总线送出一位的某个单元同时也在监视总线。当监视到的总线位数值与送出的位数值不同时,则在该位时刻检出一个位错误。,例外:仲裁场的填充位流期间、应答期间、认可错误标志。,5.2.3 CAN,总线的错误类型和界定,填充错误,(Stuff Error),在应使用位填充方法进行编码的报文中,出现了第,6,个连续相同的位电平时,将检出一个填充错误。,5.2.3 CAN,总线的错误类型和界定,CRC,错误,(CRC Error),CRC,序列是由发送器完成的,CRC,计算结果组成的。接收器以与发送器相同的方法计算,CRC,。如果计算结果与接收到的,CRC,序列不相同,则检出一个,CRC,错误。,5.2.3 CAN,总线的错误类型和界定,形式错误,(Form Error),当固定形式的位场中出现一个或更多非法位时,则检出一个形式错误。,5.2.3 CAN,总线的错误类型和界定,应答错误(Acknowledgement Error),在应答间隙期间,发送器未检测到“显性”位,则由它检出一个应答错误。,5.2.3 CAN,总线的错误类型和界定,位错误、填充错误、形式错误或应答错误由检测出的站在下一位开始时发送错误标志。,CRC错误由检测出的站在应答界定符后面那一位开始发送,除非用于其它错误状态的错误标志已经开始发送。,5.2.3 CAN,总线的错误类型和界定,在CAN总线中,就故障界定而言,一个单元(节点)可能处于三种状态:,“错误激活”(“Error Active”),“错误认可”(“Error Passive”),“总线脱离”(“Bus off”),5.2.3 CAN,总线的错误类型和界定,三种错误状态转换,5.2.3 CAN,总线的错误类型和界定,总线单元中的两种计数,:,发送错误计数,接收错误计数,5.2.3 CAN,总线的错误类型和界定,计数规则:,接收器检出错误时,接收错误计数加,1,。,接收器在送出错误标志后的第一位检出一个“显性”位时,接收错误计数加,8,。,5.2.3 CAN,总线的错误类型和界定,计数规则:,发送器送出一个错误标志时,发送错误计数加,8,。有两种例外情况,发送错误计数不改变。,一个是如果发送器为“错误认可”,因未检测到“显性”应答而检测到一个应答错误,并且在送出其认可错误标志时,未检测到“显性”位。,另一个是如果由于仲裁期间(其填充位处于,RTR,位前)发生的填充错误,发送器送出一个错误标志,本应是“隐性”的,而且确实发送的是“隐性”的,但监视到的为“显性”的。,5.2.3 CAN,总线的错误类型和界定,计数规则:,如果发送器送出一个激活错误标志或超载标志时,发送器检测到位错误,则发送错误计数加,8,。,如果接收器送出一个激活错误标志或超载标志时,接收器检测到位错误,则接收错误计数加,8,。,5.2.3 CAN,总线的错误类型和界定,计数规则:,在送出激活错误标志、认可错误标志或超载标志后,任何节点都容许多至,7,个连续的“显性”位。在检测到第,14,个连续的“显性”位后,或紧随认可错误标志检测到第,8,个连续的“显性”位后,以及附加的,8,个连续的“显性”位的每个序列后,每个发送器的发送错误计数都加,8,,并且每个接收器的接收错误计数也都加,8,。,5.2.3 CAN,总线的错误类型和界定,计数规则,:,报文成功发送后,则发送错误计数减,1,,除非它已经为,0,。,报文成功接收后,则接收错误计数减,1,,如果它处于,1,和,127,之间。若接收错误计数为,0,,则仍保留,0,,而若它大于,127,,它将其置为,119,和,127,之间的某个数值。,5.2.3 CAN,总线的错误类型和界定,计数规则:,发送错误计数等于或大于,128,或接收错误计数等于或大于,128,时,节点为“错误认可”。导致节点变为“错误认可”的错误状态使节点送出一个激活错误标志。,发送错误计数大于或等于,256,时,节点为“总线脱离”。,5.2.3 CAN,总线的错误类型和界定,计数规则:,发送错误计数和接收错误计数两者均小于或等于,127,时,“错误认可”节点再次变为“错误激活”节点。,在检测到总线上,11,个连续的“隐性”位发生,128,次后,“总线脱离”节点将变为其两个错误计数器均置为,0,的“错误激活”节点(不再是“总线脱离”)。,5.2.3 CAN,总线的错误类型和界定,当错误计数值大于,96,时,说明总线被严重干扰。它提供测试此状态的一种手段。,若系统启动期间,仅有一个节点在线,此节点发送报文后,将得不到应答,检出错误并重复该报文。它可以变为“错误认可”,但不会因此“总线脱离”。,5.2.4,位定时与同步,位定时的作用:,(,1,)确定位时间,以便确定波特率,从而确定总线的网络速度;或在给定总线的网络速度的情况下确定位时间。,(,2,)确定,1,位的各个组成部分,同步段(,SY,)、传播段(,PR,)、相位缓冲段,1,(,PS1,)和相位缓冲段,2,(,PS2,)的时间长度,其中同步段用于硬同步,位于相位缓冲段,1,终点的采样点用于保证正确地读取总线电平。,(,3,)确定重同步跳转宽度以用于重同步。,5.2.4,位定时与同步,一个节点应既能在位时间的采样点正确地读取总线电平,也能检测来自总线的沿以进行硬同步或重同步。,在,CAN,技术规范的时间份额的表达式中,对于常用的独立,CAN,控制器,SJA1000,和,P8xC591,中的,CAN,控制器,时间份额,tq,为系统时钟周期,tscl,;预引比例因子,m,为可编程的,其值取决于总线定时寄存器,0,(,BTR0,)的内容;最小时间份额为振荡器周期,tCLK,的,2,倍,即,2tCLK,。,5.2.4,位定时与同步,CAN,总线中,同步包括硬同步和重同步两种形式。同步与位定时密切相关。同步也是由节点自身完成的。节点将检测到的来自总线的沿与其自身的位定时相比较,并通过硬同步或重同步适配(调整)位定时。,5.2.4,位定时与同步,硬同步,所谓硬同步,就是由节点检测到的来自总线的沿强迫节点立即确定出其内部位时间的起始位置(同步段的起始时刻)。硬同步的结果是,沿的到来时刻的前一时刻(以时间份额,tq,量度)即成为节点内部位时间同步段的起始时刻,并使内部位时间从同步段重新开始。,这就是规范中所说的“硬同步强迫引起硬同步的沿处于重新开始的位时间同步段之内”。硬同步一般用于报文开始,即总线上的各个节点的内部位时间的起始位置(同步段)是由来自总线的一个报文帧的帧起始的前沿决定的。,5.2.4,位定时与同步,5.2.4,位定时与同步,重同步,所谓重同步,就是节点根据沿相位误差的大小调整其内部位时间。重同步的结果是,节点内部位时间与来自总线的报文位流的位时间接近或相等,从而使节点能够正确地接收报文。重同步一般用于报文位流发送期间,以补偿各个节点振荡器频率的不一致。,沿相位误差由来自总线的沿相对于节点内部位时间同步段的位置给定,以时间份额量度。,5.2.4,位定时与同步,5.2.4,位定时与同步,调整同步的规则,(,1,),1,个位中只进行一次同步调整。,(,2,)只有当上次采样点的总线值和边沿后的总线值不同时,该边沿才能用于调整同步。,(,3,)在总线空闲且存在隐性电平到显性电平的边沿时,则一定要进行硬件同步。,(,4,)在总线非空闲时检测到的隐性电平到显性电平的边沿如果满足条件(,1,)和(,2,),将进行再同步。但还要满足下面条件。,(,5,)发送单元观测到自身输出的显性电平有延迟时不进行再同步。,(,6,)发送单元在帧起始到仲裁段有多个单元同时发送的情况下,对延迟边沿不进行再同步。,5.3,CAN,通信控制器,SJA1000,5.3.1 SJA1000,简介,SJA1000,是,Philips,公司,1997,年推出的一种,CAN,控制器;,工作目的是实现,CAN,总线的物理层和数据链路层;,支持,CAN2.0A,协议(,BasicCAN,)和,CAN2.0B,协议(,PeliCAN,)。,5.3.1 SJA1000,简介,SJA1000,的特点,支持,CAN2.0A,协议(,BasicCAN,)和,CAN2.0B,协议(,PeliCAN,);,扩展的接收缓冲器,64,字节先进先出,FIFO,位速率可达,1Mbits/s,可读,/,写访问的错误计数器,可编程的错误报警限制,最近一次错误代码寄存器,对每一个,CAN,总线错误的中断,具体控制位控制的仲裁丢失中断,5.3.1 SJA1000,简介,SJA1000,的特点,单次发送(无重发),只听模式(无确认、无活动)的出错标志,支持热插拔,软件位速率检测,验收滤波器扩展(,4,字节代码、,4,字节屏蔽),自身信息接收(自接收请求),24MHz,时钟频率,对不同微处理器的接口,可编程的,CAN,输出驱动器配置,增强的温度适应,-40-+125,5.3.2 SJA1000,的功能框图与引脚说明,SJA1000,的功能框图,5.3.2 SJA1000,的功能框图与引脚说明,接口管理逻辑,IML,:接口管理逻辑解释来自,CPU,的命令,控制,CAN,寄存器的寻址,向主控制器提供中断信息和状态信息。,发送缓冲器,TXB,:发送缓冲器是,CPU,和,BSP,(位流处理器)之间的接口,能够存储发送到,CAN,网络上的完整信息,缓冲器长,13 Bytes,,由,CPU,写入,,BSP,读出。,接收缓冲器,RXB RXFIFO,:接收缓冲器是验收滤波器和,CPU,之间的接口,用来储存从,CAN,总线上接收的报文。接收缓冲器(,RXB,,,13B,)作为接收,FIFO,(,RXFIFO,,,64Bytes,)的一个窗口,可被,CPU,访问。,5.3.2 SJA1000,的功能框图与引脚说明,CPU,在此,FIFO,的支持下可以在处理信息的时候接收其它信息,验收滤波器,ACF,:验收滤波器把它其中的数据和接收的识别码的内容相比较,以决定是否接收信息。在纯粹的接收测试中,所有的信息都保存在,RXFIFO,中。,位流处理器,BSP,:位流处理器是一个在发送缓冲器,TXB,和,CAN,总线之间控制数据流的程序装置。它还在,CAN,总线上执行错误检测、仲裁、填充和错误处理。,5.3.2 SJA1000,的功能框图与引脚说明,位时序逻辑,BTL,:位时序逻辑监视串口的,CAN,总线,并处理与总线有关的位时序。它在信息开头,由隐性到显性的变换同步,CAN,总线位流(硬同步),接收信息时再次同步下一次传送(软同步)。,BTL,还提供了可编程的时间段来补偿传播延迟时间、相位转换(例如,由于振荡漂移)和定义采样点和每一位的采样次数。,错误管理逻辑,EML,:,EML,负责传送层模块的错误界定。它接收,BSP,的出错报告,并将错误统计数字通知,BSP,和,IML,。,5.3.2 SJA1000,的功能框图与引脚说明,引脚说明,5.3.2 SJA1000,的功能框图与引脚说明,引脚说明,AD7-AD0,:多路地址,/,数据总线。,ALE/AS,:,ALE,输入信号(,Intel,模式),,AS,输入信号(,Motorola,模式)。,/CS,:片选,输入低电平允许访问,SJA1000,。,/RD/E,:微控制器的,/RD,信号(,Intel,模式)或,E,使能信号(,Motorola,模式)。,/WR,:微控制器的,/WR,信号(,Intel,模式)或,R/,(,/WR,)信号(,Motorola,模式)。,5.3.2 SJA1000,的功能框图与引脚说明,引脚说明,CLKOUT,:,SJA1000,产生的提供给微控制器的时钟输出信号。时钟信号来源于内部振荡器,且通过编程驱动时钟控制寄存器的时钟关闭位可禁止该引脚。,VSS1,:接地,XTAL1,:输入到振荡器放大电路外部振荡信号由此输入。,XTAL2,:振荡放大电路输出使用外部振荡信号时左开路输出。,MODE,:模式选择输入,1=Intel,模式;,0=Motorola,模式。,VDD3,:输出驱动的,5V,电压源。,5.3.2 SJA1000,的功能框图与引脚说明,引脚说明,TX0,:从,CAN,输出驱动器,0,输出到物理线路上。,TX1,:从,CAN,输出驱动器,1,输出到物理线路上。,VSS3,:输出驱动器接地。,/INT,:中断输出,用于中断微控制器。,/INT,在内部中断寄存器各位都被置位时激活;此引脚上的低电平可以把,IC,从睡眠模式中激活。,/RST,:复位输入用于复位,CAN,接口,低电平有效。,VDD2,:输入比较器的,5V,电压源。,5.3.2 SJA1000,的功能框图与引脚说明,引脚说明,RX0 RX1,:从物理总线输入到,SJA1000,的输入比较器的输入端;显性位时将会唤醒,SJA1000,的睡眠模式;如果,RX1,比,RX0,的电平高就读出位显性位,反之读出为隐性位;如果时钟分频寄存器的,CBP,位被置位,就旁路,CAN,输入比较器以减少内部延时(此时连有外部收发电路)。这种情况下只有,RX0,是激活的;隐性位为,1,,而显性位认为,0,。,VSS2,:输入比较器的接地端,VDD1,:逻辑电路的,5V,电压源,5.3.3,SJA1000,两种工作模式,BasicCAN,:目的是保证,SJA1000,与,CAN,总线早期产品,PCA82C200,的软件兼容。此模式下能够实现,CAN2.0A,的协议标准。,PeliCAN,:支持,CAN2.0B,的协议标准,并增加一些新功能。,5.3.4,SJA1000,Basic Can,相关寄存器,(,1,)控制寄存器(,CR,)(地址,0,、可读写),用于改变,CAN,控制器的状态,5,7,位:保留,4,位:超载中断使能,3,位:错误中断使能,2,位:发送中断使能,1,位:接收中断使能(使能全为,1,有效),0,位:复位请求。,1,常态:检测到复位请求后,进入复位;,0,非常态:此位接到一个下降沿后回到工作模式,5.3.4,SJA1000,Basic Can,相关寄存器,(,2,)命令寄存器(,CMR,)(地址,1,、只写),初始化,CAN,控制器传输层的动作,5,7,位:保留,4,位:睡眠(,1,睡眠,,0,唤醒),3,位:清除超载状态(,1,清除,,0,无作用),2,位:释放接收缓冲器(,1,释放,,0,无作用),1,位:夭折发送(,1,忽略发送请求,,0,无作用),0,位:发送请求(,1,报文被发送,,0,无作用),5.3.4,SJA1000,Basic Can,相关寄存器,(,3,)状态寄存器(,SR,)(地址,2,、只读),反应,CAN,控制器的状态,7,位:总线状态(,1,关闭,,0,开启),6,位:出错状态(,1,出错,,0,正常),5,位:发送状态(,1,发送,,0,空闲),4,位:发送状态(,1,发送,,0,空闲),3,位:发送完毕状态(,1,完成,,0,未完成),2,位:发送缓冲器状态(,1,释放,,0,锁定),1,位:数据超载状态(,1,超载,,0,未超载),0,位:接收缓冲状态(,1,满,,0,空),5.3.4,SJA1000,Basic Can,相关寄存器,(,4,)中断寄存器(,IR,)(地址,3,、只读),反应,CAN,控制器的中断原因,7,5,位:保留,4,位:唤醒中断(,1,退出睡眠模式,,0,微处理器任何读访问),3,位:数据超载中断(,1,数据超载,,0,微处理器任何读访问),2,位:错误中断(,1,错误发生,,0,微处理器任何读访问),1,位:发送中断(,1,发送缓冲器从低到高的变化,,0,微处理器任何读访问),0,位:接收中断(,1,接收缓冲器不空,,0,微处理器任何读访问),5.3.4,SJA1000,Basic Can,相关寄存器,(,5,)验收代码寄存器(,ACR,)(地址,4,、复位时可读写),(,6,)验收屏蔽寄存器(,AMR,)(地址,5,、复位时可读写),数据接收条件:,(ID.10ID3)(AC.7AC.0)V(AM.7AM.0)=11111111,ACR,AMR,ID,5.3.4,SJA1000,Basic Can,相关寄存器,(,7,)总线时序寄存器,0,(,BTR0,)(地址,6,、复位时可读写),确定波特率预引比例因子(,BRP,)和同步跳转宽度(,SJW,)的值。,7,6,位:同步跳转宽度位域,SJW,t,sjw,=,t,clk,(,2BTR0.7+BTR0.6+1,),t,sjw,:同步跳转宽度。定义了一个周期可以被一次重新同步缩短或延长的时钟周期最大数。,t,clk,:外晶振的振荡周期。,5,0,位:波特率预置位域,BRP,,定义,CAN,的系统时钟,t,scl,t,scl,=2t,clk,(,BTR0.5,BTR0.0+1,),5.3.4,SJA1000,Basic Can,相关寄存器,(,8,)总线时序寄存器,1,(,BTR1,)(地址,7,、复位时可读写),确定位时间的长度、采样点的位置和在每个采样点欲获取的采样数目。如果复位模式有效,这个寄存器可以被访问(读,/,写)。,7,位:采样位,1,:,3,次采样,0,:,1,次采样,6,4,位:时间段,2,(,TSEG2,),3,0,位:时间段,1,(,TSEG1,),t,TSEG1,=,t,scl,(,TSEG1+1,),t,TSEG2,=,t,scl,(,TSEG2+1,),5.3.4,SJA1000,Basic Can,相关寄存器,(,8,)总线时序寄存器,1,(,BTR1,)(地址,7,、复位时可读写),5.3.4,SJA1000,Basic Can,相关寄存器,(,9,)输出控制寄存器(,OCR,)(地址,8,、复位时可读写),建立不同的输出驱动配置。输出控制寄存器允许在软件控制下建立输出驱动器的不同配置。如果复位模式有效,此寄存器可被访问(读,/,写)。在,BasicCAN,模式中呈现的是,FFH,。,5.3.4,SJA1000,Basic Can,相关寄存器,(,10,)时钟分频寄存器(,CDR,)(地址,31,、可读写),7,位:在,BasicCAN,模式与,PeliCAN,模式之间进行选择;,6,位(,CBP,):接收比较器旁路;,5,位(,RXINTEN,),:,专用的接收中断脉冲在,TX1,上,;,4,位:,0,;,3,位:允许使,CLKOUT,引脚无效;,2,0,位:控制用于微控制器的,CLKOUT,频率。,5.3.4,SJA1000,Basic Can,相关寄存器,(,11,)发送缓冲区描述符(地址,10 11,、工作时可读写),地址,10,:,ID10,ID3,地址,11,:,ID2,ID0 RTR,(远程帧标识符),DLC.3,0,(数据长度),(,12,)发送缓冲区数据(地址,12,19,、工作时可读写),(,13,)接收缓冲区(地址,20,29,、工作时可读写),思考题,1,:,CAN,现场总线的发送器和接收器均使用,SJA1000,,采用,CAN2.0A,规范,发送器发送的,4,个报文的,ID,分别为:,(,1,),11001100001,;,(,2,),11001101001,;,(,3,),11001000001,;,(,4,),11001001001,。,欲使接收器只接收报文(,1,)、(,3,),应如何设置接收器,SJA1000,的,ACR,和,AMR,?,思考题,2,:,(,1,),CAN,节点使用,SJA1000,,振荡器频率为,16MHz,,若使波特率为,1Mbps,,如何设置,SJA1000,的,BTR0,和,BTR1,?,(,2,)使用晶振频率为,16MHz,的独立,CAN,控制器,SJA1000,,若,BTR0=01Hex,,,BTR1=1CHex,,则由其所决定的位速率是多少?,
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 行业资料 > 医学/心理学

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服