(模式识别与智能系统专业论文)基于can总线的远程控制网络的设计.pdf_第1页
(模式识别与智能系统专业论文)基于can总线的远程控制网络的设计.pdf_第2页
(模式识别与智能系统专业论文)基于can总线的远程控制网络的设计.pdf_第3页
(模式识别与智能系统专业论文)基于can总线的远程控制网络的设计.pdf_第4页
(模式识别与智能系统专业论文)基于can总线的远程控制网络的设计.pdf_第5页
已阅读5页,还剩96页未读 继续免费阅读

(模式识别与智能系统专业论文)基于can总线的远程控制网络的设计.pdf.pdf 免费下载

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

文档简介

摘要 摘要 控制器局域网( c a n ) 由于优良的稳定性和实时性能、成熟的仲裁和同步 技术,加上开放式总线结构、短报文高速通讯、远程通讯能力、超强的纠错和 扩展功能,以及控制简单、应用成本低等优点,已经被越来越多地应用到广大 网络控制系统领域,并被公认为最有前途的现场总线技术之一。 本文针对青海拉西瓦水电站大坝高边坡安全监测的需要设计大坝边坡安全 监测控制系统。考虑到大坝安全监测的重要性,该设计对于系统的稳定性要求 很高,实时性也有一定的要求,尤其在天气恶劣边坡参数变化很大的情况下。 因此,设计一个实时性、稳定性良好的c a n 总线远程控制网络,需要认真研究 远程网络对于c a n 总线通讯的影响,分析处理报文信号幅值衰减、网络时延等 技术课题,并且选择合适的系统结构和控制芯片来组建控制系统,设计高效率 的通讯软件,才能充分发挥c a n 总线的特长,提高控制系统的抗干扰能力和实 用性能。 整个系统包括底层测量模块、上层软件和通讯三个部分的内容。本文将着 重介绍通讯部分相关内容,考虑到大坝高边坡安全监测的出线平台与控制室直 线距离达3 k m 多,本文的目的即设计一个基于c a n 总线的远程控制网络,一方 面传达用户需要到底层模块:另一方面将底层传感器采集到的数据报文传送到 上位p c 机,用户通过上层软件加以管理监控。于是,选取c 8 0 5 l f 系列微控制 器和u s b 转u a r t 桥接器c p 2 1 0 2 等新型高速芯片作为控制核心,根据c a n 2 o a 和2 o b 协议规范,设计了基于c a n 现场总线技术的远程控制网络,得到了硬 件系统、通讯软件、上位机测试软件的全部实现以及用户软件的部分实现。 另外,通过对远程网络等效电路的分析,搭建模拟远程电路,并对所设计 的系统进行测试实验,验证了所设计的c a n 总线远程控制网络具有良好的稳定 性和实时性。该系统具有便携的多功能c a n 总线节点模块,方便的u s b 上位 机通讯接口,加上c a n 总线本身的开放性、低成本、控制简单等优点,可方便 应用于拉西瓦水电站大坝高边坡系统的安全监测。 关键词:c a n 现场总线远程控制网络c 8 0 5 l f 通讯实时性稳定性 s v s t e ma n dc o m m u n i c a t i o nm o d u l e t h i sp a p e rf o c u s e so nt h ec o m m u n l c a t l o n m o d u l e c o n s i d e r i n gt h ed i s t a n c e b e t w e e nt h e p l a t f b r n l o ft h es l o p e s e c u r i t y m o n i t o r i n gs y s t e ma n dt h ec o n t r o l r o o mi sm o r et h a i l3k i l o m e t e r s ,w ea l ma t d e s ig n i n gac a nb u sb a s e dr e m o t ec o n t r o ln e t w o r k 1 tc a i ls e n dt h ec o n t r o ls l g n a l f r o mt h eu s e r st ot h eb o t t o mm o d u l e ,a sw e l la su p l o a dt h es a m p l i n gm e a s u r e m e n t 仔o mt l l eb o t t o ms e n s o r st ot h eh o s tp ct 1 1 r o u 曲w h i c hm e u s e r sc a nm o n i t o rt h es t a t u s o f m e d 锄 t 0i m p l e m e n tt h ea b a v er e q u i r e m e n t s ,w ec o n s t r u c tt h er e m o t ec o n t r o ln e 铆o r k b a s e do nc a nb u sb yu s i n gt 1 1 em i x e ds i g n a lm u l t i 自m c t i o n a lm c u 蠡m l i l yc 8 0 5 1f a 1 1 dak i n do fu s bt ou a r tb r i d g ec p 2 l0 2a st h ec o r es y s t e m t h i ss y s t e ma l s o f o l l o w st h ec a n 2 o aa n d2 o bp r o t o c a l t oi m p l e m e n tt h ec o m m u n i c a t l o na n dt e s t l n g s o 鼎| w a r e f i n a l l y ,w ee v a l u a t et h ed e s i g n e dc a n b u sb a s e dr e m o t ec o n n i o ln e “v o r k b ya i l a l y z i n gt h ee f r e c t i v ec i r c u i to f t 1 1 er e m o t en e t w o r k ,s i m u l a t i n gt h er e m o t ec i r c u i t a n dt e s t i n gt h ed e s i g n e ds y s t e m t h e s ee x p e r i m e n t sh a v ev e r i f i e dt h i ss y s t e m h a u sm e s a t i s f a c t o r yp e r f o 珊a n c e o nt h er o b u s t n e s sa n dr e a l - t i m er e s p o n s e t h i ss v s t e ma l s oh a sm a n yo t h e ra d v a n t a g e s s u c ha s e a s i l y p a c k e d m u l t i f 妇c t i o n a lc a nb u sn o d em o d u l e ,c o n v i n e n tu s bb a s e dc o m m u n i c a t i o n i n t e 渤c ea n dt h eo p e nc h e a pe a s i l y c o r l t r o l e dc a n b u s t 1 1 e s ea d v a n t a g e sm a k et h e s y s t e ma p p l i c a b l et om o n i t o r t h es e c u r i t ys t a t u so ft h es l o p eo ft h el a x i w ad 锄 k e vw o r d s :c a n ,f i e l d b u s ,l o n g - d i s t a n c e c o n t r o l n e t w o r k , c 8 0 5lf c o m m u n i c a t i o n ,r e a l t i m e ,s t a b i l i 哆 中国科学技术大学学位论文原创性和授权使用声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作 所取得的成果。除己特别加以标注和致谢的地方外,论文中不包含任 何他人已经发表或撰写过的研究成果。与我一同工作的同志对本研究 所做的贡献均己在论文中作了明确的说明。 本人授权中国科学技术大学拥有学位论文的部分使用权,即:学 校有权按有关规定向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借阅,可以将学位论文编入有关数据库进行检 索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 保密的学位论文在解密后也遵守此规定。 作者签名:至壁垂 2 0 0 8 年4 月2 1 目 第l 章绪沦 第1 章绪论 1 1网络控制系统的发展 囊动控制系统,随着计算梳技术的出现帮发展,从传统的模拟控制系统发 展到计算机数字控制系统。随着网络技术的不断发展以及微控制器芯片技术的 发展,控制系统又从集中式控制逐渐向分散式控制发展,将网络引入到控制系 统中,组成网络控制系统,实现控制系统的全数字化、网络化。 爨1 9 5 0 年代开始出现计算机控制系统。一开始,毒于技术的限制,计算机 控制系统仍然离不开模拟控制器。直到直接数字控制( d d c ) 系统发展起来以后这 种情况才得到改变。在d d c 系统中,计算机取代了模拟控制器,计算机的输出 不再经由模拟控制器间接地作用于被控对象,而是直接地经d 席转换作用于被 控对象。 随着控制系统的规模的不断扩大,以及计算机技术的飞速发展,分布式计 算机系统由必要成为可能。分布式控制系统( d c s ) 应运而生。在d c s 中,几台相 互关联的计算机连接到同个网络,形成分布式控制系统。但是,陇s 中的控制 节点之间的关联是松散的,因为,实时的控制任务,如采样、计算以及执霉亍, 是在单个的处理站点中完成的。只有一些_ 歼关量信息、监控信息、报警信号等 是通过网络传送的。所以,d c s 不是完全意义上的网络控制系统。 现场总线的患现促进了现场设备的数字化荸毽网络化,并且使现场控制的功 能更强大。这一改进带来了过程控制系统的开放性,使系统成为具有测量、控 制、执行和过程诊断的综合能力的控制网络。 网络控制系统( c s ,n | e t w o r l ( e d x 籀l 章绪论 通信连接,用于警动控制系统和设备级分散的i o 之问进行通信。陌o f i b u s f m s 用来解决车间级通用性通信任务。与l l i 构成应用层,f m s 包括了应用协议并向 用户提供了可广泛选用的强有力的通信服务,l 乙i 协调了不同的通信关系并向 磁s 提供了不依赖设备访问数据链层。黯o f i 8 u s 一黢专力过程毒动化丽设诗的, 它可使传感器和执行器接在一根挟用的总线上。 p r o f i b u s 优点是产品成本低,技术指标高,自主性高。缺点是开发周期长, 产晶成熟需要较长时阆,并且要求开发人员了解一定的p 鬟o f l 8 u s 技术细节,另 外7 0 的首次开发产品第一次认证测试不合格。p r o f i b u s 主要应用领域有:制 造业囱动化,过程控制自动化,电力自动化,楼宇自动化,铁路交通信号系统( 佚 名,1 9 9 7 ) 。 2 、l o n w o r k s 总线 l o n w o r k s 是由美国e c h e l o n 公司于1 9 9 2 年推出的现场总线,它采用i s o o s i 模型的全部7 层通讯协议,这是在现场总线中唯一提供全部服务的现场总线, 在工业控制系统中可同时应用在s e n s o r8 u s 、d e v i c e8 u s 、f i e l db u s 等任何 一层总线中。支持双绞线、同轴电缆、光缆和红外线等多种通信介质和多种拓 扑结构,并开发了本质安全防爆产品,被誉为通用控制网络( 邬宽明,1 9 9 6 ) 。 l o 勰。姝s 的核心是神经元芯片( n e u r o 羚蕊i p ) ,使焉c 鹾。sc 毯i 技术的神经 元芯片使实现低成本的控制网络成为可能。神经元芯片是高度集成的内部含有3 个8 位的c p u :第个c p u 为介质访问控制处理器,处理l o n t a l k 协议的第一层 和第二层;冀e u r o 羚芯片的编程语言为 e u r o 歉e ,它是从矗n s 王c 中派生嬲来的, 并对a n s ic 进行了删减和增补。n e u r o n 芯片可以通过5 个通信管脚与网络上的 其它节点交换信息,也可以通过1 1 个应用管脚与现场的传感器和执行器交换信 息。l 圭个应用管脚具有3 4 种应用操作模式,可以在不同的配置下为外都提供灵 活酌接墨和芯片内部的计时器应用。第二个e 跚为网络处理器,它实现乙。孵a l k 协议的第三层至第六层。第三个c p u 为应用处理器,实现l o n t a l k 协议的第七 层,执行用户编写的代码及用户代码所调用的操作系统服务。神经元芯片实现 了完整的l o 羚鬻o r ;( s 的l o 蝮a l k 通信协议。 l o n 总线的优点是可节省硬件数量与投资,安装费用和维护开销较低,用户 具有高度的系统集成主动权,系统的准确性与可靠性得以提高( 赖昊,1 9 9 9 ) 。 但是缺点是目前各l o n 厂家生产的神经元芯片输入时钟的最大频率只有1 0 麓 z , 4 第l 章绪论 这对于某些高速或者要求网络响应速度较快的情况,会有些力不从心,所以在 使用的时候,为了以后扩展系统方便,一般都将神经元芯片和其他微处理器联 合使用:另外其昂贵的价格却令好多用户望而生畏。目前l o n g w o r k s 应用范围 广泛,主要包括工业控制、楼宇自动化、数据采集、s c a d a 系统等。国内主要应 用于楼宇自动化方面。 3 、c a n 总线 c a n 总线是德国b o s c h 公司从8 0 年代初为解决现代汽车中众多的控制与测 试仪器之间的数据交换而开发的一种串行数据通信协议,它是一种多主总线, 通信介质可以是双绞线、同轴电缆或光导纤维。通信速率可达1 m b p s ( 范恺,2 0 0 0 , 刘光,2 0 0 6 ) 。 c a n 协议建立在国际标准组织的开放系统互连模型基础上的。不过其网络模 型结构只有三层,即只取0 s i 底层的物理层、数据链路层和顶层的应用层。其 信号传输介质为双绞线。通信速率最高在4 0 m 内可达l m b p s ,直接传输距离最远 可达1 0 k m ( 5 k b p s ) 。每条总线可挂接节点数多达1 1 0 个( 阳宪惠,1 9 9 9 ) 。 c a n 总线通信接口中集成了c a n 协议的物理层和数据链路层功能,可完成对 通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别 等项工作。信号传输采用短帧结构,每一帧的有效数据为8 个字节,正因为如 此,每帧传输时间短,受干扰的概率也就低。加上优良的仲裁和同步机制、报 文自动过滤重发、总线错误检测机制,使得c a n 总线特别适用于实时性、稳定 性要求高的网络( e e n ag ,2 0 0 0 ) 。 c a n 总线的优点,突出表现在其结构简单、稳定性能高、抗干扰能力强、扩 展性和开放性好,以及成本低廉等方面;而缺点则是传输报文短,限制了大批 量数据的传送效率,例如视频监控、大数据文件传送等应用,另外由于网络模 型简单,系统设计需要从底层开始,难以实现较为复杂的高级应用,开发工作 量也相对较大。c a n 总线主要产品应用于汽车制造、公共交通车辆、机器人、液 压系统、分散型i o 。另外在电梯、医疗器械、工具机床、楼字自动化等场合均 有所应用( i l l a g i nr ,2 0 0 0 ) 。 4 、r s 一4 8 5 4 2 2 总线 r s 一2 3 2 、r s 一4 2 2 与r s 一4 8 5 都是串行数据接口标准,最初都是由电子工业 第l 章结论 琨测时,不可避免的会出现入为误差或错误,可能会对益测资料的后期分析带 来不必袋的误导和膦烦。同时,采用人工观测耗费大量的时间,人力,物力等 资源,一定程度上造成资源的浪赞。 另外,高建装入工监嚣曩蓊太长,壤据合褥一般l 天左右,墨存在边坡稳 定问题时,也许边城失稳仅仅在三五天内就能袭生,而按照普通人工观测的周 期判断,普通人工观测可能无法及时捕捉边坡的变位信息,因丽无法及时超瓢 预警预摄的终是,可髭会为王程造成巨大餐损失。 3 、商边坡入工簸测时,盗测人员自身韵安垒问题比较突出。由于边坡陡峻, 监测人熙每次监测都冒着生命危险。雨季来临,根据以往的经验,每次雨后边 壤土都的落石较多,两这对往往又是这坡变位发展最快熬嚣孪埃,需要及时监测, 掌握边坡变形动态。另辨,当边坡变遵鸯蠢蟊速趋势黠,需要晚上进行热密监溺, 这些都附监测人员的安全构成了威胁;同时也对施工设备等设施构成威胁1 4 、安全监测系统能保证监测数据的完整性。若数据不宠整,数据处理分析 就裁无源之拳,无法正确浮蛩、评估高速坡豹安全牲。离边坡传惑器戆选用、 系统的支护设计、高边坡应力应变理论的分析都需要建立在多年大量可靠的数 据之上,才能验证设计及计算理论。这将给今聪的设计施工提供可靠的理论基 醚。 s 、一座大坝需簧1 0 e 多攀糕上豹运行。在运行麓蠹,遇蓟天灾 瑷瑟,表隧溪惠壤翡搂竣; 誉姣羧予搂霰造蓦蕊缱慕; 参鼗献e 麓覆运一次将攘笈整获惹, 袭嘲没有消息完整地被成功接收。c a n 校从不将其复位。 t x 龇成功传输一祭消息 l 若c p l j 最后将其复俄,褒嘴一条完整的淤患成功( 无镄辩爨疹被阕隔带点 赡试) 蓑稳。 垂 案列媾羹羹霞,交麟潺薤鹫囊否藏臻。麟褛季会番冀夔捷。 氢黼羲嚣巷谈秘在0 舔慧线主襞燃缝羲螽一令镑淤鼹錾 o 光错 ls t u r fe r r o r ( 位填究锚误) ; 在辙撩收到的消息媳部分中,出聪7 一个序列有多子s 个枢等的比特, 纛这瓣不兔诲鲍。 2 勋辫妞r 技 箍袁镶溪:一警接鬏羲孛懿鼹宠囊蓑骜癸漆镶谟戆臻式。 s 妻e 氧鼢r 酸灞获错谖:这争舔菝蕊漆鹣潺怠覆骞筏熬争节熹臻试。 4b it l 撼r r o r ( 比特1 错凝) 目在一个消息的传输期间( 仲裁域除外) ,设备想 要艘磁一个r e c e s s i v el e v e l ( 逻辑值为l 的比特) ,但魑j | i 2 c 视的总线值为 d o m i n 8 n t 。 5b 主t 藤r r 。r 镤:特0 镫谈:在一条瀵息熬键埝辩藤( 或确试懿,或活裁锩谟 蠢恚,壤适曩蠢恚,漩蚤蘩要茇送枣蠢。箍i 怒髓l e v 搴l 鼗蓬蓑蠡器篝 客避瓣壤,毽怒熬筏蔻线戆蘧斋黼e e s s i ¥e 褒魄s o 雾f 恢复蘩弱, 每当谢幽1 1 个r e e e s s i v e 比特组成的序剐被检测到时,这个状态要被置槐, 这使得c p u 能够监视b u 8 0 r f 恢复序列的谶棵。 6c r c 聪r r o r ( c r c 昔i 是) : 接收粼瓣港忘孛e 繇捻瓷黎不正酶,搿接收封戆e 嚣馓燮瓣惩对接牧燮靛羧 撵嚣辣褥茭蕊捡囊鞫苓粳等。 7 罄躞器熊事蓑凌憨: 当l 瓣嚣示数值7 ,猩c p u 将这个栽筒剽l e c 的情魂下将检测不封任筒e a n 总线的状态l e c 域维持个编码,此编粥。娆示了c a n 总线上发生的最后错洪 的獭燃。如果消息融鼢尤错传输( 接收戚发出) ,它将被清& 娃e p u 写夭u n u s e d 锱? 臻柬捡蠢雯躲。 蔼毒。器e 蜊状态寄存器 镁设c 矗n 控制蛰存器中黪楼艘允许位都已经竣设定,粼霹默通道转雌穗 囊蠹襄蕊凄篱中龋) 或者霆x 激、专x 馥蠢嚣获悉薮变孛羹) 塞产生装悫孛瓶。 4 3 第4 章系统软件设计及分析 e p a s s 位( 被动出错位) 的改变,或者对r x o k ,t x o k ,和l e c 的写操作都不能够改 变状态中断。若状态中断还未处理的话,读取状态寄存器会清除中断寄存器中 的状态中断值( 8 0 0 0 h ) 。 消息接口寄存器组 有两组接口寄存器被用来控制c p u 对消息r a m 的访问。接口寄存器通过缓 存传输将要传输的数据,避免了c p u 访问消息r a m 时同c a n 消息的发送和接收 之间的冲突。在单个传输中,一个完整的消息对象或者消息对象的一部分在消 息r a m 和i f x 消息缓冲寄存器之间进行可靠传输。两个接口寄存器组的功能时 一样的( 除了测试处于基本模式) 。它们可以这样使用:一组寄存器用来接收数 据到消息r a m ,而另一组则用来从消息r a m 发送数据,同时允许它们可以互相被 中断。每一组接口包括由它们自己的命令请求寄存器控制的消息缓冲寄存器, 命令掩码寄存器指定了数据传输的方向以及哪一部分消息对象要被传输。命令 请求寄存器用于选择消息r a m 中的一个消息作为传输的目标或源,并开始执行 由命令掩码寄存器指定的动作。 1 i f x 命令请求寄存器( 索引号:o x 0 8 ,0 x 2 0 ) c p u 将消息号写入命令请求寄存器,一条消息的传输便开始了:伴随着写操 作,b u s y 位自动设为l ,c a n w a 工t b 信号变为低电平以便通知c p u 传输正在进 行中。等待大约3 6 个c a n c l k 时间段以后,接口寄存器和消息r a m 之间的传 输完成。b u s y 位变回。o ,c a n _ w a i t b 变回高电平。c a n - w a i t b 是由硬件和b u s y 位共同控制的。 i f l 命令请求寄存器 rrrrrrrrrrr w ( 索引号0 x 0 8 ) b u s y r e sr e sr e s r e sr e sr e sr e sr e sr e s m e s s a g en u n b e ri i f 2 命令请求寄存器 b u s y r e s r e sr e sr e sr e sr e sr e sr e sr e s m e s s a g en u n b e r ( 索引号o x 2 0 ) 1 51 41 31 21 1l o98 765 4 32lo b u s y忙碌标 1 对i f x 命令请求寄存器进行写操作的时候设为“l ”。 o 当完成读写操作时重设为0 。 m e s s a g e n u m b e r消息号码 o x o 卜o x 2 0 有效m e s s a g en u m b e r ( 消息号) ,选中消息r a m 中的消息对象进行 传输。 0 x 0 0 刁i 是,。个有效的消息号,当作o x 2 0 中断。 o x 2 卜0 x 3 f 不是个有效的消息号,当作o x 0 1 0 x 1 f 中断。 注意:当一个无效的消息号! ;入命令请求寄存器时,这个消息号会转换成- 个有效值, 然后传输这个消息对象。 图4 6i f x 命令请求寄存器 第4 章系统软件设计及分析 2 i f x 命令掩码寄存器( 索引号:o x 0 9 ,0 x 2 1 ) 命令掩码寄存器中的控制位指定了传输的方向,并且决定选择哪个i f x 消 息缓存寄存器作为数据发送的目的或源。 4 5 第4 章系统软件设计及分析 4 i f x 仲裁寄存器( 索引号:o x 0 c ,0 x o d ,0 x 2 4 ,0 x 2 5 ) i f l 仲裁寄存器1 r w r wr wr ( 索引号:0 x 0 c ) i d l 5 0 i f l 仲裁寄存器2 m s g v a l x t dd i ri d 2 8 一1 6 ( 索引号:0 x o d ) i f 2 仲裁寄存器l ( 索引号:o x 2 4 ) i d l 5 0 i f 2 仲裁寄存器2m s g v a l x t dd i ri d 2 8 一1 6 f 壶弓i 县,n y s 、 1 51 41 31 2l l1 0987654 3 2 1o m s g v a l 消息有效 l 消息对象被配嚣并且通过消息处理来考虑。 o消息对象被消息处理忽略。 注:在初始化时,并且在c p u 重置c a n 控制寄存器的i n i t 位之前,c p u 必须重置所有未被 设置的消息对象的m s g v a l 位。这个位还必须要在标志位i d 2 8 一o ,控制位x t d ,d i r ,数据 长度码d l c 3 0 修正之前或如果消息对象已经不再要求的情况下被重置。 x t d 扩展标志符 l 2 9 位( 扩展) 标志符将会在消息对象中使用。 o1 l 位( 标准) 标志符将会在消息对象中使用。 d i r 消息方向 l 方向= 传输 在传输请求t x r q s t ,分别的消息对象以数据桢被传输。在接收带有匹配标志符的 远程桢时,这个消息对象的t x r q s t 位被设罱( 如果r m t e n = 1 ) 0向= 接收 在传输请求t x r q s t ,这个消息对象的带有标志符的远程桢被传送。在接收带有标 志符的数据桢时,消息被存储在消息对象中。 i d 2 8 一o消息标志符 i d 2 8 一i d o 2 9 位标志符( 扩展桢) 。 i d 2 8 一i d l 81 l 位标志符( 标准位) 。 m s k 2 8 一o 屏蔽标志符 l 相关的标志符位被用于接收过滤。 0 在消息对象标志符的相关位不能抑制在接受过滤得匹配。 图4 9i f x 仲裁寄存器 第4 章系统软件设计及分析 6 i f x 数据矗和数据b 寄存器( 索引号分别为0 x 0 f , o x 2 8 ,0 x 2 9 ,o x 2 a ) c a n 消息的数据字节按以下顺序存放在i f x 消息缓冲寄存器中。 l5l4l3l2lllo98 765432lo 洋lm e s s a g ed a 谗al ( a d d r e s s e so x o f d a l a l d a 括( i f lm e s s a g ed a t aa 2 ( a d d r e s s e so xlo ) d a t a 3 )d a l a 2 i f lm e s s a g ed a t ab 1 ( a d d r e s s e so x1 1 )d a t a ( 5 )d a t a ( 4 ) i f lm e s s a g ed a t ab 2 ( a d d r e s s e s0 xl2 ) d a t a ( 7 )d a t a ( 6 ) l f 2m e s s a g cd a t aal a d d f e s so x 2 7 )d a l a 1 )d a t a o ) 羚2 醚e s s a g ed a 括a 2 ( 嬲纛辑s s e s0 x 2 8 ) d a l a f 3 )d a l 建f 2 ) l f 2m e s s a g ed a t ab l ( a d d r e s s e so x 2 9 ) d a l a 5 d 盎l a 4 ) i f 2m e s s a g ed a t ab 2 ( a d d r e s s e so x 2 a ) d a t a ( 7 )d a t a ( 6 n vn , 图4 1 li f x 数据a 和数据b 寄存器 在每一个c a n 数据的帧中,d a t a ( o ) 是第一个传送或接受的,d a t a ( 7 ) 是最 后个。在c a n 连续的位流中,每一个字节的最高有效位被第一个传送。 消息内存中的消息对象的小结: 在消息r 勰中有3 2 个消息对象。为了避免c 粥到消息r 矗鹾的通路和e 脯消 息接收和传输的冲突,c p u 不能直接访问消息对象,这些对象通过i f x 接口寄存 器来控制。下表给出了消息对象的两种结构的概况。 表霹2 消意对象的掰种结构 表4 。2 中,零表示由内部硬件决定,c 刚只能读焉再处理,其绝各位是可| 以 改变的,c a n 2 0 b ( 全功能c a n ) 的每个消息包含1 3 6 位,即u m a s k ( 1 ) 十m s g v a l ( 1 ) 十m x t d ( 1 ) + x t d ( 1 ) + m d i r ( 1 ) + d i r ( 1 ) + e o b ( 1 ) 十d l c 3 一o ( 4 ) + r x i e ( 1 ) + l x 王芝( 1 ) + r 璎t 瓣( 1 ) + 醚s k 2 8 0 ( 2 9 ) 王d 2 8 0 ( 2 9 ) d a 乞a ( 6 4 ) = 1 3 6 位。相霸三之下 c a n 2 o a ( 标准c a n ) 的i d 和m s k 则均为l l 位。 u m a s k ( 屏蔽码使能) ,m s k 2 8 一o ( 屏蔽掩码) ,m d i r ( 过滤方向) ,m x t d ( 掩码 长度) ,e o b ( 队列最后一个) ,n e w d a t ( 消息新数据) ,m s g l s t ( 消息丢失) ,欺壬e ( 接 5 0 第章系统软件设计及分褥 收允许) ,t x 王发送允许) ,王n t p n 蘸( 中断拄起) ,霉x r q s t ( 发送请求位) ,m s g ¥8 l ( 消 息有效) ,i d 2 8 一o ( 标准码) ,x t d ( 标准码长度) ,d i r ( 方向) ,d 3 一o ( 数据长度) , d a t a ( 数据) 。 消息处理寄存器 所有的消息处理寄存器都是只读的。它们的内容( 每个消息对象的 霉x r 遥s 毫,瓣e w 参a 乞,王n 乞p 建d ,瓣s g ¥氇i 位帮中断标志簿) 是由瀵惠处理的有限状态 机所提供的当前信息。它们包括中断寄存器( 索辱l 号:0 x 0 4 ) 、传输请求寄存器、 新数掇寄存器、中馘挂起寄存器和消息有效寄存器。 l 。中断寄存器( 索弓l 号o x 0 4 ) 索弓l 号:淑激 | 嬲d 1 5 o中甄掠悫符( 这墨酶数字代装审鼹潦 o x o o 没鸯r 颧歪在接超静 e x 0 1 o x 2 0 弓l 发中暖瓣清息对黎号 o x 0 0 2 1 o x 7 f f f 术分配 o x 8 0 0 0 状态哮l 鞭 淑8 1 o x f f f f 来分配 圈藤1 2 中断寄存器 如果几个中断溅在挂起,则c a n 中断寄襻器以最高的优先级来指向这些挂 趋的中断,焉不考虑它镌的时序。在c p 馨发出清除翕令嚣,个中断是直傈 持挂起。如果王n t l d 不为o x 0 0 0 0 并且中断有效已设置,到e 跚和王r q _ b 的中断 线( i 稚专e 狂u p th n e ? ) 有效。在王n 毫l d 回到o x 0 0 值( 中断的原因被重攫) 或中 断有效被重置之前,中凝线是一鲞有效的。状态中断有着最离的优先级。在消 息中断中,消息对象的中断优先级高低蹩随着消息编号的增加而减小的。 消息中断是由清除潲息对象的芝n t p n d 位采清除的。面状态中断是l 圭l 读取状 态寄存器来清除。 2 传输请求寄存器 5 l 楚4 章系统软纷没计及分辑 一一一。一,。一一l 54l3l2lllo 9s 7654 32lo ll 硼l m 1 5 5 i u 口“瞄ili 、c 苎i ,嵋l ( a d d r c s s c so x 4 0 ) t x r q s t l 6 9t x r q s t 8 - l 1 r r 黼s m i s s i o nr e q u c s l2r e g i 逝r t x r q s t 3 2 2 st x r q s t 2 4 一l7 1 x r q s t 3 2 1 传输请求位( 对于所有的消息对象) l 消息对像的传输是被潲求的而且没有究成。 o 消息对象没有等待被传翰。 这个毒存器占撰羲3 2 令瀵息对象麓弧交鼋s 馥。通过读取纛酗s l 往,e 聪可殴餐磁骤 个消息对象的话输清求是挣起的。两特殊消意对象的取r q 髓佼在接收到远稔梭或是 在传输成功之后,可以通过l f x 消息接口寄存器或消息处理来设鬣或重置。 3 新数据寄存器 图毛1 3 转输请求寄存器 i ( wu 凸辑l l 、喵) 嘲 a 懿犯s s e so x 4 辩 n 蹦d 建蛙南多 n e 谗d 曩重s - l n e w d 嫩2 g i 粥r 拜e w d 叠醇2 1 2 墓 n e w 壤垃霹* 1 7 n 巷棒d 越3 2 - l 薮数据傻对予新有的瀵患对象) 1 渍塞筵瑾或c p u 若经对溺怠对象羹蒸餐数攒萼入彳赣瓣鼗覆 8 跌土”次c p u 涛零标志穰,f 娥没有新的数据写入消息对象盼郝份数据 m s 幽s t 这些寄存器占据着3 2 个消息埘缘的新数据位。通过读出新数据像,c p u 可以查出哪个消息 对象的数据部分畦缀更新。而特殊消息对象豹新数据位在谈收到远稷拨戡是在传输成功之后,可 敬遴过l x 潼患搂秘寄存器或漠塞楚避寒设鋈或重簧 4 中断挂起寄存嚣 图垂1 | | 垂新数据寄存器 繁霹肇系统袭斡设诗及分辑 lsl4l3l2lllo 98 7 6543 2lo l n i r r u p 【r e i l u- i l 器l e g l s i 口i 【a d d | | e s s t:s o x 5 0 ) i n t p n d l 6 9i n t p n d 8 i i 箍拖勰窭羚藤i 旗2r e g i s 绺 l 寿l 翱症3 2 - 2 sl 搀穆囊d 2 4 1 7 i n t p n d 3 2 一l 中断撞起位( 对予所有的清息对黥) l 这个消息对象是中断源 o 这个消息对象小怒巾断源 这些寄存器占撼藩3 2 个薅息瓣象麓| 魏雾嚣黢。邋过读塞l 曩雾聪畦德,疆;哥羧搂鑫罄 令滇惠对蒙鹣泽蕻爵接起秘。藤特殊薄怠瓣黎蕊孛驽挂起餐簌接收羹远程棱或是 在传输成功之艨,可以通避j 瓢消息接口寄存器或消息处理潦设置或重置。蔼这也 会影响中断寄存器的中断标漆值 5 消息有效l 寄襻器 鬻奄薹善孛羲挺起鬻存器 莲0 3渊控制器睹疼与位楚冀李设置 c a n 支持1 k b i t s 到1 0 0 0 k b i t s 的位率,c 脒网络的每个成员有融己的时 钟产生器,通常烛石英晶体振荡器。这些掇荡器的频率不是绝对稳定的,温度, 龟篡,或是器襻的老琵蒸煮霹蕤导蒙蒙率夺麓交德。毽是只要这释徽小变健在 振荡器的容许范围漆,c a n 节点都可以通过瓣位流的再露步来减小位率变化而带 来c a n 节点之间位率的不同。根据c a n 规范,一个位时被分成4 个时段,如图 4 。量? ,霹霹多时毅,襞播对段,裰袋缓冲对段l ,捃蕴缓渖黠段2 ( 秩名,2 e 国。 5 3 第4 鬻系统软传没计及分橇 l 佼瓣间( 鞘t 骶黼枣) l 同步爱蒋瓣时爝羧糨餐缓跨段莲魍谴缓墼蔑2 r 一”一。一1一_ 。 一 l l l l l | | l l 1 卜ll 7 1 ii 1 个缀孚时闯 了i m e 臻u a n t u m t c l 鼎撇 匿龟董? 粼霞露瓣缝成暴意蓬 阕步时段s y n c s e g 是位时的部分,也就是c 艄总线级别跳变发生的时段, 存在予s 邓c s e g 外的跳变与s y 秘g j e g 之间麴距离被称为跳变的相位诶麓。传 撬辩段黠。乳s e g 是米蛰褛然瓣终粪蒸翁耪瑗延露。糖篷缓冲对段魏r a s t s e 鬈l 和髓r 氇$ e _ s e 9 2 之间是样本点。同步跳转宽壤定义了再淄步方式可以将样本点 在相缓冲位时段移勘多少距离来减小跳变相位误差。 传播时段& 羹j e g 燕焉来补偿网络糍理时延鳇,该游延惫括售号在总线上 熬传播对溺和e 烈节点内部的辩延。e 脯诲议的菲破坏性仲裁和c 矧消息攘收方 提供麴鼹性确认要擞一个c a n 节点在传输一个位流时必须也能接收到来商同步 予这个健流的e a n 节点发送的显性比特。 籀雹缓渖对段( 轴a 鼹一s e g l 和滩a s 譬j e 9 2 ) 和溺步跳转宽度( s 渤是耀来补 偿振荡器的误差秘噤声尖峰的。它的大小一方丽由初始纯确定,另一方黼它可 由c 艄控制器内部进行硬同步幂爨殛同步,从聪改变相位缓冲时段的宽度,也可 童褥步翱长或缩短。 褥步时段( s y n c s e g ) 是为了减小c 矧总线跳变相位误差而设计的。 c 燃时闻量子( 专。) 是e 艄控制器能识别的娥小时闻单元。作为位时的时闻基 本单嚣,一个量予瓣涟定义) 尧乞= 8 赠厶+ 其中,8 黔是基勰d 襄鑫毫卺 p r e s 穗。薹e r 波特率磷分频器,纛。悬c 矧系统时钟的频率,酃模块中引脚徽n l i ( 上熬输入。c 熊控雠器鲢系统时锌( ;。) 来鲁c 卜5 圭的系统对镩,壶予蕊藤通 第4 鬻系统软 , 波计及分析 注( 1 ) 如果p 1 8 s e s e g i + p h a s e s e 9 2 为霹毽数,癸lp h a s e s e 9 2 = p h a s e s e g l 。 否则,p h a s e s e 9 2 = p h a s e s e 9 1 + l :( 2 ) p h a s e s e 9 2 至少应为2f 。 瓣步踺转宽凄( s 婵) 这一时序参数由式硅。2 定义,该参数爝于确定写入到位 定时寄存器中的数值和确定掰期望的振荡器误差。由予我们使焉石英鑫体作为 系统时钟源,所以不需要计算掇荡器误差容限。 s j w = m i n ( 4 ,p h a s e s e 9 1 )( 4 。2 ) 写入到短定霹寄存器中豹篷建方程4 3 计算。塞器扩展寄存器谍持其复短篷 o x 0 0 0 0 不变。式4 3 4 7 给出了位定时寄存器值的计算。 b r p e = b r p l = b r p 扩展寄存器= o x 0 0 0 0( 4 3 ) s j 鞲p = s j 谨 一 l = 璜i n ( 4 , 6 ) 一 l = 3 4 。4 t s f 添l = ( p r o p s e g + p h a s e s e g l 1 ) = 9 + 6 一l = 1 4( 4 5 ) t s e g 2 = ( p h a 8 e s e 9 2 1 ) = 5 ( 4 6 ) 位嚣警舞唾寄军;器嚣t s e g 2 o x l 0 0 0 + t s e g l o x o l o o + s j 磷,0 x 0 0 4 e + 8 r p e = 0 x 5 鹭 4 。7 初始化c a n 定时寄存器的熟体步骤如下: 1 将s f r p a g e 寄存器设置为c a n o _ p a g e 2 将蠢餮n 每存器孛黧羔n 王t 帮蕊位设置隽圭 3 将c a n o 舶r 设置为o x 0 3 ,以指向位定时寄存器 4 使用间接索引法向c a n o d a t h :c a n o d a t 乙写入0 x 5 e c o 以设置位定时寄 存器 s 。位定时设鬣完成,继续执行其它e 躺初始化任务( 佚名,2 0 0 4 ) 。 针对本文的c a n 总线通讯程序的设计和c 8 0 5 1 f 应用实例,根据以上这些重 要的寄存器组和相关e 州控制嚣设置方法,需要设计如下五秸c a n 通讯程序: 位定时设置及e 剁的初始讫 3 2 个消息对象的初始化 c a n 发送程序 融n 数据到达和发送成功标志等萨常佟输中繇处理程序 各种出错处理程序 此外,加上c 8 0 5 l fm c u 自姆时钟和i o 阴、中断初始化等底层系统程序, 软件设计通过l ( e ile 5 l 具体实现。 ( e i 圭软件是匿前最流行开发辫s 一5 l 系列单 第4 章系辘软件设计及分据 片枫的软件,提供了包括e 编译器宏汇编连接器库管理鞠一个功能强大的仿真 调试器等在内的毙憋开发方案,通过一个集成歼发环境( u v i s i o n ) 将这拨部分组 合在起。接下来分别奔绍在嚣ei王c5圭编译环境下各种功能鲢实现。 4 3 c a n 通讯程序软件设计 霉3 。薹 系统拐始纯鞫交叉署关号l 嬲分鬣系统初始化程序 v o 撼m 垂n ( v o i d ) l 翼蠢 d鼢i rr e s鹾s k 2 8 一1 8 1 5l41 3i 2 l l l o98765432lo 袱t d 屏蔽扩展标志符( 即i d 是否要扩展的掩码过滤标识符) l 扩展标志符位( i d e ) 用作接受的过滤。 o 扩展标志符位( i d e ) 对接受过滤作用没有影响。 注:当l l 霞( 标准) 标志符溺终消惠对象时,接收数据桢酶标悫譬擎写入到l 登2 8 戮l d l 8 位。对接受过滤,只有这些带有有羼蔽位鹾s k 2 8 到醚s k l 8 才会被考虑。 船i r屏蔽方向 1 消息方向位(

温馨提示

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

评论

0/150

提交评论