色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于Keystone SoC實現LTE基站的應用開發

電子設計 ? 來源:電子工程網 ? 作者:Adam Yao ? 2021-06-28 16:20 ? 次閱讀

作者:TI公司 Adam Yao

LTE層2處理的特點

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

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

圖1:LTE層2下行結構

2. QMSS和Pktlib

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

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

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

表1: Pktlib主要函數和功能

3. 基于Pktlib的層2內存管理

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

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

圖3畫出了一個基于Pktlib的層2下行的內存管理架構。它的基本思想是在創建堆的時候將通過操作系統申請的固定長度的內存塊直接掛接到PD上,然后壓入專用的硬件隊列(圖2的Mem FreeQ),這個硬件隊列就相當于一個堆。應用在初始化完Pktlib的Mem FreeQ以后,通過調用Pktlib_allocPacket函數從堆上申請(出隊)內存包并將它壓入SA的接收空閑隊列(Rx FreeQ)。當SA處理完一個PDCP包的空口加密工作后會把數據通過接收側包DMA(Rx Pkt DMA)寫入Rx FreeQ中包指向的內存,然后將包從Rx FreeQ出隊,壓入接收隊列(RxQ)。RLC和MAC層軟件接收到調度器的調度請求后,從SA的RxQ出隊對應的包并進行RLC和MAC的組包工作。在這個處理過程中,因為涉及到包的分割,合并,添加包頭的工作,RLC和MAC模塊會動態地申請新的內存,這時同樣通過調用Pktlib_allocPacket函數從Mem FreeQ中申請包。

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

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

圖3:基于Pktlib的層2下行內存管理

4 基于Pktlib的層2零拷貝數據處理

層2處理中經過PDCP層處理的包保存在硬件隊列中,RLC和MAC模塊需要根據調度器提供的調度結果對PDCP處理的包進行重新封裝,在這個過程中需要添加RLC協議頭,MAC協議頭,還需要對PDCP包進行切割,重組(因為調度結果是根據當前空口狀態產生的,跟PDCP的包長不可能匹配)。傳統的做法是采用內存拷貝,軟件開銷比較大。采用Pktlib可以通過相應的函數實現零拷貝,提高層2處理效率。

包的合并

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

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

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

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

圖4:包的合并

包的拷貝

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

如圖5所示,Pktlib在做包的拷貝時不是通過內存拷貝來實現的,而是通過將傳入的一組空的PD按照原始包的結構重新鏈接一次。拷貝后,包1和包2的PD/BD不同,但是PD/BD所指向的內存是同一塊。這種包的拷貝(其實包的切割也會出現相同的問題)要求在包的釋放時只有在確認同一塊內存所關聯的所有包都被使用完了之后,才能進行內存的釋放。在Pktlib_freePacket函數中會查找當前包下所有PD/BD所指向內存所關聯的所有PD/BD的當前情況,如果還有PD/BD在使用這塊內存就不立即釋放,只有在所有PD/BD都不使用這塊內存了,才會將它釋放。

圖5: 包的拷貝

包的分割

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

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

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

圖6: 包的分割

Pktlib的性能

使用Pktlib的API能夠完全替換傳統的基于OS的內存管理,并且能實現零拷貝的包合并,復制和分割,在內存處理的效率上大大優于傳統方案。下表列出了在TI公司TMS320C6614 芯片上測試得到的函數性能。

表2: Pktlib主要函數的性能

總結

TI在Keystone上提供的Pktlib能夠實現硬件和軟件內存管理的統一,實現基于包的數據合并,拷貝,分割,以及軟件與硬件加速器之間完全的零拷貝數據傳遞。這些特點正好適應了LTE層2中大批量包數據處理的要求。結合Pktlib進行LTE基站層2軟件的開發,能極大地提高包的處理效率,在硬件規格不變的情況下提供更高的系統吞吐率。本方案為基于Keystone SoC的LTE基站開發提供了一個有益的參考。

