999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

面向基帶處理的異構多核架構軟硬件平臺設計

2017-03-31 01:23:53曾定立丁國杰
單片機與嵌入式系統應用 2017年3期
關鍵詞:設備系統

曾定立,丁國杰

(1.重慶郵電大學 寬帶無線移動互聯網絡實驗室,重慶 400065;2.中國科學院計算技術研究所 無線通信技術研究中心)

面向基帶處理的異構多核架構軟硬件平臺設計

曾定立1,丁國杰2

(1.重慶郵電大學 寬帶無線移動互聯網絡實驗室,重慶 400065;2.中國科學院計算技術研究所 無線通信技術研究中心)

通過研究現代通信系統集中化處理架構中基帶處理單元(BBU)的特點,將異構多核處理器應用于BBU中,并提出將物理層算法與控制分離的觀點。在ARM+DSP的異構多核中,ARM完成物理層控制,DSP完成物理層算法的功能,提升了BBU基帶處理能力,并給出完整的BBU硬件架構以及功能實現。提出了一種應用于基帶處理中的異構多核軟件架構,從軟件層面上實現了對底層硬件的虛擬化,引入了中間件的概念,屏蔽了ARM與DSP操作系統上的差異,并給出基于Linux的非對稱系統(AMP)的構建及移植方法,包括異構多核的BootLoader、AMP系統的設計與移植。

基帶處理單元;異構多核;ARM;DSP;中間件;BootLoader;AMP系統

引 言

移動通信系統向LTE演進過程中,各項指標和性能都在提高,造成基帶處理器的負擔急劇加重,因此,對基帶處理單元(BBU)的處理速度提出了更高要求,研發出具有性能更強、靈活性更好的新型綠色基站迫在眉睫[1]。異構多核處理器具有集成度高、處理能力強的優勢[2],將異構多核處理器應用于BBU中,能夠顯著降低系統成本和功耗,有利于開發出新一代綠色節能網絡基礎設施[3]。

德州儀器公司率先推出了包含ARM Cortex-A15和DSP處理器的異構多核KeyStone II架構芯片[4],將其應用于BBU中,可實現控制與運算分離,ARM通過與上層協議的交互實現對DSP的任務調度和控制,完成物理層控制的功能,而DSP無須額外的開銷來實現物理層控制,使得DSP能夠處理更大的數據量。

在新型綠色基站中,采用異構多核的處理架構具有明顯的優勢,但同時,也給軟件開發人員帶來了新的挑戰,如何在異構處理器架構下為軟件層屏蔽掉底層硬件的差異是本文要研究和攻克的難題,也是軟件無線電基站虛擬化的關鍵技術所在。因此,針對新型基帶處理硬件平臺開發出一套能夠屏蔽底層硬件細節、通用性強的基帶處理軟件平臺具有非常重大的意義,該平臺使得軟件開發人員無需關心底層硬件細節,提高了軟件的可移植性,是基帶處理板中承接硬件和軟件的橋梁。

1 基帶處理單元架構設計

1.1 TI異構多核的KeyStone II架構介紹

TI公司推出的KeyStone II架構芯片包含了多個ARM Cortex-A15和TMS320C66x DSP處理器,該架構最多可支持32個RISC和C66xx DSP內核[5]。除了異構多核架構本身具有極強處理能力外,該架構還包含了多個協處理器,例如FFTC、TCP3d、BCP以及多核導航器等,芯片內部通過2 Tbps的TeraNet光交換網絡互聯,使得片上處理單元之間能夠高速無阻塞地傳輸數據;并提供SRIO、以太網、PCIe、HyperLink等高速接口,使得片外數據能夠高速傳輸[5]。本文應用在基帶處理板上的KeyStone II架構系列芯片是TCI6638K2K,其包含4個ARM Cortex-A15核和8個C66xx DSP核,處理能力極強,其突出的性能有利于開發出高性能的“綠色”新型基站。

1.2 基帶處理硬件架構設計

