高速率接收电路的制作方法

文档序号:20687671发布日期:2020-05-08 18:57阅读:216来源:国知局
高速率接收电路的制作方法

本发明涉及接收电路的方法和设备。具体而言,本发明涉及专为高数据速率而设计的接收电路的方法和设备。



背景技术:

针对新无线接入技术(newradio,nr)的3gpp标准,也称为5g,旨在提供大约20gbit/s的用户数据速率。当用户设备或客户端设备等移动设备接收数据时,该数据由多个函数依次并行处理。实现这种处理的一种传统方法是让这些功能从存储器中读取输入数据,并在处理完成后将输出数据写入存储器。系统的常见设计是具备若干个功能能够从中读取输入并且将输出写入的一个公用存储器。

图1描述用于5g实现时,接收电路100中的物理层,通常称为osi模型中的层1,与osi模型中层2(layer2,l2)之间的传统接口。物理层的输出来自于信道解码器功能102,这里称为解码器。处理l2中数据的主要部分的功能是解密功能104,这里称为解密单元。在图1中,指向/源自系统内存106的箭头110、112、114和116表示系统在接口120上的数据速率。应用程序108可以从系统内存106中读取已解密数据。

不断需要提高接收电路的性能。具体而言,需要提供一种适用于5g系统中的新无线接入技术的接收电路。



技术实现要素:

本发明的目的提供一种改进型接收电路,具体而言,本发明的目的是提供一种能够满足3gpp新无线接入技术(newradio,nr)等新无线传输方法要求的改进型接收器。

该目的和/或其它目的通过随附权利要求书中所阐述的方法和设备来获得。

正如发明者所认识到的,针对接收电路的传统方法的一个问题是,连接到从中读取和写入数据的公用存储器的接口在数据速率增加时成为一个瓶颈。考虑以图1中的实现方式为例。这里,当接收数据速率接近20gbit/s时,公共接口上的数据速率将达到80gbit/s,这在现有实现技术中通常是不可行的。

根据本发明,提供了一种用于接收传输块中的数据的接收电路,每个传输块都包括一组单独可解码的码块。所述接收电路包括用于对所述接收到的数据进行解码的解码器和至少一个片上先入先出(firstinfirstout,fifo)内存。所述接收电路还包括层2解密单元和缓冲内存。接收电路中还提供一种控制器。所述控制器可用于通过解码器协调数据接收以及通过层2解密单元进行解密。所述解码器用于:将正确解码的码块存储到所述至少一个fifo内存中,以及当传输块中的码块没有正确解码时,将同一传输块中的任意后续正确解码的码块存储到所述缓冲内存中。所述层2解密单元用于在顺序解码过程中:依次按连续顺序从所述至少一个片上fifo内存接收解码码块并且对正确解码的码块进行解密;当向层2解密单元指示,已经对码块进行了错误解码,停止顺序解密过程;以及当所述控制器向层2解密单元指示,所述解码器稍后已经对先前解码错误的码块进行正确解码时,继续顺序解密过程,包括:对所述先前错误解码的码块进行解密以及检索存储在所述缓冲内存中的通过所述片上fifo内存传输的同一传输块中的任意码块,以便依次按连续顺序对所述检索到的码块进行解密。向所述层2解密单元指示所述片上fifo内存中的状态可以是直接的并且由所述控制器处理,但也可以是间接的,例如,层2解密单元检测到fifo内存数据不足或者使用其它部分流量控制机制。可以认为本文使用的术语“控制器”涵盖了这些直接和间接机制。因此,提供一种可以通过小型片上内存实现的有效接收电路。这可以通过在码块级别上为接收到的传输块提供处理机制来获得。由此片上内存相比于其它方案得到减小。

根据第一种实施方式,所述解码器用于将传输块中的正确解码的块移动到所述片上fifo内存,只要所述传输块中的所有先前码块都被正确解码。因此,只要码块被正确解码,就能够对码块进行解密。无需在开始解密过程之前对整个传输块进行解码。

根据第二种实施方式,所述接收电路用于按连续顺序接收所述码块。由此,可以使接收电路有效地接收数据在按连续顺序排列的码块中传输时的传输,即无需交织。例如,可以使用新无线接入技术(newradio,nr)中的空口传输。

根据第三种实施方式,所述接收电路用于通过harq进程请求重传错误解码的码块。由此,可以实现错误解码码块的有效重传过程。

