0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于Keystone SoC實(shí)現(xiàn)LTE基站的應(yīng)用開發(fā)

電子設(shè)計 ? 來源:電子工程網(wǎng) ? 作者:Adam Yao ? 2021-06-28 16:20 ? 次閱讀

作者:TI公司 Adam Yao

LTE層2處理的特點(diǎn)

層2在LTE中位于層1(物理層)和層3(RRC, RRM, S1-AP等協(xié)議)之間,它的作用是屏蔽層1的細(xì)節(jié),向?qū)?提供可用的服務(wù)接入點(diǎn)(SAP)。LTE中的層2在下行方向上依次通過PDCP, RLC和MAC 3個子層(如圖1)。每個子層處理之前的數(shù)據(jù)叫做服務(wù)數(shù)據(jù)單元(SDU),處理之后的數(shù)據(jù)叫做協(xié)議數(shù)據(jù)單元(PDU) ,PDU是對SDU的數(shù)據(jù)加以一些特殊的處理,同時添加一個本子層特定的協(xié)議頭所形成的。上行方向處理與下行類似,只是3 個子層通過的順序相反。PDCP層主要完成數(shù)據(jù)包頭的壓縮與解壓縮(ROHC),數(shù)據(jù)內(nèi)容的加密與解密,以及向上層PDU的順序遞交。RLC層根據(jù)MAC層的調(diào)度結(jié)果對PDCP的PDU進(jìn)行拆分和重組,同時實(shí)現(xiàn)ARQ的功能。MAC層主要實(shí)現(xiàn)與調(diào)度和HARQ相關(guān)的功能,包括邏輯信道向傳輸信道的映射,對RLCPDU的復(fù)用與解復(fù)用,HARQ糾錯與重傳等。

從實(shí)現(xiàn)的角度看,一般將MAC層中的調(diào)度和優(yōu)先級管理作為一個單獨(dú)的模塊,稱為調(diào)度器(Scheduler)。調(diào)度器要根據(jù)空口的狀態(tài)和網(wǎng)絡(luò)當(dāng)前要發(fā)送的數(shù)據(jù)量以及優(yōu)先級,對空口資源進(jìn)行實(shí)時的分配,是一個計算密集型的模塊。將PDCP,RLC和MAC層中的復(fù)用組包功能定義為另一個模塊,稱為用戶面,這部分主要根據(jù)協(xié)議的規(guī)定完成加頭,去頭,合并,拆分,加密,解密等處理,是一個數(shù)據(jù)吞吐密集型的模塊。因?yàn)長TE采用全I(xiàn)P的網(wǎng)絡(luò)架構(gòu),所有用戶面處理的包都是TCP/IP的包,本文所介紹的Pktlib就是針對這種包類型,結(jié)合TI公司Keystone SoC中的硬件隊列管理器(QMSS)所開發(fā)的一個軟件包,它能提高層2用戶面的處理效率,實(shí)現(xiàn)基于硬件隊列的內(nèi)存管理和真正的數(shù)據(jù)零拷貝,同時接口簡單,便于用戶移植。

圖1:LTE層2下行結(jié)構(gòu)

2. QMSS和Pktlib

QMSS是Keystone上集成的硬件隊列管理器。每一個硬件隊列都由一組特定的寄存器控制,用戶通過讀寫寄存器完成包的入隊和出隊。隊列中的包要滿足QMSS特定的格式要求。一個包由包描述符(PD)和對應(yīng)的緩存組成,包的所有屬性信息都保存在PD中,包中的緩存可以分片,不同的分片之間地址可以不連續(xù),每一個分片的屬性保存在對應(yīng)的緩存描述符(BD)中。滿足這種格式的包可以壓入硬件隊列,同一個隊列中包的前后鏈接關(guān)系由硬件維護(hù)。圖2畫出了硬件隊列和其中的包的結(jié)構(gòu)。在Keystone上,這種格式的包可以直接壓入硬件加速器和外設(shè)(如以太網(wǎng)和SRIO)的發(fā)送隊列(這些發(fā)送隊列也屬于QMSS所管理的硬件隊列),進(jìn)行硬件加速處理或數(shù)據(jù)發(fā)送。

圖2:硬件隊列和包格式圖