基帶處理平臺采用高性能異構多核ARM+DSP架構作為基帶處理的核心,借助FPGA芯片強大的邏輯能力作為協處理單元,基站集群之間通過高速接口進行數據傳輸,如SerialRapidIO、以太網等相連,互相通信協作,ARM與DSP通過片內高達2 TB速率的光傳輸網絡來進行交互。

基于ARM與DSP片內高速通信的優勢,本文提出將物理層控制放在ARM上運行,實現對協議層原語的解析以及DSP實時任務的派發,ARM還完成片外數據傳輸和外圍器件的控制功能,通過高速接口實現協議層數據的收發等,而DSP主要完成物理層運算的功能,這樣DSP不再單獨維護自身的任務隊列,而且多個 DSP之間不再有任務交互接口[7],減輕了DSP的負載,而且片內的管道通信時延遠小于片外的高速總線通信,速率卻遠高于高速總線。異構多核架構使得ARM和DSP專用處理器各盡其職,高效地利用了專用處理器的功能,與同構多核的DSP處理架構相比,具有更強的處理能力。

本項目中設計的基帶處理板架構如圖1所示,板卡之間的交互通過連接器連接到機箱或背板。

圖1 基帶處理板架構

在基帶處理板架構中,ARM STM32對時鐘分發模塊進行管理和配置,為TCI6638K2K以及FPGA Virtex 7提供穩定的時鐘輸入,此外,STM32對SRIO Switch以及Ethernet Switch進行配置,保證Serial RapidIO(SRIO)和以太網能夠正常通信。

異構多核的ARM+DSP是基帶板的數據處理核心單元,TCI6638K2K分別通過SRIO和以太網高速接口與SRIO Switch和Ethernet Switch連接,通過交換芯片來實現TCI6638K2K以及FPGA之間的數據高速交互,此外,交換芯片又連接到連接器,通過機箱實現與其他基帶板卡的數據傳輸。另外,FPGA由AIF2接口通過CPRI協議連接到中頻板接收上行鏈路數據,再將CPRI協議轉換為RapidIO協議或Ethernet協議,傳輸給TCI6638K2K進行數據處理。下行鏈路數據的傳輸則相反,TCI6638K2K將處理完成的數據通過RapidIO或Ethernet發送給FPGA,FPGA再將RapidIO協議或Ethernet協議轉換為CPRI協議,通過光模塊將數據傳輸到中頻板,同時,FPGA還作為DSP的協處理器。在基帶處理池中,可指定一塊基帶板作為主控板,通過FPGA的傳輸中轉實現與中頻信號的交互,再由主控板將數據通過SRIO或Ethernet高速接口傳輸到其他基帶板中進行處理。

TCI6638K2K又通過高速以太網接口與協議處理單元相連,通過ARM來完成與上層信令和數據的交互,上層和物理層定義完整統一的API接口進行交互,上層向物理層發送請求,物理層向上層請求指示,上層將配置參數以及數據下發給物理層,物理層完成從邏輯信道到物理信道的映射,物理層將傳輸信道的錯誤反饋給高層,而DSP只需接收ARM傳送的指令和數據,從而進行數據處理,無需增加額外的開銷來完成物理層控制的功能。

2 異構多核架構的軟件平臺設計

基于硬件虛擬化技術以及軟件無線電虛擬化技術的思想,本文提出了一種在異構多核處理器架構中應用于基帶信號處理的軟件平臺,其軟件架構如圖2所示。

圖2 基帶信號處理軟件平臺

