基于fpga的帧同步的仿真和设计毕业论文(编辑修改稿)内容摘要:

2l OC192 帧结构数据 数据传送 发送方向的数据传送 发送方向功能框图见图 22。 来自 OC192 成帧器的 16 路 622Mbit/s 数据是字节对准的,它们与 622MHz 时钟同步,传送的 12 路 时钟信号同步。 成帧器有 效 数 据帧同步编码串并转换串并转换数 据 输 出 图 22 发送方向数据加工流程图 接收方向的数据传送 在接收方向 ( 见图 23) ,来自 12 个并行光纤的光信号被并行光接收模块转换为,它从每个通道的 据流中恢复出各自的时钟并进行 1: 10 串并转换,经帧同步后,对 12 路并行数据流进行 8B10B 解码,并利用每个数据流中的帧 定界符进行帧对齐,即去除通道间经传输后造成的延时差别 ( 接收部分通道间延时差别容忍度不小于 80ns)。 转换集成电路使用一个算法找出帧定界符, 10 个数据通道的帧定界符被 A1 字节覆盖,恢复成原来的 OC192 帧。 转换集成电路最后把数据通道重组为 16 路 622Mbit/s 的并行数据。 时钟恢复串并转换解码数据对齐校验成帧有 效 数 据 数 据 接 收 图 23 接收方向数据加工流程图 OC192 帧至数据通道映射 输入的 16 路 622Mbit/s 数据经过帧定位和字节分接后分配到 10 个数据通道 ( 如图 24 所示 )。 OC192 帧的第一个 A1 字节 ( AI, A2 为帧同步码字 ) 必须在通道 1 传 输,后续字节顺序分配在余下的数据通道中。 OC192 成帧器提供的 622MHz 时钟信号用于产生 时钟信号,送给并 /串转换电路。 数 据 通 道 1数 据 通 道 2数 据 通 道 5数 据 通 道 6数 据 通 道 7数 据 通 道 8数 据 通 道 9数 据 通 道 1 0数 据 通 道 3数 据 通 道 4输入寄存器A 3A 1A 2A 6A 4A 5A 9A 7A 8A 1 0A 1 3A 1 1A 1 2A 1 6A 1 4A 1 5A 1 9A 1 7A 1 8A 2 0A3A1A2A6A4A5A9A7A8A10A13A11A12A16A14A15A19A17A18A20时 间成 帧 器 1 6 位 数 据成 帧 器 时 钟07070781 57 0 7 0最 高 位图 24 OC192 成帧器适配到数据通道 VSR 帧同步 在数字通信系统中,同步具有相当重要的地位,系统能否有效、可靠地工作,在很大程度上取决于是否有良好的同步系统。 所谓帧同步就是指收方应当从收到的比特流中准确的区分帧的起始与终 止,即是使收、发两端的各路时隙脉冲相对应并保持一致 , 从而保证各路 数据 进行 正确地传输和接收 ,不致发生收发 通 路间的混乱。 帧同步可采用同步码组插入 /检测、弹性缓冲器的方法来实现。 帧同步必须以频率同步为前提 , 只有在频率取得同步的情况下才能实现帧同步。 在多路复用技术中,帧同步的作用是使在接收端的时隙脉冲排列规律和接 收 到的数据 流中的时序排列规律一致,以保证正确无误地进行分路。 一般通信系统设计中,同步单元电路大多以标准逻辑门设计 为主 ,电路具有体积大,功耗大,可靠性低等缺点。 而可编程器件的广泛应用,为数字系统的设计 带来了极大的灵活性。 由于可编程逻辑器件可以通过软件编程对硬件的结构和工作方式进行重构,使得硬件的设计可以 如同软件设计那样快捷方便。 当今高速发展的 FPGA/CPLD 兼有串、并行工作方式和高速、高可靠性的特点,并可以结合具有强大的行为描述能力和丰富的仿真语句的VHDL 语言进行描述,使其在电子系统设计中得到广泛的应用。 本文给出了一种由全数字电路构成的帧同步电路,并且采用 FPGA 技术,实现了帧同步电路的数字化、集成化帧同步器工作原理。 由于传输媒体的并行特性,每个数据通道到达接收端时可能会有不同的传输时延, 为在接收端进行 12 个通道的帧同步和数据对齐,需要插入帧定界符。 通道 110的前三个 A1 字节和检错、纠错通道相应位置的数据应该用二个 8B10B 特殊码字覆盖( 表 21) ,通道 16 和通道 712 帧定界符不一样,使接收端可以识别通道顺序,第一个 Al 字节由 覆盖,第二个 A1 字节由 ( 通道 I6) 或 ( 通道 712)覆盖,第二个 A1 字节由 覆盖。 表 21 帧定界符中的 8B/10B 码字 码字名称 16 进制值 RD+ RD abcdei fghj abcdei fghj BC 001111 1010 110000 0101 ( ) 23 110001 1001 110001 1001 ( ) 23 101010 0101 101010 0101 3 算法原理 引言 发送方向集成电路用于将 QC192 成帧器的输出数据进行通道映射与重组,转换成适合于并行传输的数据流。 其总体功能与模块划分在前两章中分别有所描述。 本章详细讨论了转换集成电路发送方向上 OC192 帧同步模块、延时存储和检错,并对部分模块的电路结 构和设计参数选择进行了讨论和优化。 OC192 帧同步模块功能描述 从 SDH 测试仪发送的 OC192 帧结构数据经 10Gbit/s Transponder 光模块串并转换成 16 路 622Mbit/s 数据送给转换集成电路。 此时, SDH 帧首比特不能保证出现在16 比特数据的最高位 ( MSB) ,而是随机等概率的出现在 16 比特中的任意一位。 同理,经过 FPGA 的 1:10 串并的数据, SDH 帧首比特等概率的出现在 160 比特数据的任意一位。 这就要求发送方向 FPGA 中必须包含一个帧同步电路功能模块,它能够搜索数据流中 SDH 帧同步字符,使帧的首比特出现在 160 比特数据的最高位,使数据对 齐, 并给出帧同步信号,指示帧头的位置。 帧对齐方案 常见帧对齐方案概要 ( 1)由简单并行帧对齐电路构成的帧对齐方案 对于 OC192 速率等级,首先经串并转换将串行数据扩展为 160 位并行数据,然后采用 159 位宽数据寄存器寄存上一周期的数据,并和当前周期的 160 位数据同时输出,得到一个 319 位宽的数据,这样每一时钟周期都有近一半的数据是和上一周期相重复的。 接下来搜索 SDH 帧同步字符的位置。 方法是采用 159 个 20 位比较器与帧同步字符比较,当帧同步字符与待比较数据相等的时候,该比较器给出指示信号,表示找到了帧同步字符在 160 位数据中的位置。 随后的 1598 编码器锁存该位置信号并输出 8 位二进制编码的位置指示信号给通道选择器。 通道选择器根据同步码组的具体位置从 319 位的数据中选择出需要的对齐帧数据。 该方案理论上对高、低速率均适用。 但对于 OC192 这样的高速数据流,如果采用 FPGA 实现,需要使用 159 个 20 位比较器 ( 码组和比较器位数的选择在后面有讨论 ) 和一个 319:160 选择器 ( 功能见表 31)。 此种选择器不仅电路规模较大,而且延 时 太大,其延时和电路规模随控制码最大值的增加而增大。 经仿真延时超过一个时钟周期 ( 指 10GHz1/60= 时钟 ) ,不能满足电路实现需要。 表 31 319: 160 选择器功能表 输入数据 DATA_IN 控制码 输出数据 DATA_OUT D_IN[318:0] 0 D_OUT= D_IN[159:0] 1 D_OUT= D_IN[160:1] 2 D_OUT= D_IN[161:2] … D_OUT= D_IN[318:0] 159 D_OUT= D_IN[318:159] ( 2)基于字节比较的帧对齐方案 先利用 AlA2( A1 为 111101 A2 为 00101000) 的 7 种不同位置将 160 位的数据按字节的边界对齐,然后再利用 AlA2 的交界来判定帧头的正确位置。 由于在OC192 帧结构中有 192 个 A1,按 16 位的并行数据计算,在一帧数据到来的时候,将有至少 8 个周期的数据全是 A1。 虽然,一帧中的首比特可能出现在 160 位数据的任意一位,但随后 8 个周期数据 ( 全是有可能没对齐的 A1) 的任意 8 位一定是11110110, 11101101, 11011011......01111011 等 7 种排列中的一种。 因此可以任选 160位数据上的某一位置,用 7 个比较器找出 A1 的位置,然后根据位置信息利用 167:160数据选择器 ( 控制码值域 :06) 使输入的数据在每个字节的边界上对齐。 接下来再对160 位字节对齐的数据进行处理,判断每个字节的数据是 A1 还是 A2。 因为如果某一周期数据是 AIA2 交界时,前一周期的数据必定全是 A1,本周期的数据高位是 A低位是 A2。 这样可以利用比较得到的 A1A2 交界的位置和帧对齐情况下 AlA2 交界的位置的对比来控制 312:160 选择器 ( 控制码值域 : 019) ,从而得到正确的重排 数据。 对这一方法的简单改进是在字节对齐的模块中,将 167:160 数据选择器用一个 3 位的计数器来控制,每次选择某一通道输出,而将 A1 的比较器放在数据选择器后面。 当比较器发现某一种通道选择正好是 A1 对齐的情况时就锁住通道选择的计数器。 这一改进省去了 6 个比较器。 ( 3)基于二分查找的帧对齐方案 改进的字节对齐方法虽然已经能够适应大部分的应用需要,但是仍有改进的余地。 为了进一步提高速度,减少资源消耗,本文提出了一种基于二分查找的帧对齐方 法。 该方法的核心思想是,将输入的数据流看成是一个待查找的数组,而帧定位符 就是待查找的数据。 由于对于排序数组的最快查找方法是二分查找法,故这里将二分查找的思想应用于数字逻辑电路中,得到了优化的帧搜索对齐方法。 这样,每次对齐只需经过一个二选一的选择器,系统由以 2 为底的 N 的对数级选择器构成,虽然总的级数增加了,但电路结构却变得简单了。 二分查找法是建立在己排序的数组基础上,故形成排序的数组是该电路的一个关键部分,排序的数组采用一个简单的并行异或结构来实现。 由于在 OC192 帧结构中,有 192 个连续的 A1 和 A2,所以在 160 位的数据位宽下应该至少有持续 8 个周期是同样的数据,这样 前一个周期的值和后一个周期的值异或的结果必定是全 0;而一旦有 A2 出现的周期到来,异或的结果就不是全 0,其中第一个 1 的位置就代表了 A1A2的交界。 因为数据位宽是 8 的整数倍,所以尽管 160 位的数据中 A1 不一定是按字节对准的,但在前后两个周期相异或的时候,如果两个周期数据都是 A1,则异或的结果必定 全是 0。 ( 不考虑误码的影响 )。 图 31 给出了一种 A1 不是字节对准的情况,第二个周期是 A1 和 A2 的混合,则异或以后数据就是。 00…… 00_ 11011110_ 11011110…… ,其中第一个 1 的位置就代表了 A1 和 A2 的 交界。 第一周期 : 10110111 10110111 10110111 1…… 0110111 第二周期 : 10110111 10110001 01000001 0…… 1000001 异或结果 : 00000000 00000110 11110110 1…… 1110110 图 31 帧定位数据产生 基于 上述 方法,在实现帧同步电路的时候就不必要去比较帧同步字符,而只要在一个起始都是 0 的数字序列中采用二分查找法找到第一个 1 的位置。 该电路由三部分组成 ( 见图 32)。 异或定位模块用来产生帧定位的数据;二分查找模块找到并 指示AlA2 交界处在 160 位数据中的位置 : 选择器模块选出帧对齐的数据。 异 或 定 位 模 块 选 择 器二 分 查 找 模 块D _ I N [ 1 5 9 : 0 ] D _ O U T [ 1 5 9 : 0 ]D O N EC L K 图 32 二分查找帧同步模块组成 异或定位模块由一个和数据位宽相等的并行异或门,一个判断是否为 0 的比较器以及一个计数器等组成,见图 33。 异或门将每个周期和上一个周期的数据进行异或后寄存,比较器判断异或结果是否全为 0,当为。 时计数器开始计数。 如果连续 8 个周期都是 0,当下一个不是 0 的数据到来时寄存器将该异或结果锁存。 S E TC L RDS E TC L RD或阵列异计 数 器比 较 器 = 0。 C l k1 6 0 1 6 0 1 6 01 6 0D。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。