(通信与信息系统专业论文)高速异步时分复用系统研究与实现.pdf_第1页
(通信与信息系统专业论文)高速异步时分复用系统研究与实现.pdf_第2页
(通信与信息系统专业论文)高速异步时分复用系统研究与实现.pdf_第3页
(通信与信息系统专业论文)高速异步时分复用系统研究与实现.pdf_第4页
(通信与信息系统专业论文)高速异步时分复用系统研究与实现.pdf_第5页
已阅读5页,还剩63页未读 继续免费阅读

(通信与信息系统专业论文)高速异步时分复用系统研究与实现.pdf.pdf 免费下载

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

文档简介

巾田科学技术人学硕i 肆 位论文 !塑墨 黛一) 8 b s 9 摘要 f 时分复 j 是网络年通信领域中的关,建j 支术。它的鹿用诈常“泛。本文讨论的是设计高速异步 时分多路复j l i j 系统来解决多路物理信道j 二相且独立的数据汇聚丁复_ l j 没备时的传输、控制和数据 处理问题。 敬计高速的异步时分复j 系统具有湃常重要的意义,网络和电信部f j 提供越来越多的音频, 视频,数据相结合的多媒体朋务,网络一二的用户不断增多,对传输带宽要求越来越高。与此相适 虑,新的1 :艺不断出现,单路物理信道能传输的数据速率不断上升。这就要求人们不断的研究出 更为高速的异步时分多路复辟j 设舞以适茸这种变化,如路由器和交换机中的线路接入 ,视频复 接器,a d s l 中的d g l a m 等。我国在这方面相对于国际水平还有一些差距,需要进一步的研究 和人力资金的投入0 本文设计的两个异步时分复用系统和提出的通用的解决方案具有国内先进水 平,有很高的实用价值。主要内容包括: 1 提山了高速异步时分多路复删系统硬r f :实现的三级缓存模型,井在这个模型的基础上设计 实现了两个系统,多路百兆接入系统和多路视频处理系统。其中多路百兆接入系统是国家八 三 课题 八 y 视频输入信号2 八 y 视频输入信号3卜 复用与视 六路复用数据驱随 频处理 1卜 p c i 总 1卜动 1 卜、用 线 程厂1 程 视频输入信号4 卜 序序 l 莎 视频输入信号5 卜 y 图2 - 2 多路视_ i i 处理系统简单示意图 对丁| p c i 的设备实现来说有两种方法,第一种是将p c i 接口完全集成到a s i c 中目前常见 的有a m c c ,p l x c y p r e s s 等公司冉乞桥芯片。盘,处是集成度高,批量生产成本低,直接使月j 成熟的处理核。缺陷在于 l 、每一种芯片只局限丁某些模式的实现,而且这些芯片实现的都是3 2 位。3 3 m h z 的操作, 真土e 意义上的“位,6 6 m h z 的芯片还没有性能稳定的面世产品 2 、受制于厂商。这种特定芯片的更新周期很快,当旧的芯片不供应时,不得不更新设计, 兼容性差 3 、设备不容易升级每次修改设计方案,比如从3 2 位的实现跳到6 4 位,都要重新设计, 制板,增加了开发成本、开发时间和实现难度 另一种设计方法就是作者实现的利用f p g a 实现p c i 总线接口控制器,由于p c i 总线协议 自身的复杂性,要想在短期内做到操作稳定,难度很大。但它却具有很好的扩展性,无须在硬件 上对板卡进行改动,同板卡就可以实现从3 2 位3 3 m h z ,到6 4 位6 6 m h z t a r g e t 到m a s t e r , 从s i n g l e 传输到b u r s t 传输的符种虎用,非常的方便只精要载入f p g a 不同的程序就可以 实现t 而且f p g a 作为一种通用的逻辑器件,易购买,并且使用周期长有很大的优势。 作者的1 :作就是使j l jx i l i n x 的c o i e ! ,在v i r t e x3 0 0 e 上实现6 4 何,6 6 m h z 的m a s t e r 模式下的b u r s t 读写传输,并将这一技术应用_ :多路高速视频流实时传输,利用f p g a 的并行 1 0 中周科学技术人学顺f 。学位论史 第二帝高速异步时分复用系统的盹用 处理的优势,在传输的过程还进行可忽略延时的荐种实时处理。现阶段仪美国一家公司有同类产 晶,而且采用的是t a r g e t 模式,很贵,本文的设计和它们相比,成本相同的情况下功能强人 的多。我研究的内容不仅包括多路高速视频数据的复j j ,还包括视频数据的压缩,裁减,缩放, 动态业务要求f 可变业务质量的传输锋。 2 3 高速异步时分复用系统模型 多路酉兆接入系统和多路基丁6 t l b ic ,6 6 m h z 的p c i 多路视频接入系统都是典型的异步时分 复川系统。多路卣兆比以太网接入系统包括六路全双 :日兆比接入,系统的吞吐率可以达到 1 2 g b i t s ,而多路视频处理系统包括五路普通清晰度视频数据输入,一路视频输山,并且还有一 路高清晰度视频数据可以扩展,系统的褥吐率可以达到z 4 g b it s 。 在我设计的两个多路高速数据复川的方案巾,数据的处理都是经过二级缓存,进来的各路数 据经过一级缓存完成时钟的同步和数据格式的转换,以及等待属丁自己的处理时间,然厉立即进 行处理,放入二级缓存二级缓存比较人,是等待一个单位的数据到来如以太网的一帧数据,视 频中的一场数据。二级缓存的数据经过对单元数据统一的信号处理,如帧数据检测,视频信号处 理,语音信号处理等。然后进入三级缓存,三级缓存和一级缓存的任务基本相同,完成时钟的同 步和数据格式的转换。等待自己的处理时间。图2 2 给出了这种高速异步时分复j h 系统的模型。 上层系统接口有两种不同的形式,一个是根据多路复_ f j 系统的特点自定义,完全从本系统优 化的角度来考虑,多路百兆接入系统就是这样。另外一种系统接口是遵循通用的国际行业标准, 如p c i 总线,a g p 总线,各种其他的j :业控制总线等,这样在系统设计时就需要先满足系统接 口的规范,在这个前提f 设计i 功能完善的产品。端口发送电路和端口接收电路是根据不同的麻 用提供符合物理层发送或者接收的电气规范和数据传输格式的处理电路和专用芯片。 一级缓存和三级起到转换时钟和数据格式的作用,为每个端口单独提供一个外部的缓存是不 合适的,占用扳昔面积,功耗夫,价格高,还降低系统处理的速度。一般情况f ,如果需要一级 缓存和三级缓存,它们的实现一般在专用处理芯片或者在通用逻辑处理芯片如f p g a 内部实现。 在多路百兆系统中一三级缓存是在m a c 层专处理芯片q q 8 4 3 0 2 和f p g a 中完成。在多路 视频处理系统中,一三级缓存是完全在f p g a 内部实现的。 二级缓存的存储涉及到策略问题,由于存储晕人,一般都是使j h # f 部存储芯片。最理想的情 况是使用双端口d p r a m ,这样读写完全独立,侧重点只要放在内部数据以何种格式存放,读写 地址不冲突就可以了。但是d p r a m 迄今为止容量还比较小价格昂贵许多涉及到商业的应用 或者需要火容量缓存的数据还不能使用d p r a m 。s d r a m 和s r a m 是比较实际的选择,用逻辑 控制的复杂性换来容量和成本的下降。在二二级缓存中存放的数据如果是帧格式的则存放规则是 以帧为单位进行,如果是流格式则是以数据的长度或者二级缓存的容量为单位进行存放和控制。 人多数情况下,在二级缓存中存放的数据达到一帧之后,需要处理,并且处理之后的数据有可能 再写同二级缓存。由丁存在多个源读写二级缓存,需要做山逻辑严密的控制。另外在存储方案上, 定k 和可变长度的帧的处理方式是有区别的,定长帧数据由于每一个帧的欧度阔定在己知的几个 帧长度中选择,所以可以通过在二级缓有中同定地址存放同定位置的数据的方式来传输,或者通 过读山计数的方式来进行处理,一个例子是视频处理中的一帧图象,进来的尺寸总是已经知道的, 如斡清电视信号的数字化一帧是7 2 0 x 5 7 6 x 3 字节,高清晰度电视信号的数字化一帧是 中围科学技术人学硕i :学位论文 第一二章高速异步时分复用系统的心用 1 9 2 0 x 1 1 5 2 x 2 字j i ,另外一个例r - 就是 m 帧,它的k = 度始终为5 3 字仃。可变k 度帧的数据的k 度变化是在一个很人的范闱内的,如以太网数据的m a c 层数据长度从6 4 字节到1 5 1 4 字节。对丁 它们有着另外不同的处理方法。我们将生第三章平l l 第四章分别讨论这些问题。 图2 - - 3高速异步时分复用系统的模型 图2 - 3 中给山的只是一种皿型的复j i 系统的数据控制流程图,在实际的实现中,由丁异步时 分复闱系统应用的广泛性。麻用场合的多样性,它们的数据流捍图也和图2 3 出现一些差异。 情况一:当数据帧非常小。一级发送缓存容最足够人且缓存读写速率足够快超过各路数据 速率的总和,每路数据中连续两帧之间完全独立,没有关联性的时候。发送端的多路一级缓存可 以合并为一个一级发送缓存。级发送缓存控制中加一个选端口的控制信息到给定的二级缓存空 间,这样做的结果是单个端口的平均板级延迟时间的增加,冈为单端口的数据在该缓存中为等待 其他端口数据的传输付出了代价。这种设计的一个前提是系统接口和一级发送缓存的速率在计算 了控制逻辑的时间之后应当大于多路端口的峰值速率的和。另外在有些情况下,由于二级缓存是 单端口的外部r a i i 实现,所以它是读写分时复用的,并不是随时都可以准备好等待一级发送缓存 的写操作。在二级缓存处_ t 读撵作的时候。一级发送缓存必须等待。这里就要有一个对一级发送 缓存容量的正确估计以免山现溢山的情况。接收端的多路二级缓存也具有同样的特性,可以合 并为一个三级接收缓存。 情况二:并不是必须需要三次缓存,有的设计只是使j 了一级或者两级,有的则因为系统的 需要、发计的缓存级数更多。一个例子就足i p 电话中的多路语音编解码系统,以接收端为例,假 设采_ f i 了g 7 2 9 算法,端口一级接收缓存庄接收了8 0 点的语音数据之后,直接进行数据预处理, 数据预处理是采朋处理器商接对各路数攘进行编码操作,处理结束放入二级缓存,二级缓存中 只要有数据存在,就根据给定的日的地址h i 路由协议通过l 层的系统接口发送 | l 去。没有j 日到三 中困科学技术人学倾f 学位论文筇一带商速异步时分复用系统的成用 级缓存。另外一个例子就是遥感蚓象的处理,冈为数据鼙人且要处理的内容没计到的情况比较多, 如儿何纠正,空间滤波,无效图象去除,目标识别等各个方面,每一级都需要缓存,所以缓存的 级数超过三。 情况三:在系统的容鼍非常人,二级缓存的读写速率人丁多路数据的速率总和的时候。二级 接收缓存和二级发送缓存有时候存在rf a 一个物理存储介质中,只需要做一定的系统逻辑控制。 另外就是二级缓存有可能也存在多个,例如每个端口都有一个二级发送缓存和m 二级接收缓存。 情况四:数据,f = 不总是这样顺序的,后面的缓存器有可能对前面的缓存或者控制器有一定 的反馈控制作用。一个例子是多路视频编解码器,对丁接收端它包括信源编码器,一级缓存,图 象复川编码器,二级传输缓冲器,和传送编码器,此外还有一个编码控制器,系统会根据二级缓 存器中的剩余容甓的人小,通过编码控制器动态的控制信源编码器和图象复h j 编码器,调节视频 信号的压缩系数和最化系数。 此外,还有很多其他的情况,但是圈2 3 提山的高速异步时分复j h 系统的模型最为典型结 构完善,比较适合多路高速数据的处理和传输。我设计的多路高速视频处理系统完全符合图2 3 的流程,而多路百兆接入系统则如情况一所述将多路发送一级缓存在一个发送缓存实现,多路接 收三级缓存在一个接收缓存实现。 中国科学技术人学烦i 学位论丈 第二三章多路玎兆接入系统设计 第三章多路百兆接入系统设计 交换式路由器是国家八六三重人课题一实川化综合接入系统的一个子课题t 在第 二章中已解释了它的基本原理。我承担了接1 3 的没计,接口卡包括多路百兆比以太网接口 多路p o s 接1 2 ,千兆比以太网接e 1 ,其q - 多路百兆比以太网是一个典型的高速多路复接系统。 3 1 系统的功能要求 1 ) 支持六路全双1 :i o m i o o me t l 。e m e t 数据各路数据完全独立,能够支持i o m i o o m 自 动协商传输机制,遵循8 0 2 3 协议规范。 2 ) 支持s n m p 协议的各种需求,包括提供备种情况的帧计数报告,对丁:帧的各种控制。 3 1 支持流量控制,有一定的缓存能匀。 4 ) 帧传递时间在板上的延迟时间小于l u s 。 5 ) 自动地址过滤功能,支持单播,组播,广播地址的检测。 5 ) 支持c r c 校验,帧长度检测,帧类型检测。 6 ) d 2 电时可控制载入系统的软件可启动关闭任一路发送端口或接收端口 3 2 系统的硬件结构 系统的硬件实现如图3 - 1 i 璺j3 1 多路酗速百兆系统硬什实现框i l 4 中固科学技术大学硕i :学位论文 第三帝多路雨兆接入系统设计 f 面对主要的j 苍片的选刑手功能进行介纠。 3 2 1m a c 层和物理层处理模块 八路以太网数据从物理线路j :连凄到系统首先需要物理层和m a c 层处理芯片。其中 最为重要的是m a c 层处理:占片,它需要完成m a c 层的人部分处理功能,要保证足够的吞 口上率,简单的接口设计。我们选择了l s l l o g i c 公司的q q 8 4 3 0 2 。它的优点在丁接口明确, 寄存器资源丰寓,完全支持8 0 2 3 协议希is n m p 协议。 8 4 3 0 2 是四路1 0 0 m 0 m 以太网接口m a c 层处理芯片,它的封装是p q f p 2 5 6 ,它 支持完全的8 0 2 3 协议,可以处理四路独立的1 0 0 m 1 0 m 以太网数据,支持全坝l :和牛双l : 传输方式。当遇到冲突的时候,可以进行自动重传帧的操作;可以进行流蹙控制,自回环测 试;有再种类型的帧错误检测和c r c 校验的产生功能。在涉及到多路1 0 0 m 1 0 m 以太网的 接入系统中有着极为广泛的麻用。 8 4 3 0 2 的结构如图3 - 2 ,四个端e 1 兆用一个系统m a c 层接口四路发送接收数据都通 过双向数据总线r x t x d a t a 传递,蚱 口选择信号用来确定当前占有总线的端口。发送控制 ,状态信号对发送进行管理,接收控制,状态信号对接收进行管理。系统接口的时钟可以达到 5 0 m h z 因此系统接口的数据传输速率可以达到5 0 m h z 3 2 b i t = 1 6 0 0 m b i t s 物理层全双:i : 模式下四端口的速率为1 0 0 m b i t s x 8 = 8 0 0 m b i t s 。系统接口有足够的冗余来完成控制逻辑。 四个端口的寄存器通过同一寄存器接口进行配置,配置总线为1 6 位。物理层配置信号用来 对物理层处理芯片进行配置,以确定其1 :作模式。在端口模块中对发送数据或接收数据进行 相应的m a c 层处理,发送数据发往物理层,接收数据发往系统接口。 心 时钟s a j ( 7 l 二二 lc r 酽屯延迟州散| r 赢订 一。:皂l 一 麓i 蓉控制 物 物理f 玉停 状卷i 弃号 理 腰 h量 i 塑竺l li 濑用榔喇嘲h接 接收控制 系 同m 俪志一燃u 口 状态估号统 接 口 ;口选择信号端口2物理层借 :!;兰, 眭据总线端1=13物理层停 ) - r f 3 l - o ) l十p 螭口4物唾层悄 m d c ,存器配置信峙。i 寄存器接口ll 物理层配置接口i _ h 佃o 1r _ i 冬| 3 - 2m a c 层处理芯片8 4 3 0 2 结构框i 冬i 对单独的端门包括缓存模块、m a c 层处理模块、物理层接n 乖j 寄存器四部分。发送 中国科学技术人学硕l j 学位论艾 第三章多路兆接入系统设计 数据时,从系统接v a 写入发送f i f o 存鼍为1 2 8 字节,起到缓存和转换时钟的作用。当f i f o 内部的数据达到某一给定值或者内部存在帧结束时,数据就传递到m a c 层处理模块。m a c 层处理的主要功能就是将网络层的数据打包,加上同步前导码,进行c r c 校验,然后发到 物理层;如果是、卜双l 模式,要同时:茳行载波侦听和冲突检测,以便进行重传操作和山错处 理指示,上层控制逻辑可圳相应的进f f 错误处理。两帧发送之间有一定的时间间隔,缺省值 由寄存器设置。数据从物理层接口发送到物理层芯片。物理层接口有两种 作模式,其中 m i i 模式下系统时钟为2 5 m h z j 2 5 m t i z ,对应y - 1 0 0 m i o m 以太网。接收数据时,从物理层 接收到数据,进入m a c 层处理模块剥去同步码,检测c r c ,检测m a c 流晕控制短帧, 检测帧长度 检测目的地蹦域是否满足传送要求,可以对单捅,组捕,广播地址分别进行检 测。数据写入接收f i f o ,接收f i f o 有指示信号,当数据超过fj 限值的时候,就通知系统 接口取数据。 全双工和半双1 :模式 + 有不同的流鼙控制功能,全双t 模式f 通过流爆控制短帧。接收 端收到流量控制短帧( 长度类型域为8 8 0 8 ) ,其数据域为另一终端要求的时间间隔。发送数 据时,帧间间隔的初始值就随之改变。另外,发送模块本身也可以发送m a c 流量控制短帧 和远程网络终端协商。半双r 模式下,发送方可以发山干扰信号强制另终端停止发送。 每端口有5 1 个3 2 能各种功能的计数寄存器,如各种山错计数,某长度范围内发送,接收到 的帧数,传输单播,组播,广播帧数等,_ i j 来支持s n m p 。每端口有四十多个控制,状态寄 存器,用来确定l :作参数,如源地由f 目的地址过滤设置自同环测试,k 度检测,f i f ofj 限,全权。( 半双一1 :选择等。 物理层芯片选择8 0 2 2 5 的主要原因是它和m a c 层处理芯片能够通过m i i 接口和m i 接 口实现无缝连接。两个芯片通过m i 接口实现对8 0 2 2 5 的配置,通过m i i 接口完成数据的传 输。它的输入是从网线来的经过整流放人的差分数据,发送和接收独立,都通过差分线进行 传输;输出是四位总线宽度的符合m i i 标准的链路帧数据。支持8 0 2 3 协议。它具有4 b 5 b 编解码,曼彻斯特编解码功能。具有自动增益控制功能。有丰富的寄存器可以配置,有可选 择的半双1 :全双一r 丁作模式,可选扦自动协商机制,有自动蘑发的功能。有l e d 输山指示 它的各种:e 作状态。 3 2 2 通用逻辑处理模块和存储模块 六路发送接收数据的复接分接的控制,以及小容量的缓存的实现主要是在f p g a 内 部完成的。现在通用的处理器件有f p g a ,c p l d ,e p l d ,d s p 。前三者是逻辑控制器件, e p l d 价格较低,管脚之间延迟时间固定,只存在一级锁存,逻辑门相对较少,般在儿千 门左右,适用与小型的组合逻辑以及数据格式转换,电平转换等相对简单的逻辑操作。f p g a 容量在几万门到几千万门,速度快,内露可编群d p r a m ,有的还具有频率台成器,乘法器, 自动支持多种电平格式,适合于人型的逻辑控制设计。c p l d 是e p l d 的扩展容量和速度 都有所提升,并且引入了些f p g a 的分块特性。d s p 的优势在于大量的数学运算,内嵌 式的某些特定的通用公式如f f t ,v e r t c r b i 译码的快速并行处理,但是对于复杂的逻辑控制 不能做到实时的并行高速处理。对t q e l j 的设计,由丁逻辑相对复杂,完成的优先级的判断, 数据的暂时缓存,各路数据的凋度,数据的外部r a m 存储控制,士要的i :作都是控制i :作, 并且需要器件本身具有一定的存储空间e p l d 内部没有缓冲,并且逻辑少,只有端口才有 巾田科学技术人学 $ i l j 学 讧论迁 第j 帝多路n 兆接入系统蛙计 锁存器,无法缓存数据平l i 完成流水线作业,c p l d 容最小速度相对较慢,所以我们采_ i j 了 f p g a 作为逻辑控制器件。 本系统采用两个f p g a ,分别处理发送和接收。在发送f p g a 内部放簧全局系统控制, 负责发送和接收的协凋。这样处理的原冈有陌个,一个是如果发送和接收在一个f p g a 内 部,管脚数目太多,需要购买更高级昂贵的f p g a 芯片另外一个原冈就是发送接收分开处 理,和上层的接口简单,内部逻辑结构明确。缓存控制也相对简单。通过缓存估算,时钟频 率,逻辑门多少等估算,我选择使用a l t e r a 公司的f l e x l o k l 0 0 e ,它内部有1 0 个5 1 2 字节的缓存,时钟速率能够达到1 0 0 m h z ,i o 端i :1 有3 0 0 个,内部逻辑门超过1 0 0 0 0 个。 外部缓存的选择。由丁系统和上层交换结构的系统接口的发送和接收两个方向各是 8 0 0 m b i t s ,而外部每个端【】的发送接收速率是1 0 0 m b i t s 。发送的时候,交换结构的另外的 接口卡传递给某端口的数据在短的突发时间内有可能达到8 0 0 m b i t s 左右,接收的时候,上 层的接1 :3 由_ 丁商表,分类等算法在由丁帧类型地不同需要处理的时问不同,系统等待得时 间也相应的不同,另外发送数据和接收数据和m a c 层处理芯片的接口本身就是总线复j 3 的, 单位时间内只能有一个方向上一个端口数据通过。冈此,外部缓存的作用是缓存各个端口的 数据在复用接口排队,发送时缓存一定的突发传输过来的高速数据帧,接收时缓存数据帧等 待上层处理结柬,因为我秆j 使用了六个端口,所以缓存区每个端口至少能够保留七帧,我们 选择能够保留8 帧。以太网最大的帧为1 5 3 6 字节,需要的外部缓存容量人小为: 8 帧x6 端口x 1 5 3 6 字节= 7 4 k 字节 因为外部缓存的容最都是以2 的幂为单位,所以需要1 2 8 k 字节容量的s r a m ,另外缓 存的吞吐率要超过系统的吞吐率,因为控制逻辑要用一定的总线周期。 选择的外部缓存是c y p r e s s 公司的c y 7 c 1 3 4 5 ,容壤为1 2 8 k ,数据总线宽度为3 2 字:砖。 总线宽度和系统接口以及m a c 层的接口一致,便于处理。s r a m ,读写无法同时进行,所以 在5 0 m h z 的吞吐率达到8 0 0 m b i t s 符台要求。没有选择d p r a m 的原因是。d p r a m 价格贵, 面积大,容量不够,且数据总线宽度只有1 6 位( 如c y 7 c 9 5 6 9 v ) ,虽然不需要读写切换, 但是在系统接口和m a c 层接口之间 i i 耍数据拼接和分削两端由于总线宽度不一致而带来 的速率的不一致需要f p g a 内部的缓存进行隔离数据最大时候。f p g a 内部缓存的容量远 远不能满足这种要求。 3 2 3 数据处理流程 硬件总体结构如图3 1 。在接收方向,六路相互独立的百兆比以太网帧以差分信号的数 据格式从外部通过r j 4 5 进入百兆比以太网旨,经过一级变压器,去除电压干扰屙,进入六 路独立的物理层处理芯片8 0 2 2 5 ,在这里完成帧同步的检测,把每路接收差分信号打包成总 线宽度为4 b i t ,时钟为2 5 m h z 的数字信号,然后传送到m a c 层处理芯片8 4 3 0 2 。共有两个 8 4 3 0 2 芯片,每个芯片支持三路独立的帧数据接收发送端i = 1 ,8 4 3 0 2 完成m a c 层的操作 后,通过3 2 位双向总线。5 0 m h z 时钟将数据传递给接收f p g a 。接收f p g a 利用外部单端 口r a m ,外部f i f o 和f p o a 内部f i f o 完成六路数据调度、缓存、流量控制等操作屙,将 数据传递到上层。当发送数据的时候完成相反方向的操作,发送f p g a 从上层( 线路板) 接收以太帧,利用外部缓存和内部缓存完成八路数据的调度,缓存,流量控制判断其属丁 哪个端口,然后就在属丁该端口的周期内将数据发到8 4 3 0 2 ,由8 4 3 0 2 处理完毕屙,发送到 1 7 中因科学技术大学硕i j 学位论史第三章多路玎兆接入系统设f f 相应的8 0 2 2 5 ,然后通过r j 4 5 传送j u 去。另外d s p c 5 4 0 9 刚来配置8 4 3 0 2 和8 0 2 2 5 ,井h 能够支持上层简单网管协议s n m p 网络进行。e p l d 用来进行译码d s p 的配置读写命令d s p 和e p l d 同时还用来配置其他的接 板。 3 2 4 接口定义 3 2 4 1 系统接口 系统接口包括发送系统接口,接收系统接口,配置系统接口,控制系统接口。 发送系统接口是上层系统j h 来向发送f p g a 传递六路端口的数据。发送数据不是以帧 为单位的,每次传递晟多为7 2 字节,帧数据需要分成多次传送。发送系统接口包括发送 起始信号,当前发送结束信号,帧结束信号,目的端口号,3 2 b i t 宽的数据总线。还有发送 帧计数信号,起到流量控制的功能,保证在外部缓存中缓存的帧不超过七个。 接收系统接口和发送系统接e l 的机制不同,上层系统接收数据都是以帧为单 ! i ) = 的,一帧 之间不能间断。而外部接收二级缓存要每隔一定的时间从m a c 层芯片接收数据,不能长时 间的被单独的l i 用为读或者写。数据总线宽度也由整个边缘路由器全局的设计山发选择为 1 6 位,所以在接收f p g a 和接收接口之间加一个8 k 字节大小的f i f o ,它的作用是保证在 接收二二级缓存m 常读写切换的情况f ,对接收系统接口一帧的写保持连续性 另一个就是实 现3 2 位宽数据和系统接口数据的转换。接收接口还包括,请求接收信号,接收允许信号, 接收帧氏度端口号等。 配置系统接口主要是实现m a c 层处理芯片8 4 3 0 2 和物理层处理芯片8 0 2 2 5 的寄存器配 置,以保证系统工作在所需状态。另外就是为上层的s n m p 简单网络管理协议提供8 4 3 0 2 的寄存器值。 控制系统接口,主要是全局控翻i 信号,包括5 0 m h z 的系统时钟全局复他信号。f p g a 上电配置使能信号。f p g a :i :作状态信号,发送接收单独复何信号等。 3 2 4 2f p g a 接口 有两个f p g a ,一个负责发送,一个负责接收,全局的切换控制放在发送f p g a 中。整 个系统所有的逻辑控制操作都在两个f p g a 中完成。系统结构的合理性从理论上保证了系 统实现的可能性。f p o a 中逻辑的设计则决定了系统的性能。 发送f p g a 的接口包括 发送系统接口 外部缓存接口 m a c 层处理接口 和接收f p g a 的接口 配置接口 接收f p g a 的接口包括 m a c 层处理接口 外部缓存接口 外部f i f o 接口 从系统发送接i z t 接收各个端口的数据。 控制外部r a m 进行各端t q 数据的缓存。 和m a c 层处理芯片相连,向m a c 层芯片的发送数据。 系统时钟的全局控制,保证所有的数据的正常操作。 系统上电时,从e p c 2 中导入f p g a 的程序。 币jm a c 层处理芯片相连从m a c 层芯片接收数据,和发 送f p g a 分时共享这个接口。t 控逻辑在发送f p g a 中。 控制外部缓存进行数据的缓存符理。 控制外部f i f o ,向外部f i f o 传输数据 ! 里型堂垫查查堂堡! ! 堂堡笙壅 塑三至墨堕亘! ! 垄垒墨竺垦! 系统接收接n和j :层进行握手控制,f :通过控制外部f i f o 向系统接收接 口传递数据。 车发送f p g a 的接口从发送f p g a 来的全局的时间控制。 配置接口系统匕电时,从e p c 2 中导入f p o a 的程序。 3 2 4 3m c 层处理芯片的接口 m a c 系统接口包括发送控制信号,接收控制信号,状态信号,发送和接收f p g a 的3 2 数据总线羽j 接收发送f p g a 分别相连接 m i i 接口和物理层芯片进行数据传输,每个端口4 位数据线,时钟2 5 m h z 。 m i 接i s l包括m d i o ,m d c ,按照m l 协议申行配置物理层处理芯片。 配置接口配簧8 4 3 0 2 的寄存器。和d s p ,e p l d 相连接。 3 2 5 系统设计原理 由于8 4 3 0 2 m a c 层端只有一组双向数据线,也就是3 路独立的以太网帧的输入输出都 通过这一组数据线通过。又由于8 4 3 0 2 内部为每一路的发送和接收端口提供了一个小 f i f o f i f o 的深度是1 2 8 字节,而每个以太网帧的长度范围从“字节到1 5 3 6 字节所以在 8 4 3 0 2 这端需要效率很高的调度程序,充分利用3 2 位的数据线宽,在保证发送f i f o 和接收 f i f o 都不溢出,不空的情况i :完成一个循环的操作。另外,发送f p g a 和接收f p g a 各自外挂 了一个s r a m 原因不难理解,一是在某个特定的时间段有可能会出现两端速率不相等的 情况。另外在8 4 3 0 2 端发送和接收数据是分时复用的注定在莱一个时问有一个方向的业务 无法处理,s r a m 正是起这种缓冲作用。由于采用的是单端口的大容量r a m ,读写无法同时 进行所以在s r a m 的读写之间,又占用了一半的总线周期。 由硬件实现框图可以看出,发送f p g a 和接收f p g a 并不是独立的,它们之间由于共_ 【f 两组数据总线而联系起来。虽然百兆以太网工作在全双工的模式,但对于每一路百兆咀太网 来来讲发送和接收之间是严格独立的,而各路百兆以太网数据之间的相互独立是显然的。两 个f p o a 之间的联系并没有破坏这种独立,f p o a 内部的处理对各路以太网是透明的f p g a 本身只要保证每路以太网的两个方向j 的数据传输带宽都大于等丁- 1 0 0 m b i t s 就可以保、证这 种物理层上的独立。 总的调度控制程序( e p 各模块时间段的分秀己) 在发送f f g a 内部完成。 每个f p g a 内部对于各个端口的处理是三个端口为一个单元进行的,它们之间是采用顺 序查询的方法来实现优先级的选择,惑于一个端口每两次查询之间的时问间隔是一定的, 理论上应肖是比较理想的一种实现方式,节省了大量的逻辑和周期,详细请见下节 8 4 3 0 2 工作在5 0 m h z 的频率,已经是该芯片的极限频率了。数据总线的带宽是3 2 位, 所以8 4 3 0 2 端的数据理想速率2x5 0 mh zx3 2 b i t = 3 2 g b i t s ,但是由_ 丁二r a m 的读写使用同 一数据总线,只能有一半时间用于8 4 3 0 2 的操作,所以实际理想带宽为1 6 g b i t s 。而m a c 层 处理芯片本身各路发送和接收端口在m a c 层端共享同一数据总线,所以发送和接收在m a c 端的数据带宽各为8 0 0 m b i t s 。而对于系统接口,发送方和接收方的的数据总线宽度分别为3 2 位和t 6 位,频率5 0 m h z ,带宽为1 6 g b i t & 和8 0 0 m b i t s 。所以系统接口的接收端带宽为5 0 m h z x 1 6 b i t = - 8 0 0 m b i t d s ,系统接口的发送端从路由器全局考虑每3 3 周期传递1 6 个周期的数据, 1 9 中周科学技术人学硕i :q - 位论史 第三市多路i t 兆接入系统世计 发送的带宽可以达到5 0 m h z x3 2 b i tx ( 1 6 ,3 3 产7 7 6 m b i “s 。考虑到八路全双1 :的以太网满负荷 运行时l i _ j 的带宽为1 2 g b i t s ,发送和接收备为6 0 0 m b i t s ,所以对于逻辑操作而言,还有四分 之一的冗余用来实现非数据传输的逻辑控制操作。 3 2 6 各个模块在异步时分复用模型中的位置 结合图3 1 多路高速百兆系统硬什实现框图和图2 - 2 的高速异步时分复用系统的模型, 再考虑到以上儿节的讨论不难得到这样的结果: 发送一级缓存在发送f p g a 内部实现,只采_ i j 了一个发送一级缓存,具体分析见以f 儿w ,_ ;i 发送外部r a m 实现发送二级缓存两个m a c 层处理芯片中的t x f i f o 来实现发 送三级缓存每个端口都有一个发送:i 级缓存,每个m a c 层处理芯片提供三个。接收一级 缓存通过m a c 层处理芯片的r x f i f o 实现,每个端口都有一个接收一级缓存。接收- 二级缓 存通过接收外部r a m 实现的,接收j 级缓存是通过外部f i f o 实现的。 3 3 系统逻辑控制 共有两个f p g a ,一个处理相互独立的六路数据的发送,一个处理相互独立的六路数据 的接收,发送和接收全局调度控制程序在发送f p g a 内部。;两个f p g a 完成六路独立数据 的复用调度,内部发送一级缓存和接收三级缓存的管理。二级缓存的管理,m a c 层处理芯 片的管理,外部f i f o 的管理,和上层系统接口的握手和数据传递两个f p g a 处理的数据 流程如图3 - 3 。 系 统 接 收 接 u 外部f i f o ( 接 收三级埋存) 接收二级缓存( 外部r a m ) 外部f i f o 中并帧端【| 号 和帧长度缓存 端口l 接收i 一级缓存1 ,j 蛸【| 2 接收lm a c 一级缓存l 层 一 + 1 岔 n 嫡硼“ l 一级缓存l 嘎雌 图3 3i f p g a 处理数据流科阔 发送f p g a 从系统接口接收到数据直接存入到f p g a 内部的一级缓存一级缓存的 2 0 一 呲层芯片 一 一 一 中围科学技术人学碰l + 学位论文 薷三帝多路雨兆接入系统 世计 数据总线宽度为3 6 何,低3 2 位传递数据高四何用来传递端口号和帧起始结束信息。在合 适的时间,数据从f i f o 内部读i ,根据端口号+ r i - 级缓存现在的状态写入二级缓存相应的 地址空间。又在某一给定的时间间隔内井且在m a c 层处理芯片发送端口准备好的情况卜| , 从发送二级缓存向m a c 层处理芯片相应端口写数据。 接收f p g a 地操作相反。它在给定的时问l j 4 计且m a c 层:苍片接收数据准备好的前提卜 接收从各个接收端口的缓存中读取数据,将数据写进二级接收缓存。二级接收缓存中数据存 储有一定的格式。在仲裁得到的时间段从接收二级缓存读出数据写入外部f i f o ,同时在 f p g a 内部开辟一个缓存区按照顺序记录外部f i f o 中存在的帧的端口号和帧k 度,只要外 部f i f o 内部存在一帧,就向系统接收接口提出请求升从外部f i f o 中将数据传递到上层。 两个f p g a 的软r l :控制模块框图如3 - 4 接收接ui + 叫接收内外缓 控制模块ii 存调度 r ,融鹰 噬8 4 3 0 2 l 01i 一 接收内部 缓存管理 8 4 3 0 2 - 2 接收控 发送 接口 控制 模块 发耋空婪缓l 卜一l 主控制模块 存调度r l1 “”偎“ 发送外部 r a m 控制模块 8 4 3 0 2 - l 发送 控制模块 发送内部 缓存管理 8 4 3 0 2 一l 投 送控制模 块 图3 - 4f p g a 软什控制框i 割 上面的虚线框是接收f p g a 处理模块,包括外部f i f o 控制,外部r a m 控制,系统 接口控制,内外缓存调度,m a c 层芯片控制,内部缓存管理,下面的虚线框是发送f p g a 的控制模块,包括m a c 层控制模块,外部缓存控制模块,内部缓存控制模块,内部逻辑控 制,发送系统接口控制,还有系统的主控制模块,他们的作用可以从顾名思义,关系也可以 从图中看山。 3 3 1 全局系统控制方案 发送和接收f p g a 的总的日寸间控制程守,因为_ 二级缓存的渎写复h 】干m a c 层芯片的八路 发送接收数据总线复j l j 和t x f i f o ,r x f i f o 容最的限制我们采j | j 了全局系统控制方案,卜 2 中田科学技术人学硕 。学位论史_ 第三帝多路丌兆接入系统设计 一章会给山不同硬什环境r 的分布式系统控制方案并加以比较。 考虑到有以f 的限制: 1 ) 对丁发送通路,外部发送二级缓存本身读写兆川3 2 比特宽的数据总线,所以读写无法 同时进行需要将读写时间进行严格的限制。接收二级缓存同样具有这个限制。 2 ) 发送通路中。只有外部发送_ 二级缓存处丁写状态的时候才能够从发送f p g a 内部的一 级缓存读取数据,写发送二级缓存;只有当发送二级缓存处:r 读状态的时候才能够读取数据 写到发送三级缓冲区中只有接收二级缓存处丁写状态的时候才能向接收三级缓存写数据t 只有接收二级缓存处丁读状态的时候才能够从接收一级缓存中读取数据。 3 ) 对下每一个m a c 层处理芯片来i ; ,使j h 了二个端口,二个端口的发送和接收j l j t j3 2 比特宽的数据总线,也就意味着,同时只能有一个端口在传输数据,并且数据的发送和接收 无法同时进行。 4 ) 系统发送端口每3 3 个h 钟周期有1 6 个周期是写发送一级缓存的时间段,所以发送 级缓存始终处于准备好的状态。系统接收接口每次一旦进入接收状态,则必须一次性接收 帧。 5 ) m a c 层处理芯片的每个端口有1 2 8 字节的发送三级缓存和1 2 8 字节的接收一级缓存, 在和f p g a 通信时,它们共用一组数据总线。对丁| 发送,一旦一帧开始传输,需要保证发 送三级缓存中始终有数据:对于接收,一旦一帧开始传输,就要保证接收缓存中数据不溢山。 考虑到以上的情况,我们的设计原则是: 1 ) 保证在最坏的情况一f ,发送一、二级缓存接收、二、三级缓存不会山现溢山状 态。一帧传输中间,发送三级缓存不能存在溢出和空的状态。 2 ) 尽量减少系统数据传输状态切换的频率,包括- 二级缓存的读写切换频率,m a c 层 处理芯片的读写切换频率。这样可以减少控制逻辑占用周期,增加数据传输的周期,进而提 高系统的实际数据传输带宽。 3 )最人限度的利用缓存空间,摄人限度的减少一帧在系统中的延迟时间。 4 ) 系统采州一个人循环周期的没置,一个循环内完成二二级缓存的一次读写切换,和 m a c 层六个端口的发送和接收缓存的揉作。人循环时间的设置是根据m a c 层芯片单端口 缓存的容量来计算的,在一次循环量只访问端口一次,所以一次循环的时间内。m a c 层芯 片如果有数据传输,则该端口在一帧为结束时,发送三级缓存的数据不能传输完,接收一级 缓存中的数据不能溢出。 按照第二条的原则,设计方案中选择了,且读或者写m a c 层处理接口,就一直将三 个端口顺序的处理结束。这样系统发送和接收就有如图3 - 5 的情况,横坐标为时间轴。 。,鉴黉。,。,。 接收 l 8 皇堕曼堡堡j垄堡! 坐送堡塑 lr 6 m 舅薹箍l 接收r m 读撮佳_ j 【一,j 一j m a c 层芯片lu a c j g - :i d 片2 发送二端l j 写发送:二端u + 弓 i 。,。j 。j m c 层芯j 1 2m a c 层芯片2 接收三端u 写接收三埔u 写 图3 - 5 发送一:级缓存读写时间与接收二级缓存读写时间安排 中周科学技术人学颂i 学位论文 第- :帝多路玎兆接入系统设计 再考虑到对 rm a c 层处理芯片,读写不能同时进行,所以对丁| 系统全局时间的设计 就有以f 如图3 - 6 的两种情况,横坐标为时间轴。 接收r a m 读操作接收r i q 操作 l 蕉! 薹! 趔里拯缝i堡堡! ! 鎏埋笪_ j i! ib ! i 一堕 i m a c 屡芯”1m a c 层岱”2 发送三端u 写发送三端u 写 m a c 层芯片2m a c 层芯片l 接收三端口读接收三端u 凄 接收r a m t ;操作 接收r a m 读操作 i发送r a m 写操作l发送r a m 读操作i l 2 一j 竺 l ! ! i 坚i m a c 层芯”2m a c 屡芯”t 接收三端u 读 发送三端u 写 m a c 层芯片im a c 层芯片2 接收三端口凄发送三端u 写 图3 - 6全局时间控制方案i全局时间控制方案2 两种方案有一个共同的特点,就是对丁每一个m a c 层芯片的每一个端口,在一个人的 循环周期内发送和接收各访问一次。晟终选择了方案1 ,是源于以f 原冈。 接收二级缓存的读操作和发送二级缓存的写操作都是以帧为单位进行的,写发送二级缓 存时从一级缓存读取数据,遇到帧结束符号之后做一些处理r 作,读接收二级缓存到接收三 级缓存中也是读完一帧就做一些相关的处理。但是这里并不能以帧为单能计算时间,因为一 帧的单位从6 4 字节到1 5 3 6 字节不等,所以时间差距比较夫,同时也不能以缓存的容量来计 算。对于发送端,如果以发送级缓存读窑成者发送二二圾缓存写满来作为这个时问段的条 什。那么如果发送一级缓存中数据较多的时候,就会引起发送二级缓存长时间的处于写状态, 从而导致了m a c 层处理芯片的f i f o 溢出。接收有同样的情况。所以最后,对于发送二级 缓存的写操作和接收二级缓存的读操作,采用了周定的时间段,同定时间段的设置采用了上 文提到的限制5 和原则4 。 对于接收二级缓存的写操作和发送二二级缓存的读操作。是针对m a c 层处理芯片的,对 丁| 每一路端口的数据,因为m a c 层芯片的发送接收缓存大小都为1 2 8 字节,这就是一个周 期能处理一个端口数据长度的最人单元。如果并不是三个端口在这个循环段内同时有数据传 递,那么这个时间段就可以相虑的缩小,也就是说这个时间段可以根据系统的负载来调节。 由上,对于方案2 ,接收二级缓存的读操作和发送二二级缓存的写操作处于不同的时间段, 且采用周定时间制,所以

温馨提示

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

评论

0/150

提交评论