Pktlib是TI基于QMSS封裝的一個軟件開發(fā)包,它采用QMSS的包作為基本的內(nèi)存管理單元,將硬件隊列虛擬為內(nèi)存申請的堆,通過包的指針操作替代了內(nèi)存的拷貝,拼接和分割。Pktlib的主要函數(shù)接口和功能如下表。

表1: Pktlib主要函數(shù)和功能

3. 基于Pktlib的層2內(nèi)存管理

層2是一個基于包處理的模塊,在處理中需要臨時申請大量的內(nèi)存,內(nèi)存管理的效率是影響層2處理性能的關(guān)鍵因素。傳統(tǒng)的層2處理一般直接采用操作系統(tǒng)的內(nèi)存管理模塊,完全通過軟件來管理內(nèi)存,這種處理方法在軟件處理和加速器處理接口的地方必須做一次數(shù)據(jù)拷貝,把加速器處理完的數(shù)據(jù)從加速器的緩存區(qū)中拷貝到軟件的緩存中。這種拷貝在大量的包處理中極大地影響了效率。同時傳統(tǒng)的內(nèi)存管理方法因?yàn)闊o法通過軟件直接保證多核互斥,在多核共享內(nèi)存的管理上效率很低。

基于Pktlib的內(nèi)存管理能解決傳統(tǒng)內(nèi)存管理的問題。以LTE下行處理為例,在Keystone上PDCP層的空口安全保護(hù)在安全加速器(SA)中完成,其后需要用軟件完成RLC和MAC層的處理,然后將處理完的包交給物理層進(jìn)行編碼。層2和物理層的接口根據(jù)芯片功能劃分有兩種選擇:物理層可以在其他芯片上完成(這時需要將層2處理完的數(shù)據(jù)打包通過以太網(wǎng)或SRIO 發(fā)送出去),也可以在本芯片上完成(這時可以將層2處理完的數(shù)據(jù)直接發(fā)送給物理層的加速器BCP)。層2軟件和SA,BCP,SRIO,EMAC這些加速器或外設(shè)的接口都符合QMSS的包格式,并可以通過硬件隊列來完成數(shù)據(jù)的傳輸。

圖3畫出了一個基于Pktlib的層2下行的內(nèi)存管理架構(gòu)。它的基本思想是在創(chuàng)建堆的時候?qū)⑼ㄟ^操作系統(tǒng)申請的固定長度的內(nèi)存塊直接掛接到PD上,然后壓入專用的硬件隊列(圖2的Mem FreeQ),這個硬件隊列就相當(dāng)于一個堆。應(yīng)用在初始化完P(guān)ktlib的Mem FreeQ以后,通過調(diào)用Pktlib_allocPacket函數(shù)從堆上申請(出隊)內(nèi)存包并將它壓入SA的接收空閑隊列(Rx FreeQ)。當(dāng)SA處理完一個PDCP包的空口加密工作后會把數(shù)據(jù)通過接收側(cè)包DMA(Rx Pkt DMA)寫入Rx FreeQ中包指向的內(nèi)存,然后將包從Rx FreeQ出隊,壓入接收隊列(RxQ)。RLC和MAC層軟件接收到調(diào)度器的調(diào)度請求后,從SA的RxQ出隊對應(yīng)的包并進(jìn)行RLC和MAC的組包工作。在這個處理過程中,因?yàn)樯婕暗桨姆指?,合并,添加包頭的工作,RLC和MAC模塊會動態(tài)地申請新的內(nèi)存,這時同樣通過調(diào)用Pktlib_allocPacket函數(shù)從Mem FreeQ中申請包。

RLC和MAC層處理完成后,軟件可以將處理完的包直接壓入和物理層接口的發(fā)送隊列(TxQ)中,后面可以是通過加速器直接做物理層編碼,也可以是通過接口發(fā)送數(shù)據(jù)。發(fā)送側(cè)包DMA(Tx Pkt DMA)讀入包之后,可以自動將包返回一個隊列(Tx ReturnQ)。Tx ReturnQ 的選擇有兩種情況需要分開考慮。對于可以立即釋放的包(這個包中PD/BD所指向的緩存沒有被其他的PD/BD指向),可以通過QMSS直接回收到Mem FreeQ. 還有一類包不能立即釋放,這個包中內(nèi)存同時還被另一個PD指向(這在包的拷貝,分割中經(jīng)常出現(xiàn))。對第二種類型的包,我們需要先讓QMSS把包回收到一個臨時的回收隊列(Tx ReturnQ)中,然后調(diào)用Pktlib_freePacket接口,Pktlib會根據(jù)這個包的屬性以及是否進(jìn)行過拷貝,切割這些信息,決定是馬上將包回收到Mem FreeQ,還是等到所有指向同一個緩存的PD都使用完這個緩存后,再將包回收到Mem FreeQ。從上面的描述我們可以看到,層2下行軟件和處理流程前后的兩個加速器/外設(shè)接口發(fā)生了數(shù)據(jù)交互,但是中間沒有任何的數(shù)據(jù)拷貝,處理效率大大優(yōu)于傳統(tǒng)的方案。

