一种基于FPGA的CPRI自适应解码系统及实现方法与流程

文档序号:14022839阅读:507来源:国知局
一种基于FPGA的CPRI自适应解码系统及实现方法与流程

本发明涉及光通信、数字通信领域,尤其涉及一种基于fpga的cpri自适应解码系统及实现方法。



背景技术:

随着通信及计算机技术的发展,对大量数据进行高速,实时传输的需求越来越多,传统的并行传输技术已经接近理论上限,但仍不能满足需求。因此,高速串行传输技术被越来越多的通信设备采用。高速数据传输对硬件的要求很高(包括芯片接口和电路板走线),而能满足高速传输需求的各种专业ic、asic器件不仅价格昂贵,而且功能单一,灵活性低,不能满足用户多样化的需求。特别是在cpri通信系统中,不同厂商之间扰码密钥的不尽相同,在未开放扰码密钥的情况下,跨厂商的设备之间难以通信,增加了用户的成本,降低了设备的灵活性。



技术实现要素:

鉴于现在技术存在的问题,本发明提供一种基于fpga的cpri自适应解码系统及实现方法。本发明的目的就是要解决上述技术中存在的问题,采用fpga来完成cpri自适应解码的技术,通过fpga完成对cpri信号的解码功能。使用fpga对cpri的高速信号进行处理,完成cpri解码后传输给下一级进行各种处理。

本发明采取的技术方案是:一种基于fpga的cpri自适应解码系统,其特征在于,所述系统包括sfp光模块和fpga芯片,sfp光模块与fpga芯片相连接,sfp光模块用于将光信号转换为差分电信号,fpga芯片用于完成对cpri的数据恢复与解码。

所述的sfp光模块采用finisar公司的10g光模块;所述的fpga芯片为xilinx公司的kintex7-325t。

所述的fpga芯片包括transceiver模块、frame_head模块和descrambler模块,transceiver模块与frame_head模块连接,frame_head模块与descrambler模块连接。

一种采用基于fpga的cpri自适应解码系统的实现方法,其特征在于,有如下步骤:

一、transceiver模块接收sfp光模块的10gbps的差分数据,对差分数据进行串并转换,最终输出一路数据信号及一路随路时钟信号;

二、frame_head模块接收transceiver模块的数据,在数据中搜寻帧头,在一帧的周期内,如果找到帧头则输出帧同步信号,输出对应的随路地址,否则输出帧失步信号;

三、根据cpri协议规定,紧随帧头不加扰字节后连续的四个控制字节被加扰数据,根据这连续4个字节的加扰前的值与加扰后的值,即可获得加扰的初始密钥;

四、frame_head模块将获取的初始密钥传递给descrambler模块进行进一步处理;

五、descrambler模块根据初始密钥进一步迭代,推导出后续所有解码比特;依据cpri协议,解码密钥的迭代算法为:bit[i]与bit[i+3]做异或运算,将其结果填入bit[i+30]中;

六、在帧同步状态下,descrambler模块将按照随路地址搜索帧头,按地址顺序进行解码;如果处于帧失步状态,descrambler模块不会进行解码,数据原样输出。

本发明产生的有益效果是:实现了同一厂家内部设备才能实现的cpri解码功能。本系统中所有数据及帧格式完全符合cpri国际通用标准。在基站数据处理控制单元(rec)、基站收发单元(re)等各种cpri设备中有广泛的应用价值。

附图说明

图1为本发明的系统硬件及主要信号线连接示意图;

图2为fpga内部功能模块示意图;

图3为cpri帧头格式示意图;

图4为cpri密钥获取示意图;

图5为解码密钥迭代算法示意图;

图6为解码方法示意图。

具体实施方式

以下结合附图对本发明做进一步说明。

如图1所示,基于fpga的cpri自适应解码系统所述系统包括sfp光模块和fpga芯片,sfp光模块与fpga芯片相连接,sfp光模块用于将光信号转换为差分电信号,fpga芯片用于完成对cpri的数据恢复与解码。sfp光模块采用finisar公司的10g光模块;fpga芯片为xilinx公司的kintex7-325t。

如图2所示,fpga芯片包括transceiver模块、frame_head模块和descrambler模块,transceiver模块与frame_head模块连接,frame_head模块与descrambler模块连接。

系统硬件主要有两大部分构成:

1)sfp光模块:主要完成对光信号的光电转换,将转换后高速差分信号送入下端。sfp光模块将4915.2mbit/s(6144.0mbit/s、9830.4mbit/s)的光信号转换为差分电信号传入fpga。

