基于CPRI协议的5G基带数据传输技术的研究与实现

  作者:袁行猛 陈亮 徐兰天 时间:2019-03-29来源:电子产品世界

        作者/袁行猛 1,2 ,陈亮 3 ,徐兰天 1,2(1.中国电子科技集团公司第四十一研究所,安徽 蚌埠 233010;2.电子信息测试技术安徽省重点实验室,安徽 蚌埠233010;3.安徽省科学技术研究院,安徽 合肥 233000)

  摘要:5G极高速的传输速率导致信号带宽和基带信号处理速度都将大大增加,对极高速数据流的实时处理和解析使得测试难度变得更加困难,CPRI协议作为现阶段高速传输的一种协议,被本创新基金项目采用且用于数据传输,本研究基于Xilinx公司的xcvu9p系列芯片,使用FPGA中自带的CPRI协议的IP核进行例化和设计,为了使用该CPRI核,设计了数据转换模块,对数据进行相应的处理,已满足CPRI核对传输数据的要求。
  关键词: CPRI协议; FPGA; 5G极高速; 高速传输

*项目基金:中国电科技术创新基金项目《微波毫米波大带宽大规模MIMO测试技术研究》

  0 引言

       随着技术的不断革新与进步,随着通信技术自身发展的需要以及持续增长的用户需求,掀起了新一代通信技术的发展热潮。此外,智能终端设备的大量普及带来了数据流量的激增。5G通讯的发展便提上日程,作为新一代通信的热点技术将面临很多的研究难题,除了要能够分析6 GHz以下频率的波形以外,还需要分析微波,毫米波等波形。5G技术最显著的挑战主要在于5G极高速的传输速率导致信号带宽和基带信号处理速度都将大大增加,对极高速数据流的实时处理和解析使得测试难度变得更加困难 [1]
  随着数据传输的要求不断提高,因此无线接口联盟(爱立信,华为,NEC,西门子和北电)发起并规定了CPRI协议的标准,CPRI作为通用公共无线接口提供了无线控制设备(REC)与无线设备(RE)或RE与RE之间的通信标准。通用的开放标准极大节约了产品成本,有效提高了其通用性和灵活性。不仅解决了5G高速通信下数据的传输要求,同时所含有的控制信息(如:信号丢失、帧丢失等物理层的告警信息)能够实现对数据的处理与控制,实现不同功率以及上下行之间的切换,提高了数据传输的可靠性 [2]
  为了实现基带处理单元(BBU)与射频单元(RFU)之间数据的收发操作,满足不同厂商之间的通信设备能够互联,因此需要规定在某一种协议下进行数据的传输操作。从核心网传入BBU的基带信号经过基带处理单元进行处理(编码、复用、调制和扩频等)然后通过光纤传入到射频单元。数据的收发系统如图1所示。

1557192892188532.jpg

       1 系统架构

       基于CPRI协议的5G基带数据传输系统如图2所示,该系统实现了基带单元BBU和射频单元RFU之间基于CPRI协议的数据通路。
  其中,CPRI协议用Xilinx公司的IP核实现,为了使用该CPRI核,需要设计数据转换模块。数据转换模块实现两个基本功能:(1)比特重填。
  (2)速率匹配。

       在发端,数据转换模块将连续采样的IQ数据转换为符合CPRI协议帧结构和速率的数据;在收端,数据转换模块将CPRI协议中的数据恢复为按指定采样率连续采样的IQ数据。
  2 CPRI协议

       CPRI超帧及基本帧结构 [3]

       基本帧到(通用移动通信系统)UMTS无线帧的逐级嵌套示意图如图3所示。对于CPRI 10 ms 的帧来说,一个BFN包含150个超帧,长度为10 ms;每个超帧含有256个基本帧,长度为66.67μs。每个基本帧帧长:1 Tc=1/3.84 MHz=,每个字传输时间:ns。一个基本帧包含16个字。
  一个超帧的256个控制字按照每4个字一组被分成64个子信道所示。子信道用Ns来表示,Ns=0⋯63,每个子信道里的控制字序号 Xs=0⋯3,一个超帧的控制字序号 X=Ns+64×Xs,取值范围为0⋯255。在数据传输过程中,基本帧中的控制字首先被传输,超帧中控制字与IQ数据交替进行传输,图4为单个超帧在时序上的子信道和控制字的说明。对于子信道0,除了同步控制字(Xs=0),控制字节#Z.X.Y(Y≥1)的内容是保留的(“r”)。对于子信道2,控制字节# Z.X.Y(Y≥1)的内容是保留的(“r”)。

       3 数据转换设计
       3.1 功能设计



1557192931782684.jpg