驅動層提供了支持硬件抽象的板級支持包(BSP),封裝了硬件操作細節的支撐庫,該支撐庫的抽象硬件接口為上層應用波形組件屏蔽了連接鏈路的異構,為操作系統提供統一的API,在操作系統層面上實現底層硬件的虛擬化。驅動層之上,DSP與ARM各自存在其操作系統SYS/BIOS與對稱多核(SMP)Linux系統,操作系統接口為上層應用軟件提供多任務調度,支持硬件設備驅動、內存、進程管理以及任務的實時調度。非對稱多處理器系統(AMP)接口實現了ARM與DSP的交互,ARM可以通過虛擬I/O和遠程處理器(remoteproc)架構實現對DSP的控制和管理。中間件是存在于AMP操作系統之上的軟件層,是承接應用層軟件與AMP操作系統接口的橋梁,在應用軟件層面屏蔽了ARM與DSP系統的差異。

2.1 設計與移植

2.1.1 BootLoader的設計

圖3 RBL模式選擇

BootLoader是SoC上電后運行的第一段代碼,完成系統啟動的準備工作,并最終實現引導AMP系統啟動。為滿足應用在不同場景下需要不同的啟動模式,KeyStone II支持多種方式啟動ARM和DSP。SoC內部固化集成了Boot Rom,電源開啟后,固化在Boot Rom的程序將自動運行,這段程序被稱為Rom BootLoader(RBL),RBL會掃描設備狀態寄存器(DEVSTAT)對應的值,該寄存器的初值由SoC相應引腳的電平信號提供,通過DEVSTAT初值來決定SoC的啟動模式,DEVSTAT各位對應的模式選擇如圖3所示。多核ARM與DSP在啟動過程中表現為主從關系,啟動模式主要可以分為兩類:①DSP作為主控制處理器先行啟動BIOS/SYS,再加載ARM核啟動;②ARM作為主控制處理器先行啟動Linux,再通過核間中斷方式喚醒DSP。

考慮到軟件固化的便利性,本文將BootLoader代碼固化在SPI Flash中,而將占據內存較大的Linux內核及系統文件固化在NAND Flash中。ARM+DSP的系統架構如圖4所示,TCI6638K2K通過SPI總線連接到NOR Flash,通過外部的FPGA將TCI6638K2K的Boot模式設置為SPI模式。

圖4 ARM+DSP系統架構

ARM SPI Boot模式下啟動過程如圖5所示。

圖5 ARM SPI Boot模式啟動過程

當啟動模式設置為ARM SPI Boot模式時,RBL根據DEVSTAT初值對SPI接口進行初始化,再通過SPI接口從NOR Flash的指定地址讀取已經移植好的BootLoader,并加載到片上共享內存(MSMC)中,然后將控制權交由BootLoader程序。BootLoader完成初始化處理器以及必要的硬件、建立內存空間的映射等功能,并最終實現在ARM中加載啟動SMP Linux系統,再通過Linux內核實現DSP的喚醒。

2.1.2 BootLoader的移植

U-boot中包含有讀寫Flash的命令,并且在U-boot啟動后已經初始化了以太網接口,因此,固化U-boot和Linux程序只需要在U-boot啟動后,設置好環境變量,執行固化命令就可以實現,U-boot的啟動可以通過JTAG的方式加載到ARM核運行。

(1) 編譯生成目標文件

在U-boot工程文件目錄下運行Make命令,執行makefile配置文件和makefile文件,運行成功后將在工程文件夾下生成可燒寫的u-boot.bin文件。

(2) 通過JTAG加載U-boot

用TI提供的CCS6.1軟件通過仿真器連接到ARM核0,將生成的u-boot.bin文件拷貝到存放loadlin-evm-uboot.js腳本的文件夾下,并在該文件夾下打開控制臺窗口,運行以下腳本:

loadJSFile"loadlin-evm-uboot.js"

u-boot.bin將會加載到MSMC SRAM中,在CCS中點擊運行,則U-boot啟動。

(3) 固化U-boot

U-boot已通過JTAG方式加載到MSMC中運行,在U-boot命令模式下,可通過以太網TFTP方式從主機中獲取所需固化的u-boot.bin文件到MSMC中的指定地址0x0c30 0000:

tftp0x0c300000u-boot.bin