Keystone中的硬件隊列可以自動完成多核訪問的互斥,由此帶來的好處是多核可以同時使用一個Pktlib創(chuàng)建好的堆,同時不需要加入效率較低的互斥鎖保護(hù)。對于多核同時進(jìn)行層2處理的方案,這一點(diǎn)也能在一定程度上節(jié)省軟件的開銷。

圖3:基于Pktlib的層2下行內(nèi)存管理

4 基于Pktlib的層2零拷貝數(shù)據(jù)處理

層2處理中經(jīng)過PDCP層處理的包保存在硬件隊列中,RLC和MAC模塊需要根據(jù)調(diào)度器提供的調(diào)度結(jié)果對PDCP處理的包進(jìn)行重新封裝,在這個過程中需要添加RLC協(xié)議頭,MAC協(xié)議頭,還需要對PDCP包進(jìn)行切割,重組(因?yàn)檎{(diào)度結(jié)果是根據(jù)當(dāng)前空口狀態(tài)產(chǎn)生的,跟PDCP的包長不可能匹配)。傳統(tǒng)的做法是采用內(nèi)存拷貝,軟件開銷比較大。采用Pktlib可以通過相應(yīng)的函數(shù)實(shí)現(xiàn)零拷貝,提高層2處理效率。

包的合并

層2處理中有很多包的合并操作,常見的場景有:

(1) 在處理PDCP,RLC,MAC 層協(xié)議的時候添加對應(yīng)的協(xié)議頭。

(2) RLC收到調(diào)度結(jié)果后需要將兩個或多個PDCP的PDU打包為一個RLC的PDU

(3) MAC復(fù)用需要將多個RLC的PDU打包為一個MAC的PDU如圖4 所示,通過調(diào)用Pktlib_packetMerge函數(shù)可以將輸入的兩個QMSS格式的包合并為一個新的包。這一操作實(shí)際上是將包1的Next指針置為包2的P地值,在合并的過程中沒有任何的內(nèi)存拷貝。

圖4:包的合并

包的拷貝

層2處理中包的拷貝主要發(fā)生的RLC包進(jìn)入重傳緩沖區(qū),RLC協(xié)議在AM模式下對處理完成的包在提交給MAC進(jìn)行處理的同時,還必須拷貝一份放入重傳緩沖區(qū)。如果接收端發(fā)出了重傳請求,下一次RLC會從重傳緩沖區(qū)取出數(shù)據(jù)重發(fā)。只有在收到接收端的確認(rèn)后,RLC才能釋放重傳緩存區(qū)中的包。

如圖5所示,Pktlib在做包的拷貝時不是通過內(nèi)存拷貝來實(shí)現(xiàn)的,而是通過將傳入的一組空的PD按照原始包的結(jié)構(gòu)重新鏈接一次??截惡螅?和包2的PD/BD不同,但是PD/BD所指向的內(nèi)存是同一塊。這種包的拷貝(其實(shí)包的切割也會出現(xiàn)相同的問題)要求在包的釋放時只有在確認(rèn)同一塊內(nèi)存所關(guān)聯(lián)的所有包都被使用完了之后,才能進(jìn)行內(nèi)存的釋放。在Pktlib_freePacket函數(shù)中會查找當(dāng)前包下所有PD/BD所指向內(nèi)存所關(guān)聯(lián)的所有PD/BD的當(dāng)前情況,如果還有PD/BD在使用這塊內(nèi)存就不立即釋放,只有在所有PD/BD都不使用這塊內(nèi)存了,才會將它釋放。

圖5: 包的拷貝

包的分割

層2處理中包的分割操作,主要有下面兩個場景:

