CAN总线1.ppt

上传人:本田雅阁 文档编号:2890514 上传时间:2019-06-02 格式:PPT 页数:69 大小:617.52KB
返回 下载 相关 举报
CAN总线1.ppt_第1页
第1页 / 共69页
CAN总线1.ppt_第2页
第2页 / 共69页
CAN总线1.ppt_第3页
第3页 / 共69页
CAN总线1.ppt_第4页
第4页 / 共69页
CAN总线1.ppt_第5页
第5页 / 共69页
点击查看更多>>
资源描述

《CAN总线1.ppt》由会员分享,可在线阅读,更多相关《CAN总线1.ppt(69页珍藏版)》请在三一文库上搜索。

1、工 业 控 制 网 络 (现场总线),3.2.1.4 错误类型和界定,错误类型: 位错误 填充错误 CRC错误 形式错误 应答错误,3.2.1.4 错误类型和界定,位错误(Bit Error) 向总线送出一位的某个单元同时也在监视总线。当监视到的总线位数值与送出的位数值不同时,则在该位时刻检出一个位错误。例外:仲裁场的填充位流期间、应答期间、认可错误标志。,3.2.1.4 错误类型和界定,填充错误(Stuff Error) 在应使用位填充方法进行编码的报文中,出现了第6个连续相同的位电平时,将检出一个填充错误。,3.2.1.4 错误类型和界定,CRC错误(CRC Error) CRC序列是由发

2、送器完成的CRC计算结果组成的。接收器以与发送器相同的方法计算CRC。如果计算结果与接收到的CRC序列不相同,则检出一个CRC错误。,3.2.1.4 错误类型和界定,形式错误(Form Error) 当固定形式的位场中出现一个或更多非法位时,则检出一个形式错误。,3.2.1.4 错误类型和界定,应答错误(Acknowledgement Error) 在应答间隙期间,发送器未检测到“显性”位,则由它检出一个应答错误。,3.2.1.4 错误类型和界定,位错误、填充错误、形式错误或应答错误由检测出的站在下一位开始时发送错误标志。 CRC错误由检测出的站在应答界定符后面那一位开始发送,除非用于其它错误

3、状态的错误标志已经开始发送。,3.2.1.4 错误类型和界定,在CAN总线中,就故障界定而言,一个单元(节点)可能处于三种状态: “错误激活”(“Error Active”) “错误认可”(“Error Passive”) “总线脱离”(“Bus off”),3.2.1.4 错误类型和界定,总线单元中的两种计数: 发送错误计数 接收错误计数,3.2.1.4 错误类型和界定,计数规则 : 接收器检出错误时,接收错误计数加1。 接收器在送出错误标志后的第一位检出一个“显性”位时,接收错误计数加8。,3.2.1.4 错误类型和界定,计数规则 : 发送器送出一个错误标志时,发送错误计数加8。有两种例外

4、情况,发送错误计数不改变。 一个是如果发送器为“错误认可”,因未检测到“显性”应答而检测到一个应答错误,并且在送出其认可错误标志时,未检测到“显性”位。 另一个是如果由于仲裁期间(其填充位处于RTR位前)发生的填充错误,发送器送出一个错误标志,本应是“隐性”的,而且确实发送的是“隐性”的,但监视到的为“显性”的。,3.2.1.4 错误类型和界定,计数规则 : 如果发送器送出一个激活错误标志或超载标志时,发送器检测到位错误,则发送错误计数加8 。 如果接收器送出一个激活错误标志或超载标志时,接收器检测到位错误,则接收错误计数加8。,3.2.1.4 错误类型和界定,计数规则 : 在送出激活错误标志