根据第四种实施方式,所述缓冲内存为片外内存。由此,片上内存可以保持体积小、成本低。

根据第五种实施方式,提供多个片上fifo内存,并行接收到的不同传输块与单个片上fifo内存相关联。由此,可采用多个并行harq进程。因此,当提供多个片上fifo内存时,可并行接收若干个传输块。然后,一个片上fifo内存可与特定的传输块相关联,使得一个传输块中的所有代码块均放入同一片上fifo内存中。

根据第六种实施方式,提供数量可配置的片上fifo内存。由此,可调整接收电路以匹配所用传输机制。

根据第七种实施方式,所述解密单元用于:当传输块中的所有码块已经被解密时,将所述传输块的解密版本存储到所述接收电路的系统内存中。由此,传输块可以存储到存储器中以供应用程序使用。

根据第八种实施方式,所述缓冲内存是系统内存的一部分。由此,系统内存可以用作缓冲内存,无需单独的缓冲内存。

根据第九种实施方式,层2解密单元用于在等待要正确解码的错误解码的码块时,继续对与另一个harq进程相邻的码块进行解密。由此,当存在多个并行harq进程时实现有效解密过程,其中harq进程可以继续进行解密,而且正确解码的码块可用于进行解密。这是,解密过程更有效,因为在空闲状态下等待要解密的新码块所花费的时间没有或减少。

本发明在进一步方面提供可用于上文阐述设备中的方法和计算机程序产品。与装置一起描述的特征同样可应用于所述方法和计算机程序产品。

附图说明

本发明现将通过举例并参照附图进行更详细描述,其中:

-图1所示为传统接收电路结构;

-图2所示为接收电路结构的可能变体;

-图3示出了码块与ip数据包之间的关系;

-图4示出了按传输比特的顺序传输的码块中符号的传输;

-图5示出了8个码块携带的一个传输块的接收;

-图6所示为用于高数据速率的接收电路结构;

-图7所示为一个载波如何并行使用多个harq进程的示例;以及

-图8为图示在接收电路中执行的步骤的流程图。

具体实施方式

本发明现将参照附图在下文进行详细描述,附图中示出了本发明的某些实施例。但是本发明可以多种不同形式体现且不应被解释为限于本文所阐述的实施例;相反,通过举例提供这些实施例使得本发明将变得透彻和完整,并将向本领域技术人员充分传达本发明的范围。相似编号在整个描述中指代相似元素。

图1所示为5g实施方案中使用的接收电路中的物理层,通常称为osi模型中的层1(layer1,l1),与osi模型中的数据链路层2(layer2,l2)之间的传统接口。如上文所述,当数据速率增加,达到若干个gbit/s甚至更高速率时,预计存储器总线上的负载可能会变得过高。

处理图1中的实现方案中存储器总线120上的高负载问题的一种方法可以是在不同功能之间使用专用存储器。例如,图2所示为在物理层(信道解码/解码器)102与层2(解密/解密单元)104之间的专用存储器130的系统100。在图2所示的实施方案中,连接到系统内存106的存储器总线120上的负载相比于图1中的系统为一半。将传输块(transportblock,tb)从物理层传递至层2。接收tb的时间单位为1ms。对于高速率实施方式,可使用0.5ms的传输时间间隔(transmissiontimeinterval,tti)。对于0.5ms的tti上的20gbit/s,用户数据比特的总数约为10mbit。通常使用双缓冲区,使得在使用当前数据的同时产生新数据。因此,专用存储器在0.5ms的tti内需要需要大约20mbit。若1ms的tti与20gbit/s相关,则存储器需要增加一倍。

此外,用户设备(userequipment,ue)等移动客户端设备使用的存储器可以分成两类。

·公用存储器,上文也称为系统内存,属于大型存储器,具有相对较高的延迟。公用存储器相对便宜,而且不能集成到包含功能的同一硅片中。换句话说,公用存储器为片外内存。

·专用存储器,小型且具有相对较低的延迟和相对较高的电流消耗。专用存储器价格昂贵,而且集成到与接收设备中的功能相同的硅片中。换句话说,专用存储器为片上内存。

下面将更详细地描述物理层与层2之间的数据传输。实际的接收器链能够接收多个载波,这将在稍后用于比较内存大小。但为了便于解释,下文的描述仅说明一个载波的数据流。此外,在实际系统中,将通过单个载波上的多个混合自动重传请求(hybridautomaticrepeatrequest,harq)进程来并行接收若干个传输块(transportblock,tb)。一个harq在每个时间单位内传输/接收数据,而其它进程要么等待新的数据要么等待重传以校正传输错误。下文的描述说明用于接收一个tb的数据流。