然后固化u-boot.bin到SPI NOR Flash對應的地址,將MSMC中地址為0x0c30 0000存放的u-boot.bin燒寫到Flash的起始地址。

固化u-boot.bin,運行以下命令:

sf probe

sf erase 0x0000 0x100000

sf write 0x0c310000 0x10000

由于u-boot.bin文件的大小一般在500 KB,因此擦除Flash前512字節,并將MSMC中地址為0x0c31 0000存放的u-boot.bin燒寫到Flash偏移量為0的地址。

2.2 AMP系統的構建與移植

2.2.1 AMP系統的構建

本文所設計的AMP系統采用SMP Linux與SYS/BIOS系統共存的方式,以Linux系統作為主控系統,通過remoteproc架構實現對DSP的管理和控制。由于ARM和DSP處理器構造上的差異,為更好地發揮ARM的控制功能以及DSP的運算功能,在同構多核的ARM上移植SMP Linux操作系統,使得用戶不必關心SoC內部有多少個ARM核,ARM核間任務的調度以及內存的分配等將由Linux內核完成[7],而DSP對數據處理的實時性要求較高,因此DSP采用SYS/BIOS實時操作系統。同時,為了提高SMP操作系統的實時性,可對內核進行中斷線程化、優化調度器等方法改進其實時性。

遠程處理器(remoteproc)架構是Linux內核中用來啟動或者停止各個異構的遠程處理器[8],如圖6所示,4個ARM核上運行SMP Linux系統,通過remoteproc架構將8個DSP核配置為遠程處理器,該架構使得用戶可以根據具體需求動態加載和運行DSP中的實時任務。

圖6 遠程處理器(remoteproc)架構

remoteproc架構中完成Linux核心與遠程處理器的數據交互主要依靠虛擬I/O設備以及遠程處理器消息(rpmsg)框架來實現,虛擬I/O設備定義了標準的I/O,而消息的傳遞通過rpmsg框架定義的互聯總線來傳輸。

虛擬I/O設備定義了虛擬輸入/輸出設備(vdev),vdev可用于共享內存以及核間中斷等方式通信,vdev定義并維護Linux傳輸隊列,以便于Linux核心與RTOS數據交互,虛擬I/O設備以及隊列初始化由內核完成,遠程處理器只需注冊vdev描述符,就可以操作隊列。

遠程處理器消息(rpmsg)框架是隊列傳輸的消息軟總線,處理器之間通過軟總線創建可尋址端點,并且通過共享內存、核間中斷以及多核導航等方式來進行信息交互。rpmsg框架能夠控制信息的發送和接收,根據消息包中的目的地址將消息發送到相應的端點。

2.2.2 AMP系統的移植

由于Linux采用設備和驅動分離的架構模型,使得設備只描述設備信息,而驅動則是一個對于設備通用的軟件,總線則負責匹配設備和驅動,驅動以標準途徑拿到板級信息。設備和驅動分別由Device和Device Driver兩個數據結構來描述,在過去,Linux內核中充滿了描述板級信息的Device代碼,這樣使得Linux內核復雜又難以移植,因此,Linux發展到3.xx版本提出了設備樹的概念,它是一種描述硬件配置的樹形數據結構,其語法簡單易讀,Linux內核通過解析其語法來注冊生成Device結構體,Device與Device Driver以一個兼容名稱通過總線來匹配。因此,Linux 3.xx后驅動開發工程師的主要工作就是維護設備樹。AMP系統的移植主要包括:

① 編譯內核:在Linux源文件目錄下執行配置命令和make命令,生成內核鏡像文件uImage.bin。

② 構建根文件系統:根文件系統需包含系統啟動時必要的目錄,如/bin、/sbin、/etc、/dev、/lib 等。/bin 目錄下存放的是系統所需的基本命令;/sbin存放系統管理程序和系統命令;/etc目錄下包含系統的配置文件;/lib目錄下存放驅動模塊和共享庫。根文件系統可以通過Busybox開發套件來生成。

