(计算机应用技术专业论文)rapidio技术在无线基站中的应用.pdf_第1页
(计算机应用技术专业论文)rapidio技术在无线基站中的应用.pdf_第2页
(计算机应用技术专业论文)rapidio技术在无线基站中的应用.pdf_第3页
(计算机应用技术专业论文)rapidio技术在无线基站中的应用.pdf_第4页
(计算机应用技术专业论文)rapidio技术在无线基站中的应用.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(计算机应用技术专业论文)rapidio技术在无线基站中的应用.pdf.pdf 免费下载

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

文档简介

摘要 为了基带数据交换的实际应用,需要评估r a p i d i o 协议性能以及该协议在无 线基站中应用的可能性。本文在研究r a p i d i o 协议的内容的基础上,进行了基于 r a p i d i o 技术的基带数据交换系统( b d f s ) 项目的系统方案设计,并根据系统方 案完成了详细硬件电路的设计与实现。该b d f s 系统包含五个功能模块,分别是: 处理器小系统模块、f p g a 模块、r a p i d i o 模块、电源模块、时钟模块。论文分析 了各个模块完成的主要功能,研究了实现这些功能所用主要器件的功能和特点, 按功能模块设计了相应的原理电路,并完成了印刷电路板的制作。 论文研究并实现了b d f s 系统设计过程中必须考虑的可靠性设计方案、p c b 布局布线策略、信号仿真相关和器件的上电时序控制设计。并给出了系统的测试 方法和测试结果。通过系统硬件测试,得到r a p i d i o 协议性能可以用于无线基站 的结论。 关键词:r a p i d l o 协议基带数据交换系统可靠性设计信号仿真上电时 序控制设计 a b s t r a c t f o rt h ea c t u a la p p l i c a t i o nf o rb a s e b a n dd a t at r a n s m i s s i o n ,i ti sr e q u i r e dt oe v a l u a t e t h ep e r f o r m a n c eo fr a p i d l op r o t o c o la n dt h ef e a s i b i l i t yi nw i r e l e s sb a s es t a t i o n b a s e d o ns t u d y i n gt h ec o n t e n to fr a p i d l o ,t h i sp a p e rp u tu pas y s t e r ms c h e m ef o rb a s e b a n d d a t af a b r i cs y s t e r m ( b d f s ) p r o je c tb a s e do nr a p i d l ot e c h n o l o g ya n da c c o m p l i s ht h e h a r d w a r ec i r c u i td e s i g na c c o r d i n gt ot h es y s t e r ms c h e m e b d f si n c l u d e sf i v ef u n c t i o n a l m o d u l e s :p r o c e s s o rm o d u l e ,f p g am o d u l e ,r a p i d l om o d u l e ,p o w e rm o d u l ea n dc l o c k m o d u l e t h em a i nf u n c t i o nf o re a c hm o d u l ea n dt h es e l e c t e dc h i pu s e dt oa c h i e v et h a t f u n c t i o na r ea n a l y s e d s c h e m a t i ci sd e s i g n e da c c o r d i n gt of u n c t i o n a lm o d u l ea n dp r i n t c i r c u i tb o a r do f t h e p r o j e e ti sc o m p l e t e d t h ep a p e rs t u d i e st h er e l i a b i l i t yd e s i g np l a n ,p c bl a y o u tm e a n s ,s i g n a ls i m u l a t i n g a n dp o w e r - o ns e q u e n c ec o n t r o lw h i c hs h o u l db ec o n s i d e r e di nt h eb d f sd e s i g na n d i m p l e m e n t st h e mi nb d f s t e s t i n gm e a s u r e sa n dr e s u l tf o rt h es y s t e ma r ep r e s e n t e d , a n di ti sc o n c l u d e dt h a tr a p i d l oc a nb eu s e di nb a s e b a n df i e l db yt e s t i n g k e y w o r d s : r a p i d l op r o t o c o l b a s e b a n dd a t af a b r i cs y s t e r m r e u a b i u 够d e s i g ns i g n a ls i m u l a t i n g p o w e r - o ns e q u e n c ec o n t r o ld e s i g n 西安电子科技大学 学位论文创新性声明 秉承学校严谨的学风和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究 生在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保 留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内 容,可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后 结合学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。( 保密的 论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名: 导师签名: 弱迭 ! 虱造 日期一垒壁! 鸯! 旦 日期兰坚堕! 主! ; 第一章绪论 第一章绪论 本章介绍了论文所写课题的研制背景,分析了目前在无线基站设计中所遇到 的问题以及应用r a p i d l o 技术所带来的各种好处和优势。并对本论文的工作内容 进行了简单的介绍,简述了论文的章节安排及各章节的主要内容。 1 1 研制背景 随着3 g 标准的不断增加和演进,现有的无线基站面临着诸多的问题,i :l 女n 各 种不同3 g 标准的基站不能通用、基站设计中常用到的c p u 、d s p 、f p g a 、a s i c 等 芯片缺乏有效的互联标准等。这就导致基站的研发成本很高、研发周期很长、可 重复利用性很差。因此开发统一的硬件平台的基站迫在眉睫,纵观通信领域的发 展趋势,基站必须具有模块化、微型化、通用的、高带宽、全i p 架构的特点。串 行r a p i d i o 技术是一种基于硬件的板内或者板间互联协议,它具有高带宽、低开 销、高可靠性、互联简单的特点,非常适合在无线基站领域应用。 由于r a p i d l o 协议所定义的数据包的有效数据载荷以字节为单位,每个数据 包包含的有效数据载荷可以为1 字节到2 5 6 字节。那么各种3 g 标准,包括w c d m a 、 c d m a 2 0 0 0 、t d s c d m a 和w i m a x 可以方便地将其定义的基本数据单元映射到r a p i d i o 包中,只需要在软件上做不同的设计就可以。这就使得设计一款各种3 g 标准硬件 通用的基站变得可能。这是传统的以c p r i 为接口的基站所不能做到的。 基于r a p i d l o 协议的基站还具有模块化的特点。由于r a p i d l o 协议接口的开 放性,我们可以随时更改连在r a p i d l o 交换设备上d s p 的数量。也就是说,基站 的容量可以任意变化,但是系统架构保持不变。这样就节省了不同载波的基站重 复开发的成本,甚至,当d s p 和交换设备使用背板进行连接时,不同容量的基站 可以共用某些单板,从而提高设备的可重复利用率。 在无线通信领域,大量用到c p u 、d s p 、f p g a 、a s i c 等器件。在以往的设计中, 缺少一种统一的接口标准把这些芯片互联起来。而r a p i d l o 的端到端的高带宽互 联标准恰恰弥补这方面的缺点,任何集成r a p i d l o 接口的终端芯片都可以方便简 单地连到r a p i d l o 交换设备上,一个4 x 模式接口端口的带宽达到1 2 5 g b p s ,可以 充分满足无线通信领域高速率的数据传输要求。各芯片厂商正是看到了这一互联 趋势,纷纷推出集成r a p i d i o 接口的新一代芯片,比如f r e e s c a l e 推出了集成 r a p i d l o 接口的嵌入式处理器m p c 8 5 6 9 ;t i 公司推出了集成r a p i d l o 接口的最新 d s pt m s 3 2 0 c 6 4 0 0 系列:x i l i n x 和a l t a l a 两大f p g a 厂商都推出了集成r a p i d l o 2 r a p i d l o 技术在无线基站中的应用 软核的最新f p g a 。很大程度上完善了r a p i d l 0 协议的生态系统,极大地推动了 r a p i d l 0 协议的应用。除此之外,考虑到与现阶段其他协议更好的兼容,比如e l t 1 、 c p r i 、以太网等,很多交换设备厂商也开发了一些协议转换用的桥片,方便用户 将其他协议的数据与r a p i d l 0 协议的数据进行转换。这种兼容性也大大提高了 r a p i d l 0 应用的范围。 1 2 本论文工作内容 由于r a p i d l 0 协议是一个新的协议,应用这项技术本身存在很大的风险,为 了评估这种技术的可行性,立项了一个预研项目基带数据交换系统b d f s ( b a s e b a n d d a t af a b r i cs y s t e r m ) 来评估和测试r a p i d l 0 技术并为交换器件的选型提供依据。 本论文就是以该预研项目为基础撰写的。项目的工作是完成基带数据交换系统板 的硬件设计和软件设计,并与其他项目的单板进行联调。在项目中,我主要负责 单板的原理图设计、p c b 设计和系统信号仿真。项目的工作是完成基带数据交换系 统板的硬件设计和软件设计,并与其他项目的单板进行联调。 本论文的章节安排和丰要内容如下:第一章丰要阐述了项目的研制背景和论 文的工作内容;第二章介绍了r a p i d l o 协议的基本架构,包括构成r a p i d l o 协议的 三个层:物理层,逻辑层,传输层。结合r a p i d l o 包格式,描述了各层在包中对 应的位以及各层所完成的功能;第三章详细说明了所做的项目基带数据交换系统 b d f s 。主要内容包括以需要与其它项目单板联调为需求确定系统方案,根据系统 方案对器件进行选型,确定各个模块的具体设计和可靠性设计方案,p c b 布局布 线的策略和阻抗控制的设计;第四章是对整个单板的信号仿真和测试;第五章是 论文的总结。 第二章r a p i d l o 协议介绍 第二章r a p i d l o 协议介绍 由于本论文用r a p i d l o 实现基带i q 数据交换,故必须对r a p i d l o 协议有一定 的理解。本章介绍了r a p i d i o 协议标准的基本内容,包括构成协议的三个层:逻 辑层、传输层、物理层。依照r a p i d l o 包的基本格式,描述协议各层完成的功能。 2 1 协议概要 r a p i d i o 协议是一种高速板内或者板间互联协议。r a p i d l o 协议支持三种数据 传输速率:1 2 5 g b p s 、2 5 g b p s 、3 1 2 5 g b p s 。相比其它类型数据传输协议,目前业 界只有1 0 g 以太网比它速率更高。遵从r a p i d l o 协议架构生产的器件称为r a p i d l o 器件。r a p i d l o 器件一般分为两种:终端处理器件( e n dp o i n tp r o c e s s i n ge l e m e n t ) 和交换器件( s w i t c hp r o c e s s i n ge l e m e n t ) 。由终端处理器件和交换器件组成的系统 称为r a p i d l o 系统。类似于o s i 可以分为七层,r a p i d l o 互联标准也划分为三个 层,它们是:逻辑层、传输层和物理层。逻辑层的标准定义了终端处理器件之间 相互通信所需要的操作和相关的处理。传输层定义了数据是如何通过交换器件从 一个终端处理器件路由到另外一个终端处理器件。物理层定义了相邻处理器件之 间是如何相互电气上连接起来。r a p i d l o 器件是以包为最小数据单元传输数据的。 r a p i d l o 包是由逻辑层、传输层和物理层中定义的位合起来组成的。r a p i d l o 数据 包格式如图2 1 所示: p h y 层传输层 传输层逻辑层逻辑层 逻辑层 逻辑层p h y 层 逻辑层 传输层 图2 1r a p i d i o 包格式 r a p i d l o 包的大小最大为2 7 6 个字节。p a y l o a d 最大为2 5 6 个字节,p a y l o a d 大 小可以为1 字节到2 5 6 字节。当包小于8 0 个字节时c r c 为2 个字节。当r a p i d l o 包的包长为最大包长2 7 6 个字节时,r a p i d l o 协议数据传输的效率高达 2 5 6 2 7 6 = 9 2 7 5 。我们可以看到,r a p i d l o 协议数据传输的效率很高。 前面已经提到,r a p i d l o 器件分为两类,一类是终端处理器件( e n dp o i n t p r o c e s s i n ge l e m e n t ) ;一类是交换处理器件。两者最大的区别是:终端只能发送和 接收包,不能转发或者路由包,但是有自己的d e v i c ei d :s w i t c h 用于转发或者路 4 r a p i d l o 技术在无线基站中的应用 由其他的终端或者交换芯片发来的包,它内部有一个专门的查找表( 1 0 0 k u p t a b l e ) 用来设置和保存路由信息,但是没有d e v i c ei d 6 1 。交换芯片根据所接收的包的目 的i d ( d e s t i n a t i o ni d ) 来决定把这个包路由到哪个端口,其概念类似于以太网交 换机。当终端处理芯片发送r a p i d l o 包的时候,会自动在包里加上自己的设备i d ( d e v i c ei d ) 做为源i d ( s o u r c ei d ) ,将目标芯片的设备i d ( d e v i c ei d ) 作为目的 i d 。r a p i d l o 数据包经过一个确定的路由路径后到达目标设备芯片。一个典型的 r a p i d l o 系统的组成如图2 2 所示: 图2 2r a p i d l o 系统结构 在图2 2 中,每个s w i t c h 上都有三个设备i d ( d e v i c ei d ) 各不相同的终端处 理芯片与之相连。s w t i c h 所能连接的最大设备数与该s w i t c h 所具有的端口数( p o r t n u m b e r ) 有关。由于r a p i d l o 是双向数据传输协议,每个端口都有互相独立的差 分结构数据收发线。每个端口可以自由配置成4 x 模式端口或者n ( n 可以为1 、2 、 3 、4 ) 个1 x 模式l a n e 。4 x 模式是指每个端口有4 对差分发送数据线和4 对差分数 据接收线;l x 模式是指每个l a n e 有1 对差分发送数据线和1 对差分数据接收线。 当设备i d 为1 2 的终端芯片想发数据包到设备i d 为2 的终端芯片时,只需将s w i t e h l 的路由表中p o r t 2 对应的路由表寄存器设置为2 ,也就是说到达s w i t c h l 的所有 r a p i d l o 包中目的i d ( d e s t i n a t i o ni d ) 域值为2 的包都通过p o r t 2 发送出去。设备 i d = 1 2 的终端芯片只需在所发送的包中将源i d 设置为1 2 ,目的i d 设置为2 ,则 它发送的包经过s w i t c h l 后将到达d = 2 的终端芯片。i d = 4 的终端芯片如果想发送 r a p i d l o 包到i d = 6 的终端芯片做类似处理。如果我们想i d = 7 的终端芯片发送 r a p i d i o 包到i d = 6 的芯片又该如何处理呢? 非常简单,只需将s w i t c h l 中p o r t l 对 应的路由表寄存器设置为6 ,s w i t c h 2 中p o r t 3 对应的路由表寄存器设置为6 即可, 而i d - - - 7 的终端芯片在发包时将源d 设置为7 ,目的d 设置为6 即可。这样当i d = 7 的终端芯片发出的目的i d 为6 的r a p i d l o 包到达s w t i c h l 时,s w i t c h l 根据路由表 第二章r a p i d l o 协议介绍 5 的设置和包的目的i d 为6 判断这个包应该从p o r t l 出去,当包通过s w i t c h l 到达 s w t i c h 2 时,s w t i c h 2 根据路由表的设置和包的目的d 为6 判断这个包应该从p o r t 3 出去,从而i d = 7 的终端芯片发出的包成功由i d = 6 的终端芯片接收。在这里,出 现了三个不同的i d :设备i d 、源i d 和目的i d 。我们该如何去理解它们呢? 其实, 设备d 即可以是源i d ,也可以是目的i d 。当一个终端发包时,它的设备i d 就是 包的源i d ,而接收方的设备d 就是包的目的i d 。由于在r a p d i d i o 包中,目的d 最大为2 个字节,也就是说在一个r a p i d i o 系统中最多允许有6 5 5 3 6 个设备i d 不 同的终端芯片,这个数量是非常惊人的,可以满足系统多级s w i t c h 互联的需要。 2 2 物理层 r a p i d l o 串行物理层标准定义了使用双向差分信号的设备之间的全双工串行 物理层接口。进一步说,为了满足更高链路性能的应用,它允许四个串行链路的 机械连接。物理层也定义了协议的链路管理和在链路上传输包的标准。1 x 4 x 模式 串行物理层标准有如下的特性: 将发送时钟嵌入到使用8 b 1 0 b 编码的数据当中 - 在每个方向上支持一个串行差分对作为一个l a n e ,或者四个串行差分 对作为四个l a n e ,也就是一个端口( p o r t ) 。 每个l a n e 支持三种数据传输速率:1 2 5 g b p s 、2 5 g b p s 、3 1 2 5 g b p s 。 物理层标准定义了组成链路协议的互相独立的部分,包括包、控制字、串行比 特编码方案。 2 2 。1 包 这部分内容描述了包格式和物理层在包中所对应的位域。这些位用于实现流 控制,错误管理和其他指定的串行标准的系统功能。物理层在包中对应的位如表 2 3 所示。 表2 3 物理层对应r a p i d l o 包中的位域 位功能描述 a s k l d 应答i d ( a c k n o w l e d g ei d ) 是接收方发给发送方的应答包的包标识符。 r s v d 保留位。包产生时该位为0 ,当包被接收时该位被忽略。 p n o设置包的优先级,优先级高的包先接收。有四个优先级 c r f 紧急请求流( c r i t i c a lr e q u e s tf l o w ) 是可选位域,用于区分同一优先 级的包。 c r c 循环冗余校验码( c y c l i cr e d u n d a n c yc o d e ) 。用于检测包在发送中的 错误。 图2 4 是r a p i d l o 包的包格式以及物理层中a c k i d 、r s v d 、c r f 和p r i o 位是如 6 r a p i d l o 技术在无线基站中的应用 何附加在包头中。1 6 位c r c 位附加在数据包尾。下面的数字表示各位对应的比特 大小。 5 2 12 n 1 6 图2 4 物理层在包中对应的位域 r a p i d l o 包的长度应该是3 2 比特的整数倍,这样能简化端口逻辑的设计,只要端 口内部的数据通道宽度是3 2 比特的整数倍。在r a p i d l o 协议中,由物理层、传输 层、逻辑层定义的包的长度是1 6 比特的整数倍,如图2 5 所示。如果由以上各层 定义的包的长度是1 6 比特的奇数倍,必须在包的末尾增加1 6 比特大小的全0 位, 这样最后得到的包的长度是3 2 比特的整数倍。 a c k l d0 0c r f p n o t f 咖e 传输层和逻辑层剩余的位域 c r c l5 21 22 4 1 6 比特 。 1 6 图2 5 包的长度是1 6 比特的整数倍 为了提供错误检测功能,在每个包的包尾都由物理层附加一个1 6 比特的c r c 码。 这个c r c 码覆盖了整个包,除了a c k i d 域和r s v d 域。对于c r c 计算器来说,这 两个位被认为是o 。这种结构允许包通过交换芯片传输时a c k l d 可以改变并且不需 要c r c 重新进行计算。因为每条链路上的a c k l d 是顺序幅值并加在连续的包中的, 我们可以很容易地检测到a c k l d 域中的错误。c r c 有两种方式附加在包尾。对于 一个包,如果不计c r c 长度时它的长度不大于8 0 字节,只有一个字节的c r c 附 加在包中逻辑域的后面。当不计c r c 的时候包的长度大于8 0 字节时,一个c r c 附加在第一个8 0 字节的后面,并且第二个c r c 附加在逻辑层位域的后面。第二 个c r c 值是第一个c r c 的延续。第一个c r c 包含在当前的计算当中,也就是说 当前的c r c 值在包的第一个8 0 字节出现之前是并不知道。这样就可以使设备把 嵌入的c r c 值当作两个字节的有效载荷( p a y l o a r d ) 。如果附加在逻辑层位域后面 的c r c 域使得包的长度不是3 2 比特的整数倍,可以在逻辑层位域的后面增加两 个字节的全0 值。 2 2 2 控制字 通过r a p i d l o 串行链路连接起来的端口之间使用控制字作为消息单元来管理 串行链路操作的所有方面。控制字用于链路维护、包分割划界、包应答、错误报 告和错误恢复。为了向下兼容,一个端口会忽略收到的具有保留值的控制字并且 不会报告错误。在r a p i d l o 协议中用到的控制字如表2 6 所示。 第二章r a p i d l o 协议介绍 7 表2 6 控制字含义 域定义 s t y p e 0 用于给使用参数1 和参数2 的控制字编码。总共有八种编码。 p a r a m e t e r 0 与s t y p e 0 编码合起来使用 p a r a m e t e r l 与s t y p e 0 编码合起来使用 s t y p e l使用c m d 域的控制字编码。总共有8 种编码 c m d 与s t y p e l 域合起来定义链路维护命令 c r c 5 比特的编码用来检测控制字发送过程中的错误 r a p i d l o 中控制字总共为2 4 比特,也就是3 个字节。其格式如图2 7 所示。 b n023781 21 31 5 1 61 81 92 3 s t y p e 0p a r a m e t e r 0p a r a m e t e r l | s t y p e lc m d | c r c - i 355335 图2 7 控制字格式 p a r a m e t e r 0 和p a r a m e t e r l 用于s t y p e 0 编码决定的功能。c m d 是s t y p e l 的修正 部分。控制字能承载两种功能,一个是在s t y p e 0 中,一个是在s t y p e l 中。s t y p e 0 编码的功能是一种状态功能,它能传递某些类型的端口状态。s t y p e l 编码的功能 用于接收方端口请求或者发送包分隔符。承载一种功能的控制字是以承载的功能 名命名。承载两种功能的控制字是指以两种功能名中的任何一种命名。例如,一 个控制字的s t y p e 0 设置成包接收( p a c k e t a c c e p t e d ) 并且s t y p e l 设置成空( n o p ) , 则这个控制字是包接收控制字;一个控制字的s t y p e 0 设置成包接收并且s t y p e l 设 置成从重试重启( r e s t a r t f r o m r e t r y ) ,则这个控制字即可以叫做包接收控制字也可 以叫做从重试重启控制字,这取决于哪个名字更合适。控制字被指定为具有两种 功能以便于包应答和包分隔符能在同一个控制字中承载。包应答和包分隔符占了 一条繁忙的链路上传递的控制字的多数。无论任何时候一个单独的控制字都可以 携带一个应答和一个包分隔符,可以显著减少链路上的过载并且增加用于包传输 的链路宽带。 s t y p e 0 的功能编码和每个s t y p e 0 功能的参数0 和参数1 携带的信息见表2 8 。 表2 8s t y p e 0 控制字参数含义 s t y p e 0 功能参数内容 参数0参数1 o b 0 0 0 p a c k e t a c c e p t e d p a c k e ta c k l db u fs t a t u s 0 b 0 0 1 p a c k e t r e t r y p a c k e ta c k l db u fs t a t u s 0 b 0 1 0 p a c k e t - n o t - a c c e p t e d p a c k e ta c k l dc a u s e 0 b 0 1 1r e s e r v e d 0 b 1 0 0s t a t u sa c k l ds t a t u sb u fs t a t u s 0 b 1 0 1r e s e r v e d 0 b 1 1 0 l i n k - r e s p o n s e a c k l ds t a t u sb u fs t a t u s 0 b 1 1 1r e s e r v e d 8 r a p i d l o 技术在无线基站中的应用 状态控制字是缺省的s t y p e 0 编码,在控制字没有传送其他的s t y p e 0 功能的时 候默认为状态控制字。p a c k e ta c k l d 是指应答控制字所应答的包的a c k i d ,当发送 方发送一个a c k i d 域值为x 的包给接收方时,如果接收方接收到该包,则会发送 一个p a c k e ta c k l d 参数为x 的应答控制字给发送方表明接收方已经成功接收到该 包,也可以认为是一种通信握手机制,如果在一定时间段内发送方没有接收到该 应答控制字,则它认为包发送失败,将会重新传送该包。a c k i ds t a t u s 是指期望在 接收端口接收的下一个包的a c k l d 值,例如,a c k i ds t a t u s 值为0 b 0 0 0 1 表明设备期 望收到的下一个包的a c k l d 值为1 。a c k l ds t a t u s 主要用于状态控制字和链路响应 控制字。b u fs t a t u s 用于表明端口所能接受的最大长度包的个数。由于r a p i d l o 芯 片在接收包时采用缓存机制,也就是说在每个接收端口都有一个先入先出的 b u f f e r ,接收的包先进入b u f f e r 中缓存起来再进行处理,所以b u f f e r 的状态直接影 响所能接收包的个数。包接收控制字表明接收方设备已经成功将包发送到它的目 的地并且发送方设备分配的资源可以释放。因为r a p i d l o 芯片在发送包后会将该 包缓存起来,只有当它接收到接收控制字后才会将缓存的包释放。所以接收方在 接收到发送发发来的包后,必须及时地向发送方发送包接收控制字,否则对方将 会不断重传该包。包重试控制字表明接收方设备因为暂时的资源冲突例如缓冲不 够时导致没有接收到包,发送方必须重传该包。包不接收控制字用于向发送方表 明为什么包没有被接收方端口接收。这个控制字中的c a u s e 表明了不能接收该包的 理由而p a c k 啦a c k l d 表明是哪个包没有被接收。状态控制字包含了a c k i ds t a t u s 和b u fs t a t u s 域。b u fs t a t u s 表明接收方设备所能接收的最长的包的个数。 a c k l ds t a t u s 允许接收方端口通过发送方端口期望接收的下一个a c k i d 值来决定是 否它和发送方端口是同步的。链路响应控制字用于响应一个链路请求控制字。 s t y p e l 编码对应的功能和c m d 域的功能如表2 9 所示。 表2 9s t y p e l 控制字编码方案 s t y p e ls t y p e l 功能 c m dc m d 功能是否包分隔 符 0 b 0 0 0 s t a r t o f - p a c k e t o b 0 0 0是 0 b 0 0 l s t o m p 0 b 0 0 0是 0 b 0 1 0 e n d o f - p a c k e t 0 b 0 0 0是 0 b 0 1 1 r e s t a r t - f r o m r e t r y 0 b 0 0 0是 0 b 1 0 0 “n k r e q u e s t 0 b 0 0 0 o b 0 10 r e s e r v e d 是 0 b 0 1 1r e s e t ,d e v i c e 0 b 1 0 0 i n p u t s t a t u s 0 b 1 0 1 0 b 1 1 1r e s e r v e d 0 b 1 0 1m u l t i c a s t e v e n to b 0 0 0否 0 b 1 1 0r e s e r v e d0 b 0 0 0否 0 b l1 1n o p0 b 0 0 0否 第二章r a p i d l o 协议介绍 9 数据包开始控制字表明数据包开始发送。s t o m p 控制用于取消部分发送的包。 数据包结束控制字表明包发送结束。r e s t a r t f r o m - r e t r y 控制字取消一个当前的包并 且也可以在一个空闲的链路上发送。这个控制字用于标记包重发的开始以便于接 收发在已经请求重发一个包后知道何时开始接收这个重发的包。链路请求控制字 用于发出一个命令来连接设备或者请求它的输入端口状态。一个链路请求控制字 通常取消一个正在发送的包并且也能在包间发送。一旦检测到错误状态,一个链 路请求控制字能够被用来恢复错误。链路请求控制字可以发出两个命令,一个是 r e s e t d e v i c e ,一个是i n p u t s t a t u s 。r e s e t d e v i c e 命令可以使接收方设备重启或者进 行上电顺序。所有的状态和配置寄存器将会复位到原来的上电状态。复位设备命 令并不会产生一个链路请求控制字。由于系统设计不可描述的可靠性,有必要给 链路请求控制字的复位功能增加一个安全的闭锁。当设备收到一个复位请求控制 字的复位设备命令时,除非它接收到四个并排的复位设备命令而没有其他的干涉 数据包或者控制字,否则它将不会执行复位功能。这将会阻止由于假的复位命令 导致的不注意地复位一个设备。输入状态命令请求接收设备返回它期望从发送方 接收的下一个包的a c k l d 值。m u l f i c a s t e v e n t 控制字与其他的控制字的不同之处在 于它承载了一些与链路无关的信息。它允许用户自己定义的系统事件的发生通过 系统广播出去。 最后,从控制字的0 位到1 8 位上将会计算出一个5 位的c r c 校验码并添加 在控制字的末尾用于整个2 4 位控制字的错误检测机制。 2 2 3p c s 和p m a 子层 r a p i d l o 协议的物理层从结构上可以划分为物理译码予层( p c s :p h y s i c a l c o d i n gs u b l a y e r ) 和物理介质相关子层( p m a :p h y s i c a l m e d i aa t t a c h m e n ts u b l a y e r ) 。 p c s 层的功能是产生空闲序列、l a n e 同步,发送时的编码和译码,接收时的l a n e 合并。p c s 使用8 b 1 0 b 编码在链路上发送数据。p c s 层也提供一种机制来决定每 个端口是4 x 模式还是1 x 模式,也就是说检测数据链路的状态。它允许发送方和 接收方之间的时钟存在很大差异性并且不需要流控制,也就是说r a p i d l o 协议并 不要求发送方设备和接收方设备的时钟之间存在严格的时钟同步,或者说r a p i d l o 系统是一种异步系统6 1 。 p c s 层有如下的发送特征: 一将分隔符控制字作为字符流由p c s 层自动发送 - 当没有发送数据包或者分隔符控制字时,每个l a n e 上会产生空闲序列并把 空闲序列插入到发送字符流中。 _ 每个l a n e 的字符流编码为并行1 0 位码群并将1 0 位并行码群送给p m a 层。 】0 r a p i d l o 技术在无线基站中的应用 p c s 层的接收功能如下: - 将接收到的l o 位并行码群译码为独立的8 比特字符 _ 如果链路上存在不止一个l a n e ,p c s 会同步各个l a n e 上字符流从而消除 l a n e 之间的延时并将来自各个l a n e 上的字符流合并为一个单一的字符流 一将译码后的包的字符流和控制字送给更高的层 空闲序列是一种码群序列。任何时候只要链路上不发包或者控制字,就会产 生连续的空闲序列。空闲序列不能插入到包中或者控制字中。在端口初始化的时 候,需要在每个l a n e 上发送空闲序列并作为初始化的一部分。一个空闲序列包含 一个特殊的时钟补偿序列并且至少每5 0 0 0 个码群发送一次。空闲序列的长度没有 任何限制,可以为任何长度。当即没有包也没有控制字发送时,每个链路上都会 发送空闲序列从而允许每个l a n e 的接收方保持串行比特流的同步。空闲序列中码 群的伪随机选择可以使得一个频谱连续的空闲序列最大程度得减少了长空闲序列 的e m i 问题。 p m a 子层的功能是:在发送时,将p c s 层送来的连续的1 0 位并行码群转化 为串行比特流并以l a n e - b y - l a n e 的形式发送;在接收时,将接收到的串行比特流转 化为1 0 位并行码群并送给p c s 层进行处理。一旦接收到数据,p m a 层会以一个 l a n e 接一个l a n e 的形式将接收到的串行比特流同步为1 0 位并行码群。1 0 位并行码 群对于比p c s 层更高的层来说是透明的。 2 2 41 x 和4 x 链路传输模式 个1 x 的串行链路在每个方向上都有一个单一的l a n e ,也就是一个差分对。 一个串行端口把接收到的来自更高层的包和控制字编码并且发送字符流到差分链 路上。如果既没有控制字也没有包发送时,那么1 x 空闲序列将会送到编码器编码 并且发送出去。一旦接收到,码群流将会被接收方解码并送到更高的层进行处理。 当一个4 x 端口工作在1 x 模式时,来自更高层的字符流并不会像工作在4 x 模式时 那样在编码之前进行同步。来自更高层的整个的字符流将会被并行输入到l a n e 0 到 l a n e 2 。一个工作在l x 模式的4 x 串行端口将会把来自更高层的包和控制字字符流 进行编码并发送到l a n e 0 到l a n e 2 上。一个工作在1 x 模式的4 x 端口将会不选择不 被初始化的发送端口。这种不使能发送端口的机制是可以通过软件控制的。1 x 和 4 x 的链路不能互通,相互连接的两个设备必须工作相同模式和相同速率才能正常 初始化。 个工作在4 x 模式的串行端口将会按如下机制在8 b 1 0 b 编码之前把接收到 的来自更高层的包和控制字平均分配到四个l a n e 。包和控制字将会首先分配到 l a n e 0 ,每个包的第一个字符或者控制字的第一个字符放置在l a n e 0 中,第二个字符 第二章r a p i d i o 协议介绍 放置在l a n e l 中,第三个字符放置在l a n e 2 中,第四个字符放置在l a n e 3 中。第五 个字符将会重新放置在l a n e 0 中,以后的字符将会一直从l a n e 0 到l a n e 3 循环。由 于控制字的长度是固定的,控制字将会形成一个纵队并且包也会形成一个整数个 数的连续的纵队。在字符流进行分配之后,四个字符流中的每一个将会被独立地 进行8 b 1 0 b 编码并发送出去。当没有发送来自更高层的包或者控制字时,一个4 x 空闲序列将会被发送。这可以通过并行发送1 x 空闲序列到所有的四个的l a n e 的编 码器进行编码并且发送到四个l a n e 上。并行发送1 x 空闲序列到四个l a n e 的编码器 的输入将会把每个1 x 空闲序列字转化成4 x 空闲序列纵队。1 x 序列将不会平均分 配到四个l a n e 上。接收数据时,每个l a n e 将会进行8 b 1 0 b 解码,解码后,四个 l a n e 的数据将会合并到一个队列上。这种l a n e 的合并队列过程消除了l a n e 之间的 时延,这样接收到的字符流的顺序将会和发送时的字符流顺序一致。 2 2 5 包传输标准 包传输标准给通过串行链路连接起来的r a p i d l o 设备之间提供了可靠的包传 输。包优先级、与包优先级匹配的处理请求流、缓存管理和控制字的使用是包传 输标准的主要内容。包传输标准定义了通过串行r a p i d i o 链路连接的r a p i d l o 设备 之间包传输的机制,当一个设备收到发送方发来的包时,通过发送一个应答控制 字给发送方,表明成功接收到包。如果一个数据包因为某种原因不能被接收,一 个应答控制字将表明不能接收的原因,原来的包和任何后续传输的数据包必须重 传。这种方式给互联的设备之间提供了一种流控制和错误管理机制。在包传输标 准中,控制字扮演了重要的角色。前面我们已经提到,控制字用来管理串行链路, 包括链路维护、包分隔、包应答、错误报告和错误恢复。 串行控制字是通过一个单独的8 b 1 0 b 编码的特殊字符分隔发送的。控制字符 标记了控制字的开始并且是在控制字的第一个比特的前面。用于分隔控制字的特 殊字符是在控制字传递到p c s 子层进行合并和编码之前加到控制字的前面的。因 为控制字的长度是固定和己知的,控制字并不需要末尾分隔符。控制字分隔字符 和控制字合起来称为被分隔的控制字。两个特殊的字符中的一个用来分隔一个控 制字。如果控制字包含一个包分隔符,使用特殊字符p d ( k 2 8 3 ) 。如果控制字不 包含一个包分隔符,使用特殊字符s c ( k z 8 o ) 分隔控制字。使用特殊字符来分隔控 制字可以使接收方提前预知控制字的内容。当串行端口初始化之后,它将发送空 闲序列直到端口收到一个错误的状态控制字。状态控制字的发送向对方表明端口 已经完成初始化了。需要对方端口发送空闲序列来完成初始化。当一个初始化后 的串行端口收到一个错误释放状态控制字之后,端口将发送空闲序列和最少1 5 个 状态控制字并将收到额外的六个状态控制字。一旦进入正常的工作状态,端口将 1 2 r a p i d l o 技术在无线基站中的应用 开始发送包和其他的控制字。在开始发包和控制字之前,需要接收到总共七个状 态控制字以提供足够的链路确认度。为了减少互联端口不能收到七个状态字甚至 接收到错误的比特的可能性,需要至少发送1 5 个状态控制字。当一个串行端口进 入正常工作状态后,每发送1 0 2 4 个码群,它将至少发送一个包含b u fs t a t u s 域的 状态控制字。为了满足这种需求,如果没有其他的包含b u r - s t a t u s 域的控制字可以 发送时,端口将发送一个状态控制字。在以上所有的情况中,发送1 0 2 4 个码群所 需要的时间是根据总的单向链路的波特率计算的。例如,对于一个4 x 链路,它的 每个l a n e 工作在3 1 2 5 g 波特率,则总的单向波特率就是4 * 3 1 2 5 = 1 2 5 g 。在这个 例子中,发送1 0 2 4 个码群所需要的时间为( 1 0 2 4 1 0 1 2 5 1 0 a 9 = ) 8 1 9 2 n s 。 任何不包含包分隔符的控制字都可以嵌入到一个包中。一个嵌入的控制字可 以包含任何的s t y p e 0

温馨提示

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

最新文档

评论

0/150

提交评论