物理层与层2之间的接口以媒体接入控制协议数据单元(mediumaccesscontrolprotocoldataunit,macpdu)为基础。物理层在传输块(transportblock,tb)中接收macpdu。tb通过循环冗余校验(cyclicredundancycheck,crc)进行保护。macpdu包含一个或多个mac业务数据单元(servicedataunit,sdu)。sdu通常也称为有效载荷。在macsdu中,首先是无线链接控制(radiolinkcontrol,rlc)和分组数据汇聚协议(packetdataconvergenceprotocol,pdcp)子层报头,然后是互联网协议(internetprotocol,ip)数据包。对ip数据包进行加密。图3示出了码块(codeblock,cb)与ip数据包之间的关系。在图3中,cb表示解码后cb,由有效载荷和crc组成。mac、rlc和pdcp报头在图3中称为l2报头。

物理层将tb作为多个信道编码后码块(codeblock,cb)接收。每个这种码块都通过crc进行保护。因此,码块能够由解码器分别进行解码。此外,当接收器在码块的crc中检测到错误时,可以分别重传每个码块。cb按时隙进行传递,一个时隙进一步划分为符号,如图4所示。cb按符号进行传输,使得第一个符号包含与传输块的第一部分中的比特有关的cb;下一个符号包含带有与随后比特有关的比特的cb,等等。图4示出了按传输比特的顺序传输的cb中符号的这种传输。注意的是,这是一个示例,存在其它配置。其它参考符号可放置在除了时隙中的第一个个符号之外的其它符号中。传输块可跨越多个时隙。

harq进程通常可以用来处理一个tb的传输。harq进程负责通过空中接口来传输cb。接收器向发射器发回确认(acknowledge,ack)或否定确认(not-acknowledge,nack)消息,以允许传输下一个tb或重传当前tb。harq进程可以在单个cb或cb组(groupofcb,cbg)的nr请求传输中。与长期演进(long-termevolution,lte)标准相比,这是主要区别,lte标准总是重传整个tb。

现在,将描述接收数据的层2解密处理。已加密数据的解密(或译码)通常通过计算加密叠加比特流与接收的已加密数据之间的二进制xor来进行。xor运算的输出是未加密数据。在当前lte标准中,采用zuc算法来产生加密叠加比特流。对于每个要解密的ip数据包,解密/解密功能使用特定参数进行初始化,每个ip数据包都具有不同的参数。这种密码功能(zuc)可每滴答一次产生一个32位密码。例如,加密功能“起作用”375次,产生了加密叠加对1500字节的ip数据包进行解密。对于新无线接入技术(newradio,nr),可添加额外的加密算法功能。nr中需要考虑的主要方面是密码是一个逐条生成的流密码。

基于上述原因,图1所示的接电电路实施方案要求公用存储器具有非常高的带宽,或者如果接收电路修改为图2的实施方案,则需要昂贵的大型专用存储器。因此,这两种实施方案对于nr来说既昂贵又难以实现。

因此,希望提供一种高带宽的接收电路,无需添加大型专用存储器,并且希望提供一种可以用于nr的接收电路。

可以通过在cb级别上提供传输块的处理机制来减小片上内存的尺寸。为此,在启动层2处理之前没有将整个tb缓冲至专用存储器中,而是在对tb中的第一个cb进行解码之后配置直接启动传输块处理。如果没有收到cbcrc错误,则继续处理,同时接收随后具有cb的符号,直至收到完整的tb。若检测到cbcrc错误,则将tb中随后正确接收到的cb缓存至公用片外(缓冲)内存中。只有在之前接收到的带有错误的cb成功接收到并传递至片上fifo内存后,才能从缓存内存中提取tb中已经正确解码的后续cb,并按正确顺序放入片上fifo内存中。因此,码块始终按正确顺序传递至层2解密单元。然后,解密单元按正确顺序对fifo内存中的码块进行解密。

在接收物理层中的tb的剩余cb的同时,层2将动态地对接收到的ip数据包进行解密。换句话说,一旦对ip数据包的第一位进行解码,层2启动进行解密。根据部分实施方案,物理层与层2之间的缓冲区至少为32×2位,以便处理一个tb。然后,主要将32位选为最小值,以便在信道解码器与缓冲区之间进行有效通信。此外,选择32位是为了提供足够的可用的比特以采用完整的32位密码叠加。