③ 配置和編譯設備樹:根據板卡的外圍硬件修改相應的設備樹文件,在Linux內核代碼中,設備樹存放于arch/arm/boot/dts/目錄下,以設備樹源碼文件(.dts)可讀可編輯的文本形式存在,修改完成相應配置后,在Linux根目錄下執行命令make k2hk.dtb,生成設備樹文件k2hk.dtb。

④ 制作ubi文件:ubi文件對應的是UBI層上的管理系統文件,它建立于MTD層上,用邏輯卷(logic volume)來替代MTD分區,能動態創建、刪除和改變大小。ubi文件的制作包括以下步驟:

(a) 新建并編輯一個ubinize.cfg文件(ubinize.cfg是一個配置文件):

mode=ubi

image=ubifs.img

vol_id=0

vol_size=113MiB

vol_type=dynamic

vol_name=boot

vol_flags=autoresize

mode配置的是文件格式,image配置的是ubifs鏡像源文件,vol_id是邏輯卷在UBI中的ID號,vol_size是邏輯卷的大小。

(b) 應用mkfs.ubifs工具將設備樹和內核文件生成ubifs文件,添加好環境變量后執行如下命令,將會生成k2hk.ubifs文件。

mkfs.ubifs-r boot-F-o k2hk.ubifs-m 2048-e 126976-c 41

再將ubinize.cfg與k2hk.ubifs放到同一文件夾下,執行如下命令將會生成最終可燒寫到NAND Flash中的k2hk.ubi文件。

ubinize-ok2hk.ubi-m 2048-p 128KiB-s 2048-O 2048 ubinize.cfg

⑤ 燒寫ubi文件到NAND Flash。

在移植完成U-boot后,可以利用U-boot模式下TFTP服務器通過以太網將k2hk.ubi文件從PC機中傳輸到板上的DDR內存中,再執行擦除以及固化命令,將內存中的k2hk.ubi固化到NAND Flash中。

2.3 中間件概述

中間件為應用層軟件定義統一的標準接口,屏蔽了底層異構多核的差異,中間件能夠識別物理層算法與物理層控制程序,并將任務派發給ARM或DSP,完成相應的處理,各組件不再與具體硬件模塊綁定,使得應用層軟件具有很高的可移植性,同時,中間件又為SYS/BIOS與SMP 操作系統的跨平臺交互提供統一標準接口,例如TI公司為異構多核平臺提供了一套核間通信(IPC)套件,實現DSP與ARM通過標準API來進行交互。

結 語

[1] Guangjie L,Senjie Z,Xuebin Y,et al.Architecture of GPP based,scalable,large-scale C-RAN BBU pool[C]//2012 IEEE Globecom Workshops,2012:267-272.

[2] 陳芳園,張冬松,王志英.異構多核處理器體系結構設計研究[J].計算機工程與科學,2011(12).

[3] Texas Instruments.Embracing LTE-A with KeyStoneSoCs,2012.

[4] Texas Instruments.德州儀器KeyStone II架構助力多內核技術發展[J].電子技術應用,2012,38(4):30.

[5] Texas Instruments.Multicore DSP+ ARM KeyStone II System-on-Chip (SoC),2013.

[6] 田飛,楊虹.基帶芯片物理層控制方案的設計[J].現代電子技術,2014(3).

[7] Stotzer E,Jayaraj A,Ali M,et al.Openmp on the low-power TI KeyStone II arm/dsp system-on-chip[C]//International Workshop on OpenMP.Springer Berlin Heidelberg,2013:114-127.

[8] Baum F,Raghuraman A.Making Full use of Emerging ARM-based Heterogeneous Multicore SoCs[C]//8th European Congress on Embedded Real Time Software and Systems,2016.

曾定立(碩士研究生),主要研究方向為移動通信、嵌入式操作系統;丁國杰(碩士研究生),主要研究方向為移動通信、電子電路設計。

Heterogeneous Multicore Architecture Software and Hardware Platform for Baseband Processing