(1) RLC收到調(diào)度結(jié)果后需要將一個PDCP的PDU分割為兩個或多個RLC的PDU

(2) MAC復(fù)用需要一個RLC 的PDU分割為兩個或多個MAC的PDU如圖6所示,Pktlib在做包的分割時是通過傳入一個空的PD,然后用這個PD指向切割的字節(jié)位置構(gòu)造出新的包。從圖中可以看到切割后包1緩存2和包2緩存1在同一個內(nèi)存塊上,只有當(dāng)這兩個包都不在使用這塊內(nèi)存之后,這個內(nèi)存塊才能得到釋放。

圖6: 包的分割

Pktlib的性能

使用Pktlib的API能夠完全替換傳統(tǒng)的基于OS的內(nèi)存管理,并且能實(shí)現(xiàn)零拷貝的包合并,復(fù)制和分割,在內(nèi)存處理的效率上大大優(yōu)于傳統(tǒng)方案。下表列出了在TI公司TMS320C6614 芯片上測試得到的函數(shù)性能。

表2: Pktlib主要函數(shù)的性能

總結(jié)

TI在Keystone上提供的Pktlib能夠?qū)崿F(xiàn)硬件和軟件內(nèi)存管理的統(tǒng)一,實(shí)現(xiàn)基于包的數(shù)據(jù)合并,拷貝,分割,以及軟件與硬件加速器之間完全的零拷貝數(shù)據(jù)傳遞。這些特點(diǎn)正好適應(yīng)了LTE層2中大批量包數(shù)據(jù)處理的要求。結(jié)合Pktlib進(jìn)行LTE基站層2軟件的開發(fā),能極大地提高包的處理效率,在硬件規(guī)格不變的情況下提供更高的系統(tǒng)吞吐率。本方案為基于Keystone SoC的LTE基站開發(fā)提供了一個有益的參考。

責(zé)任編輯:gt

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 寄存器
    +關(guān)注

    關(guān)注

    31

    文章

    5270

    瀏覽量

    119646
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4066

    瀏覽量

    217553
  • 基站
    +關(guān)注

    關(guān)注

    17

    文章

    1380

    瀏覽量

    66655