5、、认可错误标志或超载标志后,任何节点都容许多至7个连续的“显性”位。在检测到第14个连续的“显性”位后,或紧随认可错误标志检测到第8个连续的“显性”位后,以及附加的8个连续的“显性”位的每个序列后,每个发送器的发送错误计数都加8,并且每个接收器的接收错误计数也都加8。,3.2.1.4 错误类型和界定,计数规则 : 报文成功发送后,则发送错误计数减1,除非它已经为0。 报文成功接收后,则接收错误计数减1,如果它处于1和127之间。若接收错误计数为0,则仍保留0,而若它大于127,它将其置为119和127之间的某个数值。,3.2.1.4 错误类型和界定,计数规则 : 发送错误计数等于或大于128或

6、接收错误计数等于或大于128时,节点为“错误认可”。导致节点变为“错误认可”的错误状态使节点送出一个激活错误标志。 发送错误计数大于或等于256时,节点为“总线脱离”。,3.2.1.4 错误类型和界定,计数规则 : 发送错误计数和接收错误计数两者均小于或等于127时,“错误认可”节点再次变为“错误激活”节点。 在检测到总线上11个连续的“隐性”位发生128次后,“总线脱离”节点将变为其两个错误计数器均置为0的“错误激活”节点(不再是“总线脱离”)。,3.2.1.4 错误类型和界定,当错误计数值大于96时,说明总线被严重干扰。它提供测试此状态的一种手段。 若系统启动期间,仅有一个节点在线,此节点

7、发送报文后,将得不到应答,检出错误并重复该报文。它可以变为“错误认可”,但不会因此“总线脱离”。,3.2.1.5 位定时要求,一些重要概念: 正常位速率(Nominal Bit Rate)在非重同步情况下,借助理想发送器每秒发送的位数。 正常位时间(Nominal Bit Time)正常位速率的倒数。,3.2.1.5 位定时要求,正常位时间可划分为几个互不重叠的时间段。这些时间段包括:同步段(SYNC-SEG)、传播时间段(PROP-SEG)、相位缓冲器段1(PHASE-SEG1)和相位缓冲器段2(PHASE-SEG2)。,3.2.1.5 位定时要求,同步段(SYNC-SEG)用于使总线上的各

8、个节点同步。期望有一个跳变沿位于此段内。 传播段(PROP-SEG)用于补偿网络内的物理延时。它是信号在总线上传播时间的两倍与输入比较器延时和输出驱动器延时之和。,3.2.1.5 位定时要求,相位缓冲段1(PHASE-SEG1)和相位缓冲段2(PHASE-SEG2)用于补偿沿的相位误差,使总线上的各个节点同步。通过重同步,这2个时间段可被延长或缩短。 采样点(Sample Point)是这样一个时刻,在此时刻上,总线电平被读,并被理解为其自身位的数值。它位于相位缓冲段1的终点。,3.2.1.5 位定时要求,信息处理时间是由采样点开始、为计算后续位电平而保留的时间段。 时间份额(Time Qua

9、ntum)是由振荡器周期派生出的一个固定时间单元。时间份额的总数必须被编程为至少由8至25。,3.2.1.5 位定时要求,正常位时间中各时间段长度:SYNC-SEG为1个时间份额;PROP-SEG长度可编程为1,2,8个时间份额; PHASE-SEG1长度可编程为1,2,8个时间份额; PHASE-SEG2 长度为PHASE-SEG1和信息处理时间的最大值;信息处理时间长度小于或等于2个时间份额。,3.2.1.5 位定时要求,硬同步(Hard Synchronization)硬同步后,内部位时间从SYNC-SEG重新开始。硬同步强迫引起硬同步的沿处于重新开始的位时间同步段之内。 重同步(Res

10、ynchronization)当引起重同步的沿的相位误差数值小于或等于重同步跳转宽度编程值时,重同步的作用与硬同步的作用相同。当相位误差数值大于重同步跳转宽度,且相位误差为正时,则PHASE-SEG1延长数值等于重同步跳转宽度。当相位误差数值大于重同步跳转宽度,且相位误差为负时,则PHASE-SEG2缩短数值等于重同步跳转宽度。,3.2.1.5 位定时要求,重同步跳转宽度(Resynchronization Jump Width)作为重同步的结果, PHASE-SEG1可被延长或PHASE-SEG2可被缩短。这两个相位缓冲段的延长或缩短的数值有一个由重同步跳转宽度给定的上限。重同步跳转宽度应编

