数据发送方法及装置
技术领域
本发明涉及通信领域,具体而言,涉及一种数据发送方法及装置。
背景技术
在第3代移动通信***中,分布式基站已经取代了传统的宏基站。分布式基站以基带和射频分离为特征,采用光纤或电缆进行拉远,而传统基站的基带和射频单元是一体化的。分布式基站的基带单元(Baseband Unit,简称为BBU)组成一个共享的基带池,通过远距离传输手段,比如光纤和电缆连接基带和射频,然后将射频单元(Remote Radio Unit,简称为RRU)放置到各种需要的地方,分布式基站将两个互相独立的部分分离开来,独立开发。
BBU和RRU之间由光纤连接,它们之间的接口已经形成了一个标准接口,目前主流的接口标准有公共无线接口(The Common Public Radio Interface,简称为CPRI)、RRU与BBU之间的接口(Interface between the RRU and the BBU,简称为IR)。其中CPRI接口使用较为广泛,能够支持全球移动通信(Global system for Mobile Communication,简称为GSM)、通用移动通信***(Universal Mobile Telecommunications System,简称为UMTS)、码分多址(Code Division Multiple Access,简称为CDMA)、长期演进(Long-TermEvolution,简称为LTE)等多种制式单模、混模的传输。
CPRI协议承载了三种类型的数据:正交IQ数据、控制字和信令,其中控制字和信令的传输格式相对固定,而IQ数据传输非常灵活。CPRI协议中只规定了IQ数据的传输满足CPRI传输的一个基本帧的速率(3.84Mbps)即可,因此,不同的制式在CPRI帧格式中IQ摆放方式均不一样,各种不同制式的混模在CPRI帧格式中的IQ摆放格式也不一样,带来了IQ数据组解帧实现上的不同。
关于上述IQ数据的组解帧,目前大多数实现方案均是在CPRI传输的一个基本帧中寻求一种相对合适的IQ数据摆放格式,然后根据这个摆放格式的特点进行数据组帧和解帧处理,并且处理的过程均是采用硬件实现。
但是,上述方案实现的硬件复杂度较高,同时,随着CPRI协议的发展和***的升级,其灵活性受到限制。当不同制式(单模或者混模)的传输带宽发生变化后,就会直接影响CPRI传输的一个基本帧中的IQ数据摆放格式,进而导致硬件的实现方式随之而变。因此,如何更好的适应协议和***的发展,适应各种可能的IQ数据摆放格式成为关键的技术,也是提高产品生命力和市场竞争力的主要问题。
发明内容
本发明提供了一种数据发送方法及装置,以至少解决相关技术中,IQ数据的组解帧硬件实现较复杂,且灵活性较差的问题。
根据本发明的一个方面,提供了一种数据发送方法,包括:接收来自于上行链路的IQ数据;根据IQ数据在CPRI基本帧中的映射,利用存储单元对IQ数据进行排列;将控制字与排列后的IQ数据合并组成CPRI数据,并发送CPRI数据。
优选地,根据IQ数据在CPRI基本帧中的映射,利用存储单元对IQ数据进行排列包括:对IQ数据进行采样;根据IQ数据在CPRI基本帧中的映射,将采样到的一个时钟周期的IQ数据中的每个比特分别提取出来;分别将每个比特存储到不同的存储单元;指示硬件在一个时钟周期内从不同的存储单元中读取同一载波的所有比特组成载波数据。
优选地,指示硬件在一个时钟周期内从不同的存储单元中读取同一载波的所有比特组成载波数据包括:通过寄存器指示硬件在一个时钟周期内从不同的存储单元中读取同一载波的所有比特组成载波数据。
优选地,存储单元是随机存取器RAM。
根据本发明的另一个方面,提供了一种数据发送装置,包括:接收模块,设置为接收来自于上行链路的IQ数据;排列模块,设置为根据IQ数据在CPRI基本帧中的映射,利用存储单元对IQ数据进行排列;合并模块,设置为将控制字与排列后的IQ数据合并组成CPRI数据;发送模块,设置为发送CPRI数据。
根据本发明的一个方面,提供了一种数据发送方法,包括:接收到CPRI数据,将CPRI数据中的控制字与IQ数据分离;构造与IQ数据在CPRI基本帧中的映射相同的信息,利用存储单元对IQ数据进行排列;发送排列后的IQ数据。
优选地,构造与IQ数据在CPRI基本帧中的映射相同的信息包括:根据当前制式和位宽构造与IQ数据在CPRI基本帧中的映射相同的信息。
优选地,利用存储单元对IQ数据进行排列包括:对IQ数据进行采样;指示硬件将采样到的一个时钟周期的IQ数据中的每个比特分别提取出来;分别将每个比特写入不同的存储单元;在一个时钟周期内从不同的存储单元中读取出同一载波的所有比特,将所有比特组成载波数据。
优选地,从不同的存储单元中读取出同一载波的所有比特包括:通过寄存器指示硬件在一个时钟周期内从不同的存储单元中读取出同一载波的所有比特。
优选地,存储单元是RAM。
根据本发明的另一个方面,提供了一种数据发送装置,包括:接收模块,设置为接收CPRI数据;分离模块,设置为将CPRI数据中的控制字与IQ数据分离;构造模块,设置为构造与IQ数据在CPRI基本帧中的映射相同的信息;排列模块,设置为利用存储单元对IQ数据进行排列;发送模块,设置为发送排列后的IQ数据。
通过本发明,利用存储单元将IQ数据进行排列,并提取排列后的数据CPRI组帧操作,硬件处理简单,实现复杂度小,***升级,多种制式(单模或者混模)的传输带宽的变化和升级,只会在软件层面上发生变动,不会影响硬件的实现,具有很好的灵活性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的数据发送方法的流程图一;
图2是根据本发明实施例的数据发送装置的结构框图一;
图3是根据本发明实施例的数据发送方法的流程图二;
图4是根据本发明实施例的数据发送装置的结构框图二;
图5是根据本发明优选实施例的下行解帧的流程示意图;
图6是根据本发明优选实施例的下行组帧的流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
目前无线产品中各种制式并存,由于制式、带宽以及光口速率的不同,IQ数据在CPRI帧中摆放格式也不同。为了适应上述不同,CPRI的IQ数据组解帧的通用性、灵活性以及设计复杂度的问题被提出。
本发明实施例提供了一种数据发送方法,应用于IQ数据的组帧过程。图1是根据本发明实施例的数据发送方法的流程图一,如图1所示,包括如下的步骤S102至步骤S106。
步骤S102,接收来自于上行链路的IQ数据。
步骤S104,根据IQ数据在CPRI基本帧中的映射,利用存储单元对IQ数据进行排列。
步骤S106,将控制字与排列后的IQ数据合并组成CPRI数据,并发送CPRI数据。
相关技术中,IQ数据的组解帧硬件实现较复杂,且灵活性较差。本发明实施例中,利用存储单元将IQ数据进行排列,并提取排列后的数据CPRI组帧操作,硬件处理简单,实现复杂度小,***升级,多种制式(单模或者混模)的传输带宽的变化和升级,只会在软件层面上发生变动,不会影响硬件的实现,具有很好的灵活性。
步骤S104包括:对IQ数据进行采样;根据IQ数据在CPRI基本帧中的映射,将采样到的一个时钟周期的IQ数据中的每个比特分别提取出来;分别将每个比特存储到不同的存储单元;指示硬件在一个时钟周期内从不同的存储单元中读取同一载波的所有比特组成载波数据。保证在一个时钟周期内将同一载波的比特全部读取出来,从而可以组成载波数据进行传输。
优选地,指示硬件在一个时钟周期内从不同的存储单元中读取同一载波的所有比特组成载波数据包括:通过寄存器指示硬件在一个时钟周期内从不同的存储单元中读取同一载波的所有比特组成载波数据。
优选地,上述存储单元可以是随机存取器(Random Access Memory,简称为RAM)。
对应于上述数据发送方法(组帧),本发明实施例还提供了一种数据发送装置,图2是根据本发明实施例的数据发送装置的结构框图一,如图2所示,包括接收模块22、排列模块24、合并模块26和发送模块28。下面对其结构进行详细描述。
接收模块22,设置为接收来自于上行链路的正交IQ数据;排列模块24,连接至接收模块22,设置为根据IQ数据在CPRI基本帧中的映射,利用存储单元对IQ数据进行排列;合并模块26,连接至排列模块24,设置为将控制字与排列后的IQ数据合并组成CPRI数据;发送模块28,连接至合并模块26,设置为发送CPRI数据。
排列模块24包括:采样单元,设置为对IQ数据进行采样;提取单元,连接至采样单元,设置为根据IQ数据在CPRI基本帧中的映射,将采样到的一个时钟周期的IQ数据中的每个比特分别提取出来;存储单元,连接至提取单元,设置为分别将每个比特存储到不同的存储单元;指示单元,连接至存储单元,设置为指示硬件在一个时钟周期内从不同的存储单元中读取同一载波的所有比特组成载波数据。
优选地,指示单元通过寄存器指示硬件在一个时钟周期内从不同的存储单元中读取同一载波的所有比特组成载波数据。
优选地,上述存储单元可以是RAM。
本发明还提供了一种数据发送方法,应用于IQ数据的解帧过程。图3是根据本发明实施例的数据发送方法的流程图二,如图3所示,包括如下的步骤S302至步骤S306。
步骤S302,接收到CPRI数据,将CPRI数据中的控制字与IQ数据分离。
步骤S304,构造与IQ数据在CPRI基本帧中的映射相同的信息,利用存储单元对IQ数据进行排列。
步骤S306,发送排列后的IQ数据。
相关技术中,IQ数据的组解帧硬件实现较复杂,且灵活性较差。本发明实施例中,利用存储单元将IQ数据进行排列,并发送排列后的IQ数据,硬件处理简单,实现复杂度小,***升级,多种制式(单模或者混模)的传输带宽的变化和升级,只会在软件层面上发生变动,不会影响硬件的实现,具有很好的灵活性。
优选地,构造与IQ数据在CPRI基本帧中的映射相同的信息包括:根据当前制式和位宽构造与IQ数据在CPRI基本帧中的映射相同的信息。
步骤S304包括:对IQ数据进行采样;指示硬件将采样到的一个时钟周期IQ数据中的每个比特分别提取出来;分别将每个比特写入不同的存储单元;在一个时钟周期内从不同的存储单元中读取出同一载波的所有比特,将所有比特组成载波数据。
优选地,从不同的存储单元中读取出同一载波的所有比特包括:通过寄存器指示硬件在一个时钟周期内从不同的存储单元中读取出同一载波的所有比特。
优选地,上述存储单元可以是RAM。
对应于上述数据发送方法(解帧),本发明实施例还提供了一种数据发送装置,图4是根据本发明实施例的数据发送装置的结构框图二,如图4所示,包括接收模块42、分离模块44、构造模块46、排列模块48和发送模块49。下面对其结构进行详细描述。
接收模块42,设置为接收CPRI数据;分离模块44,连接至接收模块42,设置为将CPRI数据中的控制字与IQ数据分离;构造模块46,连接至分离模块44,设置为构造与IQ数据在CPRI基本帧中的映射相同的信息;排列模块48,连接至构造模块46,设置为利用存储单元对IQ数据进行排列;发送模块49,连接至排列模块48,设置为发送排列后的IQ数据。
优选地,构造模块46根据当前制式和位宽构造与IQ数据在CPRI基本帧中的映射相同的信息。
排列模块48包括:采样单元,设置为对IQ数据进行采样;指示单元,连接至采样单元,设置为指示硬件将采样到的一个时钟周期的IQ数据中的每个比特分别提取出来;写入单元,连接至指示单元,设置为分别将每个比特写入不同的存储单元;读取单元,连接至写入单元,设置为在一个时钟周期内从不同的存储单元中读取出同一载波的所有比特,组成单元,连接至读取单元,设置为将所有比特组成载波数据。
优选地,从不同的存储单元中读取出同一载波的所有比特包括:通过寄存器指示硬件在一个时钟周期内从不同的存储单元中读取出同一载波的所有比特。
优选地,上述存储单元可以是RAM。
综上所述,本发明实施例中软件需要事先得到各种制式(包括混模)、位宽及光口速率的CPRI帧格式中IQ数据摆放的表格,以及对于同一载波的比特(解帧)和需要同一个时钟周期输出的比特(组帧)只能存储在不同的RAM中,而不能存储在某一个RAM的不同地址上。
上述实施例使得CPRI接口能够不受制式和IQ数据摆放的限制来承载IQ数据进行传输。上述实施例给出了基于软硬件协同实现CPRI组解帧的流程,是一种软件主导CPRI组解帧的解决方案,其最小颗粒度为单比特。软件根据不同制式、带宽和光口速率在CPRI帧格式中的摆放格式,通过配置寄存器,将IQ中的每个比特存入存储单元中;同样是通过软件配置寄存器,从存储单元中提取不同的比特组成一组IQ进行解帧输出或者CPRI组帧操作。
为了使本发明的技术方案和实现方法更加清楚,下面将结合优选的实施例对其实现过程进行详细描述。
基于上述描述,本发明实施例基于软硬件协同实现CPRI的IQ数据组解帧,主要分为两个流程:下行解帧流程和上行组帧流程。下面分别结合优选的实施例加以描述。
(1)下行解帧流程
下行解帧流程,即从接收的来自于光纤上的CPRI的帧格式数据中解析出所需的IQ数据的过程。其处理流程如图5所示。
第一步:根据软件配置的CPRI速率信息,将控制字与IQ数据分离。
第二步:软件根据当前制式和位宽构造一个与CPRI帧格式中IQ数据摆放位置相同的表,同时得知IQ数据的每个比特(bit)的载波信息;软件根据该表告知硬件将采样到的一个时钟周期的IQ数据中的每个比特分别提取出来。
第三步:将提取出来的不同载波的每个比特,存入到不同的RAM(存储单元)或RAM的某个单元中。需要说明的是,存储时有一个关键限制是同一个载波的不同比特,只能存储在不同的RAM中,而不能存储在某一个RAM的不同地址上,这是为了保证同一载波的所有比特能在一个时钟周期内读出来。
第四步:由于硬件存储的信息是由软件告知的,那么软件完全知道IQ数据的每个比特存储的相关信息,从而软件可通过寄存器告知硬件从不同RAM的地址中读取出同一个载波的比特,将其拼接成一个有效的载波数据输出。解帧处理流程结束。
在上述处理流程中,软件通过CPRI帧格式中IQ数据摆放的表格来控制硬件将IQ数据中的每个比特写入规定的RAM单元,并按照软件配置的要求从RAM单元中读出来。软件需要获得CPRI帧格式中IQ数据摆放的格式信息,该信息会受到光口速率、制式、***传输带宽的因素影响,但是在一种固定应用场景下,上述因素是确定的,所以在***上电前或者上电开始通过信令的传输软件就可以得知CPRI帧格式中IQ数据摆放的格式信息。
另外,由于传输是基于CPRI的基本帧格式进行传输的,所以软件所获得的信息就是一个基本帧中IQ数据的摆放格式,而一个基本帧的大小是由光口速率决定的,所以这里需要满足***支持的光口最大速率。
对于硬件部分,核心组件是多个单比特位宽的RAM以及相关的存储控制电路。单比特位宽的RAM的数据量要求至少存储一个CPRI基本帧的数据量,因此,单比特位宽的RAM的个数是一次采样的数据的比特数,而单比特位宽的RAM的深度是在某一种速率下一个基本帧所包含的采样点数,相当于是软件中IQ数据摆放格式在硬件上的一个映射。因此,该单比特位宽的RAM的资源取决于***支持的光口最大速率。需要说明的是,多比特位宽的RAM也可实现上述方案,只要在一个时钟周期内读出同一载波的所有比特即可,但是多比特位宽的RAM应用于上述流程,实现起来较复杂。
(2)上行组帧流程
上行组帧流程是下行解帧流程的逆过程。接收来自于上行链路的IQ数据,根据CPRI的帧格式进行IQ数据排列,最后按照当前光口的速率完成控制字与IQ数据的合并输出的过程。其处理流程如图6所示。
第一步:上行输入的每一个时钟周期的IQ数据的每个比特都是同一载波的,软件根据CPRI帧格式中IQ摆放位置,将采样到的一个时钟周期的IQ数据中的每个比特分别提取出来。
第二步:将提取出来的不同载波的每个比特,存入到不同的RAM或RAM的某个单元中。需要说明的是,存储时有一个关键限制是属于CPRI的同一个AxC(天线载波)的不同比特,只能存储在不同的RAM中,而不能存储在某一个RAM的不同地址上。通过存储的控制,完成了上行输入的IQ数据到一个CPRI基本帧中的映射。
第三步:由于硬件存储的信息是由软件告知的,那么软件完全知道IQ的每个比特存储的相关信息,从而软件即可通过寄存器告知硬件从不同RAM的地址中读取出一个时钟周期的比特拼接成一个有效的CPRI的AxC数据输出。
第四步:根据软件配置的CPRI速率信息,将控制字与IQ数据合并,组成CPRI的帧格式输出。组帧处理流程结束。
在上述组帧处理流程中,关键的信息均是来自于软件配置,核心技术与解帧处理一致。对于软件来说,软件通过CPRI帧格式中IQ数据摆放的表格来控制硬件将IQ数据中的每个比特写入规定的RAM单元,并按照软件配置的要求从RAM单元中读出来。对于硬件部分,核心组件是多个单比特位宽的RAM以及相关的存储控制电路。单比特位宽的RAM的个数,RAM深度同解帧处理中描述一致。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
综上所述,根据本发明的上述实施例,提供了一种数据发送方法及装置。当CPRI的最大速率确定之后,对IQ在CPRI帧格式中的摆放没有限制,具有很好的通用性;此方案硬件处理简单,实现复杂度小;***升级,多种制式(单模或者混模)的传输带宽的变化和升级,只会在软件层面上发生变动,不会影响硬件的实现,具有很好的灵活性。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。