(动力机械及工程专业论文)wtb总线节点链路层设计与实现.pdf_第1页
(动力机械及工程专业论文)wtb总线节点链路层设计与实现.pdf_第2页
(动力机械及工程专业论文)wtb总线节点链路层设计与实现.pdf_第3页
(动力机械及工程专业论文)wtb总线节点链路层设计与实现.pdf_第4页
(动力机械及工程专业论文)wtb总线节点链路层设计与实现.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

(动力机械及工程专业论文)wtb总线节点链路层设计与实现.pdf.pdf 免费下载

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

文档简介

大连理工大学硕士学位论文 摘要 w t b 的全称为绞线式列车总线,是由包括中国在内的世界主要列车生产国和运营 国共同参与制定,并由i e c 于1 9 9 9 年颁布的( i e c 6 1 3 7 5 1 电气轨道车辆设备车辆 总线标准的一部分。该总线主要面向轨道车辆,因此在世界各地的干线列车、城际快 轨以及地铁中得到了广泛的应用。 w t b 总线在国内已经有了应用,如一些型号的动车组,以及某些城市地铁列车。 但总体上来说,国内的w t b 总线应用仍然停留在购买国外成套设备的层次上,真正能 得到国际认可的自主研发的w t b 网络设备还是空白。 本文研究了i e c 6 1 3 7 5 第一部分列车通信网络w q b 的链路层部分的内容,利用 s a b 8 2 5 2 5 高级串行通信控制器及a m 7 9 6 0 曼彻斯特编解码器制作了符合w t b 标准的 介质附件单元硬件,并在a v r 单片机的控制下,可以操纵硬件进行符合协议的帧的收 发。另外,利用微软的v i r t u a lp c 以及虚拟串口软件在个人电脑平台上搭建了一个w t b 仿真平台,数据传输由虚拟r s 2 3 2 实现,并通过编程手段实现了总线开关等功能。最后, 在此仿真的平台上进行了w t b 总线初运行功能的开发,并且依据协议的实时性要求采 用了u c o s i i 嵌入式实时操作系统作为开发平台,用c 语言按照协议中的叙述和流程 图编写了程序,经仿真测试,可以顺利完成初始化过程。初运行的成功运行也验证了仿 真平台的正确性。 关键词:绞线式列车总线;仿真;嵌入式实时操作系统;初运行 w t b 总线节点链路层设计与实现 t h ed e s i g na n dr e a l i z a t i o no ft h el i n kl a y e ro ft h ew t bn o d e a b s t r a c t 仃bi ss h o r tf o rw i r et r a i nb u s i ti sap a r to ft h ei e c 6 1 3 7 5 1e l e c t r i cr a i l w a y e q u i p m e n t - t r a i nb u si n t e r n a t i o n a ls t a n d a r d ,w h i c hw a sp u b l i s h e db ym c i n19 9 9 c h i n a , a n d m o s to ft h ew o r l d sb i g g e s tt r a i nm a n u f a c t u r e r sa n d o p e r a t o r sp a r t i c i p a t e d i nt h i s s t a n d a r d i z a t i o nw o r k i ti s p r i m a r yd e s i g n e df o rr a i l w a yv e h i c l ea n dw i d l yu s e di n 1 0 n g - d i s t a n c et r a i n s ,h i 曲s p e e dt r a i n sa n ds u b w a yt r a i n s 舳h a sa l r e a d yb e e ne q u i p p e d 血s o m eo ft h eh i g hs p e e dl o n gd i s t a n c et r a i n sa n d s u b w a yt r a i n s ,b u ti ng e n e r a l ,m o s to ft h e s ee q u i p m e n t sa l eb o u g h tf r o mf o r e i g nc o m p a n i e s s u c hd e v i c e sd e v e l o p e db yo u r s e l v e sa n dc a l lb ea p p l i e dt op r a c t i c a lu s ea r es t i l lab l a n k n l i sp a p e rs t u d i e dt h e 帅p a r to ft h ei e c 6 1 3 7 5 1 ,a n dm a i n l yf o c u s e do nt h ed e s i g n a n dr e a l i z a t i o no ft h el i n kl a y e rw i ms a b 8 2 5 2 5a n da m 7 9 6 0 t w os a m p l e sw e r em a d et od o ac o m m u n i c a t i o nt e s tu n d e rt h ec o n t r o lo f t h ea v rm e g a l 2 8m i c r o c o n t r o l l e r , a n dt h er e s u l t s p r o v e dt h a tt h em a i 7h a r d w a r ec o u l dm e e tt h es t a n d a r d sb a s i cc o n n e c t i o nr e q u i r e m e n t a n o t h e r o bo ft h i sp a p e ri st oc o n s t r u c tas i m u l a t i o np l a t f o r mf o rt h et e s to ft h ew t b s o f t w a r e t 1 1 i sp l a t f o r mi sc o m p o s e db ym i c r o s o f tv i r t u a lp ca n dt h ev i r t u a ls e r i a lp o r t s d r i v e r t h ev i r t u a lp cp l a y sa s h bn o d e s a n dt h ev i r t u a ls e r i a lp o r t sd r i v e t p r o v i d e s r s 2 3 2c o m m u n i c a t i o nf u n c t i o nt os i m u l a t et h ed a t at r a n s m i s s i o ni nar e a lw t b w i r e f i n a l l y , a ni n a u g u r a t i o ns o f t w a r ew e r ed e v e l o p e do nt h i sp l a t f o r mu s i n gu c o s 一t om e e tt h e r e a l - t i m er e q u i r e m e n ta n dt h ecl a n g u a g et or e d u c et h ec o s to fp o r t i n g a c c o r d i n gt h et e s t , t h i sp r o g r a mc o u l de x e c u t ei n a u g u r a t i o nf u n c t i o ns u c c e s s f u l l yo i lt h es i m u l a t i o np l a t f o r m 啦sr e s u l ta l s op r o v e st h a tt h ep l a t f o r mc a l la c ta sar e a l 啪b u s k e yw o r d s :w i r et r a i nb u s ;s i m u l a t i o n ;e m b e d d e dr t o s ;i n a u g u r a t i o n i i 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 学位论文题目:塑垒錾鱼墼避! 塑 作者签名: 导师签名: 日期:型! ! 年j l 月纶日 日期:埠年l 月# 日 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目:翌! 旦! 垫绫芷盘筵整屋遮i 土量塞趣 作者签名:啦日期: 型哩年l 月j 乙日 大连理工大学硕士学位论文 引言 本文研究的是w t b 总线介质附件单元的物理实现以及链路层初运行功能的仿真。 w t b 总线标准是i e c 于1 9 9 9 年颁布的列车通信网络国际标准的部分,主要用于 轨道车辆整个列车编组的通信。列车通信网络标准的另一部分定义了m v b 总线标准, 中文全称是多功能车辆总线,主要用于单节或者几节车厢内的设备的通信。m v b 与w t b 共同应用于一个列车编组,便构成了一个完整的列车通信网络。 世界上较大的列车生产和运营国都参与了这个标准的制定,因此该标准一经颁布, 就得到了很多国家的承认,并得到了相关企业的支持,纷纷开发出符合该标准的网络设 备。到目前为止,国外的西门子,a b b 等公司都已经开发出成套的网络设备,并在实 际运行的轨道车辆中得到了应用,例如我国的株洲列车研究所研制的种新型的高速列 车就装配了国外生产的t c n 网络设备。 目前该标准最新的版本是于2 0 0 7 年颁布的2 0 版本。 我国对w t b 总线的研究,长期以来一直处于理论研究的局面,虽然相关论文著述 层出不穷,但终究没有一个能够投入实际运行的产品问世,国内装配该总线的列车使用 的全部是外国公司的产品。近年来,随着国家对轨道交通的重视,国内许多轨道车辆技 术公司纷纷宣布开发出具有自主知识产权的t c n 网络设备,并且已经少量装备国内的 高速列车以及地铁。可以预见,随着国家对铁路建设的两万亿投资,必将带动轨道车辆 技术的研究进入新一轮的热潮。 本文主要做了以下三项工作: 首先,使用s a b 8 2 5 2 5 和a m 7 9 6 0 为核心元件设计了符合w t b 标准的介质附件单 元。这种方案是建立在徐晓松和谢维达绞线式列车总线网络节点原形的设计研究一 文基础之上的。相对于徐、谢的方案,本方案更具有实际意义,因为他们的方案没能实 现数据在总线上的曼彻斯特编码传输,而是直接通过r s 4 8 5 模块进行传输。本方案相对 于其它以f p g a 为核心的方案来说,最大的优势就是开发周期短,另外,其兼容性以及 可靠性也容易得到保证。 第二项工作是使用v i r t u a lp c 和v i r t u a ls e r i a lp o r t sd r i v e r 两个软件搭建了一个w t b 总线仿真平台。相对于其它的w t b 仿真平台来说,本方案具有同实际总线一样的串联 结构,并且在该平台上开发的应用程序经过少许的改动就可以直接应用到实际的硬件 上。 第三项工作是在这个仿真平台上开发了w t b 的初运行功能。本文在u c 0 s 嵌入 式实时操作系统环境下进行了初运行功能的程序开发,同时也验证了仿真平台的正确 w t b 总线节点链路层设计与实现 性。由于u c o si i 的优秀的移植性能,使该初运行程序可以很方便的移植到实际的硬件 当中。 大连理工大学硕士学位论文 1w t b 总线标准1 1 嘲 1 1w t b 概述 w t b 绞线式列车总线的应用主要面向日常运行中需要经常改变编组形式的轨道车 辆。该总线标准首先颁布于1 9 9 9 年,经过将近十年的发展,目前最新的版本是2 0 。 在w t b 标准原型的创建公司瑞士a b b ,至今仍然在其制造的列车中使用w t b 总 线。虽然在数据吞吐量上w t b 总线远不及以太网,但是其响应快速以及可辨别方向等 特性仍然使其成为现代电气化列车首选的数据通信总线标准。 w t b 总线的主要构成如图1 1 所示: 图1 1w t b 总线基本组成 f i g u r e1 1w t bp r i n c i p l ec o m p o n e n t s 表1 1 总结了w t b 总线一些特性: 表1 1w t b 总线特性 t a b l e1 1w t bs u m m a r y 拓扑类型各个分段之间通过电缆连接成总线; 传输介质屏蔽双绞线; 长度通常为8 6 0 米,可挂接3 2 个节点 也能够实现更长的距离和挂接更多的节点( 最多 6 2 个) : 物理冗余有两套物理传输介质( 即周一个万同曲芸狄绞 线) ; 信号带有1 6 位或3 2 位前导标志的曼彻斯特编码; 信号速率 1 m b i t s 寻址方式单播方式:由初运行分配的6 位长度的地址: 多播方式: w t b 总线节点链路层设计与实现 续表1 1w t b 总线特性 t a b l e1 1w t bs u m m a r yc o n t i n u e 帧大小 每个h d l c 帧长度介于4 到1 3 2 个字节之间 完整性保证 1 6 位的帧校验序列;帧长度监视;曼彻斯特编码 技术; 介质分配由单一总线主完成 通信周期数据( 2 5 m s ) ( 针对p r o c e s s 进程数据) 突发数据( 针对 _dat消amessage_data 息数据和 s u p e r v i s o r y _ d a t a 监视数据) ; 总线主 每个节点都有可能在初运行中被提升为总线主, 只要满足下面两个条件之一: 通过应用程序的命令; 通过初始化过程当中的竞争; 总线主冗余 初始化过程能够提升其它的节点成为总线主: 链路层服务 p r o c e s s _ d a t a 进程数据用于广播按源地址标识的 变量: m e s s a g e p a t a 消息数据用于传递数据; s u p e r v i s o r y _ d a t a 用于总线监视; 层管理通过链路管理接dc l i n km a n a g e m e n ti n t e r f a c e ) 1 2w t b 拓扑结构 w t b 的传输介质是屏蔽双绞线,车厢间的电缆可以通过耦合器连接到一起,形成 总线。使用标准中规定的电缆可以使总线长度达到8 6 0 m ,最多连接6 2 个节点。w t b 拓扑结构如图1 2 所示: ,7 ,天、蟪墼扩憝萎竺, 案曲勰馓幽鬟栽t ,镪1 ,鞭赞叫百nr r 赣畸f n l 一鼎j 图1 2 w t b 拓扑结构 f i g u r e1 2w t bt o p o g r a p h y 一4 一 大连理工大学硕士学位论文 如图1 2 所示,节点之间可以直接通过中继电缆连接,或者通过扩展电缆连接:位 于总线中部的节点称为“中间节点 ( i n t e r m e d i a t en o d e ) ,它的两端都与总线连接, 并且断开了本身的端接器( t e r m i n a t o r ) :处于总线末端的节点称为“末端节点 ( e n d n o d e ) ,它仅有一个方向连接到总线,另一个方向悬空,并且在这个悬空的方向上要闭 合端接器。 w t b 总线在任何时刻都只由一个总线主控制,并在这个总线主的控制下进行进程 数据和消息数据的传递。 总线控制权可以进行转移,比如车辆编组发生了改变( 加入了新的车辆,或是断开 了原有车辆) 或者某个节点出现了错误,这些情况都会导致初运行来重新配置总线,然 后向所有节点发送新的总线拓扑数据。在初运行过程中可能发生总线控制权的转移。 一个节点可能同时是总线主也是从节点,比如当总线上只有总线主一个节点时。另 外,虽然任何时刻只允许有一个总线主,但其它节点也有变成总线主的可能,这就提供 了一种冗余特性,避免因一个总线主的错误而导致整个总线的失效。 1 3w t b 传输介质和介质附件单元 1 3 1 传输介质 w t b 通过屏蔽双绞线传输数据。这种电缆可以在8 6 0 米长的范围内达到1 m b i t s 的 传输速度,并且最多可以挂接3 2 个节点。 为了把不同的车辆用电缆连接起来,可以使用自动耦合器,也可以使用手动连接。 由于车辆运行时的方向通常是不可预料的,因此电气布线在车辆的两端都处于断开 状态,以根据实际的车辆编组情况现场进行连接。 w t b 为了实现线路冗余功能,使用了两套电缆,实际运行时,这两套电缆之间没 有连接,保持各自独立的同时工作,传输着相同的数据,由总线决定究竟使用哪条线路 上的数据。 1 3 2 介质附件单元 介质附件单元的硬件主要完成对总线数据的收发,链路层程序要通过对它的操纵来 完成对总线的访问。具体的内容详见第二章。 1 4w t b 信号 w t b 总线上传输的是经过曼彻斯特编码的电平信号:1 表示为在信号单元( s i g n a l c e l l ) 中间的一次正向跳变;0 表示为在信号单元中间的一次负向跳变。w t b 标准为了 w t b 总线节点链路层设计与实现 适应目前得到广泛应用的曼彻斯特编解码器,因此采用了与标准曼彻斯特码相反的定义 ( 实际上关于曼彻斯特码的定义,一直存在争议) 。 为了保证解码器的同步,每一帧以1 6 或3 2 位的前导标志作为起始,最后以一个结 尾分界符作为结束标志,然后总线回到空闲状态。 1 。5w t b 电文 总线主通过向从节点发送总线主帧( m a s t e rf r a m c ) 来与从节点进行通信。所有的 从节点都会收到这个总线主帧,但只有被指定的从节点会做出响应。这个从节点响应帧 ( s l a v ef r a n l c ) 也会被所有的节点接收到,但一般情况下只有总线主会对其进行处理。 报室 总线主帧结黝漪 絮罂 结尾分聱苻 下次 查翼沙啦 :v 查诲 t ” | l 嚣 芦蕊h 吼彭抛陋| f 翅譬 爱 j 嬲 p r e a m b l ef l a gh d l c d a mf c s 嘲錾 主 p r e a m l i e | l ; 时问 l 卜l 3 0 0 p s i 卜 6 4 p s 一3 0 0 p s - | p 峥 p r e a u b l e = l 酾受3 孙i 黼导枥嚣毒 l q :s = l s b i 嵋油秘礴删 姗呻“毫- n 3 2 个字节 n 呼粕扯i r t l i g 图1 3w t b 电文 f i g u r e1 3 w t bt e l e g r a m 一共有三种类型的w t b 电文,分别是 进程数据电文( p r o c e s sd a t at e l e g r a m s ) 消息数据电文( m e s s a g e _ d a t at e l e g r a m s ) 监视数据电文( s u p e r v i s o r y _ d a t at e l e g r a m s ) 当从节点对总线主帧进行响应时,其响应帧与总线主帧是同一个类型。 1 5 1 进程数据电文 当总线主查询一个节点的进程数据时,该节点向总线广播一个从节点帧,如图1 4 所示: 一6 一 大连理工大学硕士学位论文 总线宝帧 【囊! 诲 二帏点帧 广播响斑 图1 4 w t b 进程数据电文 f i g u r e1 4w t bp r o c e s s - d a t at e l e g r a m 该响应帧被所有节点接收,因为所有节点都要保存其它节点的进程数据。 一个节点的进程数据响应帧格式在每次初运行后被确定,并在之后的运行当中保持 不变,直到初运行再次发生。 总线主可以向自身查询进程数据:首先发送一个目的地址为0 l 的查询帧,然后等 待特定的时间后,再向总线发送自己的进程数据响应帧,这个过程叫做自我查询 ( s e l f - p o l l ) 。 1 5 2 消息数据电文 当总线主向一个节点查询消息数据时,该节点返回一个带有消息数据包的从节点 帧,这个过程完成了一次消息电文传输,如图1 5 所示: 总线主帧 ( 查询) ,篷稳,黧题。 滋器胜i c 可嶙广薹遗攀秽 从节点帧 c 单藉或多播啊应 ! i j d ol 上c n | s dls i l 蹲鬻强d d | 上刘s d 懿翟潮鼗薹清息内容 碥e 链路控翻类型为酒息数据 , 图1 5 消息数据电文 消息查询帧一般只被指定的节点接收。 w t b 总线节点链路层设计与实现 帧的头四个字节构成了链路报头( l i n kh e a d e r ) ,所有的w t b 帧都有相同格式的 链路报头。 消息数据响应帧还有四个字节的网络报头( n e t w o r kh e a d e r ) 、一个字节的消息控 制字段,以及被传输的数据本身。这些都是和链路层无关的。 不同于进程数据,消息数据响应帧的长度是可变的,具体长度由从节点根据需要传 输消息的长短而定。 总线主也可以对自身进行消息查询,其过程与自我查询进程数据相似。 1 5 3 监视数据电文 w t b 在初运行和配置控制中使用监视数据报文,如图1 6 所示: 簋蓦粼从第钶蚨 和瞄 s ds i z e:s 峭r v i 、s o r 矿_ 眦鬟 | d d 蚓s 。3 垃e。i 。s u p e r v i s o w _ 。a t 二 攀 链路控制类墼为监视数据 图1 6 监视数据报文 f i g u r e1 6s u p e r v i s o r yd a mt e l e g r a m 监视数据报文在总线主帧和从节点帧中都能传递监视数据( s u p e r v i s o r y ,这 一点又和消息数据报文不同。 d a t a ) 总线主也可以广播一个监视数据报文( 如初运行过程中的解名请求) ,这种情况并 不需要从节点返回响应帧,但是总线主依然会等待一个延时,就像在等待响应帧一样。 这里的延时是确保所有节点都有足够的时间正确处理好总线主的请求。 1 6 介质分配 总线主负责介质分配,其它所有的从节点负责响应总线主的查询。 在正常的运行过程中,总线主的活动按周期循环运行。总线活动的基本单位是基本 周期( b a s i cp e r i o d ) ,每个基本周期又分为周期阶段( p e r i o dp h a s e ) 和突发阶段 ( s p o r a d i c 。 大连理工大学硕士学位论文 总线主按照固定的时间间隔( 即p e r i o d p h a s e 阶段) 查询从节点的进程数据,并在 两个基本周期之间( 即s p o r a d i cp h a s e 阶段) ,进行消息数据和监视数据的查询。 由于基本周期固定,当节点增多时,每一个基本周期中的周期阶段相应变长,而突 发阶段变短,因此应用程序必须保证有足够的时间来传递突发数据。例如,一个总线主 每2 5 m s 轮询一次所有1 0 个节点,假设每个节点所用的时间是l m s ,那么就有1 5 m s 的 时间用来传递突发数据;但如果节点数量增加到2 0 个,就只剩下5 m s 给突发数据了, 这显然是不够的。 总线主按照次序对节点进行突发数据查询。为了缩短时间,从节点应该在周期阶段 通知总线主自己有突发数据需要传送,然后总线主将在同一个基本周期的突发阶段查询 该节点以取得其要传递的突发数据。 在每个基本周期里,总线主都要查询末端节点,以确定列车组成的完整性,并且探 测是否外部有新节点的加入。 1 7w t b 初运行 w t b 总线的初运行能够对列车总线进行配置,为总线正常运行做好准备工作。关 于初运行的具体内容详见第四章。 w t b 总线节点链路层设计与实现 2 介质附件单元设计与实现 2 1 介质附件单元的组成n 1 介质附件单元在每个方向上都有一个收发器,两个收发器通过隔离变压器与总线进 行电流隔离。另外收发器还附有曼彻斯特编解码器,因为数据在总线上将以曼彻斯特编 码的形式进行传输。 每个收发器应该连接一个能够实现收发数据帧的通道( c h a n n e l ) 。这里通道是指 主通道( m a i nc h a n n e l ) ,或者辅助通道( a u x i l i a r yc h a n n e l ) 。这两个通道是各自独立 工作的。 图2 1 展示了一个标准的介质附件单元: 图2 1 介质附件单元 f i g u r e2 1m e d i u ma t t a c h m e n t 图2 1 中的介质附件单元处于中间节点状态:总线开关( b u ss w i t c h ) 闭合,两端的 总线被连接到一起:端接器开关( t e r m i n a t o rs w i t c h ) 断开,端接器( t e r m i n a t o r ) 从总 大连理工大学硕士学位论文 线中移除;另外,图中的情况是,主通道作为c h a n n e l l 连接到了左端的收发器,辅助 通道作为c h a n n e l 2 连接到了右端的收发器。 末端节点介质附件单元状态与中间节点的略有不同。末端节点的总线开关处于断开 状态;它的两个端接器全部闭合;末端节点两个通道全部处于工作状态。 为了实现线路冗余功能,每个节点需要有两个介质附件单元,分别连接到两根电缆 上。但是通道( c h a n n e l ) 只有一套,在同一时刻只能通过一个介质附件单元进行数据 的收发。通道内有特定的逻辑,当发现一根电缆上的数据受到干扰后,会自动切换到另 一套介质附件单元继续工作。 2 2 介质附件单元的设计 2 2 1 总体方案 参考其它的一些设计方案,大多采用自己开发f p g a 的方式实现介质附件单元的部 分或全部功能。这类方案的优点是,开发过程完全由开发者自己控制,提供了很大的自 主性和灵活性。【4 】 【5 】,【6 】 7 1 ,【8 】,【9 】 【l o 】, 但是本文认为,w t b 总线标准并不是一个独立的标准,实际上它引用了许多现存 的标准( 如i s 0 3 3 0 9 ) ,而针对那些存在的标准,市面上已经有许多支持其特性的芯片, 并得到广泛应用,因此,本文决定利用应用广泛的通用元件来实现介质附件单元的功能。 这样做,既可以缩短开发周期,也可以使产品的兼容性得到保证。 2 2 2 收发器 本文选用飞利浦公司的高级串行通信控制器s a b 8 2 5 2 5 作为收发器,可以满足w t b 协议中对收发器的要求【3 1 。 s a b 8 2 5 2 5 是飞利浦公司生产的高级串行通信控制器,具有如下特点: 拥有两个独立的全双工h d l c 通道; 可以使用片内时钟,也可以接外部时钟: 拥有多种工作模式和数据编码方式; 具有标准的调制解调器接口; 能够发送无格式的数据; 能连续发送最多3 2 个字节; 传输速率可达到4 m b i t s ; s a b 8 2 5 2 5 具有两个独立的h d l c 通道,这两个通道可以一片s a b 8 2 5 2 5 实现介质 附件单元里两个收发器的功能。 w t b 总线节点链路层设计与实现 虽然w t b 帧结构同h d l c 帧结构相同,但具体字段的意义同h d l c 帧有区别。 j挺路数据i 8 乾1 僦t 包括埂充圣筻)i1 88 前褊卜隧霪鬟蕤缀鬻瓣f c 叫呐 结尾分界: 前褊p g 凝麓缀瀵籀缓荔鬻勰纛黝 引8 p 姆 l; 图2 2 h d l c 帧结构 f i g u r e2 2h d l cf r a m es t r u c t u r e s a b 8 2 5 2 5 自动模式下可以自动处理h d l c 帧,如自动地址识别,但这并不适用于 w t b 帧。好在它提供了多种工作方式,其中一种透明模式0 ( m o d et r a n s p a r e n to ) 在 发送和接收数据时不对h d l c 数据部分的内容进行自动处理,按照原样进行发送和接 收,但是工作在这种模式下,发送方仍然可以自动对帧添加符合h d l c 协议的起始标志、 校验位和结束标志,并且接收方会自动去除起始、结尾标志位,并自动进行校验和检查, 把检查的结果存放在寄存器中,供用户参考。应用s a b 8 2 5 2 5 的这种工作模式,就可以 实现对帅帧的收发。 另外,该器件的其它一些特性,对实现收发器的功能也很有用处,将在后面详细介 绍。 2 2 3 曼彻斯特编解码器 w t b 数据在总线上是以曼彻斯特编码的方式进行的,而本文选定的收发器并不具 备这种编码方式,因此在收发器和总线之间,应该具有能够进行曼彻斯特编解码功能器 件作为桥梁。 本文选用a m d 公司的a m 7 9 6 0 芯片作为曼彻斯特编解码器,该元件是通用的网络 收发器,具有标准调制解调器接口,最高速度能达到3 m b p s 。 a m 7 9 6 0 采用的曼彻斯特编码方式与w t b 标准中说明的相同。 a m 7 9 6 0 拥有两种工作模式,当其工作于模式0 时,会自动在发送的数据前添加一 个3 2 位的前导标志( w t b 标准要求1 6 至3 2 位皆可) ,并在数据结尾添加一个延续两 个位时长的1 ,表明数据的结束,这与w t b 标准中所要求的结尾分界符( e n dd e l i m i t e r ) 也相同【1 1 0 该元件具有调制解调器接口,可以方便地与收发器s a b 8 2 5 2 5 连接。 大连理工大学硕士学位论文 2 2 4 端接器及端接器开关 端接器在标准中给出了推荐形式,本文采用了这种推荐形式。 2 2 5 总线开关 本文使用一个5 v 直流继电器作为总线开关。 2 2 。6 主、辅通道 标准中要求有两个通道( c h a n n e l ) ,这两个通道通过收发器与总线进行通信。本设 计通过软件来实现这种通道的功能。 2 2 7 方向转换器 当节点正常工作时,它的主通道必须依附在朝向总线主方向的收发器上,而总线主 的位置可能改变,这就需要个方向转换开关( d i r e c t i o ns w t i c h ) ,以使主通道始终朝 向正确的方向。 标准中并没有规定方向转换开关必须使用硬件实现,因此本设计通过软件实现这种 方向转换。具体会在初运行仿真部分说明。 2 3 介质附件单元的实现 介质附件单元示意图如下图所示: 图2 3 介质附件单元示意图 f i g u r e2 3m a ud i a g r a m w t b 总线节点链路层设计与实现 2 3 1s a b 8 2 5 2 5 部分 2 3 1 1 工作模式 s a b 8 2 5 2 5 有六种工作模式,本设计通过使用透明模式0 来满足w t b 标准的要求。 2 3 1 2 数据传递 在c p u 和s a b 8 2 5 2 5 之间,有两种数据传递模式,一种是d m a 模式,适用于高速 大量数据的传递,由于其不通过c p u 控制,可以减少c p u 的工作负担,利于系统性能 的提高。另一种方式是中断方式,通过中断引脚向c p u 发出中断信号,c p u 接收到中 断信号后,对s a b 8 2 5 2 5 内部的中断寄存器进行查询,以确定中断的来源,然后再进行 相应的操作。 本设计由于是初步实现m 介质附件单元的功能,因此采用了中断方式。 2 3 1 3 时钟模式 为了适应不同的工作场合,s a b 8 2 5 2 5 提供了多种时钟模式。针对本设计的实际情 况,由于使用了a m 7 9 6 0 作为曼切斯特编解码器,又通过调制解调器接口与s a b 8 2 5 2 5 连接,因此发送时钟和接收时钟全部来自外部,也就是由a m 7 9 6 0 的t x c 和r x c 引脚 提供相应的时钟信号,因此选用s a b 8 2 5 2 5 的时钟模式0 。 2 3 1 4 编码模式 标准中要求,数据在总线上以曼彻斯特编码传输,而且被编码的对象是n r z 形式 的数据流。 s a b 8 2 5 2 5 具有多种编码方式,如n r z ,反向n r z ( i n v e r tn r z ) 和n r z i 编码, 根据标准中对收发器的要求,设置s a b 8 2 5 2 5 采用n r z 编码方式。 2 3 1 5 原理图及引脚连接 如图2 4 所示: 大连理工大学硕士学位论文 2 3 2a m 7 9 6 0 部分 图2 4s a b 8 2 5 2 5 引脚连接 f i g u r e2 4s a b 8 2 5 2 5p i nc o n n e c t i o n 2 3 2 1a m 7 9 6 0 和网络隔离变压器 从图2 3 可见,在a m 7 9 6 0 与总线之间存在着一个网络隔离变压器。按照a m 7 9 6 0 数据手册的说明,a m 7 9 6 0 可以驱动隔离变压器。添加静电保护变压器可以有效隔离 a m 7 9 6 0 与网络介质,并且为可能的闪电击中与静电放电产生的高电压提供了一个放电 回路,并且可以起到窄带滤波作用,防止低频噪声信号进入接收器,能够提高网络的信 噪比。 数据手册中推荐的是p u l s ee n g i n e e r i n g 公司p e 5 1 5 6 x 或者与其等效的变压器。 2 3 2 2 原理图及引脚连接 如图2 5 所示 w t b 总线节点链路层设计与实现 图2 5a m 7 9 6 0 引脚连接 f i g u r e2 5a m 7 9 6 0p i nc o n n e c t i o n 2 3 3 微控制器部分 微控制器不是w t b 介质附件单元硬件的一部分,但为了测试硬件的工作情况,在 此对附加的微控制器部分加以介绍。 2 3 3 1 微控制器的选择 本设计使用a v rm e g a l 2 8 单片机作为控制器。该型号的单片机具有速度快、片上 资源丰富等特点,可以满足测试介质附件单元的要求。 另外为了能够运行嵌入式实时操作系统u c o s i i ,本设计还外扩了3 2 k 的静态存储 器。 2 - 3 3 2 微处理器的连接 m e g a l 2 8 的8 位数据地址引脚同时连接3 2 k 静态存储器以及s a b 8 2 5 2 5 ,为了避免 冲突,通过高位地址选择的方法来确定访问目标。 单片机与静态储存器的连接如图2 6 所示g 大连理工大学硕士学位论文 图2 6 单片机与静态储存器的连接 f i g u r e2 6c o n n e c t i o nb e t w e e nm i c r o c o n 仃o l l e ra n ds r a m 其中单片机引脚p c 7 ( a 1 5 ) 同时连接到3 2 k 静态存储器6 2 2 5 6 的低电平有效片选引 脚以及s a b 8 2 5 2 5 的片选引脚。为了保证同一时刻仅有一个器件处于选通状态,在p c 7 和s a b 8 2 5 2 5 之间加了一个反相器,如图2 7 所示: 图2 7 反相器 f i g u r e2 7i n v e r t e r 2 3 4 工作过程 数据收发过程由s a b 8 2 5 2 5 在m c u 的控制下完成。 2 3 4 1 数据的发送 首先由微控制器将需要发送的数据写入s a b 8 2 5 2 5 的发送f i f o 当中,然后给 s a b 8 2 5 2 5 下达发送命令,并等待发送完成。 一怂一 一一一一一 w t b 总线节点链路层设计与实现 s a b 8 2 5 2 5 拥有两个收发器,每个收发器的发送和接收方向都有一个6 4 字节深度的 f i f o ,但对于c p u 来说,这6 4 个字节的空间只有3 2 字节是其可访问到的。也就是说, 不论发送和接收,c p u 一次读写操作,最多只能获得3 2 个字节的数据。这种特性就要 求在程序编制时,要采取手段,将待发送的3 2 字节以上的数据拆分成不大于3 2 个字节 的数据块来发送;在接收大于3 2 个字节的数据时,也要采取措施把收到的数据片断组 合成一个完整的数据帧。 发送数据时,c p u 一次向发送f i f o 当中写入不超过3 2 个字节的数据,然后下达发 送命令,并等待发送完成,然后接着向f i f o 写入数据,直到整个数据帧发送完毕。当 把数据帧的最后一部分写入发送f 环o 后,应该下达“发送+ “完成 命令,这样工作 在透明模式0 方式下的s a b 8 2 5 2 5 会自动在帧的结尾添加校验位和结束标志。 2 3 4 2 数据的接收 从总线到s a b 8 2 5 2 5 的数据接收由s a b 8 2 5 2 5 独自完成,包括对数据进行解码,去 除开始、结束标志和对校验和进行验证。 工作在透明模式0 时,所有的帧数据都将被储存在接收方向的r f i f o 当中。接收方 向有6 4 个字节的r _ f i f o ,但只有3 2 个字节空间可以直接被c p u 访问到。图2 8 表达了 r f i f o 的工作过程: 3 2 个事节 不可访阿 3 2 个字节 对以访辩 图2 8 魁弧o 工作过程 f i g u r e2 8r f i f op r o c e s s i n g 豳囝目日 大连理工大学硕士学位论文 图2 8 显示了6 4 字节的r f i f o 在接收一个大于3 2 个字节但小于6 4 个字节的帧时 的工作状况。整个帧被完整的储存在r f i f o 当中,其中底部3 2 个字节被完全填满,上 部的3 2 个字节空间只有部分有数据。当底部的3 2 个字节被填满时,s a b 8 2 5 2 5 向c p u 发送读取信号,c p u 通过数据总线将这3 2 个字节读走,然后通知s a b 8 2 5 2 5 读取完毕, 这时s a b 8 2 5 2 5 自动清空底部3 2 字节的r f i f o ,并把上部存储的内容转移到底部来, 然后通知c p u 帧接收完毕,并等待c p u 把帧的最后一部分取走。 当收到的帧小于等于3 2 个字节时,s a b 8 2 5 2 5 直接通知c p u 帧接收完毕;当接收 的数据大于6 4 个字节时,按照上述的过程逐段接收,直到整个帧接收完毕。 2 3 4 3s a b 8 2 5 2 5 的中断 如前所述,本设计使用s a b 8 2 5 2 5 的中断接口来与c p u 交互。 s a b 8 2 5 2 5 有多个中断源,但是只有一个中断输出引脚与c p u 相连,因此,当c p u 收到中断信号时,其中断源可能是其中的一个,也可能是几个,c p u 需要读取s a b 8 2 5 2 5 的中断寄存器来确定。s a b 8 2 5 2 5 的中断寄存器组织如图2 9 所示: 8 主t l g f a l r 78s4321 。76s 4t ,。 图2 9 中断状态寄存器 f i g u r e2 9i n t e r r u p ts t a t u sr e g i s t e r s s a b 8 2 5 2 5 中的两个收发器拥有各自独立的、完全相同的中断,其状态可以通过各 自的i s t a 和e x i r 寄存器查询。 当c p u 试图从s a b 8 2 5 2 5 中查询中断源时,须按照下列步骤执行: 首先读取收发器b 的i s t a 的内容,在这里可以直接得知是否产生了b 的r m e , r p f ,r s c 、x p r 和t c n 中断,并得到i c a ,e x a 和e x b 的状态。如果i c a 为l ,则 w t b 总线节点链路层设计与实现 表明,在收发器a 有中断产生,其标志位在收发器a 的i s t a 寄存器当中;如果e x a 为l ,也说明收发器a 有中断产生,但其标志位在a 的寄存器e x i r 当中;同样,如果 e x b 为1 ,则b 的e x i r 里也有中断标志产生。 然后根据i c a 、e x a 和e x b 的值,来决定是否需要读取相应的寄存器。读这些寄 存器没有次序的先后。需要注意的是,必须要对这三个位里置1 的所对应的寄存器进行 一次读操作,这样才能完成一次中断的读取。如果有寄存器未读,则s a b 8 2 5 2 5 的中断 信号输出引脚会一直保持低电平,这样它就不能对以后发生的情况做出正确的响应。 每个收发器都有1 1 个中断源,常用到的中断有: 表2 1s a b 8 2 5 2 5 中断表 t a b l e2 1s a b 8 2 5 2 5i n t e r r u p tt a b l e 位名称说明 i 冲f 当有3 2 个字节的数据被添到r f i f o 当中,并且帧的接收还没完成时,产生此中断; r m 匣 当一个小于等于3 2 个字节的帧被收到时,或者大于3 2 个字节的帧的最后一部分被收 到时,触发该中断; r f o 由于没有及时读取r f i f o 而导致新来到的数据不能被储存而触发该中断; x p r 当x f i f o 当中不再有任何内容时,触发该中断;该中断将在用户下达发送命令后产生, 直到用户下达帧结束命令: x d u 当所有x f i f o 中

温馨提示

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

评论

0/150

提交评论