1557192931447581.jpg

1557192931636450.jpg

       (1)比特重填

       连续采样的发端数据I、Q各16 bit,组成32 bit数据通路,每帧为64组;而9830.4 Mb/s线速率、位宽的CPRI协议每个基本帧也为64个周期,但其中前4个周期传送控制字(128 bit),CPRI核接收IQ数据流时会自动忽略前四个周期数据,从其他端口读入控制字。CPRI核的数据时序逻辑如图5所示。
  因此,需将IQ路数据的最低位比特删去,各保留,将64周期30 bit的数据重排为60周期32 bit。
  收端则将其重新恢复为64周期一帧的连续数据,IQ的最低位填0。比特重填示意图如图6。
  (2)速率匹配

       为了适应5G通信中30 kHz和60 kHz两种子载波间隔的数据的基带传输,发端和收端IQ数据采用MHz和245.76 MHz两种采样频率,而CPRI核固定采用的数据读入和输出频率。对于采样率的输入,需要用两个基本帧的时间缓存,再用一个基本帧的时间输出,接着输出一个全0的无效帧,等待下一帧数据。对应地,收端识别到有效帧并缓存之后,用两个帧的时间输出 [4] 。
  3.2 算法设计

       (1)乒乓缓存

       设立两个缓存,编号i=0或1,将当前输入的数据缓存至缓存器i,下一个帧内从缓存器i输出,同时把新的数据读入缓存器~i(i的反),交替进行读入和读出。
  (2)比特重填

       我们考虑了两种基于缓存的比特重填方法,根据缓存器的硬件实现的不同,分为普通寄存器数组缓存和RAM核+小寄存器缓存。不论是那种缓存算法,都应实现用一个帧时间缓存,在下一个帧时间输出(发端与新一帧帧头同步,收端需延迟一个周期),实现连续的输入输出。
  (3)普通寄存器数组缓存

       用例如下面的语句构建普通的寄存器数组:Reg其中0~63和64~127号寄存器分别构成0、1两个缓存器,可用地址最高比特区分。
  在发端,缓存时连续缓存每个完整的32 bit输入,读出时进行比特重组。设置两个变量,s表示当前输出的第一个符号在原始帧中的编号,b表示第一个符号已经输出过的比特数。则转换器的输出可以用图7的符号合并逻辑构成:在收端,缓存时就将每个周期的32 bit拆开放置在缓存器的两个相邻位置中,缓存逻辑可以如图8表示。
  输出则直接从缓存器中读出即可。
  由此可以看出,这种缓存逻辑和RAM的最大不同是,会在同一个周期内对两个寄存器进行写入或读取,这在标准的RAM核里是不会出现的。
  (4)RAM核+小寄存器缓存

       用Vivado的IP Catalog工具生成一个核,宽度32 bit,深度128。该核包含读/写地址、读/写数据、写使能、时钟信号等端口。RAM可以实现乒乓缓存,但由于一个周期只能读写一个位置,所以需要额外的缓存机制来实现发端周期的缩减/符号合并,和收端的周期扩增/符号拆分。
  在发端,先用一个信源帧长度时间将64个符号存入RAM中,再用一个CPRI基本帧时间依次读出,注意写周期时间可能为读周期的两倍。设置一个120 bit的FIFO寄存器,用来缓存每个符号的高30 bit,最多只需要缓存4个符号,就可以实现在一个基本帧内完成CPRI数据的输出。

       该寄存器的行为如下:

       (1)第1~4个周期:将RAM读数据到FIFO中;

       (2)第5~50个周期:从FIFO中读出32 bit作为信号输出给CPRI核,同时读入新的30 bit。
  (3)第51~64个周期:FIFO中的数据已不足32bit,需同时用FIFO中的数据和RAM读出的数据构成iq_tx。
  在收端,先用一个CPRI帧的时间将60个CPRI数据符号存入RAM中,输出时,设置一个32 bit的寄存器,将当前RAM读出数据中除了当前恢复的信源符号以外其余的比特写入寄存器,下一个信源符号输出为寄存器中的数据(高位)和RAM读出数据(低位)的组合。
  (5)无效帧设置

      在CPRI协议中,256个基本帧组成一个超帧,这256个基本帧的控制字被划分为64个子通道,编号Ns=0,1,⋯,63;每个通道4个控制字,编号。可以用Ns和Xs表示一个基本帧在超帧中的编号。Xilinx的CPRI核在tx端和tx端模式中都会输出ns和xs编号,需要注意tx端在iq_tx_enable信号有效时,vendor_tx_ns/xs指示的是下一帧的编号,而rx端在basic_frame_first_word信号有效时指示的是上一帧的编号。CPRI核的通道编号的时序逻辑如图9、图10所示。
  为了避免额外的标志信号,我们规定,在MHz的原始采样频率下,有效帧为Ns为偶数的帧,而Ns为奇数的帧为无效帧(全0)。这样在收端可以根据编号直接判断当前帧是否有效。如图 11所示,其中显示的tx_ns和rx_ns为4的帧是有效帧。
  (6)慢速输入输出