Zeng Dingli1,Ding Guojie2

(1.Wireless Broadband Interconnection Laboratory,Chongqing University of Posts and Telecommunications,Chongqing 400065,China;2.Wireless Communication Technology Research Center,Institute of Computing Technology,Chinese Academy of Science)

By studying the characteristics of baseband processing unit (BBU) in centralized processing architecture of modern communication system,a view of separating the physical algorithm and control and applying heterogeneous multi-core processor to BBU is proposed.In the heterogeneous multi-core of ARM+DSP,ARM completes the function of physical layer control,DSP completes the function of physical layer algorithm.It improves the BBU baseband processing capability.The complete BBU hardware architecture is given,which realizes the virtualization of the underlying hardware from the software level.The introduction of middleware shields the differences between ARM and DSP operating systems.It also provides the building and migration method of asymmetric system,including the design and transplantation of heterogeneous multi-core BootLoader and AMP system.

baseband processing unit;heterogeneous multicore;ARM;DSP;middleware;BootLoader;AMP system

TN929.5

A

?士然

2016-11-17)

猜你喜歡
設備系統
諧響應分析在設備減振中的應用
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
主站蜘蛛池模板: 亚洲人妖在线| 欧亚日韩Av| 日本免费福利视频| 国产精品成人AⅤ在线一二三四| 找国产毛片看| 一本综合久久| 天堂va亚洲va欧美va国产| 手机精品福利在线观看| 久久香蕉国产线| 成人国产精品一级毛片天堂| 精品成人免费自拍视频| 亚洲一区二区三区麻豆| 亚洲欧美天堂网| 国产呦精品一区二区三区下载| 热这里只有精品国产热门精品| 国产欧美视频综合二区| 福利一区三区| 色综合手机在线| 97精品伊人久久大香线蕉| 国产在线视频欧美亚综合| 亚洲高清国产拍精品26u| 国产综合精品一区二区| 成人午夜在线播放| 三上悠亚精品二区在线观看| 亚洲网综合| 婷婷亚洲天堂| 亚洲va欧美ⅴa国产va影院| 凹凸精品免费精品视频| 日韩国产综合精选| 暴力调教一区二区三区| 国产成人亚洲欧美激情| 日本午夜精品一本在线观看 | 国产香蕉在线视频| 亚洲国产成人综合精品2020| 99视频国产精品| 狠狠干欧美| 精品国产免费观看| 999精品色在线观看| 中文字幕在线不卡视频| 国产精品免费入口视频| 国产免费a级片| 国产99免费视频| 四虎永久在线精品国产免费| 91小视频在线| 欧美性爱精品一区二区三区| 欧美一级一级做性视频| 国产粉嫩粉嫩的18在线播放91| 一级一级一片免费| 亚洲AV无码一区二区三区牲色| 国产成人高清精品免费| 成色7777精品在线| 精品伊人久久久久7777人| 97免费在线观看视频| 国产原创自拍不卡第一页| 国产青榴视频| 午夜国产在线观看| 无遮挡一级毛片呦女视频| 蜜臀av性久久久久蜜臀aⅴ麻豆| 无套av在线| 精品久久久久成人码免费动漫| 久久精品只有这里有| 免费一级全黄少妇性色生活片| 99热这里只有免费国产精品| 男女精品视频| 亚洲第一中文字幕| 特级欧美视频aaaaaa| 久久人人爽人人爽人人片aV东京热 | 精品一区二区三区波多野结衣| 99尹人香蕉国产免费天天拍| 92午夜福利影院一区二区三区| 这里只有精品国产| 最新国产你懂的在线网址| 丁香婷婷在线视频| 夜夜拍夜夜爽| 亚洲另类色| 国产一二三区视频| 国产乱人伦精品一区二区| 亚洲综合色区在线播放2019| 成人精品视频一区二区在线| 国产人成在线视频| 亚洲AV无码乱码在线观看代蜜桃| 四虎影视国产精品|