本发明属于无线通信领域,具体涉及一种利用天线接口特性实现LTE基带处理单元的实时调度方法。
背景技术:
LTE(Long Term Evolution,长期演进)是由3GPP(The 3rd Generation Partnership Project,第三代合作伙伴计划)组织制定的UMTS(Universal Mobile Telecommunications System,通用移动通信系统)技术标准的长期演进。LTE系统引入了OFDM(Orthogonal Frequency Division Multiplexing,正交频分复用)和MIMO(Multi-Input&Multi-Output,多输入多输出)等关键技术,增加了频谱效率和数据传输速率,同时其扁平化的网络架构也显著的减小了系统时延。
CPRI(The Common Public Radio Interface,通用公共无线电接口)定义了基站数据处理控制单元REC(Radio Equipment Control)与基站收发单元RE(Radio Equipment)之间的接口关系,是常用的天线数据接口,是用来传输数据的,包括控制信息和IQ数据(IQ信号在数字通信中是指一对相位正交的调制信号,也就是基带信号)。CPRI具有串行传输与传输时间固定两个特点,其中后面一个特点决定了其帧格式时间上是固定的,没有数据时也填0发送。以LTE为例,IQ数据的位宽分别是15位,20MHz带宽配置的时候数据采样率应该是30.72MHz。CPRI一个基本帧的持续时间是Tc=1/3.84MHz(一个10ms帧包含256x150个基本帧,256x150xTc=10ms)。那么在一个基本帧中放8个IQ数据,正好和20MHz带宽的LTE信号速率匹配上。因此可以看出,在这种应用下,CPRI的IQ数量与时间可以完全匹配上。
LTE系统物理层处理流程已由协议确定,由DSP(Digital Signal Processing,数字信号处理)来实现,是数据密集型处理单元,对处理的实时性要求很高,如何实现与空口时间对齐,如何实现严格的时间控制并进行业务调度是物理层处理非常重要的问题,理想的时间系统应该有如下特征:
(1)方案简单,使用尽可能少的硬件资源;
(2)开销较少,使用尽可能少的本地资源;
(3)方式灵活,可修改度高;
(4)准确度及稳定性满足系统需求;
(5)有校验机制,可检测错误。
目前常用的定时方式包括:
(1)外接时序输入,外围有专门的时序模块,由时序模块引入通过硬件接口引入时序。不满足特性(1),也有可能不满足特性(3)与特性(4);
(2)本地硬件定时,使用专门的硬件定时器来实现定时。不满足特性(2),可能不满足特性(3);
(3)本地软件定时,使用专门的软件模块来实现定时。不满足特性(4)。
因此,需要简单有效的定时及调度方案。
技术实现要素:
为克服以上常用方案存在的若干缺点,本发明提出了一种基于天线链路的特点来实现LTE物理层定时及实时调度的方案,在保证严格的空口定时时序的同时,节省了额外的软硬件资源。
本发明所采用的技术方案提供一种基于天线接口的LTE基带处理单元实时调度方法,包括以下步骤,
步骤1,建立天线接口相应链路,启动数据传输;实现方式如下,
将天线接口相应发送和接收缓冲均设计成一个无线帧长的环形缓冲,同时,天线接口相应链路中关闭IQ数据以外所有数据,仅传输IQ数据;
对上行链路,DSP获取到空口定时信号Ssync,发起天线接口相应链路建立时将无线帧的帧头与Ssync对齐,建立上行链路,启动上行数据接收,收取的数据存入上行环形接收缓冲;
对下行链路,DSP建立天线接口相应链路时参考空口定时信号Ssync进行无线帧的帧头对齐,建立下行链路,按照固定的前向时延启动下行数据发送,将天线接口与发送环形缓冲关联,天线接口从环形缓冲中取数,DSP只需要及时将下行数据写入;
步骤2,天线接口相应链路建立后,建立空口时序定时,空口时序定时的最小单位为一个IQ点的时间长度;空口定时建立成功后,DSP能够直接通过获取到的IQ数量获取任何定时信息;
步骤3,进行TTI时序校验,包括由DSP通过计算IQ数量维护本地TTI号,根据预设的校验周期与GPS定时信号做校验,如果TTI更新一致,则进行后续处理,否则,天线接口相应链路时序有错误,重建天线接口相应链路,并向上层告警;
步骤4,获得上下行定时及进行基带业务处理,包括通过设定IQ门限得到相应的上下行定时,在相应的触发时间点进行相关业务的处理。
而且,所述的IQ门限代表天线接口接收或者发送的IQ数据的数量。
而且,对于上行链路,IQ门限设置为n个符号长度,n≥1。
而且,对于下行链路,IQ门限设置为其中,Nadv为用IQ数量表示的提前量,tn为符号n的发送时刻,则是换算成IQ数量表示的符号n的发送时刻。
而且,提前量计算方式如下,
Nadv=(1-tadv)×30720=(1-tbe-k-tproc)×30720
其中,tadv、tbe、k、tproc时间单位均为毫秒,tadv代表每个符号的处理的提前量,tbe代表后端处理时间,k为时间余量,tproc为下行处理时限。
而且,所述天线接口为CPRI接口。
而且,预设的校验周期为1秒。
本发明利用天线接口特性实现基带处理单元的实时调度。由于创建天线接口链路时以GPS为同步基准,保证了DSP处理的定时时序跟空口时间严格对齐,直接通过天线接口上传输的IQ数量来实现定时而不需要外部定时输入或本地的硬件定时器,节省了片外与本地的硬件与软件资源,同时由于定时的来源是天线接口物理链路,保证了可靠的精度及稳定性。由于定时的最小单位为IQ点,定时门限可设,可以灵活关联到DSP基带处理的各个时间点,适合用来控制调度时序,是一种有效的调度方法,在无线通信领域具有重要的市场价值。
附图说明
图1为本发明实施例的调度方法流程图;
图2为本发明实施例的可编程上下行定时及基带业务处理流程图;
图3为本发明实施例1中的时序图;
图4为本发明实施例1中的时序图;
图5为本发明实施例2中的时序图。
具体实施方式
下面结合实施例,对本发明的主要实现原理、具体实施方式及其能够达到的有益效果进行详细阐述。
由于CPRI是常用的天线数据接口,因此,本发明的实施例都是基于CPRI接口来进行阐述的,但是本发明的范围不仅限于CPRI接口。本发明实施例提供的一种基于天线接口的LTE基带处理单元实时调度方法,基本原理包括以下步骤,
步骤1,建立CPRI链路,启动数据传输。将CPRI发送和接收缓冲均设计成一个无线帧长的环形缓冲,同时,CPRI链路中关闭IQ数据以外所有数据,仅传输IQ数据。
对上行链路,DSP通过GPS等方式获取到空口定时信号Ssync,发起CPRI链路建立时将10ms的无线帧的帧头与Ssync对齐,建立上行链路,启动上行数据接收,收取的数据存入上行环形接收缓冲。
对下行链路,DSP建立CPRI链路时参考空口定时信号Ssync进行无线帧的帧头对齐,建立下行链路,按照固定的前向时延启动下行数据发送,将CPRI与发送环形缓冲关联,CPRI从环形缓冲中取数,DSP只需要及时将下行数据写入即可。
步骤2,CPRI链路建立后,建立空口时序定时。空口时序定时的最小单位为一个IQ点的时间长度,为(1/30720)ms。空口定时建立成功后,DSP可直接通过获取到的IQ数量获取任何定时信息,不需要由外部给任何定时通知,也无需由内部启用专门的硬件定时器做定时,解放核资源。
步骤3,进行TTI时序校验。DSP通过计算IQ数量维护本地TTI号,根据预设的校验周期与GPS定时信号做校验,如果TTI更新一致,则进行后续处理,否则,CPRI链路时序有错误,此时应该重建CPRI链路,并向上层告警。
步骤4,获得上下行定时及进行基带业务处理。设定IQ门限得到相应的上下行定时,在相应的触发时间点进行相关业务的处理。
所述的IQ门限代表天线接口接收或者发送的IQ数据的数量;
所述的IQ门限设定,对于上行链路,本发明进一步提供的一种设置方法为:设置为n(n≥1)个符号长度,n的取值可以依据上行基带处理的时延场景进行灵活设定。
所述的IQ门限设定,对下行链路,本发明进一步提供的一种设置方法为:门限设置为Nadv+Ntn,其中,Nadv为用IQ数量表示的提前量,tn为符号n的发送时刻,Ntn则是换算成IQ数量表示的符号n的发送时刻。Nadv=(1-tadv)*30720=(1-tbe-k-tproc)*30720,tadv、tbe、k、tproc时间单位均为毫秒,tadv代表每个符号的处理的提前量,tbe代表后端处理时间,k为时间余量,tproc为下行处理时限,表示物理层下行处理时间需小于tproc。下行的CPRI接收门限为:
所述基带业务处理过程:根据设定的CPRI的IQ门限,获取到相应的IQ数据,直接触发进行相应的基带业务处理。这种直接关联不仅保证了时效性,也解放了软核的资源。
本发明实施例以LTE 20M信号为例,实施例1说明LTE上行数据接收、定时、处理的方式,实施例2说明LTE下行定时、处理、发送的方式。
下面结合附图1对本发明实施例1进行详细说明,包括以下步骤:
步骤101,建立CPRI链路,启动数据接收:以GPS信号为同步基准,创建上下行CPRI物理链路,建立收发环形缓冲,使能数据传输。
对上行链路,IQ数据的流向由外设到DSP,因此外设为CPRI连接中的REC,DSP为CPRI连接中的RE。
DSP可以通过GPS等方式获取到空口定时信号Ssync,在发起CPRI链路建立时将10ms的无线帧的帧头与Ssync对齐,建立上行链路,启动数据接收。CPRI链路中关闭IQ数据以外所有数据,仅传输IQ数据。
将DSP的CPRI接收缓冲设计成环形缓冲,CPRI接收时往缓冲写数据到尾端后,会自动跳转到缓冲首端。环形缓冲设置成一个无线帧长,与LTE的帧格式一致,一个无线帧包括10个子帧,则接收IQ数据的数量为30720×10=307200,持续时间长度为10ms。
步骤102,建立空口时序定时:根据IQ数量获取最小定时单位。
CPRI链路建立后,在不出现硬件错误的情况下必然以恒定的速率传输IQ数据,则接收每个IQ数据的时间间隔恒等于t_interval=(1/30720)ms,建立起空口时序定时,定时的最小单位为1个IQ的时长,即(1/30720)ms。
通过上述设计,DSP可直接通过获取到的IQ数量获取定时信息,不需要由外部给任何定时通知,也无需由内部启用专门的硬件定时器做定时,解放核资源。
步骤103,TTI时序校验:计算IQ数量维护本地TTI,每1秒依据GPS同步来校验空口定时时序是否正常。
GPS的同步信号周期为1秒,可以以1秒为最小单位进行校验,也可以以1秒的整数倍时间间隔做校验,具体实施时可由本领域技术人员预先设定。本实施例设定校验周期为1秒。
DSP通过计算IQ数量维护本地TTI号,记为dsp_tti。30720个IQ点的时长为1ms,每记录30720个IQ点,dsp_tti更新1次。
每1秒与GPS定时信号做同步校验,1秒钟对应1000次TTI更新。因此,正常情况下,两次校验之间的dsp_tti更新次数为1000,如果不为1000,则DSP时序存在问题。
如果同步校验正常,则进行后续处理,否则,此时,CPRI链路时序有错误,此时应该重建CPRI链路,并向上层告警。
步骤104,可编程上下行调度定时及基带业务处理:结合上下行处理的调度时间节点,设置对应IQ数量门限,用门限到达来定时触发上下行处理。
可编程调度定时,即可对空口时序IQ点进行计数产生任意调度定时信号,调度定时信号的时间点取决于CPRI的IQ门限设定,上下行调度定时可根据需求进行灵活的可编程设置。
由于调度定时信息是通过获取到的IQ数量得到的,不需要由外部给任何定时通知,也无需由内部启用专门的硬件定时器做定时,解放了核资源。
本实施例涉及的是上行数据接收、定时、处理的方式,因此本步骤阐述上行相关的内容。
上行调度定时是产生前端处理时的时序。上行解调处理则基于前者完成的时刻开始处理。
LTE的帧结构中,1个子帧分成14个符号,上行处理时,每个符号都要进行去CP、FFT的前端处理操作。对于前端处理可采用软件或硬件方式实现,现在通常采用硬件方式(硬件模块fft_Module)实现。CPRI接收端获取到一定数量IQ数据直接触发fft_Module进行相应的前端处理,这种直接关联不仅保证了时效性,也解放了软核的资源。
下面结合附图2对步骤104进行详细说明:
步骤201,设定CPRI接收端的IQ门限:
CPRI接收门限设置为n(n≥1)个符号长度,n的取值可以依据上行基带处理的时延场景进行划分,根据不同的时延要求进行CPRI接收端IQ门限n值的设定,进而得到上行处理的定时时间点。
下面分时延要求敏感和不敏感的两种场景对IQ门限设定方法及有益效果进行近一步的阐述。
在对处理时延比较敏感的场景下,需要接收到1个OFDM符号就触发相应的前端处理,因此,CPRI接收门限设置为1个符号长度。如附图3所示,设定CPRI接收端的IQ门限值依次为:2208、4400、6592、8784、10976、13168、15360、17568、19760、21952、24144、26366、28528、30720。
在对处理时延不是特别敏感的场景下,将CPRI接收门限设置为n(n>1)个符号长度,这样设置,一方面可以避免较多门限值导致设置复杂,另一方面避免fft_Module每次只处理一个符号效率较低。以n=6为例,将CPRI接收门限按照6个符号的长度进行设定。如附图4所示,设定CPRI接收端的IQ门限值依次为:5120、10240、15360、20480、25600、30720。
步骤202,基带业务处理:
根据CPRI接收端的IQ门限值,即可得到相应的上行定时,在相应的触发时间点进行上行业务的处理。
特别的,在对处理时延比较敏感的场景下,按照实施例1中步骤201所述,CPRI接收门限按照1个符号的长度进行设定。如附图3所示,Symbol_0表示接收到的符号0的数据(累计2208个IQ),Symbol_0缓冲地址表示符号0的接收缓冲,Symbol_0接收完成的时刻即为第1次触发时间点,依次类推,Symbol_13表示接收到的符号13的数据(累计30720个IQ),Symbol_13缓冲地址表示符号13的接收缓冲,Symbol_13接收完成的时刻即为第14次触发时间点。每到达一个门限值说明新接收到一个符号,此时CPRI接收端立刻触发fft_Module对应的前端处理操作,1个TTI内总共有14个IQ门限值,对应14次上行定时,触发相应的上行操作。
接收端收到一个符号就启动一个符号的前端处理,完成后就通知软核进行后续的上行解调等业务处理,处理任务的启动及时,处理任务的结束点也比较早。
特别的,在对处理时延不是特别敏感的场景下,按照实施例1中步骤201所述,CPRI接收门限按照大于一个符号的长度进行设定,一个子帧做n(n>1)次前端处理。这样处理,一方面可以避免较多门限值导致设置复杂,另一方面避免fft_Module每次只处理一个符号效率较低。
如附图4所示,Symbol_0_1缓冲地址表示符号0与符号1的接收缓冲,Symbol_0&Symbol_1表示接收到的符号0与符号1的数据,接收完5120个IQ即为第1次触发时间点,依次类推,Symbol_11_12_13缓冲地址表示符号11、符号12与符号13的接收缓冲,Symbol_11&Symbol_12&Symbol_13表示接收到的符号11、符号12与符号13的数据,接收完30720个IQ即为第6次触发时间点。每次接收到30720/6=5120个IQ数据就触发fft_Module对应的前端处理操作,1个TTI内总共有6个IQ门限值,对应6次上行定时,触发相应的上行操作。这种设定下,每次收到的IQ数据无法同符号正好匹配,每次处理可能会余下一部分IQ数据与下一次接收到的IQ数据合并,一起进行处理。在n=6的情况下,6次处理依次进行2、2、3、2、2、3个符号的处理。
fft_Module在完成前端处理后会触发中断到软核,通知相关符号的前端处理完成。软核在获取到相关符号前端处理完成的通知后开始后续的处理。以PUSCH的处理为例,符号3完成后进行时隙0的信道估计,符号10完成后进行时隙1的信道估计、测量,在时隙1的信道估计完成并且符号13完成后,可以进行均衡处理等。
采用这种一个子帧做n次前端处理的方式,软核的中断比较少,一些前端处理之后的处理流程也可以做合并,处理流程的执行效率更高。
下面结合附图1对本发明实施例2进行详细说明,包括以下步骤:
步骤101,建立CPRI链路,启动数据发送:
对下行链路,IQ数据的流向由DSP到外设,因此,DSP为CPRI连接中的REC,外设为CPRI连接中的RE。
DSP建立CPRI链路时参考空口定时信号Ssync进行无线帧的帧头对齐,建立下行链路,按照固定的前向时延启动下行数据发送。DSP的CPRI发送缓冲设计成环形缓冲,CPRI从环形缓冲中读数进行发送,读到尾端后会自动跳转到缓冲首端,DSP只需要及时将下行数据写入即可。环形缓冲设置成一个无线帧长,与LTE的帧格式一致,一个无线帧包括10个子帧,则接收IQ数据的数量为30720×10=307200,持续时间长度为10ms。
步骤102,建立空口时序定时:
CPRI链路建立后,在不出现硬件错误的情况下必然以恒定的速率传输IQ数据,则接收每个IQ数据的时间间隔恒等于t_interval=(1/30720)ms,建立起空口时序定时,定时的最小单位为1个IQ的时长,即(1/30720)ms。
通过上述设计,DSP可直接通过获取到的IQ数量获取定时信息,不需要由外部给任何定时通知,也无需由内部启用专门的硬件定时器做定时,解放核资源。
步骤103,TTI时序校验:
DSP通过计算IQ数量维护本地TTI号,记为dsp_tti。30720个IQ点的时长为1ms,每记录30720个IQ点,dsp_tti更新1次。
每1秒与GPS定时信号做同步校验,1秒钟对应1000次TTI更新。因此,正常情况下,两次校验之间的dsp_tti更新次数为1000,如果不为1000,则DSP时序存在问题。
如果同步校验正常,则进行后续处理,否则,此时,CPRI链路时序有错误,此时应该重建CPRI链路,并向上层告警。
步骤104,可编程上下行定时及基带业务处理:
可编程调度定时,即可对空口时序IQ点进行计数产生任意调度定时信号,调度定时信号的时间点取决于CPRI的IQ门限设定,上下行调度定时可根据需求进行灵活的可编程设置。
由于调度定时信息是通过获取到的IQ数量得到的,不需要由外部给任何定时通知,也无需由内部启用专门的硬件定时器做定时,解放了核资源。
本实施例涉及的是下行定时、处理、发送的方式,因此本步骤只阐述下行相关的内容。
下行定时是产生后端处理时的时序,以及通过该时序约束下行处理的时间。
LTE的帧结构中,1个子帧分成14个符号,下行处理时,每个符号都要进行IFFT、添加CP的后端处理操作。对于后端处理可采用软件或硬件方式实现,现在通常采用硬件方式(硬件模块ifft_Module)实现。累计到一定数量数据直接触发ifft_Module进行相应的后端处理,这种直接关联不仅保证了时效性,也解放了软核的资源。
下面结合附件图2对步骤104进行详细说明:
步骤201,设定CPRI发送端的IQ门限:
下行处理对时序要求高,每个符号发送的时间点tn是确定的,需要严格按照时序约束进行IQ门限的设定。
门限设置为Nadv+Ntn,其中,Nadv为用IQ数量表示的提前量,tn为符号n的发送时刻,Ntn则是换算成IQ数量表示的符号n的发送时刻。Nadv=(1-tadv)×30720=(1-tbe-k-tproc)×30720,tadv、tbe、k、tproc时间单位均为毫秒,tadv代表每个符号的处理的提前量,tbe代表后端处理时间,k为时间余量,tproc为下行处理时限,表示物理层下行处理时间需小于tproc。下行的CPRI接收门限为:
下面对下行CPRI接收门限的设定方法做进一步说明:
CPRI链路建立后,CPRI速率恒定,因此,每个符号发送的时间点确定。若符号0在时刻发送,则符号1会在Nt1=(2048+160)×t_interval发送,以此类推,符号2会在发送,这里构成时间约束关系,符号0的IQ数据必须在时刻之前(位于上个1ms定时区间内)准备就绪,符号1的IQ数据必须在时刻前准备就绪,符号2的IQ数据必须在时刻前准备就绪。
后端处理(IFFT+CP)由硬件模块ifft_Module完成,耗费时间为tbe,因此,符号n须在tn-tbe时刻前开始后端处理,可以设置ifft_Module在时间点Tn=tn-tbe-k(k为时间余量)自动去取符号n的载波数据进行后端处理,这个步骤严格按照时序进行,不关心符号n的载波数据是否更新完成。因此,后端处理前的环节需要保证符号n在Tn前映射到每个子载波上,否则符号n空口数据会出错。
根据对下行链路的测试,可以为下行的处理设置一个处理时限tproc,因此每个符号的处理的提前量是tadv=tbe+k+tproc,符号n需要在时间点Kn=tn-tadv=tn-1+1-tadv开始处理,换算成IQ数量为Nadv=(1-tadv)*30720,可以设置CPRI在发送IQ的数量为以下数值时触发中断启动相应符号的处理任务:如附图5所示,Nadv为触发符号1处理的时间点,Nadv+2208为触发符号2处理的时间点,依次类推,特别的,Nadv+28528为触发符号0处理的时间点。
步骤202,基带业务处理:
设定好CPRI接收端的IQ门限值,即可得到相应的下行定时,在相应的触发时间点进行下行业务的处理。
按照实施例2中的步骤201所述,CPRI接收门限按照长度进行设定。如附图5所示,每到达一个门限值时触发中断启动相应符号的处理任务。CPRI接收端获取到一定数量IQ数据直接触发ifft_Module进行相应的后端处理,这种直接关联不仅保证了时效性,也解放了软核的资源。
本方法利用天线接口特性实现基带处理单元的实时调度。由于创建CPRI链路时以GPS为同步基准,保证了DSP处理的定时时序跟空口时间严格对齐,直接通过CPRI上传输的IQ数量来实现定时而不需要外部定时输入或本地的硬件定时器,节省了片外与本地的硬件与软件资源,同时由于定时的来源是CPRI物理链路,保证了可靠的精度及稳定性。由于定时的最小单位为IQ点,定时门限可设,可以灵活关联到DSP基带处理的各个时间点,适合用来控制调度时序,是一种有效的调度方法。