11、程为1和min(4,PHASE-SEG1)之间。 时钟信息可由一位数值到另一位数值的跳变取得。具有相同数值的连续位的最大个数是唯一而固定的,这一特性提供了在帧期间总线单元重同步于位流的可能性。可被用于重同步的两个跳变之间的最大长度是29个位时间。,3.2.1.5 位定时要求,沿相位误差(Phase Error of an Edge) 沿相位误差由沿相对于SYNC-SEG的位置给定,以时间份额量度。相位误差的符号定义如下: 若沿处于SYNC-SEG之内,则e = 0 若沿处于采样点之前,则e 0 若沿处于前一位采样点之后,e 0,3.2.1.5 位定时要求,同步规则 (Synchronizati

12、on Rules): 在一个位时间内仅允许一种同步。 只要在先前采样点上检测到的数值与一个沿过后立即得到的总线数值不同,则该沿将被用于同步。 在总线空闲期间,无论何时当存在一个“隐性”至“显性”的跳变沿,则执行一次硬同步。 所有履行规则和的其它“隐性”至“显性”的跳变沿(和在低位速率的情况下,选择的“显性”至“隐性”的跳变沿)都将被用于重同步。,3.2.1.6 CAN振荡器容差的提高,为使振荡器容差最大值由当前的0.5%提高到1.5%,并与当前CAN指标向前兼容,CAN2.0进行了下列修正: 1.若一个CAN节点在间歇场的第3位采样到一个显性位,则它将此位理解为帧起始位; 2.若一个CAN节点

13、有一个等待发送的报文,且它在间歇场的第3位采样到一个显性位则它将此位理解为帧起始位,并在下一位以其标识符的第一位开始发送报文,而不是首先发送帧起始位,也不变成为接收器;,3.2.1.6 CAN振荡器容差的提高,3.若一个CAN节点在错误界定符或超载界定符的第8位(最后一位)采样到一个显性位,它将在下一位开始发送一个超载帧(不是错误帧),错误计数器不增加; 4.仅隐性至显性的跳变沿用于同步,为了与当前规范相统一,以下规则仍有效;,3.2.1.6 CAN振荡器容差的提高,5.硬同步时,所有CAN控制器均同步于帧起始位; 6.没有CAN控制器发送帧起始位,直至它计完间歇场的3个隐性位。,3.2.2

14、CAN技术规范2.0B,3.2.2.1 CAN节点的分层结构 3.2.2.2 帧格式和帧类型 3.2.2.3 振荡器容差,3.2.2.1 CAN节点的分层结构,3.2.2.2 帧格式和帧类型,1数据帧 数据帧由7个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC场、应答场、帧结束,3.2.2.2 帧格式和帧类型,3.2.2.2 帧格式和帧类型,3.2.2.2 帧格式和帧类型,2远程帧 3错误帧 4超载帧 5帧间空间,3.2.2.3 振荡器容差,振荡器容差最大额定值为1.58%,因而根据经验,使用陶瓷谐振器总线速度最高可达125kbps。,3.3 CAN总线基本技术阐释与分析,3.3.1

15、总线典型电平 3.3.2 LLC子层和MAC子层 3.3.3 MAC 机制 3.3.4 位定时的作用及硬同步与重同步 3.3.5 数据帧与 CAN中断速率 3.3.6 标准格式及扩展格式的数据帧、远程帧的区分 3.3.7 总线长度与位速率,3.3.1 总线典型电平,3.3.1 总线典型电平,3.3.1 总线典型电平,3.3.1 总线典型电平,3.3.2 LLC子层和MAC子层,LLC子层的主要功能: 接收过滤是指LLC子层通过对报文整个标识符或部分标识符的屏蔽/筛选来决定是否接收报文; 超载通知是指在发生超载条件时,LLC子层发送超载帧以示通告,从而延迟下一个数据帧或远程帧; 恢复管理是指在发

