(计算机科学与技术专业论文)can总线控制器的研究与设计.pdf_第1页
(计算机科学与技术专业论文)can总线控制器的研究与设计.pdf_第2页
(计算机科学与技术专业论文)can总线控制器的研究与设计.pdf_第3页
(计算机科学与技术专业论文)can总线控制器的研究与设计.pdf_第4页
(计算机科学与技术专业论文)can总线控制器的研究与设计.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(计算机科学与技术专业论文)can总线控制器的研究与设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学位论文版权使用授权书 ,f , j 本学位论文作者完全了解北京交通大学有失采留、使用学位论文的规定。特 授权北京交通大学可以将学位论文的全部或部分内容编入有关数据库进行检索, 提供阅览服务,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。 同意学校向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:取方薪 签字日期:气吖。年7 月秒日 导师签名: 藓眩t ,措 签字日期:o 年7 月i 中图分类号:t p 3 3 6 u d c :0 0 4 7 学校代码:1 0 0 0 4 密级:公开 北京交通大学 硕士学位论文 c a n 总线控制器的研究与设计 r e s e a r c ha n d d e s i g no fc a n c o n t r o l l e r 作者姓名:耿方新 导师姓名:傅家林 学位类别:工科 学科专业:计算机科学与技术 学号:0 8 1 2 0 4 9 4 职称:副教授 学位级别:硕士 研究方向:计算机网络 北京交通大学 2 0 1 0 年7 月 致谢 本论文的工作是在我的导师傅家林副教授的悉心指导下完成的,傅家林副教 授严谨的治学态度和科学的工作方法给了我极大的帮助和影响。在此衷心感谢两 年来傅老师对我的关心和指导。 傅家林老师悉心指导我完成了实验室的科研工作,在学习上和生活上都给予 了我很大的关心和帮助,在此向傅老师表示衷心的谢意。 傅家林老师对于我的科研工作和论文都提出了许多的宝贵意见,在此表示衷 心的感谢。 在实验室工作及撰写论文期间,高勋、钱大伟、杨新华、余志俊等同学对我 论文中的研究工作给予了热情帮助,在此向他们表达我的感激之情。 另外也感谢我的家人,他们的理解和支持使我能够在学校专心完成我的学业。 c a n 网络的关键部分是总线控制器,c a n 总线控制器是实现c a n 总线通讯 协议要求的器件,是将各个控制节点连接到总线的重要环节。而目前市面上存在 的c a n 总线控制器都是按标准定制好的,不同c a n 控制器的电气参数往往不一 样,不能兼容,并且种类繁多的c a n 控制器大都是功能标准化的产品,若要实现 额外的功能,则还需外搭电路,实现起来较为复杂。因此本文提出一种基于f p g a 的c a n 总线控制器的实现方案,给出其结构框图,并对内部各模块进行较为详细 的介绍。 本文采用自顶向下的设计方式对c a n 控制器芯片进行设计,通过仿真工具来 保证设计功能的正确性。本文首先结合应用分析了c a n 总线协议,分析现有的 c a n 总线控制器( p h i l i p s 公司的控制器s j a l 0 0 0 ) 后,对整个c a n 总线控制器芯 片体系结构进行划分,将c a n 总线控制器分解成各几个功能模块。其中,作者主 要完成了验收滤波模块和c r c 校验模块的设计。因此本文主要介绍了验收滤波和 c r c 校验的原理以及使用v e r i l o gh d l 的具体实现过程,并且在f p g a 开发工具 q u a r t u s i i 上进行功能仿真验证,证明功能模块功能的正确性,并给出了它们的r t l 级电路图和仿真波形。 本文的不足之处是没有对其他模块如寄存器模块和位时序逻辑模块等进行详 细的研究和设计,以后还需要做进一步的工作。 关键词:c a n ;c a n 控制器;f p g a ;v e r i l o gh d l ;验收滤波;c r c 校验 分类号:t p 3 3 6 a bs t r a c t a b s t r a c t :c o n t r o l l e ra r e an e t w o r kl sak i n do fs e r i a lc o m m u n i c a t i o nb u s e sd e f i n e d b yi s o ,w h i c hb e l o n g st ot h ec a t e g o r yo ff i e l d b u s c a ni so b t a i n i n gm o r ea n dm o r e a t t e n t i o nb e c a u s eo fh i g hp e r f o r m a n c e ,h i g hr e l i a b i l i t ya n db e i n gd e s i g n e df l e x i b l y c a n h a sb e e nw i d e l yu s e di nt h ea u t o m o t i v ei n d u s t r y , a e r o s p a c ei n d u s t r y , i n d u s t r i a lc o n t r o l a n do t h e rf i e l d s ,a n di sd e v e l o p i n gt o w a r d sm o r ef i e l d s t h ek e yp a r to ft h ec a nn e t w o r ki sc a nc o n t r o l l e r c a nc o n t r o l l e ri sad e v i c e w h i c hc o m p l e t e sc a nc o m m u n i c a t i o np r o t o c o lr e q u i r e m e n t sa n dc a nc o n t r o l l e ri sa n i m p o r t a n tp a r tw h i c hc o n n e c t se a c hc o n t r o ln o d et ot h eb u s h o w e v e r , c a nc o n t r o l l e r s e x i s t i n go nt h em a r k e ta r em a d ea c c o r d i n gt os t a n d a r d s ,t h u s ,c a nc o n t r o l l e r 、i m d i f f e r e n te l e c t r i c a lp a r a m e t e r sa r ed i f f e r e n t ,w h i c hi sn o tc o m p a t i b l e a n da 、析d er a n g e o fc a nc o n t r o l l e r sm o s t l ya r es t a n d a r d i z e dp r o d u c t ,s oi fp e o p l ew a n tt oa c h i e v e a d d i t i o n a lf u n c t i o n a l i t y , i tn e e d st ot a k et h ea d d i t i o n a lc i r c u i to u t s i d e t h e r e f o r e ,t h i s p a p e rp r e s e n t sa nf p g a b a s e di m p l e m e n t a t i o ns c h e m eo fc a n b u sc o n t r o l l e r , g i v e st h e s t r u c t u r ed i a g r a m ,a n dd e t a i l e d l yd e s c r i b e st h ei n t e r n a lm o d u l e s i nt h i sp a p e r , t h ec a nc o n t r o l l e rc h i pi sd e s i g n e db yw a yo ft h et o p d o w nd e s i g n , a n di se n s u r e dt h ec o r r e c t n e s so ft h ed e s i g nf e a t u r e st l 缸o u g hs i m u l a t i o nt o o l s i nt h i s p a p e r , t h ec a np r o t o c o lc o m b i n i n ga p p l i c a t i o ni sa n a l y z e d ,t h ea r c h i t e c t u r eo ft h ee n t i r e c a nc o n t r o l l e rc h i pi sd i v i d e d a f t e ra ne x i s t i n gc a nc o n t r o l l e r ( p h i l i p sc o m p a n y s c o n t r o l l e rs j a10 0 0 ) b e i n ga n a l y z e d ,t h ec a nb u sc o n t r o l l e ri sd e c o m p o s e dd o w ni n t o s e v e r a lf u n c t i o n a lm o d u l e s t h ea c c e p t a n c ef i l t e rm o d u l ea n dt h ec r cm o d u l ei s c o m p l e t e dm a i n l yi nt h i sp a p e r a n di nt h i sa r t i c l e ,t h ep r i n c i p l eo fa c c e p t a n c ef i l t e r i n g a n dc r cc h e c ka n dt h ec o n c r e t ei m p l e m e n t a t i o nb yt h eu s eo fv e r i l o gh d la r e d e s c r i b e d ,a n dt h ec o r r e c t n e s so ff u n c t i o nm o d u l e sa r ep r o v e dt h r o u g ht h ef u n c t i o n a l s i m u l a t i o no nt h ef p g a d e v e l o p m e n tt o o lq u a r t u si i ,a n dt h e i rr t l l e v e lc i r c u i t sa n d t h es i m u l a t i o nw a v e f o r ma r eg i v e d t h es h o r t c o m i n go ft h ea r t i c l ei st h el a c ko ft h ed e t a i l e ds t u d ya n dd e s i g no fo t h e r m o d u l e ss u c ha st h er e g i s t e rm o d u l ea n db i tt i m i n gl o g i cm o d u l e s f u r t h e rw o r kn e e d s t 0b ed o n el a t e r k e y w o r d s :c a n ;c a nc o n t r o l l e r ;f p g a ;v e r i l o gh d l ;a c c e p t a n c ef i l t e r i n g ; c r c c l a s s n o :t p 3 3 6 a b s t r a c t i v 1引言j 1 1 1c a n 现场总线的特点及研究现状1 1 1 1 c a n 总线的特点1 1 1 2 研究现状2 1 2 f p g a 3 1 3 v e r i l o gh d l 4 1 4 课题研究的意义一4 1 5 课题的主要研究内容。5 2 c a n 总线协议6 2 1 c a n 总线协议中的基本概念6 2 2 c a n 总线通信模型9 2 3 报文传输10 2 4c a n 总线帧类型1 0 2 4 1 数据帧。1 1 2 4 2 远程帧1 4 2 4 3 错误帧15 2 4 4 过载帧。16 2 4 5 帧间空间1 7 2 5 报文校验18 2 6 编码18 2 7 错误处理1 9 2 i 7 1 错误检测1 9 2 7 2 出错时发出的信号1 9 2 8小结:。2 0 3 c a n 控制器2 1 3 1 c a n 控制器在控制系统中的位置和作用2 1 3 2 s j a l 0 0 0 的模块结构2 2 3 3 s j a l 0 0 0 内部的详细介绍2 3 v 4 c a n 控制器的设计。2 9 4 1 验收滤波器设计31 4 1 1 验收滤波器的v e r i l o gh d l 实现3 2 4 1 2 r t l 电路图4 0 4 1 3 仿真波形4 2 4 2 c r c 校验设计51 4 2 1 c r c 码校验的工作原理5 1 4 2 2 c r c 校验码的v e r i l o gh d l 实现5 2 4 2 3 r t l 电路图5 2 4 2 4 仿真波形5 2 4 3 小结5 3 5 结论5 4 参考文献5 5 作者简历5 7 独创性声明5 8 学位论文数据集5 9 c a n ( c o n t r o u e r a r e a n e t w o r k ) 即控制器局域网,是由德国b o s c h 公司最早提出 用于汽车内部测量与执行部件之间的串行通信网络。它是一种多主总线,通信介 质可以是双绞线、同轴电缆或光导纤维,有着传输距离远( 最远为1 0k m ) 、传输速 度快( 最快为1m b p s ) 、抗干扰能力强等诸多优点。其总线规范已被i s o 国际标准 化组织制定为国际标准,包括c a n2 0 a 和c a n2 0 b 两部分。c a n 协议只有物 理层和数据链路层两个底层协议,规定了对数据通讯的帧处理,包括位填充、数 据块编码、循环冗余检验、优先级判别【l j 。 1 1 1c a n 总线的特点 c a n 总线广泛的应用与其良好的性能密切相关,其特点如下: ( 1 ) c a n 为多主方式工作,网络上任一节点均可在任意时刻主动地向网络上其 它节点发送信息,而不分主从,通信方式灵活,且无需站地址等节点信息,利用 这一点可方便地构成多机备份系统。 ( 2 ) c a n 网络上的节点信息分成不同的优先级,可满足不同实时要求,高优先 级的数据最多可在1 3 4 1 i s 内得到传输。 ( 3 ) c a n 采用非破坏性总线仲裁技术,当多个节点同时向总线发出信息时,优 先级较低的节点会主动退出发送,而优先级最高的节点可不受影响地继续传输数 据,大大节省了总线冲突仲裁时间。 ( 4 ) c a n 只需通过报文滤波,即可实现点对点、一点对多点及全局广播等几种 方式传送接收数据。 ( 5 ) c a n 的直接通信距离最远可达1 0k m ( 速率5k b p s 以下) ,通信速率可达1 m b p s ( 此时通信距离最长4 0m ) 。 ( 6 ) c a n 的节点数主要取决于总线驱动电路,目前可达1 1 0 个,报文标识符可 达2 0 3 2 种( c a n2 0 a ) ,而扩展标准( c a n2 0 b ) 的报文标识符几乎不受限制。 ( 7 ) 采用短帧结构,传输时间短,受干扰概率低,具有极好的检错效果。c a n 的 每帧信息都有c r c ( c y c l i cr e d u n d a n c yc h e c k ) 校验及其他检错措施,降低了数据出 错概率。 ( 8 ) c a n 的通信介质可为双绞线、同轴电缆或光纤,选择灵活。 ( 9 ) c a n 节点在错误严重的情况下具有自动关闭输出功能,以使总线上其它节 点的操作不受影响。 由于c a n 总线的特点1 2 ,其应用范围已不再局限于汽车行业,而扩展到机械 工业、纺织机械、农业机械、数控机床、机器人以及传感器等领域发展。可以说, c a n 总线必由工业控制渗透到更广大的领域,在各方面扮演更加重要的角色。 1 1 2 研究现状 目前国内外关于c a n 总线的研究主要有以下几个方面【3 】: ( 1 ) 现有协议的完善、新协议的提出和标准化。1 9 9 1 年c a n 2 0 规范发表以后, 各种基于c a n 2 0 的协议相继产生。1 9 9 3 年1 1 月i s o 颁布了道路交通运输工具一 数据信息交换一高速通信局域网( c 朋町国际标准i s o l l 8 9 8 ,之后又不断完善,在 2 0 0 3 年发布的s 0 1 1 8 9 8 标准已经包括数据链路层和物理信令、高速媒体存取单元、 容错c a n 物理层、时间触发通讯在内的四个方面的内容。 ( 2 ) 关于c a n 总线芯片如控制器或收发器的设计和开发。当c a n 总线协议的 内容基本确定之后,i n t e l 在1 9 8 7 年交付了首枚c a n 控制器芯片8 2 5 2 6 ,这是c a n 协议的第一个硬件实现。随后p h i l i p s 半导体也推出了其c a n 控制器8 2 c 2 0 0 。随 着c a n 技术的成熟和在各行业的广泛应用,各大芯片供应商纷纷支持c a n 协议。 ( 3 ) 关于c a n 总线应用的研究。它在汽车领域上的应用是最广泛的,世界上 一些著名的汽车制造厂商,如b e n z ( 奔驰) 、b m w ( 宝马) 、p o r s c h e ( 保时捷) 、 r o l l s r o y c e ( 劳斯莱斯) 和j a g u a r ( 美洲豹) 等都采用了c a n 总线来实现汽车 内部控制系统与各检测和执行机构间的数据通信。同时,由于c a n 总线本身的特 点,其应用范围目前已不再局限于汽车行业,而向自动控制、航空航天、航海、 过程工业、机械工业、纺织机械、农用机械、机器人、数控机床、医疗器械及传 感器等领域发展。 ( 4 ) 基于c a n 总线的e c u ( e l e c t r o n i cc o n t r o lu n i t ) d g 子控制单元的开发,也是 现在最热门的研究。现在对c a n 总线芯片的研究已经不再局限于单一芯片的研究, 而是把所有的功能芯片都集中在一块芯片上实现一个完整的e c u 的功能。 国外一些集成电路制造商( 如i n t e l ,p h i l i p s ,m o t o r o l a ,s i e m e n s ,n e c 等) 纷纷推出c a n 总线接口芯片和单片机,并且正在逐步形成各自的系列产品。我国 对c a n 总线技术的应用正处于起步阶段,主要集中在过程控制领域。在冶金、机 械制造、铁路信号微机检测系统、工业测控系统等领域c a n 总线技术都有过成功 的应用实例。一个由c a n 总线构成的单一网络中,理论上可以挂接无数个节点。 2 制各执行元件完成特定测控任务,又要处理一定的人机接口功能,还要控制c a n 控制器实现与其他节点的数据通信。 实际应用中,节点数目受网络硬件的电气特性所限制。例如,当使用p h i l i p s p c a 8 2 c 2 5 0 作为c a n 收发器时,同一网络中允许挂接1 1 0 个节点。c a n 可提供 高达lm b i t s 的数据传输速率,这使实时控制变得非常容易。另外,硬件的错误检 定特性也增强了c a n 的抗电磁干扰能力。 近年来,支持c a n 协议的芯片不断推出,给c a n 总线用户带来了极大的方 便。相信随着我国对现场总线技术需求的增加,c a n 总线必然会成为我国最常用 的现场总线之一。 1 2f p g a f p g a ( f i e l dp r o g r a m m a b l eg a t ea r r a y ) 即现场可编程门阵列1 4 j ,是在p a l 、 g a l 、e p l d 等可编程器件的基础上进一步发展的产物。它是作为专用集成电路 ( a s i c ) 领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服 了原有可编程器件门电路数有限的缺点。f p g a 不需设计人员承担投片风险和费 用,设计人员只需在实验室里通过相关的软硬件环境来完成芯片的最终功能设计, 这使得研究费用大大降低。f p g a 是在p a l 、g a l 等逻辑器件的基础上发展起来 的,同以往的p a l 、g a l 等相比较,f p g a 的规模比较大,它可以替代几十甚至 几千块通用i c 芯片。可以说,f p g a 芯片是小批量系统提高系统集成度、可靠性 的最佳选择。 f p g a 芯片可以被称作可定制的特殊a s i c 芯片,它除了具有a s i c 的特 点之外,还具有以下几个特点: ( 1 ) 随着工艺的不断提高,单一芯片内部已可以容纳上百万个晶体管,这 使得f p g a 芯片所能实现的功能也越来越强,同时也可以实现系统集成。 ( 2 ) f p g a 芯片在出厂之前都做过百分之百的测试,不需要设计人员承担 投片风险和费用,设计人员只需在自己的实验室里通过相关的软硬件环境来 完成芯片的最终功能设计。所以,f p g a 的资金投入小,节省了许多潜在的 花费。 ( 3 ) 用户可以反复的编程、擦除、使用或者在不动外围电路的情况下用不 同软件即可实现不同的功能。 ( 4 ) f p g a 软件包中有各种输入工具、仿真工具、版图设计工具和编程器 等全线产品,电路设计人员在很短的时间内就可以完成电路的输入、编译、 优化、仿真,直至最后芯片的制作。 ( 5 ) 电路设计人员使用f p g a 进行电路设计时,不需要具备专门的集成电 路深层次的知识,f p g a 软件易学易用。 f p g a 的使用非常灵活,同一片f p g a 通过不同的编程数据可以产生不同的电 路功能。f p g a 在通信、数据处理、网络、仪器、工业控制、军事和航空航天等众 多领域得到了广泛应用。随着功耗和成本的进一步降低,f p g a 还将进入更多的应 用领域。 1 3 v e r i l o gh d l v e r i l o gh d l 是一种硬件描述语言( h a r d w a r ed e s c r i p t i o nl a n g u a g e ) ,为了制作 数字电路而用来描述a s i c 和f p g a 的设计之用。v e r i l o gh d l 是目前应用最为广 泛的硬件描述语言,可以用来进行各种层次的逻辑设计,也可以进行数字系统的 逻辑综合,仿真验证和时序分析等。 v e r i l o gh d l 进行设计最大的优点是其工艺无关性。这使得工程师在功能设计, 逻辑验证阶段可以不必过多考虑门级及工艺实现的具体细节,只需根据系统设计 的要求施加不同的约束条件,即可设计出实际电路。 v e r i l o gh d l 具有以下特点【5 j : ( 1 ) 基本逻辑门和开关级基本结构模型都内置在语言中。 ( 2 ) 可采用多种方式对设计建模,包括行为描述方式、数据流方式、结构化方 式。 ( 3 ) v e d l o gh d l 中有线网数据类型和寄存器数据类型两类数据类型,线网类 型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。 ( 4 ) 设计能够在多个层次上加以描述,从开关级、门级、寄存器传送级到算法 级。 ( 5 ) 设计的规模可以是任意的,语言不对设计的规模大小施加任何限制。 由于v e r i l o gh d l 语言语法灵活易懂,非常接近c 语言的风格,所以逐渐成为 集成电路设计领域中最为流行的设计语言。随着仿真器产品的广泛使用,v e r i l o g h d l 这种实用的语言逐渐为更多的设计者所接受。 1 4 课题研究的意义 4 的垄断和c a n 总线技术在我国的应用和推广,具有较大的理论和实际意义。 如今,市面上有多种型号的c a n 控制器,不同型号的控制器各自有各自的特 点,不同c a n 控制器的电气参数往往不一样,不能兼容,并且种类繁多的c a n 控制器大都是功能标准化的产品,若要实现额外功能还需外搭电路。因此本文提 出一种基于f p g a 的c a n 总线控制器的实现方案,可以根据需要自由在f p g a 芯 片中添加特定功能,这种设计能提高c a n 控制器的性能,加快开发效率,还能节 约开发成本,为c a n 的发展起到促进作用。 1 5课题的主要研究内容 本课题的主要内容是基于c a n 通信协议规范,完成独立的c a n 总线控制器 的前端设计。本课题的开发语言是v e r i l o gh d l 硬件描述语言,开发工具是a l t e r a 公司的q u a r t u s i i 。 主要工作包括以下几个方面: ( 1 ) 分析了c a n 总线协议,分别从物理层和数据链路层解释了c a n 2 0 协议; ( 2 ) 根据c a n 总线协议和c a n 控制器内部结构划分了c a n 控制器模块,用 v e r i l o gh d l 设计了验收滤波模块和c r c 模块; ( 3 ) 对所设计的c a n 总线控制器进行了功能仿真,证明功能模块功能的正确 性,并给出了它们的r t l 级电路图和仿真波形。 5 2c a n 总线协议 c a n 总线( c o n t r o l l e ra r e an e t w o r k ) 是控制器局域网的简称,是2 0 世纪8 0 年代初德国b o s c h 公司为解决现代汽车中众多的控制与测试仪器之间的数据交换 而开发的一种串行数据通信协议。目前,c a n 总线已经被列入i s o 国际标准,称 为i s 0 11 8 9 8 。c a n 总线技术已经成为工业数据通信的主流技术之一。 2 1c a n 总线协议中的基本概念 首先介绍一组必要的基本概念【6 】: ( 1 ) 报文 总线上的信息以不同格式的报文发送,但长度有限制。当总线开放时,任何 连接的单元均可开始发送一个新的报文。 ( 2 ) 信息路由 在c a n 系统中,节点不使用任何关于系统配置的信息( 比如站地址) 。这里 包含一些重要概念。 系统灵活性一不需要改变任何节点的应用层及相关的软件或硬件,就可以在 c a n 网络中直接添加节点。 报文路由一报文的内容由识别符命名。识别符不指出报文的目的地,但解释 数据的含义。因此,网络上所有的节点可以通过报文滤波确定是否应对该数据做 出反应。 多播一由于引入了报文滤波的概念,任何数目的节点都可以接收报文,并同 时对此报文做出反应。 数据连贯性在c a n 网络内,可以确保报文同时被所有的节点接收( 或同时 不被接收) 。因此,系统的数据连贯性是通过多播和错误处理的原理实现的。 ( 3 ) 位速率 c a n 的数据传输率在不同的系统是不同的,而在一个给定的系统中,此速率 是唯一的,并且是固定的。 ( 4 ) 优先权 在总线访问期间,识别符定义了一个静态的报文优先权。当多个c a n 单元同 时传输报文发生总线冲突时,标识符码值越小的报文优先级越高。 ( 5 ) 远程数据请求 通过发送个远程帧,需要数据的节点可以请求另一个节点发送一个相应的 6 。卜fi 当总线空闲时,任何单元均可以开始发送报文,若同时有两个或者更多的单 元开始发送报文,那么就会有总线访问冲突。总线访问冲突运用逐位仲裁规则, 借助识别符i d 解决冲突。这种仲裁的机制可以使信息和时间均无损失。若具有相 同识别符的一个数据帧和一个远程帧同时发送,数据帧优先于远程帧。仲裁期间, 每一个发送器都对发送位的电平与被监控的总线电平进行比较。如果电平相同, 则这个单元可以继续发送。如果发送的是一隐性电平而监控视到一显性电平,那 么该单元就失去了仲裁,必须退出发送状态,并不再传送。 ( 8 ) 安全性 为了获得最安全的数据发送,c a n 的每一个节点均采取了强有力的措施以进 行错误检测、错误标定及错误自检。 错误检测( e r r o rd e t e c t i o n ) : 为了检测错误,必须采取以下措施: 监视( 发送器对发送位的电平与被监控的总线电平进行比较) ;循环冗余检查; 位填充;报文格式检查。 错误检测的执行( p e r f o r m a n c eo fe r r o rd e t e c t io n ) : 错误检测的机制要具有以下的属性: 检测到所有的全局错误;检测到发送器所有的局部错误;可以检测到一报文 里多达5 个任意分布的错误;检测到一报文里长度低于1 5 ( 位) 的突发性错误; 检测到一报文里任一奇数个的错误。 ( 9 ) 错误标定和恢复时间 已损坏的报文由检出错误的任何节点进行标注。这样的报文将会失效,并会 自动地开始重新发送。如果不再出现新错误,自检出错误至下一个报文开始发送 的恢复时间最多为2 9 个位的时间。 0 0 ) 故障界定 c a n 节点有能力识别永久性故障和短暂扰动区分,可自动关闭永久性故障节 点。 o d 连接 c a n 串行通讯链路是可以连接许多单元的总线。理论上,可连接无数多的单 元。但由于实际上受延迟时间以及总线线路上电气负载的影响,连接单元的数量 7 未定义物理层。 总线数值表示 总线可以具有两种互补的逻辑值之一:显性电平或隐性电平。显性位和隐性 位同时发送时,总线上数值将是显性。比如,在执行总线的线与时,逻辑o 代表 显性等级,逻辑1 代表隐性等级。c a n 技术规范中未给出表示这些逻辑电平的物 理状态( 如电压、光、电磁波等) 。 应答 所有的接收器检查报文的连贯性。对于连贯的报文,接收器应答;对于不连 贯的报文,接收器作出标志。 睡眠模式及唤醒 为了减少系统电源的功率消耗,可以将c a n 器件设为睡眠模式以便停止内部 活动及断开与总线驱动器的连接。c a n 器件可由总线激活,或系统内部状态而被 唤醒。唤醒时,虽然传输层要等待一段时间使系统振荡器稳定,然后还要等待一 段时间直到与总线活动同步( 通过检查1 1 个连续的隐性的位) ,但在总线驱动器 被重新设置为接通总线之前,内部运行已重新开始。为了唤醒系统上正处于睡眠 模式的其他节点,可以使用一特殊的唤醒报文,此报文具有专门的、最低等级的 识别符。 发送器和接收器 发送器:产生报文的单元被称之为报文的发生器。此单元保持作为报文发送 器直到总线出现空闲或此单元失去仲裁( a r b i t r a t i o n ) 为止。 接收器:如果有一单元不作为报文的发送器并且总线也不空闲,则这一单元 就被称之为报文的接收器。 8 2 2c a n 总线通信模型 c a n 2 0 总线通信协议标准又分成两个部分:p a r t a 和p a r t b 。c a n 2 0 a 中 规定,帧标识必须是1 l 位二进制数;c a n 2 0 b 中规定,帧标识既可以是1 1 位二 进制数( 称为标准标识) ,也可以是2 9 位二进制数( 称为扩展标识) 。相应的具有扩 展标识的帧称为“扩展帧”。c a n 协议包括数据链路层和物理层,一般在c a n 控 制器中实现。 c a n 的i s o o s i 参考模型【7 】的分层结构如图2 - 1 所示。 7 应用层 层定义事项功能 接收消息的选择点对点、广播、组播 l l c过载通知通知鹾收嚏备尚来完成 错误恢复再次发送 滑息的帧化数据帧、远程帧、错误帧、 过载帧 连接控制方式 竞争方式 6 表示层 | 。 冲突时的仲裁 优先缀荆高的获得总线 5 会话层 4 传输层 3 网络层 2 数据 l l c 链路 层m a c 1物 理层 故障扩敌抑制功能自功判异叶暂旰惜误和奇绥 埒误,辟除故障节点 m a c 锗误通幻 c r c 储i 吴,位错误,格式话 误,填充位话误 错误检测所育节点都6 t 捡硬揩误 应答方式a c k 、n a c k 方式 通信方式半双工 位编码方式n r z 编码方式、6 个位的 插入填充位 1 层 位时序位时序。位的采样数 同步方式根据同步段实现周步 图2 - 1c a n 的i s o o s i 参考模型的分层结构 f i g u r e2 - 1c a n si s o | o s ir e f e r e n c em o d e lo f h i e r a r c h i c a ls t r u c t u r e 逻辑链路控制子层l l c 主要功能是为数据传送和远程数据请求提供服务,确 认由l l c 子层接收的报文实际已被接收,并为恢复管理和通知过载帧提供信息。 介质访问控制子层m a c 的功能主要是传送规则,亦即控制帧结构、执行总裁、错 误检测、出错标定和故障界定。为开始一次新的发送,总线是否开放或者是否马 上开始接收,也是在m a c 子层里确定。位定时特性也是m a c 子层的一部分。 m a c 子层特性不存在修改的灵活性。物理层的功能是有关全部电气特性不同在节 9 点间的实际传送。在一个网络内,物理层的所有节点必须是相同的。在选择物理 层时存在很大的灵活性。 c a n 技术规范2 0 b 定义了数据链路中的m a c 子层和l l c 子层的一部分, 并描述与c a n 有关的外层。物理层定义信号怎样进行发送,因而涉及位定时、位 编码和同步的描述。在这部分技术规范中,未定义物理层中的驱动器接收器特性, 以便允许根据具体应用,对发送媒体和信号电平进行优化。m a c 子层是c a n 协 议的核心,它描述由l l c 子层接收到的报文和对l l c 子层发送的认可报文。m a c 子层可响应报文帧、仲裁、应答、错误检测和标定。m a c 子层由称为故障界定的 一个管理实体监控,它具有识别永久故障或者暂时扰动的自检机制。l l c 子层的 主要功能是报文滤波、超载通知和恢复管理4 2 3报文传输 c a n 总线网络采用c s m a c d 的非破坏性仲裁技术【8 】。在c a n 总线的位中, 逻辑o 被称作显性位,逻辑1 被称作隐性位。在总线上当显性位和隐性位进行线 与时,其结果隐性位被称作冲突,退出竞争。非破坏性优先权逐位仲裁规则为: ( 1 ) 预发帧的字节当总线在空闲时同时发送帧且同步于s o f 的上升沿; ( 2 ) 各帧的标识字段在总线同时相遇,借助总线使标志字段逐位线与,根据其 结果进行冲突仲裁; ( 3 ) 如果发送节点没有检测到冲突,则继续发送下一位; ( 4 ) 如果发送节点检测到冲突,则立即中断,不再继续后边位的传送; ( 5 ) 各标识字段逐位线与结束后,未检测到冲突的字节便获得优先发送权,可 以发送数据帧后面的各字段;若检测到冲突的节点,则不能发送后面的数据字段, 而等待下一次发送。 2 4c a n 总线帧类型 报文传输由以下4 个不同的帧类型【9 】所表示和控制: 数据帧:数据帧携带数据从发送器至接收器。 远程帧:总线单元发出远程帧,请求发送具有同一识别符的数据帧。 错误帧:任何单元检测到一总线错误就发出错误帧。 过载帧:过载帧用以在先行的和后续的数据帧( 或远程帧) 之间提供一附加 的延时。 数据帧( 或远程帧) 通过帧间空间与前述的各帧分开。 1 0 度可以为0 。 数据帧结构如图2 - 2 所示。 帧间帧f 空间数据较 益j l i 蜘啪 i l 仲裁塌 控制场 懒 傀c 场 应答场 空间 嗣峻 图2 - 2 数据帧结构 f i g u r e2 - 2d a t af r a m es t r u c t u r e ( 1 ) 帧起始 帧起始( s o f ) 标志数据帧和远程帧的起始,由一个单独的显性位组成。 只在总线空闲时,才允许站点开始发送信息。所有节点必须与首先开始发送 信息的那个节点的帧起始位前沿同步。 ( 2 ) 仲裁场 标准帧和扩展帧的仲裁场格式不同。 标准帧的仲裁场如图2 3 所示。在标准帧里,仲裁场由1 1 位标识符( 标识符 位由i d 2 8 - - i d l 8 组成) 和r t r 位组成,r t r 是远程发送请求位,当r t r 为显性 时,表明该帧为数据帧,当r t r 为隐性时,表明该帧为远程帧。 图2 - 3 数据帧标准格式的仲裁场结构 f i g u r e2 - 3t h ea r b i t r a t i o nf i e l do f d a t af l a m es l r u c t u r eo f s t a n d a r df o r m a t 数据帧扩展格式中的仲裁场如图2 _ 4 所示。对于扩展帧,仲裁场有2 9 位标识 符( 由i d 2 8 i d 0 组成) 、s r r 位、i d e 位和r t r 位。s r r 为替代远程请求位, 它在扩展帧中代替标准帧的r t r 位。 图2 _ 4 数据帧扩展格式的仲裁场结构 f i g u r e2 - 4t h ea r b i t r a t i o nf i e l do fd a t af r r m es t r u c t u r eo fe x t e n d e df o r m a t 识别符 标准格式中的标识符:标识符的长度为1 1 位,这些位按i d 2 8 - - i d l 8 的顺序 发送。最低位是i d l 8 。 扩展格式中的标识符:和标准格式对比,扩展格式的标识符由2 9 位组成。其 结构包括两部分:1 1 位基本i d 、1 8 位扩展i d 。 r t r 位 r t r 位为“远程发送请求位”( r e m o t et r a n s m i s s i o nr e q u e s tb i t ) 。 该位在数据帧里必须为显性,而在远程帧里必须为隐性。 在扩展帧中,基本i d 首先发送,随后是i d e 位和s r r 位,扩展d 的发送位 于s r r 位之后。 s r r 位 s r r 位是替代远程请求位( s u b s t i t u t er e m o t er e q u e s tb i t ) 。 s r r 位是在扩展帧中标准帧的r t r 的位置被发送,因而替代标准帧的r t r 位。当标准帧与扩展帧发送冲突,而扩展帧的基本i d 同标准帧的标识符一样时, 标准帧优先于扩展帧。 i d e 位 d e 位是标识符扩展位( i d e n t i f i e re x t e n s i o nb i t ) 。 i d e 位属于扩展帧的仲裁场和标准帧的控制场。 ( 3 ) 控制场 控制场由6 个位组成,其结构如图2 5 所示。标准帧和扩展帧的控制场格式是 不同的。标准格式里的控制场包括数据长度代码、i d e 位及保留位r o 。扩展格式 里的控制场包括数据长度代码和两个保留位:r l 和r 0 。 1 2 竺塑 控制场 一一一一竺 i d e i r l z 0 d l c 3d l c 2d l c ld l c 0 保瞽位数据长度代码 图2 - 5 控制场结构 f i g u r e2 - 5c o n t r o lf i e l ds t r u c t u r e 数据长度代码:数据长度代码指示了数据场中字节数量。数据长度代码为4 个位,在控制场里被发送。数据长度代码数据字节的编码:d 显性( 逻辑o ) ;r 一隐性( 逻辑1 ) 。 数据帧长度允许的数据字节数: o ,1 ,7 ,8 ) 。其他数值不允许使用。 表2 - 1 数据帧长度代码 t a b l e2 - 1d a t af

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论