datasheet

STM-1并行帧同步系统的设计与FPGA实现

2008-04-24来源: 电子系统设计 关键字:帧同步  FPGA器件  失步  移位寄存器  测试向量  内部数据总线  时钟  串并转换

  同步技术在数字通信系统中是非常重要的技术,一般有位(码元)同步、字(码组)同步、载波同步和帧同步,对于网络系统来说还有网同步。现代SDH数字传输网是全网同步的数字传送网络,对于接收端的数据处理,首先要从同步数据流中提取帧同步信息,帧同步提取性能的优劣直接影响整个数据的处理质量与整个系统的性能。使用FPGA技术可以实现同步系统的模块化、小型化和芯片化,得到稳定可靠的帧同步器。

  并行帧同步系统

  SDH中的基本传输模块为STM-1,传输速率为155.52Mbps。如果采用传统的串行帧同步电路,电路需监测接收信号是否与帧同步信号一致,如果不一致则漂移1比特后再次监测是否和帧同步信号一致,如此反复。一边1比特1比特地漂移,一边搜索和帧同步信号一致的地方。所以整个逻辑电路要求工作在155.52MHz时钟频率,目前的FPGA器件工艺条件下很难得到稳定的工作性能。

  针对这一问题,本文采用并行帧同步法实现STM-1码流帧同步信息的提取,系统功能框图如图1所示。在系统中,只有16比特移位寄存器工作在155.52MHz时钟频率,其余模块工作频率为STM-1码流的字节时钟19.44MHz,从而大大降低了电路时序设计难度,提高了系统的稳定性与可靠性,同时显著降低了功耗。

  图1:采用并行帧同步法实现STM-1码流帧同步信息提取的系统功能框图。

  根据ITU-T G.707建议的规定,SDH中采用以字节为基础的集中插入的帧同步码组,STM-1帧结构中有6个字节,即48个比特作为帧同步码组,排列为:第一行的第1列到第六列为A1A1A1A2A2A2(A1=11110110B,A2=00101000B)。为避免使帧同步电路复杂化,没有必要使用A1、A2的所有字节。根据最坏帧恢复时间参数,这里选取STM-1帧第一行的第3列与第4列16个比特,即相邻的A1A2字节作为帧同步码组。

  STM-1比特码流在155.52MHz时钟控制下串行移入16比特移位寄存器。为了确定输入串行比特码流的字节边界,通过9个并行置数的字节寄存器(reg0~reg8)在19.44MHz时钟控制下对输入码流缓存,其中reg0缓存16比特移位寄存器的第0 比特到第7比特,reg1缓存16比特移位寄存器的第1比特到第8比特,依此类推。缓存后的字节数据经一个9选1的多路选择器(MUX)构成系统内部的8比特宽数据总线,再由比较器和同步校验状态机判断帧同步情况,产生帧头指示信号。同时内部数据总线的内容输出产生时钟周期为19.44MHz 的STM-1字节码流,完成对STM-1码流的串并转换

  在帧同步方式中定义了失步状态、准校核状态、校核状态、同步状态和保护状态五种状态。状态转移图如图2所示。

  图2:帧同步系统工作状态转移图。

  在失步状态下,系统监测9个缓冲寄存器中的内容是否与A1字节(11110110B)一致。如果一致则进入准校核状态,表示已找到STM-1码流的字节边界,令多路选择器的输出(即系统内部数据总线)锁定为检测到与A1字节一致的缓冲寄存器的输出;如果不一致则维持失步状态。在准校核状态,如果内部数据总线为A2字节(00101000B)则进入校核状态,表示已发现一次帧同步码组;如果内部数据总线为A1字节则维持准校核状态;否则返回失步状态。在校核状态,漂移1个帧长(125μs)再次检测是否为A1A2字节,如果一致就转入同步状态,输出帧头指示信号;如果不一致就返回失步状态。

  在同步状态下,要不断地漂移1个帧长,检查是否和帧同步码组一致。这时,由于误比特的存在,会发生接收信号和帧同步码组不一致的情况。因某1次的不一致就由同步状态转换为失步状态的话将会引起伪失步,应避免这种情况的发生。本同步系统在发生1次接收信号和帧同步码组不一致时,进入保护状态,只有连续3次不一致才转换到失步状态。在保护状态,如果漂移一个帧长后监测到帧同步码组,就返回同步状态;同时在保护状态也要产生帧头指示信号。

  图3:Cyclone器件内置锁相环原理框图。

  由于FPGA中寄存器资源丰富,所以状态机状态编码采用独热(one-hot)编码,减少状态译码电路中组合电路的复杂度,便于满足时序要求和布局布线。在状态机Verilog代码编写时,将状态转移单独写成一个always模块,将状态的操作和判断写到另一个always模块中。与将状态机的所有逻辑用一个always语句块描述相比,本设计所采用的代码风格不仅便于代码的阅读、理解、维护,更重要的是利于综合器优化代码,利于用户添加合适的时序约束条件,利于布局布线器实现设计。

  在Altera的低成本的Cyclone系列器件中,有一种经过简化的快速锁相环(Fast PLL),可完成时钟的倍频、分频、相移、占空比调整和外部时钟输出,能够利用FPGA内部的全局时钟网络进行系统级时钟管理和时钟偏移(clock skew)控制,同步内部系统时钟与片外时钟,最小化时钟延迟和时钟偏移,调整tco(时钟到输出时间)和tsu(建立时间)。锁相环的原理框图如图3所示。在Altera公司的QuartusII集成开发平台中,通过调用可参数化的宏模块altpll,设置其基本参数就可以得到所需的锁相环性能,产生系统时钟信号。

  本电路中需要两个时钟信号,一个是155.52MHz的STM-1比特时钟,一个是19.44MHz的STM-1字节时钟。除16比特移位寄存器工作在155.52MHz时钟频率外,整个系统都使用19.44MHz时钟。所以这里由外部晶振提供19.44MHz高稳定性的全局时钟信号,由器件内置锁相环产生8倍频时钟信号。这里设置锁相环工作在Normal模式,反馈路径补偿了输入晶振时钟与器件内到达寄存器的时钟信号之间的布线与逻辑延迟,减小时钟偏移,保证输入时钟与倍频产生的时钟之间的稳定相位关系。Normal模式下锁相环输入标准时钟与产生时钟之间的相位关系如图4所示。

  图4:Normal模式锁相环时钟相位关系图。

  综合与验证

  首先使用Altera公司的QuartusII集成开发平台进行逻辑综合与静态时序分析(Static Timing Analysis)。选择器件型号为Cyclone系列的EP1C6T144C8。由于16比特移位寄存器工作在155.52MHz时钟频率下,为了使这部分电路能稳定可靠地工作,在综合器的设置中必须选择速度优先的优化技术,并对相关路径设计严格的时序约束条件,同时在布局布线器的设置中选择物理综合(Physical Synthesis)优化技术,否则移位寄存器将不能正确地缓存每比特码流数据。

  由于QuartusII工具通过NativeLink技术无缝地支持第三方仿真工具,这里采用Mentor Graphics公司的ModelSim工具提取QuartusII产生的Verilog输出网表文件和标准延时格式(Standard Delay Format)文件,进行RTL级功能仿真与门级时序仿真。由于QuartusII支持的仿真测试向量文件为图形格式的VWF(Vector Waveform File)文件,不支持Verilog文本测试向量,在测试大型设计项目时,图形格式测试向量的编写效率低、可读性差、不易于修改和维护。而ModelSim作为业界标准的硬件描述语言仿真平台,支持高效简洁的Verilog文本测试向量输入,大大提高了测试向量编写的有效性和准确性。同时ModelSim的仿真运算速度也远高于QuartusII集成的仿真工具,可大大缩短系统开发周期,加快设计进程。门级时序仿真得到的波形如图5所示。

  图5:系统门级仿真波形。

  图5中clk8为晶振产生的19.44MHz时钟,clk为FPGA内置锁相环8倍频产生的155.52MHz时钟,d为输入的STM-1比特码流,frameHead信号为产生的帧头指示信号,byteH为串并转换后得到的STM-1字节码流。由图可知,在连续接收到两次正确的帧同步码组后,系统进入同步状态,输出帧头指示信号。

  本文小结

  本文提出了高速率STM-1码流并行帧同步系统的设计方案,并在实际FPGA器件中实现了物理验证,得到了稳定可靠的工作电路。这里采用的是将1个串行码流转换为8个并行码流的并行计算技术,对于STM-4、STM-16等更高速率的码流,可以将串行码流转换为更多的并行码流,系统设计方案无需作大的调整,就可以实现高速码流的帧同步系统。