16、送期间,对于丢失仲裁的或已损的报文,LLC子层具有自动重发的功能。,3.3.2 LLC子层和MAC子层,根据ISO11898,存在两种类型的来自/传给用户的帧:LLC数据帧和LLC远程帧。对于这两种类型的帧,LLC子层均向用户通告帧是否成功发送或接收。 LLC子层传给/接收来自MAC子层的帧为:数据帧、远程帧和超载帧。,3.3.2 LLC子层和MAC子层,LLC数据帧和远程帧的结构分别如图319和图320所示。应该指出,用户传给LLC子层的标准格式的数据帧包括4部分:标识符、RTR位(为“0”)、DLC和数据场,前3部分的位数分别为11、1和4,即前3部分共有16位,刚好为2个字节(占用2个地

17、址单元,若每个地址单元为1个字节)。 许多CAN控制器(如SJA1000、P8xC591中的CAN控制器)就要求将标识符、RTR位和DLC写入2个地址单元或从2个地址单元中读出。用户传给LLC子层的标准格式的远程帧包括3部分:标识符、RTR位(为“1”)和DLC。,3.3.2 LLC子层和MAC子层,MAC子层提供的主要功能是传送协议,即发送/接收数据的封装(成帧)/拆装,帧编码及位填充(若需要)/去除填充位(若有),媒体访问管理(执行仲裁),错误检测和标注,应答,(发送)串行化/(接收)解除串行化。,3.3.2 LLC子层和MAC子层,ISO11898中介绍,MAC子层(为LLC子层)提供的

18、服务为:应答数据传送,即为LLC子层发送/接收数据帧;应答远程数据传送,即为LLC子层发送/接收远程帧;超载帧传送,即为LLC子层发送/接收超载帧。 MAC子层构造MAC数据帧、MAC远程帧和MAC超载帧并将其发送到物理层;当然,MAC子层亦从物理层接收MAC数据帧、MAC远程帧和MAC超载帧。MAC子层还构造并发送错误帧(当检测到总线错误时)。 CAN技术规范中给出的4种帧(数据帧、远程帧、错误帧和超载帧)的组成均指的是MAC帧。,3.3.3 MAC 机制,CAN网络上一个节点发送的帧/报文可被网络上所有其它节点监听并应答。当总线处于空闲(开放)时,任何节点均可开始发送报文。若一个节点正在发

