無線應(yīng)用:Zynq All Programmable SoC的OS選擇考慮因素
隨著無線數(shù)據(jù)吞吐量的爆炸式增長,數(shù)字信號處理技術(shù)和無線電設(shè)備在改進(jìn)方面面臨著巨大壓力。目前的重點(diǎn)放在4G LTE。4G網(wǎng)絡(luò)正在世界各地大規(guī)模部署。而且現(xiàn)在我們看到5G網(wǎng)絡(luò)的早期研發(fā)工作也已經(jīng)展開,其目標(biāo)是在4G網(wǎng)絡(luò)的基礎(chǔ)上將數(shù)據(jù)容量再提升上千倍。這種新興的技術(shù)發(fā)展給系統(tǒng)廠商提出了不斷發(fā)展變化的新要求——他們必須提升系統(tǒng)集成度和系統(tǒng)性能,降低系統(tǒng)材料清單(BOM)成本,提高設(shè)計(jì)靈活性,并加速產(chǎn)品上市進(jìn)程等。
傳統(tǒng)ASIC器件支持的硬件解決方案雖然可以實(shí)現(xiàn)功耗和成本目標(biāo),但偶生工程成本(NRE)極高、靈活性差且產(chǎn)品上市進(jìn)程非常緩慢。為了滿足這些要求并應(yīng)對這些挑戰(zhàn),賽靈思向行業(yè)推出了All Programmable SoC(APSoC)架構(gòu),并將其成功實(shí)現(xiàn)在Zynq-7000產(chǎn)品系列中。
Zynq-7000器件采用賽靈思APSoC架構(gòu)并通過硬件、軟件和I/O可重編程功能可實(shí)現(xiàn)更大的系統(tǒng)級差異化、更高的集成度和靈活性(圖1)。Zynq-7000器件自2011年12月推出以來,已廣泛應(yīng)用于通信、數(shù)據(jù)中心、汽車、工業(yè)、航空航天與國防等眾多市場領(lǐng)域。對通信市場(尤其是無線應(yīng)用領(lǐng)域)而言,Zynq-7000帶來了獨(dú)特的優(yōu)勢:其集成式可編程邏輯(PL)專門針對數(shù)字信號處理進(jìn)行了精心優(yōu)化;其ARM Cortex A9處理子系統(tǒng)(PS)能夠高效實(shí)現(xiàn)典型無線設(shè)備(例如遠(yuǎn)端射頻單元和無線回程單元)的控制功能。
圖1:Zynq-7000 All Programmable SoC架構(gòu)
在構(gòu)建基于Zynq APSoC器件的無線應(yīng)用時(shí),必須選擇能滿足應(yīng)用需求的操作系統(tǒng)。為此,針對不同的無線應(yīng)用,需要考慮幾個關(guān)鍵因素:
1. 電信級運(yùn)營能力:對電信級系統(tǒng),一般要求系統(tǒng)可靠性達(dá)到99.999%。單元在正常工作時(shí)間可靠性必須達(dá)到這么高。從運(yùn)營的角度講,它代表對系統(tǒng)各項(xiàng)特性的支持,比如冷/熱啟動、故障監(jiān)測、檢測和處理以及冗余。
2. 實(shí)時(shí)處理:實(shí)時(shí)意味著可預(yù)測的響應(yīng)時(shí)間,而不僅僅是“非???rdquo;。遠(yuǎn)端射頻單元與無線回程處理相比有不同的實(shí)時(shí)要求。無線電設(shè)備信號處理任務(wù)重,用于支持信號處理的處理器必須滿足嚴(yán)格的時(shí)序預(yù)算要求。
3. 診斷:為支持現(xiàn)場診斷和事后診斷,需要采集和存儲大量性能測量數(shù)據(jù)和日志數(shù)據(jù)。因此應(yīng)具備跟蹤和管理對無線應(yīng)用具有重要意義的部分關(guān)鍵指標(biāo)的能力,比如性能衡量與統(tǒng)計(jì)指標(biāo)、CPU利用率和故障監(jiān)控指標(biāo)、OS任務(wù)切換指標(biāo)和事件歷史指標(biāo)等。
4. 工具和協(xié)議集成:調(diào)試與診斷環(huán)境全面集成,加上部分OS廠商提供的一些特定的網(wǎng)絡(luò)協(xié)議棧,有助于設(shè)計(jì)人員開發(fā)和維護(hù)有效的系統(tǒng)。
Zynq SoC集成有兩個ARM Cortex A9內(nèi)核。軟件架構(gòu)師需要在目前支持的兩種多處理器架構(gòu)之間做出選擇:SMP(對稱多處理)或AMP(非對稱多處理)。如圖2所示,在SMP系統(tǒng)架構(gòu)中,兩個或更多完全相同的處理器共享資源,運(yùn)行一個OS實(shí)例。理論上,這種架構(gòu)在同一OS實(shí)例下將平等對待所有處理器。與相反之,AMP架構(gòu)會區(qū)別對待每個處理器,不管是否有OS實(shí)例,處理器之間也彼此隔離。沒有運(yùn)行OS的內(nèi)核可能在運(yùn)行一段被視為“裸機(jī)”實(shí)例的微代碼。
一般來說,SMP為較高級應(yīng)用提供統(tǒng)一的OS平臺。軟件架構(gòu)師在OS之上構(gòu)建應(yīng)用時(shí),無需考慮兩個內(nèi)核之間的資源共享和進(jìn)程間通信。此外,對SMP而言存在性能開銷,這會給時(shí)間要求嚴(yán)格的無線應(yīng)用的性能造成不利影響。比較SMP和AMP,AMP在運(yùn)行OS實(shí)例的情況下軟件較簡化,基本甚至完全沒有開銷問題,但需要精心定制的軟件設(shè)計(jì)來實(shí)現(xiàn)處理器資源共享和處理器間通信。
圖2:SMP與AMP比較
使用Zynq APSoC器件可非常高效率地實(shí)現(xiàn)多種關(guān)鍵的無線應(yīng)用,其中包括射頻和無線回程。每種無線應(yīng)用有不同的性能要求,需要OS支持不同的特性。就Zynq用于實(shí)現(xiàn)涵蓋全部數(shù)字前端和處理功能的全集成軟硬件解決方案而言,射頻應(yīng)用就是一個很好的案例。
射頻數(shù)字前端應(yīng)用是4G網(wǎng)絡(luò)典型遠(yuǎn)端射頻單元(RRH)的一個主要組成部分。該應(yīng)用的處理要求可劃分為信號處理和控制處理。在信號處理領(lǐng)域,Zynq可用于實(shí)現(xiàn)用于數(shù)字上變頻/下變頻的高采樣率濾波器、峰值因數(shù)抑制(CFR)和數(shù)字預(yù)失真(DPD)。DPD是個特例,它需要同時(shí)使用Zynq的PS和PL。
DPD處理可細(xì)分為高速數(shù)據(jù)路徑和更新路徑。更新路徑用于定期更新濾波器組的系數(shù),且非常適合于實(shí)現(xiàn)在ARM Cortex A9內(nèi)核中。一般來說系數(shù)更新必須在幾毫秒到幾十毫秒內(nèi)完成。鑒于計(jì)算的算術(shù)復(fù)雜性,可綜合使用A9內(nèi)核和嵌入式NEON SIMD向量計(jì)算單元來滿足所需的高性能。此外,Zynq PL還支持為處理器時(shí)鐘周期占用大的功能提供硬件加速,這樣就可以協(xié)作使用Zynq PL、ARM A9內(nèi)核和NEON協(xié)處理器。
無線電的控制處理側(cè)一般用于初始無線電校準(zhǔn)、配置、告警、調(diào)度和網(wǎng)絡(luò)消息下傳。這在無線電應(yīng)用中一般不要求高性能,因此使用Zynq中的一個ARM A9內(nèi)核就能夠輕松管理。
為支持DPD應(yīng)用和控制處理應(yīng)用選擇合適的架構(gòu)非常重要,因?yàn)樗鼪Q定著總體性能、可靠性和維護(hù)的簡便性。
為無線射頻應(yīng)用選擇的通用架構(gòu)是AMP模式。在這種模式下,一個完整的ARM內(nèi)核以裸機(jī)方式運(yùn)行,專門用于DPD處理,為滿足更新DPD系數(shù)的時(shí)間要求提供更大計(jì)算裕量。控制和OAM等其他應(yīng)用運(yùn)行在OS控制的第二個ARM A9核上。在這種架構(gòu)中,由于OS只控制兩個ARM內(nèi)核中的一個,必須在運(yùn)行于兩個分離的內(nèi)核上的應(yīng)用之間建立處理器間通道,比如使用OCM(片上存儲器)或共享存儲器。這樣做法對某些關(guān)鍵的控制應(yīng)用非常重要,比如用于監(jiān)控DPD模塊健康狀況的應(yīng)用。這樣進(jìn)程間通信(IPC)解決方案是非標(biāo)的,必須在AMP模式中單獨(dú)開發(fā)。
SMP架構(gòu)非常簡單直觀,使用單個OS實(shí)例同時(shí)控制兩個ARM內(nèi)核和,進(jìn)而控制全部應(yīng)用。IPC、調(diào)試、支持工具鏈都在同一OS下。為確保資源專門用于DPD應(yīng)用,可在軟件應(yīng)用中使用“內(nèi)核親和(Core Affinity)”和“中斷屏蔽”等專門技巧。在前一個案例中,DPD應(yīng)用將只在一個內(nèi)核上運(yùn)行,也就是沒有其他任務(wù)共享資源(除去OS調(diào)度器開銷)。在后一個案例中,中斷服務(wù)(除DPD應(yīng)用觸發(fā)的)被轉(zhuǎn)到第二個內(nèi)核上運(yùn)行。這樣資源就被DPD應(yīng)用完全利用。
因此Zynq APSoC是支持AMP或SMP架構(gòu)的理想平臺。如圖3所示,Zynq集成有雙內(nèi)核ARM處理器、12.5Gb/s 串行收發(fā)器(SerDes)、可靠性更高的500MHz+ DSP,并能提供完整的數(shù)字前端功能,諸如DPD、CFR、DUC/DDC和CPRI/JESD接口。該解決方案無需在處理器和單獨(dú)FPGA之間提供接口,從而簡化PCB設(shè)計(jì)。
從分立式多芯片解決方案移植到Zynq平臺上的單芯片集成解決方案非常簡單直觀。賽靈思提供綜合而全面的軟硬件解決方案,有助于順利移植到Zynq上。這其中包括用于DUC、DDC、CFR和DPD的數(shù)字信號處理IP庫。此外,還支持多種OS解決方案,包括設(shè)備驅(qū)動程序、引導(dǎo)載入程序、BSP模板和常用工具。在成功移植到Zynq平臺后,該解決方案能夠顯著地增強(qiáng)系統(tǒng)性能,節(jié)省總功耗,并降低材料清單(BOM)成本。
圖3:從分立式解決方案移植到Zynq解決方案
在本文中,我們探討了為無線應(yīng)用選擇操作系統(tǒng)應(yīng)考慮的主要因素,無線應(yīng)用的實(shí)現(xiàn)架構(gòu)及其考慮因素(AMP與SMP對比)以及上述在賽靈思Zynq 7000器件上的直接應(yīng)用。總之,賽靈思提供的這類先進(jìn)器件能夠幫助無線網(wǎng)絡(luò)基礎(chǔ)架構(gòu)設(shè)計(jì)人員在實(shí)現(xiàn)軟硬件完全可編程性的同時(shí),改善性能,提高系統(tǒng)集成度,降低材料清單(BOM)總成本與系統(tǒng)總功耗,實(shí)現(xiàn)高可靠性并加速產(chǎn)品上市進(jìn)程。設(shè)計(jì)人員現(xiàn)在不僅能更快開發(fā)設(shè)備,而且還能在設(shè)備部署完成很久之后繼續(xù)提供現(xiàn)場更新,從而避免與ASSP和ASIC等器件有關(guān)的風(fēng)險(xiǎn)。