收藏 人收藏

    評論

    相關(guān)推薦

    一種面向LTE基站SOC平臺軟件解決方案

    本文分析了基于最新SOC處理器設(shè)計的LTE基站對于平臺軟件的功能需求。針對基于SOC基站平臺軟件應(yīng)用中所遇到的問題, 提出了Enea面向于
    發(fā)表于 02-05 10:07 ?2772次閱讀
    一種面向<b class='flag-5'>LTE</b><b class='flag-5'>基站</b>的<b class='flag-5'>SOC</b>平臺軟件解決方案

    以全新的多核SoC架構(gòu)進(jìn)行LTE開發(fā)

    層面形成極大的壓力。為了滿足這些需求,TI開發(fā)出全新的SoC架構(gòu),其中許多內(nèi)建的組件可滿足LTE蜂窩基站的需求(見圖1)。[/url]圖1:德州儀器的多核
    發(fā)表于 07-14 14:40

    LTE基站天線解決方案

    頻分復(fù)用)技術(shù),而全球范圍內(nèi)的2G、3G頻譜的擁擠,導(dǎo)致LTE時代無線頻譜的分布非常離散。同時,兩大標(biāo)準(zhǔn)分別支持射頻端的MIMO(多入多出)及Beam-forming(波束賦型)技術(shù),對基站天線的物理布局及性能指標(biāo)提出了全新的要求。
    發(fā)表于 07-17 06:18

    如何對TD-LTE基站進(jìn)行性能測試?

    HARQ測試原理是什么?基于HARQ的TD-LTE基站性能測試
    發(fā)表于 04-30 07:23

    小蜂窩基站LTE網(wǎng)絡(luò)中有什么作用?

    什么是小蜂窩基站?小蜂窩基站LTE網(wǎng)絡(luò)中有什么作用?
    發(fā)表于 05-21 06:42

    如何利用WiMAX SoC去設(shè)計多扇區(qū)基站?

    TDD基站參考設(shè)計FDD基站參考設(shè)計如何利用WiMAX SoC參考板去進(jìn)行多扇區(qū)基站的設(shè)計?
    發(fā)表于 05-28 06:50

    中國TD系統(tǒng)如何實(shí)現(xiàn)向TD-LTE發(fā)展?

    中國TD系統(tǒng)如何實(shí)現(xiàn)向TD-LTE發(fā)展?3.5G LTE基站的信號發(fā)射和接收架構(gòu)應(yīng)該如何實(shí)現(xiàn)?LTE
    發(fā)表于 06-01 06:43

    小型蜂窩基站面臨的挑戰(zhàn)

    相似的是,其價格點(diǎn)須比宏蜂窩基站的價格點(diǎn)低,旨在實(shí)現(xiàn)大量的部署。這就需要更高的硅芯片和軟件集成度、更低的功耗以及高水平的互操作性測試。 LTE版本10的全新功能可部署大量小型蜂窩基站,
    發(fā)表于 11-17 07:02

    TI擴(kuò)展其KeyStone多核架構(gòu)

    德州儀器 (TI) 宣布擴(kuò)展其面向新興云無線接入網(wǎng)絡(luò) (C-RAN) 應(yīng)用與網(wǎng)絡(luò)服務(wù)器開發(fā)人員的KeyStone 多核架構(gòu),確保其市場領(lǐng)先基站片上系統(tǒng) (SoC) 解決方案繼續(xù)在無線產(chǎn)
    發(fā)表于 12-08 09:37 ?566次閱讀

    TI基于KeyStoneSoC系統(tǒng)助力PureWave高性能小型蜂窩戶外基站

    日前,德州儀器(TI)與低成本高級4G無線基站創(chuàng)新供應(yīng)商PureWave Networks公司宣布針對PureWave最新推出的PureWave Constellation系列LTE小型蜂窩基站展開協(xié)作,以無與倫比的便捷性
    發(fā)表于 05-28 11:47 ?718次閱讀

    基于Keystone SoCLTE基站開發(fā)

      層2在LTE中位于層1(物理層)和層3(RRC,RRM,S1-AP等協(xié)議)之間,它的作用是屏蔽層1的細(xì)節(jié),向?qū)?提供可用的服務(wù)接入點(diǎn)(SAP)。
    發(fā)表于 09-15 10:17 ?5次下載
    基于<b class='flag-5'>Keystone</b> <b class='flag-5'>SoC</b>的<b class='flag-5'>LTE</b><b class='flag-5'>基站開發(fā)</b>

    KeyStone多核SoC工具套件

    的調(diào)試會面臨同步處理模式以及子系統(tǒng)接口訪問受限所帶來的其它復(fù)雜性。開發(fā)和調(diào)試多核 SoC 所花費(fèi)的時間以及實(shí)現(xiàn)理想 SoC 性能的能力可用來衡量工具套件的優(yōu)勢。 TI 支持
    發(fā)表于 10-27 13:20 ?0次下載
    <b class='flag-5'>KeyStone</b>多核<b class='flag-5'>SoC</b>工具套件

    基于BSC9132開發(fā)LTE基站設(shè)計

    硬件平臺來開發(fā)LTE基站。本文將用一塊該芯片實(shí)現(xiàn)LTE物理層基帶處理算法,對物理層鏈路可用算法實(shí)現(xiàn)
    發(fā)表于 11-06 17:54 ?51次下載
    基于BSC9132<b class='flag-5'>開發(fā)</b><b class='flag-5'>LTE</b>小<b class='flag-5'>基站</b>設(shè)計

    SK電訊開發(fā)家庭基站干涉控制技術(shù) 提升了LTE網(wǎng)絡(luò)的客戶體驗(yàn)

    SK集團(tuán)旗下的SK電訊繼6月份全球率先實(shí)現(xiàn)LTE超小型家庭基站商業(yè)化后,又在全球率先開發(fā)了適用于該基站的干涉控制技術(shù),進(jìn)一步提升了
    發(fā)表于 03-20 09:57 ?456次閱讀

    KeyStone I器件的SerDes實(shí)現(xiàn)指南

    電子發(fā)燒友網(wǎng)站提供《KeyStone I器件的SerDes實(shí)現(xiàn)指南.pdf》資料免費(fèi)下載
    發(fā)表于 10-12 09:25 ?0次下載
    <b class='flag-5'>KeyStone</b> I器件的SerDes<b class='flag-5'>實(shí)現(xiàn)</b>指南