19、送,其它节点只有在此发送完成以后,才可尝试发送。,3.3.3 MAC 机制,如果两个或多个节点同时开始发送,则通过使用仲裁场(11位标识符和RTR位(对于标准格式)的非破坏性逐位仲裁机制来解决总线访问冲突。 在仲裁场发送期间,每一个发送器均监听总线电平,并将它与自身发送的位相比较。若两值相等,则节点可继续发送。若一个节点发送一个隐性位(“1”),而在总线上监听到一个显性位(“0”),则此节点即失去仲裁,并必须停止发送。在当前发送结束后,失去仲裁的节点可尝试再次发送。 由于标识符是由最高位至最低位被发送的,因此发送数值最小的标识符的节点会赢得仲裁。,3.3.3 MAC 机制,3.3.4 位定时的

20、作用及硬同步与重同步,位定时的作用: (1)确定位时间,以便确定波特率,从而确定总线的网络速度;或在给定总线的网络速度的情况下确定位时间。 (2)确定1位的各个组成部分同步段、传播段、相位缓冲段1和相位缓冲段2的时间长度,其中同步段用于硬同步,位于相位缓冲段1终点的采样点用于保证正确地读取总线电平。 (3)确定重同步跳转宽度以用于重同步。,3.3.4 位定时的作用及硬同步与重同步,一个节点应既能在位时间的采样点正确地读取总线电平,也能检测来自总线的沿以进行硬同步或重同步。 在CAN技术规范的时间份额的表达式中,对于常用的独立CAN控制器SJA1000和P8xC591中的CAN控制器,时间份额t

21、q为系统时钟周期tscl;预引比例因子m为可编程的,其值取决于总线定时寄存器0(BTR0)的内容;最小时间份额为振荡器周期tCLK的2倍,即2tCLK。,3.3.4 位定时的作用及硬同步与重同步,CAN 总线中,同步包括硬同步和重同步两种形式。同步与位定时密切相关。同步也是由节点自身完成的。节点将检测到的来自总线的沿与其自身的位定时相比较,并通过硬同步或重同步适配(调整)位定时。,3.3.4 位定时的作用及硬同步与重同步,硬同步 所谓硬同步,就是由节点检测到的来自总线的沿强迫节点立即确定出其内部位时间的起始位置(同步段的起始时刻)。硬同步的结果是,沿的到来时刻的前一时刻(以时间份额tq量度)即

22、成为节点内部位时间同步段的起始时刻,并使内部位时间从同步段重新开始。 这就是规范中所说的“硬同步强迫引起硬同步的沿处于重新开始的位时间同步段之内”。硬同步一般用于报文开始,即总线上的各个节点的内部位时间的起始位置(同步段)是由来自总线的一个报文帧的帧起始的前沿决定的。,3.3.4 位定时的作用及硬同步与重同步,3.3.4 位定时的作用及硬同步与重同步,重同步 所谓重同步,就是节点根据沿相位误差的大小调整其内部位时间。重同步的结果是,节点内部位时间与来自总线的报文位流的位时间接近或相等,从而使节点能够正确地接收报文。重同步一般用于报文位流发送期间,以补偿各个节点振荡器频率的不一致。 沿相位误差由

23、来自总线的沿相对于节点内部位时间同步段的位置给定,以时间份额量度。,3.3.4 位定时的作用及硬同步与重同步,3.3.5 数据帧与 CAN中断速率,标准格式数据帧的最小位数为44,最大位数为108。一般地,将帧起始、仲裁场和控制场作为CAN头部(19位),CRC场、应答场和帧结束作为CAN尾部(25位)。,3.3.5 数据帧与 CAN中断速率,3.3.5 数据帧与 CAN中断速率,在设计CAN节点/系统时,设计者应考虑由总线上的数据帧引起的对节点的中断的速率。由于CAN数据帧较小(0-8字节),当因多个节点欲同时发送报文而使总线上出现连续的数据帧时,对用软件屏蔽或完全不屏蔽的接收器的中断发生率

24、就会很高。,3.3.5 数据帧与 CAN中断速率,3.3.5 数据帧与 CAN中断速率,CAN中断速率不是低速的。在500kbps、1Mbps下,对于0字节数据帧,中断每94s、47s产生一次。基于多数低端微控制器/微处理器的CAN节点不能跟上此中断速率。因此,应根据CAN中断速率、节点功能和系统要求来为节点选择合适的微控制器/微处理器。,3.3.6 标准格式及扩展格式的数据帧、远程帧的区分,4种不同类型的帧:1、标准格式数据帧;2、标准格式远程帧;3、扩展格式数据帧;4、扩展格式远程帧。 对于1,11位标识符后是2个显性位:仲裁场的RTR位和控制场的r1位;对于2,11位标识符后是一个隐性位和一个显性位:仲裁场的RTR位和控制场的r1位。据此可将1与2分开。 对于3、4,11位标识符后为两个隐性位:仲裁场的IDE位和SRR位。据此可将3、4与1、2分开。而3、4之间可由扩展ID后的RTR位分开:3中RTR位为显性位,4中RTR位为隐性位。,3.3.7 总线长度与位速率,Thank you!,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1