2)fpga:主要完成光模块串行电信号的接收,并完成cpri信号的数据恢复与解码。最终输出解码后的信号数据、帧同步/失步指示信号、随路地址。硬件及主要信号连接如图1所示。

本设计中使用的sfp光模块为finisar公司的10g光模块,fpga为xilinx公司的kintex7-325t,kintex7系列fpga是xlinx公司开发的中端fpga,集成了serdes(高速串行收发器),ddr控制器等通信系统中常用功能的ip硬核。

核心fpga功能设计:fpga设计中的主要功能模块如图2所示:

1.transceiver模块实现串并转换功能。

transceiver模块主要是对xilinxfpga中特有的高速io的调用,使fpga的部分io能对速率高达10gbps的数据进行收发,该模块中采用了xilinx公司提供的transceiver模块完成对差分数据的串并转换,最终输出1路数据信号及1路随路时钟信号。

2.frame_head模块实现帧头搜索、帧同步信息输出、随路地址生成、初始密钥获取等功能。

frame_head模块接收transceiver模块的数据,在数据中搜寻帧头,在一帧的周期内,如果找到帧头则输出帧同步信号,否则输出帧失步信号。cpri的帧头结构如图3所示。

图3中每一个格子代表1字节(8bit)数据,帧头的头两个字节(k28.5,d16.2/d5.6)不进行扰码,据此可以找到帧头,并输出对应的随路地址,k28.5对应的地址为0,每隔1字节数据地址加1。

紧随帧头不加扰字节后连续的4个控制字节被加扰,根据cpri协议规定,这4个控制字节在加扰前的值固定且已知,即4个d5.6。根据这连续4个字节的加扰前的值与加扰后的值,可以获得加扰的初始密钥,具体实现方法为,将这连续4字节加扰数据与4个d5.6按对应bit做异或运算,得到4个字节(32bit)的初始密钥,初始密钥获取如图4所示。

初始密钥的获取功能在frame_head模块中实现,frame_head模块将获取的初始密钥传递给descrambler模块进行进一步处理。

3.descrambler模块实现密钥迭代推导、数据解码等功能。

帧同步状态下,descrambler模块将按照随路地址搜索帧头,按地址顺序进行解码。如果处于帧失步状态,descrambler模块不会进行解码,数据原样输出。

解码的初始密钥已由frame_head模块给出,descrambler模块需要根据初始密钥进一步迭代,推导出后续所有解码比特。依据协议,解码密钥的迭代算法为,bit[i]与bit[i+3]做异或运算,其结果填入bit[i+30]中,即依据已知比特推导出后续比特,其中i为非负整数,例如bit[2]异或bit[5]的结果传递给bit[32],理论上初始密钥具备连续的30bit就可以实现迭代,而frame_head模块给出的密钥有连续的32bit,完全符合要求。解码密钥迭代算法如图5所示,其中每一个格子代表1bit信息。

获取扰码后的数据,且具备迭代推导出的解码比特,descrambler模块可以实现解码功能。具体实现方法为,加扰的数据与解码比特按顺序、按位异或,得出的结果即为解码后的数据。解码方法如图6所示,图中每个格子代表1字节(8bit)数据,即8bit一组按位异或。

采用fpga(现场可编程门阵列电路)实现cpri(通用公共无线接口)中4915.2mbit/s及以上速率信号的自适应解码方法,通过该解码方法,可以在fpga中实现未知发送端扰码密钥的情况下在接收端正确解码。

基于fpga的cpri自适应解码系统的实现方法有如下步骤:

一、transceiver模块接收sfp光模块的10gbps的差分数据,对差分数据进行串并转换,最终输出一路数据信号及一路随路时钟信号;

二、frame_head模块接收transceiver模块的数据,在数据中搜寻帧头,在一帧的周期内,如果找到帧头则输出帧同步信号,输出对应的随路地址,否则输出帧失步信号;

三、根据cpri协议规定,紧随帧头不加扰字节后连续的四个控制字节被加扰数据,根据这连续4个字节的加扰前的值与加扰后的值,即可获得加扰的初始密钥;

四、frame_head模块将获取的初始密钥传递给descrambler模块进行进一步处理;

五、descrambler模块根据初始密钥进一步迭代,推导出后续所有解码比特;依据cpri协议,解码密钥的迭代算法为:bit[i]与bit[i+3]做异或运算,将其结果填入bit[i+30]中;

六、在帧同步状态下,descrambler模块将按照随路地址搜索帧头,按地址顺序进行解码;如果处于帧失步状态,descrambler模块不会进行解码,数据原样输出。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1