关键字:帧同步  FPGA器件  失步  移位寄存器  测试向量  内部数据总线  时钟  串并转换

编辑:ssb 引用地址:http://www.eeworld.com.cn/gykz/2008/0424/article_842.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:如何用FPGA实现原型板原理图的验证
下一篇:四种常用FPGA/CPLD设计思想与技巧

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

串口通信的帧同步问题

封装STM32串口的底层时,遇到了串口帧同步的问题。虽然以前也遇到类似场合,写出来的代码基本能够解决问题,但是在逻辑上总是不能彻底的解释一些细节。当前的工作环境:由于代码想用在一个简单的PID闭环上,做在线的参数整定。假设当前PID解算周期是1ms,即每1ms,做一次串口的收包,解包,Pid解算,数据采集,然后打包,发包。也就是说是固定步长的解包。串口的方案是开启收发的DMA以及DMA的中断。(坚决不考虑直接使用串口中断。一个字节中断一次太费资源)。DMA数组作为串口的FIFO队列(并不是真正意义上的队列)。当前的需求:1、时间节拍到来时,检查是否有收到数据。没有则跳出,有则进入下一步2、检查数据中的包格式,比如包头是否正确,帧
发表于 2018-06-01

一种改进的B3G MIMO-OFDM系统的帧同步方法

