基于FPGA的STM-64帧同步技术
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于FPGA的STM-64帧同步技术
崔晶
【摘要】A FPGA-based technology which realizes STM-64 frame synchronization in synchronous digital hierar-chy(SDH)communication was introduced. Composed of a 10,G optical module,a 10,G demultiplexing chip and a FPGA,the new technique is able to complete STM-64 frame synchronization in a FPGA which can only be realized with the help of a special chip. All data and frame format has been proved meeting the general international standards of SDH transmission and the technique was proved with wide application value in various SDH equipments.%介绍了一种采用 FPGA(现场可编程门阵列电路)实现 SDH(同步数字体系)通信中 STM-64信号帧同步的技术。
该技术由1个10,G光模块、1个10,G解复用芯片以及1个FPGA组成,可以在FPGA中实现专用芯片才能实现的STM-64帧同步。
该技术中所有数据及帧格式完全符合SDH传输国际通用标准,在各种SDH设备中拥有广泛的应用价值。
【期刊名称】《天津科技》
【年(卷),期】2014(000)004
【总页数】4页(P3-5,7)
【关键词】FPGA;STM-64;帧同步;SDH
【作者】崔晶
【作者单位】天津现代职业技术学院天津300350
【正文语种】中文
【中图分类】TN9
0 引言
随着通信及计算机技术的发展,对大量数据进行高速和实时传输的需求越来越多,传统的并行传输技术已经不能满足现代通信的需求。
因此,高速串行传输技术被越来越多的通信设备所采用。
高速数据传输对包括芯片接口和电路板走线等硬件的要求很高,能满足高速传输需求的专用集成电路不仅价格昂贵,而且功能单一,灵活性较低,不能满足用户多样化的需求。
[1]特别是在SDH通信领域,需要对系统中的高速信号分拆、复用、解复用,并且对各种开销进行处理和维护。
虽然有相应的专用芯片进行数据处理,但这加大了PCB设计的难度,增加了产品成本,一定程度上降低了灵活性。
本文介绍的技术可以使用 FPGA对 STM-64的高速信号进行处理,完成STM-64的帧同步传输为下一级进行各种处理,旨在解决上述技术中存在的问题。
1 设计实现
1.1 系统硬件设计
系统硬件主要由3大部分构成:
① 10,G光模块:主要将速率为 10,G的光信号转换为速率为 10,G的电信号,电信号的电平规范为LVDS,电信号输入解复用芯片;②解复用芯片:主要完成对速率为 10,G的高速电信号的串并变换,将串行信号转换为16路并行速率为622,Mbps的信号,从数据中恢复出频率为 622,MHz的同步时钟,数据与时钟一起送入 FPGA;③FPGA:主要完成 16路速率为 622,Mbps并行信号的接收,并完成 STM-64信号的帧同步。
最终输出帧同步状态指示信号以及帧头脉冲信号,
完成整个STM-64帧同步的过程。
硬件及主要信号连接情况如图1所示:
图1 硬件及主要信号线连接示意图Fig.1 Connection diagram of hardware and main signal lines
本设计中使用的10,G光模块是Openext公司的单向收10,G光模块,解复用芯片是VITESSE公司的VSC8479芯片,FPGA 是 Xilinx公司的XC6,VLX240T。
1.2 系统程序设计
FPGA设计中的主要功能模块如图2所示:
图2 FPGA内部功能模块示意图Fig.2 FPGA built-in function modules
如图2所示,系统主要由3个模块组成:Receive模块、Rxd_sft模块以及Frame_head模块。
Receive模块接收解复用芯片发送的速率为 622,M 的时钟信号和16路数据信号后,分接速率为155,M的同步时钟信号和 64路数据信号,传输给 Rxd_sft模块。
Rxd_sft模块对 64路数据信号进行错位调整后传输给
Frame_head模块。
Frame_head模块对数据进行帧头搜寻,将指示帧同步状态
信号、帧头脉冲以及正位的64,bit STM-64信号传输出去。
1.2.1 Receive模块设计
Receive模块将速率为622,M的时钟信号和16路数据信号,分接为速率为
155,M 的同步时钟信号和64路数据信号,需要调用FPGA 自带的ISERDESE1、IODELAY 完成。
ISERDESE1可以将1路输入信号输出为原信号的四分之一频率。
IODELAY可以为输入信号提供延时,每个单位延时可以为精确的 78,ps,最多 32个单位 2.5,ns时延。
Receive模块的连接见图3。
如图3所示,利用FPGA的ISERDESE1对输入的622,M数据和时钟进行四分频,利用IODELAY对输入时钟进行延迟。
总线对齐模块控制 IODELAY延迟。
图3 Receive模块连接图Fig.3 Connection diagram of Receive Module
因为解复用芯片和FPGA之间连线PCB布线已经做到了差分线等长,而且解复用
芯片 VSC8479的输出时钟的下降沿与输出数据采样窗的中心对齐,所以总线对齐模块需要找到VSC8479输出时钟的下降沿,即可稳定采样VSC8479输出的622,M高速数据。
如图 4所示,总线对齐模块在首次采样后根据ISERDESE1输出的Q[3∶0]进入3
种不同状态。
图4 总线对齐模块流程图Fig.4 Flow diagram of bus aligning module
①如果Q[3∶0]为全 1,则总线对齐模块控制IODELAY增加 1个单位延时,8个
周期后采样Q[3∶0]。
如果Q[3∶0]为全 0,则成功找到时钟下降沿,完成总线对
齐过程;如果Q[3∶0]非全 0,则返回增加延时状态,控制IODELAY增加1个单位延时,8个周期后再根据Q[3∶0]做判断,直到采样Q[3∶0]为全0成功找到时钟下降沿为止。
②如果Q[3∶0]为全0,则总线对齐模块控制IODELAY增加1个
单位延时,8个周期后采样Q[3∶0]。
如果Q[3∶0]为全1,则成功找到时钟上升沿;如果Q[3∶0]非全1,则返回增加延时状态,控制 IODELAY增加 1个单位延时,8个周期后再根据Q[3∶0]做出判断,直到找到时钟上升沿为止。
当找到时钟上升沿时,总线对齐模块控制 IODELAY增加 1个单位延时,8个周期后采样
Q[3∶0]。
如果Q[3∶0]为全 0,则成功找到时钟下降沿,完成总线对齐过程;如
果Q[3∶0]非全 0,则返回增加延时状态,控制 IODELAY增加 1个单位延时,8
个周期后再根据Q[3∶0]做判断,直到采样Q[3∶0]为全0成功找到时钟下降沿为止,完成整个总线对齐过程。
③如果Q[3∶0]非全 0或 1,则采样进入非稳定状态。
总线对齐模块控制IODELAY增加1个单位延时,8个周期后采样Q[3∶0],直到
Q[3∶0]为全 0或全1,进入第1或第2种状态转移。
1.2.2 Rxd_sft模块设计
在高速串行通信中,没有专门用来标示帧头的定位脉冲,所以解串出来的并行数据
一般都是比特错位的字节,需要对收到的数据进行整型。
Rxd_sft模块实现的就是这个功能。
[2]
Rxd_sft模块通过一块容量为 128,bit的移位寄存器(以 64,bit为最小移动单位)缓
存 155,M 时钟连续 2个周期传输的数据。
先到达时钟周期的数据按比特进行错位,组成新的 64,bit数据。
新的 64,bit数据送入 Frame_head模块进行帧头搜寻。
STM-64的10,G数据通过16路622,M信号传输过来,因此比特错位有 16种情况,如图 5所示。
如果在第一种比特错位的情况下 Frame_head模块的帧同步信
号为无效,则意味着无法检测到帧头指示字节,就会按第2种比特错位情况输出64,bit的数据。
以此类推,直到检测到帧同步字节为止。
图5 移位寄存器比特错位调整示意图Fig.5 Adjustment of bit dislocation in shifting register
1.2.3 Frame_head模块设计
Frame_head模块用来对帧头进行判断,输出帧头定位脉冲以及信号的帧同步状态。
模块采用有限状态机完成上述功能,帧同步状态按照标准分为失步状态、准校核状态、校核状态、同步状态、保护状态 5个状态。
[3]状态转移如图6所示。
图6 有限状态机状态转移图Fig.6 State transmission diagram of FSM
如图6所示,状态机进入失步状态,当在失步状态检测到SDH中的A1(F6)字节,则进入准校核状态;准校核状态下,如果检测到A1字节,则停留在本状态,如果检测到 A2(28)字节,则进入校核状态,如果检测到非 A1或 A2字节,则进入失
步状态;校核状态下,如果在1帧时间(0.125,µs)后再次检测到A1和A2字节,
则进入同步状态,否则进入失步状态。
同步状态下,每间隔 1帧时间如果可以继
续检测到 A1和 A2字节,则停留在同步状态;否则进入保护状态。
保护状态下,如果连续 4帧时间没有检测到 A1和 A2字节,则进入失步状态。
如果 4帧时间以内有1次到3次检测到 A1和A2字节,则停留在保护转台。
如果连续 4帧时间均
检测到 A1和 A2字节,则重新进入同步状态。
Rxd_sft模块在进入同步状态时输出帧同步信号为高电平,在每次检测到 A1和A2字节时输出一个时钟周期宽度的脉冲作为帧头指示。
2 结论
经过系统联合调试,基于FPGA的STM-64帧同步技术可以找到 SDH中 STM-64信号的帧头,符合ITU-T Rec G.703以及 ITU-T RecG.783标准。
参考文献
[1]韦乐平. 光同步数字传送网[M]. 北京:人民邮电出版社,1998.
[2] ITU-T Rec. Timing characteristics of SDH equipment slave
clocks(SEC)[S]. G. 813,2003:83-86.
[3] ITU-T Rec. Physical/electrical characteristics of digital interface[S]. G. 703,1993:35-39.。