責任編輯:gt

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 寄存器
    +關注

    關注

    31

    文章

    5362

    瀏覽量

    120899
  • soc
    soc
    +關注

    關注

    38

    文章

    4193

    瀏覽量

    218737
  • 基站
    +關注

    關注

    17

    文章

    1401

    瀏覽量

    66872
收藏 人收藏

    評論

    相關推薦

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

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

    以全新的多核SoC架構進行LTE開發

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

    LTE基站天線解決方案

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

    如何對TD-LTE基站進行性能測試?

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

    小蜂窩基站LTE網絡中有什么作用?

    什么是小蜂窩基站?小蜂窩基站LTE網絡中有什么作用?
    發表于 05-21 06:42

    如何利用WiMAX SoC去設計多扇區基站

    TDD基站參考設計FDD基站參考設計如何利用WiMAX SoC參考板去進行多扇區基站的設計?
    發表于 05-28 06:50

    中國TD系統如何實現向TD-LTE發展?

    中國TD系統如何實現向TD-LTE發展?3.5G LTE基站的信號發射和接收架構應該如何實現LTE
    發表于 06-01 06:43

    小型蜂窩基站面臨的挑戰

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

    TI擴展其KeyStone多核架構

    德州儀器 (TI) 宣布擴展其面向新興云無線接入網絡 (C-RAN) 應用與網絡服務器開發人員的KeyStone 多核架構,確保其市場領先基站片上系統 (SoC) 解決方案繼續在無線產
    發表于 12-08 09:37 ?590次閱讀

    TI基于KeyStoneSoC系統助力PureWave高性能小型蜂窩戶外基站

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

    基于Keystone SoCLTE基站開發

      層2在LTE中位于層1(物理層)和層3(RRC,RRM,S1-AP等協議)之間,它的作用是屏蔽層1的細節,向層3提供可用的服務接入點(SAP)。
    發表于 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'>基站開發</b>

    KeyStone多核SoC工具套件

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

    基于BSC9132開發LTE基站設計

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

    SK電訊開發家庭基站干涉控制技術 提升了LTE網絡的客戶體驗

    SK集團旗下的SK電訊繼6月份全球率先實現LTE超小型家庭基站商業化后,又在全球率先開發了適用于該基站的干涉控制技術,進一步提升了
    發表于 03-20 09:57 ?480次閱讀

    KeyStone I器件的SerDes實現指南

    電子發燒友網站提供《KeyStone I器件的SerDes實現指南.pdf》資料免費下載
    發表于 10-12 09:25 ?0次下載
    <b class='flag-5'>KeyStone</b> I器件的SerDes<b class='flag-5'>實現</b>指南
    主站蜘蛛池模板: 在线观看qvod| 媚药调教被撑到合不拢h| jizz69女士第一次| 2018三级网站免费观看| 日本阿v直播在线| 嗯啊好爽视频| 国内卡一卡二卡三免费网站| 97视频在线观看免费视频| 中文在线无码高潮潮喷在线| 乌克兰美女x?x?y?y| 色情在线avav| 母乳女神春日もな| 精品国产自在自线官方| 国产最新地址| 国精产品一区一区三区有限在线| 国产三级在线精品男人的天堂| 99精品视频在线免费观看| 92午夜理论第1000集 app| 3d在线看小舞被躁视频| 18黄女脱内衣| 99re8在线视频精品| caoporn免费视频在线| SAO货腿张开JI巴CAO死我 | GAY东北澡堂激情2022| xx在线观看| 99精品欧美一区二区三区美图| 99精品在线播放| 把极品白丝班长啪到腿软| 高清AV熟女一区| 边吃胸边膜下床震免费版视频| 拔萝卜电视剧高清免费| 国产精品久久久久激情影院| xxx日本免费| 国产成人免费观看| 高h肉辣文黄蓉| 国产女人与黑人在线播放| 韩日美无码精品无码| 久久免费电影| 黄色网址在线看| 麻豆免费观看高清完整视频在线 | 欧洲老妇人bb|