




已阅读5页,还剩62页未读, 继续免费阅读
(机械制造及其自动化专业论文)can总线网络的实时性能分析、改进和测试.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
西华大学硕士学位论文 c a n 总线网络的实时性能分析、改进和测试 机械制造及其自动化 研究生关学峰指导教师刘建新 c a n 总线现在已经成为一种广泛使用的现场总线,已经应用在工业控制、 汽车电子以及机械制造等领域。c a n 总线的总线竞争使用优先级来进行仲裁, 对于一般的短帧的收发,c a n 总线具有较理想的性能,并且组网灵活方便。但 是,c a n 也有其不足之处,主要体现在c a n 协议对于给定的报文不能保证精 确的响应时间。 本文首先简单地介绍了c a n 总线实时性能研究背景和几种常见的解决方 案。然后介绍了c a n 总线的协议规范,根据其介质访问控制方法,详细地分析 了c a n 总线上报文延时产生的原因。并针对总线正常和总线错误两种状态,建 立了报文延迟时间的数学模型。为了能够在一定的程度上对c a n 的实时性能加 以改善,本文根据现有的t t c a n 的协议规范,设计了一种基于时间触发机制 的高层协议s t t - c a n ,并对s t t - c a n 协议的设计和实现方法都做了详细的介 绍。 本文设计了一个专用的c a n 总线实时性能测试系统,对该系统的硬件组 成和软件设计方法都做了详细地介绍。并针对测试系统要求开发了一套友好的 人机交互界面。最后,本文给出了在测试系统下对c a n 协议和s t t - c a n 协议 的测试结果,并与理论分析加以验证。实验表明,本文所采用的s t t - c a n 协议 在一定情况下能够有效地改善传统c a n 的实时性,但其组网的灵活性却有很大 的下降。 关键词:c a n 总线,时间触发,实时性,性能测试,时间延迟 西华大学硕士学位论文 t h e a n a l y s i s ,i m p r o v e m e n t a n dt e s to fr e a l t i m e p e r f o r m a n c ef o rc a nb u s m e c h a n i c a lm a n u f a c t u r i n ga n da u t o m a t i o n c a n d i d a t e :g u a nx u e f e n g s u p e r v i s o r :l i uj i a n x i n t h ec a nb u si sn o wi n c r e a s i n g l ya n de x t e n s i v e l y u s e di n i n d u s t r y c o n t r o l ,a u t o m o b i l ee l e c t r o n i c s ,m e c h a n i c a lm a n u f a c t u r i n ga n do t h e r a r e aw h e r e r e q u i r eh i g hr e a l - t i m ea b i l i t y f o rs o m ea p p l i c a t i o no f s h o r tf r a m e ,c a nb u si sv e r y f l e x i b l ea n dh a sp e r f e c ta b i l i t yo fr e a l - t i m ep e r f o r m a n c e h o w e v e r , o n eo ft h e p e r c e i v e dd r a w b a c k so fc a n i st h ei n a b i l i t yt ob o u n da c c u r a t e l yt h ew o r s t c a s e r e s p o n s et i m eo f a g i v e nm e s s a g e t h i sp a p e rp r e s e n t st h er e a s e r c hb a c k g r o u n do fc a nb u sr e a l t i m ea b i l i t y f i r s t l y a n dt h e ne x p l a i n sc a np r o t o c o lp r e c i s e l y a c c o r d i n gt ot h em e d i aa c c e s s c o n t r o l l i n gm e t h o do fc a np r o t o c o l ,t h er e a s o no fd e l a yt i m ew a sd i s c u s s e d ak i n d o fm e s s a g ed e l a ym a t h e m a t i c a lm o d e lw a ss e tu pa n de x t e n d e du n d e rn o m a la n d e r r o rc o n d i t i o n t oi m p r o v et h er e a l t i m ep e r f o r m a n c eo fc a nb u s ,t h ep a p e ra p p l ya h i g h e rp r o t o c o ls t t - c a nw h i c he m p l o yt h em e t h o do ft d m a o nt r a d i t i o n a lc a n b u s w ea l s od e s i g nar e a l - t i m et e s t i n gs y s t e mt oe v a l u a t et h ed e l a yt i m ei nc a n m o d ea n ds t t - c a nm o d e b o t hh a r d w a r ea n ds o f t w a r ec o m p o n e n t sw e r ei l l u s t r a t e d d e t a i l e d l y a tl a s tt h er e s u l to ft e s tw a sc a l c u l a t e da n dg i v e no u t t h er e s u l ti n d i c a t e t h a tt h er e a l t i m ea b i l i t yo fs t t - c a np r o t o c o lp e r f o r m e db e t t e rt h a nc a np r o t o c o l u n d e rs o m ec o n d i t i o n s b u ti t sf l e x i b i l i t yi sr e d u c e dal i t t l e k e y w a o r d s :c a nb u s ,t i m e - t r i g g e r e d ,r e a l t i m ea b i l i t y , p e r f o r m a n c et e s t ,d e l a y t i m e i l 西华大学硕士学位论文 声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的 研究成果。除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发 表或撰写过的研究成果,也不包含为获得西华大学或其他教育机构的学位或证书 而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作 了明确的说明并表示谢意。 本学位论文成果是本人在西华大学读书期间在导师指导下取得的,论文成果 归西华大学所有,特此声明。 z 僻多月,矿日 彬j 月l 3 日 中薪 钆忘 坎剥 : :r 名名签签 者师 作导 西华大学硕士学位论文 1 绪论 1 1 概述 实时系统和实时控制是紧密相连的。随着计算机技术和通信技术的发展, 分布式过程控制系统已经广泛地应用到国民经济建设的各个领域【l 】。在工厂中, 人们广泛地使用分散型控制系统来控制工厂的生产过程;在行驶的汽车上,分 散于车身的各个传感器随时向总控制器发送着信息,便于车主了解汽车的运转 情况。这些工厂和汽车上的控制站和智能节点采集所需要的实时数据,按照预 先设计好的控制策略进行运算或传输到显示设备。同时,控制器或操作者从每 个节点收集各种实时数据,进行集中的管理和操作,并发出各种指令,去干预 各个节点的控制。在这种控制系统中,局域网起着关键的作用,它负责着网络 上所有节点的信息、数据、指令的传达,在很多工业场合,对网络的实时性能 和可靠性能都有十分高的要求【2 】【3 】。 在实际的应用中,对一个网络的评价是多方面的。而人们通常使用网络资 源的利用率来衡量一个网络的性能。而实时系统和普通系统不同,在希望有较 高的利用率的同时,还希望在时间上较快的响应。甚至在利用率和实时性发生 冲突的时候,宁可牺牲前者,也要保证实时性。在实时系统中,网络的存取控 制方法有自己的一些要求。如果把实时性的要求表示成时间的约束条件,那么, 网络的存取控制方法应该满足下面的一些时间约束 4 】 5 】: 1 、每个节点每次取得通信的时间不能超过某一个时间的上限值。因为网络 是共享的,如果某些节点可以无限制的使用网络,或者无休止的占用网络,那 么其他的一些节点获得网络的时间必然减少,或者在需要取得网络使用权时失 败,这必然会影响这些节点的实时性。 2 、每个节点必须在一个确定的时间周期内至少获得网络使用权一次。这主 要是针对实时控制系统而言的。在实时系统里,每个节点每时每刻的数据信息 都要进行更新,它必然要把一些已经更新了的数据及时的发送给其他需要这些 数据的节点或管理设备。如果不能保证每个节点在一个确定的时间周期里把这 些被更新的数据发送出去,那么实时性也就无从谈起。 3 、优先级高的报文能够优先取得网络使用权,这是实时系统的基本要求。 4 、必须要保证报文的发送顺序和接收顺序一致。网络上有些节点的数据产 西华大学硕士学位论文 生是依赖于其他节点的数据计算或控制而来,若发送和接收报文的顺序发生错 误,很有可能造成系统的失灵,甚至会发生严重的事故。 c a n ( c o n t r o l l e ra r e an e t w o r k ) 是控制器局域网络的简称,是由德国b o s c h 公司于8 0 年代为解决现代汽车中各种过程控制器、执行机构、监测仪器、传感 器之间的数据通讯而提出并开发的总线式串行通讯网络,1 9 8 1 年由i s o 制定为 国际标准,称为i s 0 1 1 8 9 8 6 。 c a n 所采用的的介质访问控制方法是带有冲突避免的载波帧听多路访问 ( c s m a c a ) 【7 1 ,该控制方法在一定情况下能够有效的达到实时系统的性能要 求。但是,c a n 总线的总线竞争使用优先级来进行仲裁,正如前文所说,经常 会出现在网络利用率和实时性能之间进行取舍的问题。尤其对于网络上优先级 较低的节点来说,网络负载若很大,那么它的发送请求很可能会长时间得不到 响应 8 】 9 】。 1 2 研究现状 c a n 总线使用的是短帧结构,每一帧中的最多有效数据为8 个字节,基本 可以满足工业控制领域中的命令、状态以及测试数据的一般要求,而且8 个字 节的数据也不会占用太多的总线时间,从而保证了通信的实时性。c a n 的协议 采用c r c 校验并提供相应的错误处理功能,保证了数据通信的可靠性。 c a n 总线自从被提出以后就得到了长足的发展。做为一种设备级总线网 络,c a n 的国际标准( i s 0 1 1 8 9 8 ) 中只定义了物理层和数据链路层,而其他的 高层协议则交给用户完成,这样,对于c a n 的开发就有更大的灵活性【1o j 。根据 c a n 的特性,它所采用的c s m a c a 访问控制方法,比一般的通信网络具有更 好的实时性和可靠性,特别是c a n 的无损位仲裁协议,在仲裁过程中,具有较 高优先级的协议帧可以不受任何影响连续的发送,同时也提高了网络利用率。 1 9 9 2 年成立的c i a 先后发布了几个有代表性的c a n 高层协议,比如c a n o p e n 、 c a n k i n g d o m 等【l l 】。虽然很多协议在实时性能上有了很大的改善,但没有兼顾 解决网络的灵活性等问题【l2 。 目前解决c a n 总线的实时性问题主要存在两种方法【l3 】:一种是基于主从 式系统结构,利用时分调度原理来避免总线的相互碰撞,从而使系统的实时性 得到提高,这一般应用于传送周期性的实时性信息系统;另一种是基于多主结 2 西华大学硕士学位论文 构,利用动态优先级的算法来提高网络信息帧的传送实时性,这一般应用于猝 发性数据的传送。 基于时分调度策略的c a n 总线协议,最典型的是t t c a n 1 4 】 1 5 】【1 6 1 ,t t c a n 是c a n 协议的扩展【l 7 1 ,它在现有的数据链路层和物理层的顶端有个会话层,该 协议执行一种混合的、时间触发t d m a 流程,它还适用于事件触发通信。t d m a 将一个信道分成连续的周期性时隙,这些时隙在时间域里是完全正交的,这样, 就能使不同的信号分配到不同的时隙里。g l e e n 1 8 】在他的文章中详细地介绍了 t t c a n 协议的工作流程。首先,他把系统中所有周期发送的节点至少发送一次 的时间定义为系统周期,而每个系统周期又包含了n 个基本周期,基本周期由 m 个时间窗口组成。这样,时间窗口就是最小的时间单位,它足够发送一个信 息帧。 t t c a n 是基于主从结构的【19 】【2 0 1 ,也就是说,在系统中,至少要有一个主 节点作为整个系统的调度器,来安排系统内所有节点的发送时间。史久根根据 t t c a n 的策略,叙述了两种可行的调度方法,即静态调度和动态调度【2 1 1 。静态 调度中所有节点的发送顺序的安排都是事先设计好的,在系统运行的时候不能 更改,所以灵活性受到了限制;而动态调度则是在系统运行的时候动态的产生 调度顺序,以提高系统的灵活性,但也使系统的额外开销增大,占用较多的系 统资源。 另外一种比较常见的解决实时性问题的方法是动态的优先级分配方法 【2 2 】【2 3 】 2 4 1 。c a n 总线使用帧标识作为优先级的判断标准。在c a n 2 0 b 版本的c a n 协议中,c a n 的信息帧有标准帧和扩展帧之分,二者的区别就在于在仲裁域标 准帧只有1 1 位标识符,扩展帧却有2 9 位标识符【2 5 1 。 这种方法的主要思想就是将2 9 位标识符的前11 位定义为帧优先级,后面 的1 8 位定义为帧的标识,而仲裁域的其他部分以及协议帧结构的其他部分定义 保持不变,和c a n 的所有协议完全兼容。这样,在系统运行时,可以根据数据 要求的可靠性和实时性动态地分配该信息帧的优先级,甚至,对于一些要求较 高的猝发性数据,可以享有相同的优先级。史久根 6 】 2 l 】等经过实验指出,优先 级晋升机制在网络利用率较高时,能够很好的解决网络上信息碰撞的问题,从 而达到实时性要求。 周立功公司提出了一种i c a n 协议【2 6 】( 工业c a n 应用协议) ,这是一种典 西华大学硕士学位论文 型的c a n 网络应用层协议,它将c a n 网络的物理层、数据链路层与一个高效 的用户层结合在一起,既可以保障底层使用c a n 总线的高效、实时、可靠的特 点,又能够建立一个易于实现、成本较低、效率良好的数据通讯网络方案。 在很多时候,可能会出现一些不需要实时传输却又数据量很大,而相对的 实时数据量又比较小的情况。那么非实时的大量数据的传送势必会影响小量的 实时数据。复旦大学的薛刮27 】提出了一种入侵型的c s m a 技术。也就是说需要 实时传送的数据可以随时终止网络上其他的非实时数据传输,并能够及时的获 得总线控制权。这种方法可以初步解决长数据和短实时数据在总线上的兼容问 题。 但是,这些实时优化方法也都存在着很多不足之处 2 0 】【2 3 】。t t c a n 把时间 片分配给每个节点,但如果存在节点通信量很少,或者在一段时间内没有通信 产生时,那么这个时间片就浪费掉了,并且其它节点也不能使用该时间片, t t c a n 网络结构并不复杂,但要求极高精度的时钟同步,而且不方便于节点的 随时加入和删除,在灵活性上还有待提高;动态优先级分配方法中,每个节点 都会根据自己实时性的需要随时更改自己的标识符,这就要求每个节点在发送 报文前都要计算自己的优先级,若发送失败,还要将自己的优先级提高,因此 该方法会占用较多的系统资源,甚至在很多节点同时竞争高优先级时,反而会 使网络的性能下降。 对于c a n 实时性能的分析和测试,国内外有很多专家和学者多做了很多 的工作。c a n 系统本身不具有最坏反应时间的确定性。t i n d e l l 2 8 】 2 9 】给出了c a n 总线上消息队列传输的最坏反应时间的测量方法。该方法基于一个c a n 模块进 行不问断测量和采集总线信号,并使用定时器中断的方法精确计量数据,通过 总线将数据送回主机处理。而后在理论上继续分析了多模块时总线的实时性能。 但作者并没有给出多模块情况下的实验结果。另外,他也给出了c a n 协议上最 坏情况下的延迟时间的数学模型。利用该模型可以对报文的延迟时间做大体上 的估算。 但是,t i n d e l l 所给出的最坏情况下的延迟时间数学模型,是建立在总线没 有错误产生这种理想情况下的,而在实际的应用中,c a n 报文的传输错误会引 发总线上节点的错误处理。因此,报文的延迟时间还和总线上错误产生的个数 和频率有着十分重要的关系。s a s i k u m a r t 3 0 】等学者在t i n d e l l 的数学模型基础上, 4 西华大学硕士学位论文 对报文的延迟时间做了扩展分析,将错误处理时间也考虑在延迟时间以内。 不过t t c a n 和调度算法的应用无疑加强了c a n 的生命力【2 0 】【3 1 】。甚至 t t c a n 已经得到了很多公司、专家和学者的认可,现在t t c a n 已经被国际标 准化组织接受国际标准,称之为i s 0 1 1 8 9 8 4 。另外,大量潜在的新应用正在呈 现,结合高层协议应用的控制系统对c a n 的需求也在稳健增长。随着科学技术 的不断进步和发展以及国内外相关领域研究的不断深入和加强。相信c a n 将具 有更好的实用性、可靠性和实时性【3 2 1 。 1 3 本文研究背景及主要内容 随着控制系统向网络化、分散化、智能化发展,网络控制已经成为控制系 统的主流形式,尤其是现场总线被广泛的应用以来,其优异的实时性、可靠性、 灵活性得到了业内强力的支持和认可。 随着c a n 总线的广泛应用,其实时性能表现已经得到了越来越广泛的关 注。本文主要以c a n 总线的实时性为研究和测试对象,具体地说,主要有以下 几个方面的内容。 第一章:主要介绍了实时系统的要求和c a n 总线实时性研究的发展现状, 以及几种常见的提高c a n 总线实时性的解决方案,并简单的指出每种方案的实 现方法和优缺点; 第二章:详细地介绍了c a n 总线的协议规范,并对c a n 协议的仲裁方法 和介质访问方法进行分析,建立了c a n 报文在正常和错误状态下延时的数学模 型: 第三章:分别对事件触发系统和时间触发系统的实现和优缺点进行了介绍。 然后详细地介绍了t t c a n 协议,并根据t t c a n 协议的标准,自定义了一个基 于时间触发的c a n 总线高层协议s t t - c a n ,并叙述了该协议的实现方法; 第四章:设计了一个测试c a n 总线报文传输延时的系统,给出了该系统 的硬件结构以及每个模块的具体组成和功能。开发了该系统的驱动程序和应用 程序,并设计了良好的人机界面; 第五章:使用测试系统分别对c a n 协议和自定义的时间触发c a n 协议进 行实时性测量,给出了测试原理和测试结果; 第六章:对本论文工作的总结并指出需要进一步改进的地方。 西华大学硕士学位论文 2c a n 协议规范及其实时性能分析 c a n 总线报文的延时特性与c a n 的协议规范以及介质访问控制方法有着 十分重要的联系。本章将简单地介绍c a n 的协议规范,分析产生报文延时的原 因,并给出延时特性的数学模型。 2 1c a n 总线协议简介瞳5 3 1 9 8 6 年2 月,b o s c h 公司在s a e ( 汽车工业协会) 大会上介绍了c a n 总 线,在2 0 世纪9 0 年代初期,b o s c hc a n 规范被提交作为国际标准。1 9 9 1 年, p h i l i p s 公司发布了c a n 技术规范2 0 版本,并且该版本的b 部分给出了标准和 扩展两种报文格式。 2 1 1c a n 的分层结构 c a n 协议从最初的1 0 版到1 2 版,最终发展到c a n2 0 。并且高版本对 低版本实现了完全兼容。c a n2 0 规范分为c a n2 0 a 与c a n2 0 b 。c a n2 0 a 支持标准的1 1 位标识符。c a n2 0 b 同时支持标准的1 1 位标识符和扩展的2 9 位标识符,c a n2 0 规范的目的是为了在任何两个基于c a nb u s 的仪器之间建 立兼容性。该协议定义了传输层,并定义了c a n 协议在周围各层当中所发挥的 作用,c a n2 0 规范涉及兼容性的不同方面,比如电气特性和数据转换等。c a n 协议可以分为数据链路层( d a t al i n kl a y e r ) 和物理层( p h y s i c a ll a y e r ) 。 为了达到设计透明度以及实现柔韧性,c a n 的数据链路层又细分为逻辑链 路控制子层( l l c ) 和媒体访问控制子层( m a c ) 。l l c 和m a c 子层服务及功 能可以被描述为“对象层”和“传输层”,包括所有由i s o o s i 模型定义的数据 链路层的服务和功能。对象层的作用范围包括查找被发送的报文、确定由实际 要使用的传输层接收哪一个报文以及为应用层相关硬件提供接口。传输层的作 用主要是传送规则,也就是控制帧结构、执行仲裁、错误检测、出错标定、故 障界定、总线上何时开始发送新报文及何时开始接收报文等。位定时等一些普 通功能也可以看作是传输层的一部分,理所当然传输层的修改是受到限制的。 物理层的作用是在不同节点之间根据所有的电气属性进行位信息的实际传输, 同一网络内物理层对于所有的节点必须是相同的。c a n 的分层结构如图2 1 所 示。 6 西华大学硕士学位论文 f i g u r e2 1l a y e r s t r u c t u r eo fc a n p r o t o c o l 图2 1c a n 协议的分层结构 2 1 2c a n 的报文传送和帧结构 在进行数据发送时,发出报文的单元称为该报文的发送器,该单元在总线 空闲或丢失仲裁前恒为发送器。否则,若总线不处于空闲状态,则该单元为报 文接收器。 对于报文的发送器和接收器,报文实际有效时间是不同的。对于发送器而 言,如果一直到报文结束末尾未出错,则对于发送器报文有效;如果报文受损, 则允许按照优先权顺序自动重新发送。为了能同其他报文进行总线访问竞争, 总线一旦空闲,重新发送将立即开始。对于接收器而言,如果直到报文结束的 最后一位一直未出错,则对于接收器报文有效。 构成报文帧的帧起始、仲裁场、控制场、数据场和c r c 序列均借助位填充 规则进行编码。当发送器在发送的位流中检测到5 位连续相同的值时,将自动 地在实际发送的位流中插入一个补码位。数据帧和远程帧的其余位场采用固定 西华大学硕士学位论文 格式,不进行位填充。出错帧和超载帧同样也采用固定格式,也不进行位填充。 报文传送由以下4 种不同的帧类型所表示和控制。 数据帧:数据帧携带数据从发送器到接收器; 远程帧:总线单元发送出远程帧,请求发送具有同一标识符的数据帧; 错误帧:任何单元检测到一总线错误时就发出错误帧; 超载帧:超载帧用来在先行的和后来的数据帧之间提供一附加的延时。 数据帧和远程帧通过帧间空间与各帧分开。 2 1 3c a n 的锚误类型 在c a n 总线的数据传输过程中,可能会发生以下5 种不同的错误类型, 这5 种错误不会相互排斥。 1 、位错误:节点单元在发送位的同时也对总线进行监视。如果所发送的位 值与所监视的位值不相符合,则在此位时间里检测到一个位错误( b i te r r o r ) 。 但是在仲裁场( a r b i t r a t i o nf i e l d ) 的填充位流期间或a c k 间隙( a c ks l o t ) 发 送一“隐性”位的情况是例外的此时,当检测到一“显性”位时,不会发 出位错误( b i te r r o r ) 。当发送器发送一个被动错误标志但检测到“显性”位时, 也不视为位错误。 2 、填充错误:如果在使用位填充法进行编码的信息中,出现了第6 个连 续相同的位电平时,将检测到一个填充错误。 3 、c r c 错误:c r c 序列包括发送器的c r c 计算结果。接收器计算c r c 的方法与发送器相同。如果报文接受器计算结果与接收到c r c 序列的结果不相 符,则检测到一个c r c 错误( c r ce r r o r ) 。 4 、形式错误:当一个固定形式的位场含有1 个或多个非法位,则检测到 一个形式错误( f o r me r r o r ) 。 5 、应答错误:只要在a c k 间隙( a c ks l o t ) 期间所监视的位不为“显性 , 则发送器会检测到一个应答错误( a c k n o w l e d g m e n te r r o r ) 。 检测到错误的节点通过发送错误标志指示错误。节点检测到无论是位错误、 填充错误、形式错误,还是应答错误,这个节点会在下一位时发出错误标志信 息。只要检测到的错误的条件是c r c 错误,错误标志的发送开始于a c k 界定 符之后的位。 西华大学硕士学位论文 2 1 4 位定时 在c a n 协议中,将一个理想的发送器在没有重新同步的情况下每秒钟发 送的位的个数称为标称位速率。而总线上传输一个位所需要的时间为标称位时 间。 在c a n 协议中,可以把标称位时间划分为几个时间上互不重叠的片段, 即同步段、传播段、相位缓冲段1 、相位缓冲段2 。如图2 2 所示。 位时间 同步段传播段相位缓冲段1相位缓冲段2 jl 采样点 f i g u r e2 2t h ec o m p o n e n to f b i tt i m e 图2 2 位时问的各组成部分 同步段用于同步总线上的不同节点。传播段则用于补偿网络内的物理延迟 时间,它是总线上输入比较器延迟时间和输出驱动器延迟时间总和的两倍。两 个相位缓冲段用于补偿边沿阶段的错误。总线上数据的采样发生在相位缓冲段1 的终点。 因为振荡器漂移、空间的分布,在网络的节点间传播延迟或者噪声干扰都 会产生相位误差。所以在c a n 总线协议中定义同步能够保证报文可以不管节点 间积累的相位误差而正确的进行译码。c a n 协议定义了两种类型的同步:硬同 步和重同步。 硬同步只在报文帧的开始执行。在空闲周期后,网络中每个c a n 控制器 会在接收到的同步段第一个“隐性”到“显性的跳变沿后初始化它当前的位 周期定时。 重同步则是在随后的报文剩余部分每接收到一个“隐性 到“显性的跳 变沿就执行一次。 c a n 协议的同步规则如下: 9 西华大学硕士学位论文 1 、在一个位时间内仅允许一种同步 2 、只要先前采样点检测到的数值不同于边沿后出现的总线数值,边沿将被 同步。 3 、总线空闲时,如果检测到一个由“隐性 到“显性”的跳变沿,无论在 何时,都会执行硬同步。 2 2c a n 总线的存取访问控制方法 很多局域网和总线都采用广播式的信道进行通信,多个节点共享一个信道, c a n 总线也不例外。因此通信信道的分配是这种通信方式的一个重要问题。一 般对通信信道的存取控制方法可以分为两种:受控存取控制和随机存取控制。 受控存取控制的特点是:各个节点不能任意存取信道,必须遵循一定的控制, 又分为集中式存取控制和分布式存取控制。随机存取控制的特点是:各个节点 可以随机地向信道发送信息。由于多节点可以同时发送信息,就可能发生冲突, 而如何解决冲突是随机存取控制所需要解决的问题【1 1 。 在c a n 协议中,使用了带有冲突避免的载波侦听多路访问控制方法 ( c s m a c a ) 。c s m a c a 协议的工作流程是 7 】 蚓:一个节点希望在总线上传送 数据,如果探测到总线上正在传送数据,则附加等待一段时间,再随机选择一 个时间片继续探测,如果总线上没有活动的话,就将数据发送出去。接受端的 节点如果收到发送端送出的完整的数据则回发一个应答( a c k ) 数据帧,如果 这个a c k 数据帧被发送端收到,则这个数据发送过程完成,如果发送端没有收 到a c k 数据帧,则可以认定或者发送的数据没有被完整地收到,或者a c k 信 号的发送失败,不管是那种现象发生,数据报都在发送端等待一段时间后被重 新发送。 所以只要总线空闲,任何节点都可以开始发送报文。如果2 个或2 个以上 的节点同时开始传送报文,那么就会产生总线的访问冲突,通过使用识别符( d ) 的逐位仲裁机制可以解决这个冲突。逐位仲裁的机制确保了报文和时间均不损 失,当具有相同识别符的数据帧和远程帧同时传送时,数据帧优先于远程帧。 仲裁期间,每一个发送器都对发送位的电平与被监控的总线电平进行比较。如 果电平相同,则这个单元可以继续发送。 1 0 西华大学硕士学位论文 0 v f i g u r e2 3t h ew a y o fa r b i t r a t i o n 图2 3 仲裁方式 c a n 总线物理层通常是双绞线,当逻辑1 被写进总线里,两条线的电平 是2 5 v ,并被定义为“隐性”位,当逻辑0 被写进总线里,一条线( c 舢娜) 被上拉到为5 v ,另一条线( c a n l ) 被下拉到0 v ,这叫做“显性”位。但是 如果“显性”位和“隐性 位都被不同的节点同时写进总线里,总线显示“显 性位,所以显性位覆盖了隐性位【3 3 1 。这是c a n 网络冲突检测的基础,如图 2 3 所示。 节点1 节点2 总线 仲裁失利。从下一位开始进入接收状态 11 i 。l_| li| l iul l川 |jl”_ f i g u r e2 4a r b i t r a t i o np r o c e s s 图2 4 仲裁过程 1 1 囫 圈显性 翻 u 西华大学硕士学位论文 当节点开始传送它们各自的报文时,标识符的每一个位都被写到总线里, 而且能够被每一个节点读回。如果一个节点写进了隐性位而读回显性位,它会 知道另一个较低标识符号码的高优先权节点正在访问总线。它会停止传送报文 并继续接收更重要的报文,如图2 4 所示。这种机制保证了如果节点发送一个高 优先权报文,它将会赢得仲裁并能够在一个保证的时间限度里到达它的目的节 点,这些都由系统设计者来控制。但是,如果两个节点用同样的标识符发出数 据,两个都会得到总线的仲裁并开始传输数据,在某一点,数据会不同并产生 错误。两个节点都会后退并且重新开始整个传输过程,在最坏的情况下它会锁 死网络 5 1 。 2 3c a n 总线延时原因 c a n 总线的延时是由其协议本身引起的。其根本原因是c a n 通讯的信道 资源有限。由于只有一个信道,因此高优先级的消息要优先发送,低优先级的 消息必须等待;如果有消息正在使用c a n 总线进行消息传输,其它任何优先级 的消息都必须要等待。 对于c s m a c a 这种存取访问控制方法,其负载是随着网络上的节点发送 报文的周期决定的,直到所有节点供给的负载等于网络的容量。对于较合理的 输入负载,网络的吞吐量会始终保持在一定的值。所以在负载非常小的情况下, 只存在很小的固定延时,这个固定延时基本上等于从发送节点到接收节点的传 输时间。但随着负载的增加,每个节点用于排队的延时就要加在这个固定延时 上。当负载超过网络的吞吐量时,延时可能会无限制的增加。 在实际的应用中,每一个节点所带有的缓存区是一定的,而且,拥塞控制 的操作也要消耗网络的容量。这样,当负载较轻时,随着负载的增加,网络的 吞吐量以及相关的网络利用率也会增加。当负载增加到一定值时,网络吞吐量 的增加速率会比输入负载的增加速率小,这时的网络进入一个中等拥塞状态。 在这个状态下,虽然延迟时间变长,但网络还能够继续处理负载。当一些节点 经历到中等拥塞时,其他的节点可能经历着更严重的拥塞,以至于必须丢弃一 些通信数据,或者因缓存不足,导致数据内容被迫改写。这时,如果网络负载 还继续增加,各个节点中数据的排队长度也继续增加,最终达到一个顶点,超 过这一点之后,随着输入负载的增加,网络的实际吞吐量反而下降了。 1 2 西华大学硕士学位论文 在很多网络中,网络拥塞造成的报文丢失现象可能比硬件故障造成的报文 丢失现象更容易发生。如果在负载已经很高的网络上,倘若出现非常多的报文 出错导致报文必须重新发送,就可能会导致更严重的拥塞问题。 报文的延迟时间和网络的吞吐量在理论上是相互独立的,而在实际上却是 相互关联的。在这里给出c a n 协议中最低优先级节点延时和网络负载的关系。 设在负载为0 的时候,该节点的延迟时间为矾,则在负载为u ( o u 1 ) 的 时候,其延迟估计时间d 可表示为:d = d o ( 1 一u ) 当网络完全空闲的时候,u 等于零,有效延时为d o ;网络的使用率为5 0 的时候,有效延时会加倍;当网络使用率接近网络容量,即u 等于1 0 0 时,延 时将会无限大。该公式只能对延迟时间做简单的估计。 2 4c a n 报文延时分析 首先,设c a n 总线上一条报文从生成到目的节点接收到数据的总时间为 见,c a n 总线上报文m 的延迟时间定义为尺。,则如为从发送节点将报文加 入发送队列到接收节点接收到该报文的最长时间。这样,可以将c a n 总线的通 信延迟时间可以分为四个部分,包括数据生成延迟、仲裁延迟、传输延迟和接 收数据延迟【2 9 】【3 4 】c 3 5 】,如图2 5 所示。 f i g u r e2 5t h ec o m p o n e n to fd e l a yt u n e 图2 5 报文延时组成 其中数据生成和接收数据的延时由节点的主控制器产生,很大程度上取决 于数据采集系统的设计方案和主控制器的执行速度等,按照现在的处理器执行 速度而言,该部分时间可以忽略不计。 因此最坏情况下的报文延迟时间尺。可以用下列公式表达: 如- - 乙+ c 珊 ( 2 1 ) 西华大学硕士学位论文 其中乙为仲裁延迟时间,是因为在发送报文时因为仲裁失败并等待总线空 闲而产生的延迟时间;c 肌为传输延迟时间,指报文从占有总线到脱离总线中间 所占有的时间。 2 4 1 传输延时 传输延时受到报文长度和总线上报文传输速度的影响。根据c a n 协议的 规定,其报文格式中最多包含有6 4 位( 2 9 位标识符) 或4 4 位( 1 1 位标识符) 的控制信息,图2 6 和图2 7 所示为标准数据帧和扩展数据帧的报文格式。而且, 在报文中如果出现连续5 个相同的位,就要在其后插入一个填充位。而校验场 界定符( 1 位) 、应答场( 2 位) 和帧结束( 7 位) 不需要添加填充位。可以知道, 扩展帧和标准帧的控制信息中有5 4 位和3 4 位可能需要添加填充位。c a n 报文 中的数据场可以装载1 到8 个字节的数据信息,所以可以计算得到在一个包含 有个字节数据的报文中,最多填充位个数为:( n x 8 + 5 4 ( 3 4 ) 一1 ) 5 。设报文m 的最长传输时间为q ,总线上传输一位所需要时间为瓦f f ,则标准帧和扩展帧 的传输时间可以表达为下列两个公式【3 4 】 4 3 】【5 3 】: c 乙= 8 + 4 4 + ( 8 + 3 4 1 ) 5 x t b , , c m - 【8 + 6 4 + ( 8 + 5 4 1 ) 5 x t b # ( 2 - 2 ) ( 2 - 3 ) m j ”,h 一, o 1 2 一 v 静裁窄援 荇款 敖崧+ ,数 c r c 段 媛 。秘: 争露铭糸 4 r 一舞妇 罐 _ 每 一 一,? kj 鞫 a 篓i 88 c r c 五 鼎 撵 苫8垂 桐 舌 型 氍嚣鬟 f s oo0e1l 111i11i 岛 一 括# ;瓣 一- 熟搬 枝艘辑 搬z 毖馊 籀 巷 露姥,袭地箍牧缓冲器t 弘 移铭i 壤冲嚣巾 f i g u r e2 6t h ef o r m a to fs t a n d a r dm e s s a g e 图2 6 标准数据帧报文格式 1 4 西华大学硕士学位论文 镗耘啦 髦f :羚 c r c 一& , 一 、 搬站糸 !篓l 建i! 一4 。 c r c o p 兰: 矗曼 一 黯 驽 1 1co l c 。1i | | il | il l i ll | ii l i i 1 l i i l l l l , 1 1 1 小1 1 、 一咏i :格一 一 “麓和,积 一 羞群 长班戮 攮义瑟艟 一一 。 嚣一 聍铑丧,援净器嘲 一 仃鹤再麓避。摇教缴弦罄嫩 f i g u r e2 7t h ef o r m a to fe x t e n d e dm e s s a g e 图2 7 扩展数据帧报文格式 c a n 总线上报文的最快传输速度为1 m b p s ,这种情况下,的值为l u s 。 2 4 2 仲裁延时【2 9 】【3 4 】【3 5 】 3 叼 假设在一个有限的时间段t 内,有三个节点的三个报文m l 、m 2 和m 3 要 在总线上发送,那么最坏的情况是:这三条报文同时启动发送,再假设m l 具 有最高的优先级,而m 3 的优先级最低,那么根据c a n 协议的仲裁方法,m l 将最先取得总线,而且没有仲裁延时,m 2 和m 3 都会因为仲裁失败而产生一定 的仲裁延时。如图2 8 所示。 乃 瓦i _ 。 f i g u r e2 8q u e u e i n gt i m eo fc a n b u s 图2 8c a n 总线上的等待队列延时 仲裁延时可以分为两个部分。一是已经取得总线使用权的低优先级节点所 占用总线的时间,二是同时竞争总线的更高优先级的节点需要占用总线的时间。 在第一种情况下,其延迟时间可以很好地估计,在最坏情况下,也即总线 上的报文刚刚开始传输,则其占用总线时间也就为该报文的传输时间。设其占 西华大学硕士学位论文 用时问为b 。且设总线上除m 外所有节点可能发送报文的集合为l ( m ) ,可以得 到: 肛斥m 彻a x j ( c ,) ( 2 4 ) 其中e 为报文j 在总线上的传输时间。 对于第二种情况,则要考虑共有多少个优先级更高的节点在竞争总线,并 且还要考虑每个节点需要占用总线的时间。设比m 优先级高的报文集合为 办( 坍) ,这些报文的平均传输周期为乃( 厅( 朋) ) ,则可以将因优先级产生仲裁 延迟时间用下面公式表达: 疋= ( ( 乙+ 乙打) 乃) q ( 2 5 ) v j h ( m ) 其中乃。为传输一位所需要的时间,该时间主要是由不同的节点在竞争总线 时产生的。 该式中将仲裁延时与每次仲裁产生的位时间相加,除以平均传输周期丁j , 可得在该延时内总线上有效报文个数,再乘以传输时间得到仲裁延时。但该公 式因左右两边皆有而没有办法估计计算结果。为了能对仲裁延时进行估算, 将每次的仲裁延迟作为数列处理,将本次仲裁延时石作为下次仲裁延时巧+ 1 计 算的参数,并令贮= 0 。即: 巧+ 1 = ( ( 巧+ ) 乃) q( p = o ) ( 2 7 ) v j e h ( m ) 所以可以得出报文m 在最坏情况下产生的仲裁延迟乙为: 乙= 疋+ b( 2 8 ) 最后,将仲裁延迟和传输延迟相加可以得到报文m 的总延迟时间尺。 r 。= 已+ 巳= 乃+ 曰+ c 卅( 2 9 ) 根据以上分析可以知道,在总线速率恒定、报文的长度已知的情况下,报 文传输时间c 。可以根据计算得到,这部分延迟时间是固定的;而仲裁延迟却要 考虑到总线的忙闲状态以及高优先级竞争总线的关系,这部分延迟时间却是随 机的。 1 6 西华大学硕士学位论文 2 5 扩展分析 上一节中给出了c a n 总线上报文传输延时的数学模型,该模型是建立在 传输过程中没有错误发生的条件之上的。而在实际的系统中,虽然不希望其发 生,但总线的错误经常无法避免。所以在实时性分析中考虑到错误的恢复时间 就显得十分重要。 2 5 1c a n 协议的错误处理 首先,需要了解c a n 总线上错误的检测和修复。c a n 总线上产生错误的 原因有很多,如软硬件故障、电磁干扰等。总线上的节点能够根据其协议规范 轻松的判断一个错误的报文。比如:发送报文的节点在报文发送的同时,要对 所发送的数据进行检测,一旦检测到的数据和所发送数据不符,则节点认为报 文出错,开始修复功能。而接收节点则可以通过对报文的c r c 校验字段进行检 查来发现错误。另外,根据c a n 协议规定,在报文发送方,若连续出现5 个相 同的位,则对位值取反作为一个填充位加入到这5 位之后,所以如果在接收方 收到6 位以上连续相同的位值,则可以认定该报文出错【3 7 】【3 8 】。 在检测到总线上的错误后,节点会立即进行自我修复并同时发出错误帧
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 公路水运试验检测师桥梁隧道真题及答案解析完整版
- 幼儿园庆中秋策划活动方案
- 无人营销方案
- 水源热泵拆除施工方案
- 水处理咨询方案设计
- 实验学校社团活动方案策划
- 活动组织与策划方案设计
- 淮安设计方案咨询
- 网络架构咨询服务方案
- 品种营销方案
- 初三学习策略模板
- 外销合同协议书英文翻译
- 灌区续建配套与节水改造规划报告
- 财务咨询外包协议
- 小学四年级数学学情分析报告
- 2023-2024学年上海市杨浦区六年级上学期期中考试语文试卷含详解
- 农行超级柜台业务知识考试题库(含答案)
- 新标准大学英语(第三版)综合教程3(智慧版)课件 Unit6 Path to prosperity
- 3认识你自己-大学生自我意识发展课件
- 中药学全套(完整版)课件
- GB 1886.232-2016食品安全国家标准食品添加剂羧甲基纤维素钠
评论
0/150
提交评论