考虑到每个载波最多具有8个harq进程,每个进程每次传递一个tb,则物理层与层2之间缓冲区的32个载波产生:32×8×32×2=16384位。这将导致所需片上内存大小比图2中的实施方案减少很多。

因此,通过提供一种能够在对第一个cb成功进行解码时已经启动对tb的解密处理的接收电路,可以提供改进型接收电路。在这种实施方案中,物理层按cb在tb中的顺序将cb传递至层2。如果cb存在crc错误,则缓存tb中正确接收到的cb,直至成功接收带有错误的cb。图5中的示例所示为接收8个cb携带的一个tb(一个tb由8个cb组成)。在图5中:

1)所有cb都在第一次传输中传输。cb0至cb4已被正确接收并且按序传递到层2。cb5存在crc错误,所以无法传递至l2。cb6和cb7已被正确接收,但由于缺失cb5,无法传递至l2。cb6和cb7存储至片外缓冲内存中。

2)稍后,cb5成功接收(例如,作为重传)并且通过将其放入片上fifo内存传递至l2。

3)只有在将cb5放入片上fifo内存中后,才从片外缓冲内存中提取缓存的cb6和cb7,放入片上fifo内存中,以便按序传递至l2。

层2处理可设计为将每个tb作为一个数据流进行处理。层2处理用于从第一位开始接收每个tb并逐个处理tb。然后,可以将层2处理功能设计为仅处理tb的一部分,因为该部分通过小型缓冲区,例如,fifo缓冲区,接收。对于接收到的每个tb,层2处理能够实现一个控制循环,以处理tb中所有sdu的层2报头解码和解密。

图6所示为根据本发明实施例的这种接收电路200的可能实施方式。图6示出了多个fifo内存210,因为层2可以实施为并行接收若干个tb。图6还示出了从解码器102到片外缓冲内存106的箭头230。解码器对传输块中的接收到的码块分别进行解码。这里,缓冲内存是整个系统内存106的一部分(例如,也称为公用存储器),但是缓冲内存也可以为独立的存储器。这个箭头230表示必须进行缓冲且无法直接传递到层2的数据。通常情况下,这类数据为tb中的cb,在接收tb中的未正确接收到的cb之后接收cb。对于l2解密,已在缓冲内存中缓冲的码块必须从缓冲内存106中提取,并放入片上fifo内存210中,解密单元104可以在片上fifo内存210中检索该码块以进行解密。因此,解密单元104始终从片上fifo内存210中检索待解密的码块。此外,还提供一种控制器220。控制器220可以将输出数据(解码的码块)从解码器102指向片上fifo内存210或缓冲内存106,视输出数据的顺序而定。控制器220还可以将接收到的传输块通知给层2解密单元104。由此,层2解密单元104将获知接收到的传输块。例如,将控制器用于指示片上fifo内存210何时存在准备好解密的正确解码的码块。当存在多个片上fifo内存时,控制器220可用于确定从哪个fifo内存中检索解码的码块以由解密单元104进行解密。控制器220可通过多种不同的方法来实现。因此,向层2解密单元指示片上fifo内存中的状态在部分实施例中可以是直接的并且由指定物理实体处理,但也可以是间接的,例如,层2解密单元检测到fifo内存数据不足或者使用其它部分流量控制机制。可以认为本文使用的术语“控制器”涵盖了这些直接和间接机制。

lte中harq的操作点在第一次传输中的出错概率为10%。由于nr中tb的第一次传输与lte中的相似,因此可假设第一次存储的出错概率也相似。考虑到cb中错误均匀分布在tb中的cb上,可以假设tb中平均50%的cb在遇到crc错误之前已处理完毕。因此,可以假设箭头230表示20gbit/s的10%。(2gbit/s存储+2gbit/s负载)×50%。

在验证传输块的crc之前完成层2解密。因此,如果检测到tb的crc错误或者如果harq由于最大重传次数而无法传递tb,则将丢弃基于正在处理的tb的输出并且清空fifo内存210。在成功验证tbcrc后,更新层2子层状态(rlc/pdcp)。