,再将已同步信号经去循环扩展后进行N点的FFT变换。   设Si(k),i=1,…Q为第i根天线的发送信号,在不考虑频率偏移的条件下,第i根接收天线接收到的信号可以表示为:   其中wj(k)表示均值为0的加性高斯白噪声(AWGN),对于不同的i、k、j不相关。Hij(k)为第i根发送天线到第j根接收天线第k个子载波上的信道冲激相应。dij是第i根发送天线到第j根接收天线的传输时延。   2 各种同步算法介绍   同步技术包括帧同步和载波频率同步,在OFDM系统中,接收机需首先确定接收OFDM符号的起始时刻,然后估计接收机与发射机之间的载波频率偏移,进行载波频率偏移补偿,最后进行FFT解调。如果不达到准确的帧同步,引起的符号误差
发表于 2013-12-04
一种改进的B3G MIMO-OFDM系统的帧同步方法

一种改进的B3G MIMO-OFDM系统的帧同步方法

,再将已同步信号经去循环扩展后进行N点的FFT变换。   设Si(k),i=1,…Q为第i根天线的发送信号,在不考虑频率偏移的条件下,第i根接收天线接收到的信号可以表示为:   其中wj(k)表示均值为0的加性高斯白噪声(AWGN),对于不同的i、k、j不相关。Hij(k)为第i根发送天线到第j根接收天线第k个子载波上的信道冲激相应。dij是第i根发送天线到第j根接收天线的传输时延。   2 各种同步算法介绍   同步技术包括帧同步和载波频率同步,在OFDM系统中,接收机需首先确定接收OFDM符号的起始时刻,然后估计接收机与发射机之间的载波频率偏移,进行载波频率偏移补偿,最后进行FFT解调。如果不达到准确的帧同步,引起的符号误差
发表于 2013-12-04
一种改进的B3G MIMO-OFDM系统的帧同步方法

基于FPGA的帧同步系统设计方案

在Xilinx的FPGA器件XC3S200-4FT200上对方案中设计的帧同步系统进行了实现,利用Modelsim 6.0软件进行了仿真测试。仿真结果表明,本方案设计的同步系统工作稳定,满足性能要求。0 引言在数字通信系统中,发送端一般以一定数目的码元组成一个个“字”或“句”,即组成一个个数据帧进行传输,因此帧是数据传输的基本单位。不同的通信系统具有不同的帧结构。帧一般分为帧同步码和数据两部分,帧同步码用于标志帧的起始位置;数据则是需要传输的有效码元。帧同步码组的插入方法主要有两种:集中式插入法和间隔式插入法。集中式插入法就是在每帧的开头集中插入帧同步码组的方法;间隔式插入法则是将帧同步码组分散插入到数据流中,即每隔一定数量的信息
发表于 2013-11-12
基于FPGA的帧同步系统设计方案

基于USB2.0的高速无线数传接收设备的数据接收存储方法

机制[1][6]减轻开发人员的负担、获得高速数据传输能力(480Mb/s),而且可以实现便捷的机箱外即插即用特性,方便终端用户的使用。1 无线数传接收设备总体构成  无线数传接收设备是某靶场测量系统的一个重要组成部分。如图1所示,该设备由遥测接收机、GPS接收机和数据转存系统构成。遥测接收机利用天线接收经过调制的无线电波信号,解调后形成传输速率为4Mb/s 的RS-422电平差分串行数据流。以帧同步字打头的有效数据帧周期性地出现在这些串行数据中。数据转存系统从中提取出有效的数据帧,并在帧同步字后插入利用GPS接收机生成的本地时间信息,用于记录该帧数据被接收到的时间,然后送给主机硬盘保存。    
发表于 2012-10-08
基于USB2.0的高速无线数传接收设备的数据接收存储方法

基于FPGA与ARM的遥测数据网络化采集

    以太网接口通信速度快,传输可靠,使用和配置方便,对于20 Mb/s以下的码速率,100 Mb/s的网卡可以进行不丢包转发,采用TCP包格式还可使设备小型化,便于数据的转发,因此有必要扩展设备的以太网功能。1 整体模块设计1.1 系统设计    系统设计框图如图1所示。其中,采编器或接收机解调输出的PCM信号及时钟输入到FPGA中进行帧同步,IRIG—B码信息也送到FPGA中进行解调,得到时间信息。数据与时间一起存入SRAM乒乓缓冲区中,达到一定大小后,FPGA向ARM处理器发器中断,ARM中运行的Linux系统,将数据取走,进行TCP/IP打包,发送给接收计算机
发表于 2011-11-16
基于FPGA与ARM的遥测数据网络化采集

小广播

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">