1557192982171611.jpg

1554715393164622.png

1554715393302545.png

1554715394333025.png

       另外在122.88 MHz时,tx端的输入缓存和rx端的输出行为都需要隔周期进行,而tx端的输出和rx端的输入缓存则连续进行。以tx端为例,可以在rate_select信号为1(表示122.88 MHz原始采样率)时,设置信号进行是否缓存的判断。
  4 仿真验证

       采用Vivado 2017.2软件中的BehavioralSimulation(行为级仿真)进行仿真验证。
  除了转换模块外,还增加了其他模块构成简单的验证系统。速率选择模块将外部的异步速率选择信号,转换为同步于CPRI核数据时钟的信号,在一个Node B Frame的第一个周期变化。信源数据生成模块可以采用理想同频但异步与核的时钟。一个模拟核模块用于生成各种核的标志信号(如收发的帧头标志信号、子通道号等),并将数据经理想信道传输[5]
  经仿真验证,两种缓存算法都可实现功能,收端转换模块可以正确恢复处理信源数据。
  采用Xilinx VCU118开发板进行验证,其中FPGA芯片型号为(速度等级-2LE)。额外增加一个顶层模块,将开发板上的可编程差分时钟信号用IBUFGDS原语转换为单端时钟信号。
  使用ILA监视器查看板子上的信号。
  经验证发现,基于普通寄存器数组缓存的算法无法正确实现数据转换,其原因可能是普通寄存器数组综合出来的硬件性能满足不了算法的读写需求。而基于RAM核+小寄存器缓存的算法可正确实现系统功能,恢复信源信号。ILA监视器信号如图12、13、14所示。
  IP核联合验证:可以生成的CPRI IP核的示例工程,在核之外增加了增加了IQ数据、供应商数据、HDLC和Ethernet数据的产生和控制模块等。我们在该工程基础上,加入本研究中的数据转换模块,进行了联合仿真验证,仿真结果可以实现正确的数据传输。如图所示,其中txp、txn和rxp、rxn是CPRI核的发端和收端的单比特差分信号,即由射频口传输的信号。仿真图如图17,分别展示了收发的帧头。

    5 结论

    本研究完成了基于CPRI协议的5G基带数据传输系统中数据转换模块的设计和验证。为了构建基带单元BBU和射频单元RFU之间基于CPRI协议的数据通路,需将信源信宿的数据格式和CPRI协议/核的格式匹配。数据转换模块需要完成比特重填和速率匹配两个功能,而难点在于高速硬件实现。比特重填是将连续采样的每帧64周期的数据删去低位比特后,空出控制字的四个周期,填充进CPRI信号帧的后60周期内。收端则将CPRI帧中的数据重新恢复为连续数据。另外发端和收端IQ数据可能有两种采样频率,而CPRI核则使用固定采用的数据读入和输出频率,需要通过外部信号切换,实现两种不同速率下的匹配传输。为此,本研究设计了乒乓缓存、比特重填、无效帧设置、慢速输入输出算法。其中比特重填考虑了基于普通寄存器数组缓存和基于RAM核+小寄存器缓存两种算法。经过仿真验证和硬件验证,在Xilinx VCU118开发板上实现了数据转换功能。
     参考文献:
    [1]周代卫,王正也,周宇等.5G终端业务发展趋势及技术挑战[J].电信网技术,2015,3:64-79.
    [2]张小波.10Gbps以太网CPRI分组传输关键技术研究[J].电子科技大学,2013:25.
    [3]CPRI Specification V4.2.2010:15-18.
    [4]郭彬,曹伟,陶安.LTE和LTE-Advanced系统中CPRI压缩算法研究[J].信息通信技术,2013,02:64-69.
    [5]邢立佳,李一兵.基于Xilinx器件的CPRI协议实现方法[J].今日电子,2009,01:87-91.
    作者简介:
    袁行猛(1988-),男,助理工程师,主要研究方向:信号与信息处理。

本文来源于科技期刊《电子产品世界》2019年第4期第41页,欢迎您写论文时引用,并注明出处

关键词: 201904 CPRI协议 FPGA 5G极高速 高速传输

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章


用户评论

请文明上网,做现代文明人
验证码:
查看电脑版