图7所示为一个载波如何并行使用多个harq进程的示例。在每个时隙中接收一个harq进程。图7所示为具有8个harq进程的示例(p0至p7)。在图7中,p0的ack在p0接收到数据(cb)的时隙之后的四个时隙中发送。图7中的图示可用于计算如本文所述的接收电路的内存消耗。在计算内存的示例中,系统具有8个harq进程。harq进程p0在时隙n中接收第一次传输。在该时隙中,数据通过专用tbfifo内存发送至层2。若在该tb中出现错误,则从物理层到层2的数据流将停止,直至接收到重传。在等待重传的同时,其它harq进程可继续接收各自专用tbfifo内存中的数据。在本示例中,最多存在8个harq进程,每个进程每次传递一个tb,则物理层与层2之间的缓冲区的32个载波计算为:载波数量<numcarriers32>×每个载波的harq进程数<numharqpercarrier8>×每个tb的缓冲区大小<buffersizepertb32×2>=16384位。

所支持的载波数和harq进程/载波数是移动设备的性能。

图8示出了根据上文的在接收电路中执行的一些步骤的流程图。应理解,下面步骤中的若干个步骤可以同时执行。例如,一个数据块进行解密的同时另一个数据块进行解码。该接收电路用于接收传输块中的数据,每个传输块都包括一组单独可解码的码块。首先,在步骤801中,对接收到的码块进行解码。若解码不正确,则harq进程等发起重传请求。在步骤803中,如果传输块中的正确解码的码块按序排列,则将解码码块存储到片上fifo内存中。在步骤805中,当传输块中的后续码块被错误解码时,同一传输块中的任意后续正确解码的码块都会无序排列并且存储到缓冲储存器中。因此,按顺序排列的码块是指同一传输块中的特定码块之前的所有码块(如传输块的第一次传输中码块的传输顺序所示)已经被成功解码。同理,无序排列是指同一传输块中的特定码块之前至少有一个代码块(如传输块的第一次传输中的码块的传输顺序所示)还未被成功解码。当错误解码的码块已经被正确解码并且存储在缓冲内存中的码块再次按序排列时,稍后可以将存储在缓冲内存中的码块恢复到fifo内存中。因此,fifo内存将始终装有按序排列的码块。也就是说,传输块中的下一个码块“取代”同一传输块中的前一个码块的情况是不可能的。传输块中的下一个代码块将始终在缓冲内存中等待,直至前一个错误接收的码块被正确接收。只有在正确的前一个码块已经放入片上fifo内存中之后,才将等待的码块放入片上fifo内存中。

接下来,层解密单元执行顺序解密过程,包括:在步骤807中,依次按连续顺序从至少一个片上fifo内存接收解码码块,并按连续顺序对正确解码的码块进行解密。由于码块按序放入fifo内存中,所以解密单元只需将将按序存储在fifo内存中的码块逐个提取出来,就可以按连续顺序依次对码块进行解密。

当控制器指示已经对码块进行了错误解码时,层2解密单元在步骤809中停止顺序解密过程。该指示可通过物理控制器直接指示或一些其它控制机制间接指示这种错误解码(例如,片上fifo内存不再有数据)来产生。当控制器稍后向层2解密单元指示,先前错误解码的码块稍后由解码器正确解码时,顺序解密过程将在步骤811中继续进行。然后,层2解密单元继续对片上fifo内存传递的码块进行解密。第一个码块继续之后变为先前错误解码但是现在已经正确解码的码块。只有在此之后,层2解密单元存储在缓冲内存中的通过片上fifo内存传输的同一传输块中的码块进行解密。因此,依次按连续顺序进行解密。该方法可以通过计算程序有利地实现。

使用本文所描述的接收电路,可以获得多个改进点,包括:

-所需片上内存变小。

-所需硅片减少。

-所需功率降低。

此外,可以通过启动已经进行到符号级的解密进程来降低延迟。与此相反,lte等采用的现有解码过程只有在接收到完整tb时才开始解密。本文所描述的接收电路能够在接收和解码带有cb的第一个符号时开始解密过程。

具体而言,本文所描述的接收电路适合于有效实现在支持nr标准的移动客户端设备中,原因如下:

-cb未在多个符号之间交织。这意味着一个符号中的cb形成一个属于正在接收的tb的连续比特集。如果层2对cb级进行操作,则当tb中的第一个cb的前面符号被成功解码时,可以已经触发层2。

-层2报头与macpdu中的macsdu交织在一起。然后,层2macpdu处理功能首先处理层2报头并且对macpdu的每个sdu进行解密。这意味着层2不需要缓冲信息。

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