本發(fā)明涉及無線通信領(lǐng)域中的無線接入技術(shù),尤其涉及一種基帶芯片及信號處理方法。
背景技術(shù):
基于碼分多址技術(shù)的無線接入技術(shù),已經(jīng)在無線通訊領(lǐng)域廣泛使用,并且是現(xiàn)有無線接入技術(shù)的重要組成部分。隨著互聯(lián)網(wǎng)的縱深繁榮,無線數(shù)據(jù)流量正以指數(shù)曲線巨幅增長,無線接入方式需求也越來越多。那么,如何快速擴容,以及如何根據(jù)用戶需求,高效地定制個性化的接入設(shè)備,特別是在最終實現(xiàn)為用戶提高更好體驗的同時,降低開發(fā)的成本、風(fēng)險、及周期。這些問題給無線運營商,特別是無線設(shè)備制造商提出了新的要求。
碼分多址技術(shù)的無線接入設(shè)備中基帶處理部分也是其中至關(guān)重要的一環(huán),特別是其中的碼片處理部分,因其實時性、整體運算性能以及設(shè)計難度較高,常常是制約整個設(shè)備性能和功能的重要環(huán)節(jié)?,F(xiàn)有碼分多址技術(shù)的無線接入設(shè)備的碼片處理部分主要有以下幾種實現(xiàn)方式:
1、現(xiàn)場可編程門陣列(FPGA,F(xiàn)ield-Programmable Gate Array)
用可現(xiàn)場編程的FPGA實現(xiàn)基帶功能,其優(yōu)點是可以快速完成設(shè)計,并且容易升級更新,其缺點是成本高,F(xiàn)PGA也由幾大巨頭控制,自主規(guī)劃空間的設(shè)計面積有限。
2、專用集成電路(ASIC,Application Specific Integrated Circuit)
最成熟的實現(xiàn)方法是純ASIC。因碼分多址技術(shù)已經(jīng)比較成熟,基于ASIC的技術(shù)演進多年也日臻完美,其優(yōu)點是成本極低,但缺點也很明顯:開發(fā)周期長,難度大,容量提升或者設(shè)計面積會受到ASIC固化架構(gòu)的制約。
3、中央處理器陣列(CPU,Central Processing Unit)+ASIC
用CPU陣列+ASIC實現(xiàn)碼片處理,本質(zhì)上是占用上層高級CPU陣列(如微處理器ARM,Advanced RISC Machines))資源來完成碼片處理的部分工作。其優(yōu)點是借助現(xiàn)有片上系統(tǒng)(SOC,System on Chip)平臺的CPU陣列將部分ASIC功能變成軟件處理,降低難度和風(fēng)險,也便于更新升級,其缺點是用軟件替代的這部分功能往往是重復(fù)調(diào)度或查詢,會消耗CPU陣列大量資源,功耗大,性價比低。
因此,針對碼分多址技術(shù)的無線接入設(shè)備中基帶處理碼片部分設(shè)計,現(xiàn)有技術(shù)中存在的開發(fā)難度大、周期長、功耗或設(shè)計面積受制約明顯等問題和缺陷亟需解決。
技術(shù)實現(xiàn)要素:
為解決上述技術(shù)問題,本發(fā)明實施例期望提供一種基帶芯片及信號處理方法,能夠降低基帶芯片的設(shè)計難度,將基帶芯片的設(shè)計面積和功耗大大降低了,進而降低了基帶芯片的開發(fā)周期。
本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
本發(fā)明實施例提供一種基帶芯片,所述基帶芯片包括:中央處理器CPU陣列、軟核陣列和硬件基本單元,所述CPU陣列、所述軟核陣列和所述硬件基本單元通過總線連接;
所述CPU陣列,用于向所述軟核陣列發(fā)送第一任務(wù),所述第一任務(wù)為碼片處理任務(wù);
所述軟核陣列,用于將所述第一任務(wù)發(fā)送至所述硬件基本單元;
所述硬件基本單元,用于執(zhí)行所述第一任務(wù)。
在上述基帶芯片中,所述軟核陣列,還用于所述CPU陣列發(fā)送第一任務(wù)之后,將所述第一任務(wù)發(fā)送至所述硬件基本單元之前,將所述第一任務(wù)配置為至少一個子任務(wù),形成包括所述至少一個子任務(wù)的任務(wù)列表。
在上述基帶芯片中,所述基帶芯片還包括:直接內(nèi)存訪問DMA和存儲器; 所述DMA與所述硬件基本單元連接,所述DMA通過所述總線與所述軟核陣列連接,所述存儲器通過所述總線分別與所述軟核陣列和所述硬件基本單元連接;
所述軟核陣列,具體用于根據(jù)所述任務(wù)列表,發(fā)送與所述至少一個子任務(wù)對應(yīng)的搬移命令至所述DMA,所述搬移命令用于指示所述DMA發(fā)送所述至少一個子任務(wù)中的每個子任務(wù)至所述硬件基本單元,以及指示在所述硬件基本單元處理完所述每個子任務(wù)之后,所述DMA反饋中斷至所述軟核陣列;
所述DMA,用于發(fā)送所述每個子任務(wù)至所述硬件基本單元;
所述硬件基本單元,具體用于分別執(zhí)行所述每個子任務(wù),并將所述每個子任務(wù)結(jié)果存儲在存儲器中;
所述DMA,還用于檢測所述硬件基本單元對一個子任務(wù)的處理狀態(tài),以及所述處理狀態(tài)為完成時,發(fā)送所述中斷至所述軟核陣列;
所述軟核陣列,還用于響應(yīng)所述中斷,從所述存儲器中獲取所述一個子任務(wù)的任務(wù)結(jié)果,并對所述一個子任務(wù)的任務(wù)結(jié)果進行附屬功能處理,并將附屬功能處理結(jié)果存儲至所述存儲器;
所述DMA,還用于將所述存儲器中的所述附屬功能處理結(jié)果上報,以進行符號級或比特級處理。
在上述基帶芯片中,所述軟核陣列,還用于所述CPU陣列發(fā)送第一任務(wù)之后,發(fā)送與所述至少一個子任務(wù)對應(yīng)的搬移命令至所述DMA之前,檢測所述硬件基本單元的緩存狀態(tài);
所述軟核陣列,還具體用于檢測到所述硬件基本單元的緩存狀態(tài)為空閑時,發(fā)送與所述至少一個子任務(wù)對應(yīng)的搬移命令至所述DMA。
在上述基帶芯片中,所述軟核陣列中包括隨機存取存儲器RAM和先入先出隊列FIFO存儲器;所述至少一個子任務(wù)包括所述至少一個子任務(wù)請求和所述至少一個子任務(wù)參數(shù);
所述FIFO存儲器,用于存儲所述至少一個子任務(wù)請求;
所述RAM,用于存儲所述至少一個子任務(wù)參數(shù)。
本發(fā)明實施例提供一種信號處理方法,所述方法包括:
軟核陣列接收中央處理器CPU陣列發(fā)送的第一任務(wù),所述第一任務(wù)為碼片處理任務(wù);
所述軟核陣列將所述第一任務(wù)發(fā)送至硬件基本單元,以供所述硬件基本單元執(zhí)行所述第一任務(wù)。
在上述方案中,所述軟核陣列接收CPU陣列發(fā)送的第一任務(wù)之后,所述軟核陣列將所述第一任務(wù)發(fā)送至硬件基本單元之前,所述方法還包括:
所述軟核陣列將所述第一任務(wù)配置為至少一個子任務(wù),形成包括所述至少一個子任務(wù)的任務(wù)列表;
相應(yīng)的,所述軟核陣列將所述第一任務(wù)發(fā)送至硬件基本單元,包括:
所述軟核陣列根據(jù)所述任務(wù)列表,發(fā)送與所述至少一個子任務(wù)對應(yīng)的搬移命令至所述DMA,以供所述DMA發(fā)送所述每個子任務(wù)至所述硬件基本單元,及所述硬件基本單元分別執(zhí)行所述每個子任務(wù),并將所述每個子任務(wù)結(jié)果存儲在存儲器中,所述搬移命令用于指示所述DMA發(fā)送所述至少一個子任務(wù)中的每個子任務(wù)至所述硬件基本單元,以及指示在所述硬件基本單元處理完所述每個子任務(wù)之后,所述DMA反饋中斷。
在上述方案中,所述發(fā)送與所述至少一個子任務(wù)對應(yīng)的搬移命令至所述DMA之后,所述方法還包括:
所述DMA檢測所述硬件基本單元對一個子任務(wù)的處理狀態(tài),以及所述處理狀態(tài)為完成時,所述軟核陣列接收所述DMA發(fā)送的所述中斷;
所述軟核陣列響應(yīng)所述中斷,從所述存儲器中獲取所述一個子任務(wù)的任務(wù)結(jié)果,并對所述一個子任務(wù)的任務(wù)結(jié)果進行附屬功能處理,并將附屬功能處理結(jié)果存儲至所述存儲器,以供所述DMA將所述存儲器中的所述附屬功能處理結(jié)果上報,以進行符號級或比特級處理。
在上述方案中,所述軟核陣列接收CPU陣列發(fā)送的第一任務(wù)之后,所述軟核陣列根據(jù)所述任務(wù)列表,發(fā)送與所述至少一個子任務(wù)對應(yīng)的搬移命令至所述DMA之前,所述方法還包括:
所述軟核陣列檢測所述硬件基本單元的緩存狀態(tài)。
在上述方案中,所述軟核陣列根據(jù)所述任務(wù)列表,發(fā)送與所述至少一個子任務(wù)對應(yīng)的搬移命令至所述DMA,包括:
所述軟核陣列檢測到所述硬件基本單元的緩存狀態(tài)為空閑時,根據(jù)所述任務(wù)列表,發(fā)送與所述至少一個子任務(wù)對應(yīng)的搬移命令至所述DMA。
本發(fā)明實施例提供了一種基帶芯片及信號處理方法,該基帶芯片包括:CPU陣列、軟核陣列和硬件基本單元,該CPU陣列、該軟核陣列和該硬件基本單元通過總線連接;CPU陣列,用于向軟核陣列發(fā)送第一任務(wù),該第一任務(wù)為碼片處理任務(wù);軟核陣列,用于將第一任務(wù)發(fā)送至硬件基本單元;硬件基本單元,用于執(zhí)行第一任務(wù)。采用上述技術(shù)實現(xiàn)方案,即基帶芯片采用CPU陣列+軟核陣列+硬件基本單元的架構(gòu)實現(xiàn)碼片處理,由于只將碼片核心算法在一個硬件基本單元中實現(xiàn),并通過軟核陣列調(diào)度硬件基本單元實現(xiàn)碼片處理任務(wù),這樣設(shè)計的基帶芯片的設(shè)計難度低,就將基帶芯片的設(shè)計面積和功耗大大降低了,進而基帶芯片的開發(fā)周期就降低了。
附圖說明
圖1為現(xiàn)有技術(shù)中的示例性的基帶芯片的結(jié)構(gòu)示意圖;
圖2為本發(fā)明實施例提供的一種基帶芯片的結(jié)構(gòu)示意圖一;
圖3為本發(fā)明實施例提供的硬件基本單元的結(jié)構(gòu)示意圖一;
圖4為本發(fā)明實施例提供的硬件基本單元的結(jié)構(gòu)示意圖二;
圖5為本發(fā)明實施例提供的一種基帶芯片的結(jié)構(gòu)示意圖二;
圖6為本發(fā)明實施例提供的一種基帶芯片的結(jié)構(gòu)示意圖三;
圖7為本發(fā)明實施例提供的一種信號處理方法的流程圖一;
圖8為本發(fā)明實施例提供的一種信號處理方法的流程圖二;
圖9為本發(fā)明實施例提供的一種信號處理方法的流程圖三。
具體實施方式
下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述。
現(xiàn)有的中央處理器陣列(CPU,Central Processing Unit)+專用集成電路(ASIC,Application Specific Integrated Circuit)實現(xiàn)碼片處理的結(jié)構(gòu)如圖1所示,CPU陣列通過總線(BUS)與ASIC進行數(shù)據(jù)交互,其中,ASIC可以實現(xiàn)五大功能,其中,n1-n5分別表示需要五個功能模塊需要使用A的數(shù)量;C1-C5分別表示五個功能模塊除去A之外的附屬功能,A為碼片的核心算法部分。
由于A已完成了解擴,附屬功能C1-C5的數(shù)據(jù)率已大幅降低,所以本發(fā)明實施例采用軟件實現(xiàn)(軟核陣列)。
實施例一
如圖2所示,本發(fā)明實施例提供一種基帶芯片1,該基帶芯片1包括:CPU陣列10、軟核陣列11和硬件基本單元12,所述CPU陣列10、所述軟核陣列11和所述硬件基本單元12通過總線13連接。
所述CPU陣列10,用于向所述軟核陣列發(fā)送第一任務(wù),所述第一任務(wù)為碼片處理任務(wù)。
所述軟核陣列11,用于將所述第一任務(wù)發(fā)送至所述硬件基本單元12。
所述硬件基本單元12,用于執(zhí)行所述第一任務(wù)。
需要說明的是,本發(fā)明實施例應(yīng)用的背景為:碼分多址技術(shù)的無線接入設(shè)備中基帶處理部分其中的碼片處理部分,主要使用基帶芯片來進行碼片處理,而本發(fā)明實施例提供的基帶芯片1采用CPU陣列+軟核陣列+硬件基本單元的架構(gòu)實現(xiàn)碼片處理。
進一步地,如圖3所示,所述硬件基本單元12包括:天線插值120、天線解擾121、天線解擴122、頻偏補償123等子模塊;或者,如圖4所示,所述硬件基本單元12包括:符號映射124、加擾125、加擴126、乘功率127等子模塊。
需要說明的是,本發(fā)明實施例中,將基帶芯片1中支持碼片級的核心算法處理的硬件部分作為硬件基本單元12使用。圖3所示的硬件基本單元12的結(jié)構(gòu)支持上行碼片級的核心算法處理,圖4所示的硬件基本單元12的結(jié)構(gòu)支持下行碼片級的核心算法處理。因此,本發(fā)明實施例提供的基帶芯片1可以根據(jù)實際處理信號的類型決定使用硬件基本單元12的結(jié)構(gòu)。
可以理解的是,本發(fā)明實施例中的硬件基本單元是將現(xiàn)有技術(shù)中的硬件架構(gòu)中的碼片核心算法部分經(jīng)過合并和整合構(gòu)成的,即將硬件基本單元作為硬件資源池使用。
示例性的,如圖1所示,現(xiàn)有的硬件架構(gòu)中,由n1-n5分別表示需要五個功能模塊需要使用A的套數(shù),C1-C5分別表示五個功能模塊除去A之外的附屬功能,其中,A就是碼片核心算法;本發(fā)明實施例中,將A作為硬件基本單元,采用軟核陣列調(diào)用的方法實現(xiàn)不同數(shù)量A的調(diào)度,完成碼片核心算法,再在軟核陣列中完成C1-C5的附屬功能的處理即可。
可選的,本發(fā)明實施例中的軟核陣列11是使用簡單處理器組成的firmware軟核陣列,具體的可以是arm的M系列處理器等簡單CPU陣列,能夠支持總線協(xié)議(AXI,Advanced eXtensible Interface)、外圍總線(APB,Advanced Peripheral Bus)等常用總線,以便和上層CPU陣列以及下層硬件基本單元通信。
需要說明的是,本發(fā)明實施例中的第一任務(wù)指的是對基帶信號(天線信號)做碼片處理的任務(wù),第一任務(wù)中包括第一任務(wù)請求和第一任務(wù)參數(shù)(即表征基帶信號要做什么功能的碼片處理)。
進一步地,硬件基本單元12進行碼片級的核心算法的處理。
可選的,所述軟核陣列11,還用于所述CPU陣列10發(fā)送第一任務(wù)之后,將所述第一任務(wù)發(fā)送至所述硬件基本單元12之前,將所述第一任務(wù)配置為至少一個子任務(wù),形成包括所述至少一個子任務(wù)的任務(wù)列表。
需要說明的是,本發(fā)明實施例中需要處理的基帶信號,即天線信號,可以是至少一段天線信號,因此,CPU陣列10發(fā)送的是至少一段天線信號的碼片處理任務(wù);在軟核陣列11中,軟核陣列11將每一段天線信號的每一類功能的 碼片處理任務(wù)分成一個子任務(wù),軟核陣列11通過對硬件基本單元的調(diào)度完成至少一個天線信號對應(yīng)的至少一個子任務(wù)。
可選的,如圖5所示,所述軟核陣列11中包括隨機存取存儲器RAM 110和先入先出隊列FIFO存儲器111;所述至少一個子任務(wù)包括所述至少一個子任務(wù)請求和所述至少一個子任務(wù)參數(shù)。
所述FIFO存儲器111,用于存儲所述至少一個子任務(wù)請求。
所述RAM 110,用于存儲所述至少一個子任務(wù)參數(shù)。
需要說明的是,軟核陣列的多個核間不通信,由共享RAM或通過FIFO實現(xiàn)數(shù)據(jù)交互。
特別的,CPU陣列10向軟核陣列11配置基本任務(wù)(第一任務(wù))。軟核陣列11將分成的至少一個子任務(wù)請求配到軟核陣列11的軟核各自的FIFO存儲器111中,將至少一個子任務(wù)參數(shù)配置到軟核共享的RAM 110中。
具體的,軟核陣列讀取FIFO存儲器111中的至少一個子任務(wù)請求,然后建立任務(wù)列表,該任務(wù)列表為包括至少一個子任務(wù)的任務(wù)列表。
可選的,上述任務(wù)列表中包括至少一個子任務(wù)各自的子任務(wù)標(biāo)識。具體的子任務(wù)標(biāo)識的形式及表現(xiàn)方式,本發(fā)明實施例不作限制。
可選的,如圖6所示,所述基帶芯片1還包括:直接內(nèi)存訪問DMA 14和存儲器15;所述DMA 14與所述硬件基本單元12連接,所述DMA 14通過所述總線13與所述軟核陣列11連接,所述存儲器15通過所述總線14分別與所述軟核陣列11和所述硬件基本單元12連接。
所述軟核陣列11,具體用于根據(jù)所述任務(wù)列表,發(fā)送與所述至少一個子任務(wù)對應(yīng)的搬移命令至所述DMA 14,所述搬移命令用于指示所述DMA 14發(fā)送所述至少一個子任務(wù)中的每個子任務(wù)至所述硬件基本單元12,以及指示在所述硬件基本單元12處理完所述每個子任務(wù)之后,所述DMA 14反饋中斷至所述軟核陣列11。
所述DMA 14,用于發(fā)送所述每個子任務(wù)至所述硬件基本單元12。
所述硬件基本單元12,具體用于分別執(zhí)行所述每個子任務(wù),并將所述每個 子任務(wù)結(jié)果存儲在存儲器15中。
所述DMA 14,還用于檢測所述硬件基本單元12對一個子任務(wù)的處理狀態(tài),以及所述處理狀態(tài)為完成時,發(fā)送所述中斷至所述軟核陣列11。
所述軟核陣列11,還用于響應(yīng)所述中斷,從所述存儲器15中獲取所述一個子任務(wù)的任務(wù)結(jié)果,并對所述一個子任務(wù)的任務(wù)結(jié)果進行附屬功能處理,并將附屬功能處理結(jié)果存儲至所述存儲器15。
所述DMA 14,還用于將所述存儲器15中的所述附屬功能處理結(jié)果上報,以進行符號級或比特級處理。
需要說明的是,DMA 14的功能就是被軟核陣列11調(diào)度,用來直接和硬件基本單元12交互,即搬移軟核陣列11要下發(fā)的任務(wù)參數(shù)和硬件基本單元12要上報的數(shù)據(jù)和參數(shù)。
具體的,DMA 14檢測硬件基本單元12對一個子任務(wù)的處理狀態(tài)的實現(xiàn)方式可以為:DMA 14檢測硬件基本單元12中的處理標(biāo)志位的值來判斷處理狀態(tài),例如,DMA 14檢測硬件基本單元12中的處理空信號,當(dāng)處理空信號為1時,表征一個子任務(wù)未完成;當(dāng)處理空信號為0時,表征一個子任務(wù)完成。
需要說明的是,DMA 14檢測硬件基本單元12對一個子任務(wù)的處理狀態(tài)的實現(xiàn)方式可以采用現(xiàn)有技術(shù)的多種方式來實現(xiàn),本發(fā)明實施例不作限制。
可選的,所述軟核陣列11,還用于所述CPU陣列10發(fā)送第一任務(wù)之后,發(fā)送與所述至少一個子任務(wù)對應(yīng)的搬移命令至所述DMA 14之前,檢測所述硬件基本單元12的緩存狀態(tài)。
所述軟核陣列11,還具體用于檢測到所述硬件基本單元12的緩存狀態(tài)為空閑時,發(fā)送與所述至少一個子任務(wù)對應(yīng)的搬移命令至所述DMA 14。
需要說明的是,本發(fā)明實施例中的硬件基本單元12是作為硬件資源池使用的,在硬件基本單元12的緩存有空閑的狀態(tài)下,軟核陣列11下發(fā)子任務(wù)給硬件基本單元12的。例如,軟核陣列11將第一任務(wù)分成了10個子任務(wù),而軟核陣列11檢測到硬件基本單元12的緩存狀態(tài)有空閑,可以支持2個子任務(wù)的實施,因此,軟核陣列11就通過DMA 14下發(fā)2子任務(wù)給硬件基本單元12先處 理,等到該硬件基本單元12的緩存再次為空閑時,再下發(fā)其他子任務(wù)。
具體的,軟核陣列11檢測硬件基本單元12的緩存狀態(tài)實現(xiàn)方式可以為:軟核陣列11檢測硬件基本單元12的緩存標(biāo)志位的值來判斷緩存狀態(tài),例如,軟核陣列檢測硬件基本單元12的非滿信號,當(dāng)非滿信號為1時,表征硬件基本單元12的緩存已滿;當(dāng)非滿信號為0時,表征硬件基本單元12的緩存未滿。
需要說明的是,軟核陣列11檢測硬件基本單元12的緩存狀態(tài)實現(xiàn)方式可以采用現(xiàn)有技術(shù)的多種方式來實現(xiàn),本發(fā)明實施例不作限制。
可以理解的是,針對碼分多址技術(shù)的無線接入設(shè)備中基帶處理碼片部分設(shè)計,本發(fā)明實施例設(shè)計了一種基于CPU陣列+軟核陣列(簡單處理器陣列)+硬件基本單元(硬核架構(gòu))的基帶芯片,以替代原有基于純硬核,純軟核,或者CPU陣列+硬核架構(gòu)的基帶芯片,因此,芯片的功耗和面積大幅降低,芯片設(shè)計難度和開發(fā)周期大幅降低。由于軟核陣列11可以并列下發(fā)子任務(wù)至硬件基本單元12,因此,流片成功率大幅提高,也便于為用戶提供快速定制開發(fā)項目,提供快速升級擴容。
進一步地,軟核陣列11下發(fā)子任務(wù)是的順序是按照任務(wù)列表進行的,當(dāng)軟核陣列11判斷出要下發(fā)子任務(wù)時,將按照任務(wù)列表的順序,將需要下發(fā)的子任務(wù)的標(biāo)識及搬移命令發(fā)送給DMA 14,該DMA 14就可以根據(jù)搬移命令,將子任務(wù)標(biāo)識對應(yīng)的子任務(wù)參數(shù)從RAM中讀取出來,并將子任務(wù)對應(yīng)的子任務(wù)請求和子任務(wù)參數(shù)打包發(fā)送給硬件基本單元12,以進行碼片處理。
進一步地,軟核陣列11下發(fā)子任務(wù)的過程可以是定時下發(fā)的,因此,當(dāng)軟核陣列11檢測到硬件基本單元12的緩存狀態(tài)為空閑,且到達下發(fā)周期時,軟核陣列11才下發(fā)搬移命令給DMA 14。
進一步地,CPU陣列10發(fā)送給軟核陣列11的第一任務(wù)可以是一個固定的任務(wù)包,這時,軟核陣列11只要將這個任務(wù)包中的任務(wù)處理完就結(jié)束任務(wù)。若是CPU陣列10發(fā)送的第一任務(wù)是一直不停的任務(wù),那么,軟核陣列11就是一直在進行CPU陣列10配置的任務(wù)。但是軟核陣列11執(zhí)行任務(wù)的方法都是上述的過程。
本發(fā)明實施例所提供的基帶芯片,該基帶芯片包括:CPU陣列、軟核陣列和硬件基本單元,該CPU陣列、該軟核陣列和該硬件基本單元通過總線連接;CPU陣列,用于向軟核陣列發(fā)送第一任務(wù),該第一任務(wù)為碼片處理任務(wù);軟核陣列,用于將第一任務(wù)發(fā)送至硬件基本單元;硬件基本單元,用于執(zhí)行第一任務(wù)。采用上述技術(shù)實現(xiàn)方案,即基帶芯片采用CPU陣列+軟核陣列+硬件基本單元的架構(gòu)實現(xiàn)碼片處理,由于只將碼片核心算法在一個硬件基本單元中實現(xiàn),并通過軟核陣列調(diào)度硬件基本單元實現(xiàn)碼片處理任務(wù),這樣設(shè)計的基帶芯片的設(shè)計難度低,就將基帶芯片的設(shè)計面積和功耗大大降低了,進而基帶芯片的開發(fā)周期就降低了。
實施例二
本發(fā)明實施例提供一種信號處理方法,如圖7所示,該方法可以包括:
S101、軟核陣列接收CPU陣列發(fā)送的第一任務(wù),該述第一任務(wù)為碼片處理任務(wù)。
需要說明的是,本發(fā)明實施例應(yīng)用的背景為:碼分多址技術(shù)的無線接入設(shè)備中基帶處理部分其中的碼片處理部分,主要使用基帶芯片來進行碼片處理,而本發(fā)明實施例提供的基帶芯片1采用CPU陣列+軟核陣列+硬件基本單元的架構(gòu)實現(xiàn)碼片處理。
可選的,本發(fā)明實施例中的軟核陣列是使用簡單處理器組成的firmware軟核陣列,具體的可以是arm的M系列處理器等簡單CPU陣列,能夠支持AXI、APB等常用總線,以便和上層CPU陣列以及下層硬件基本單元通信。
需要說明的是,本發(fā)明實施例中的第一任務(wù)指的是對基帶信號(天線信號)做碼片處理的任務(wù),第一任務(wù)中包括第一任務(wù)請求和第一任務(wù)參數(shù)(即基帶信號要做什么功能的碼片處理)。
在本發(fā)明實施例中,軟核陣列接收CPU陣列發(fā)送的第一任務(wù),該述第一任務(wù)為將基帶信號進行碼片處理的任務(wù)。
S102、軟核陣列將第一任務(wù)發(fā)送至硬件基本單元,以供硬件基本單元執(zhí)行該第一任務(wù)。
軟核陣列接收CPU陣列發(fā)送的第一任務(wù)之后,該軟核陣列將第一任務(wù)發(fā)送至硬件基本單元,以供硬件基本單元執(zhí)行該第一任務(wù),以便硬件基本單元進行碼片級的核心算法的處理。
進一步地,如圖3所示,所述硬件基本單元12包括:天線插值120、天線解擾121、天線解擴122、頻偏補償123等子模塊;或者,如圖4所示,所述硬件基本單元12包括:符號映射124、加擾125、加擴126、乘功率127等子模塊。
需要說明的是,本發(fā)明實施例中,將基帶芯片中支持碼片級的核心算法處理的硬件部分作為硬件基本單元使用。圖3所示的硬件基本單元12的結(jié)構(gòu)支持上行碼片級的核心算法處理,圖4所示的硬件基本單元12的結(jié)構(gòu)支持下行碼片級的核心算法處理。因此,本發(fā)明實施例提供的基帶芯片可以根據(jù)實際處理信號的類型決定使用硬件基本單元的結(jié)構(gòu)。
可以理解的是,本發(fā)明實施例中的硬件基本單元是將現(xiàn)有技術(shù)中的硬件架構(gòu)中的碼片核心算法部分經(jīng)過合并和整合構(gòu)成的,即將硬件基本單元作為硬件資源池使用。
示例性的,如圖1所示,現(xiàn)有的硬件架構(gòu)中,由n1-n5分別表示需要五個功能模塊需要使用A的套數(shù),C1-C5分別表示五個功能模塊除去A之外的附屬功能,其中,A就是碼片核心算法;本發(fā)明實施例中,將A作為硬件基本單元,采用軟核陣列調(diào)用的方法實現(xiàn)不同數(shù)量A的調(diào)度,完成碼片核心算法,再在軟核陣列中完成C1-C5的附屬功能的處理即可。
本發(fā)明實施例所提供的一種信息處理方法,軟核陣列接收CPU陣列發(fā)送的第一任務(wù),該第一任務(wù)為碼片處理任務(wù);軟核陣列將第一任務(wù)發(fā)送至硬件基本單元,以供該硬件基本單元執(zhí)行第一任務(wù)。采用上述技術(shù)實現(xiàn)方案,基帶芯片采用CPU陣列+軟核陣列+硬件基本單元的架構(gòu)實現(xiàn)碼片處理,由于只將碼片核心算法在一個硬件基本單元中實現(xiàn),并通過軟核陣列調(diào)度硬件基本單元實現(xiàn)碼片處理任務(wù),這樣設(shè)計的基帶芯片的設(shè)計難度低,就將基帶芯片的設(shè)計面積和功耗大大降低了,進而基帶芯片的開發(fā)周期就降低了。
實施例三
本發(fā)明實施例所提供的一種信號處理方法,如圖8所示,該方法可以包括:
S201、軟核陣列接收CPU陣列發(fā)送的第一任務(wù),該第一任務(wù)為碼片處理任務(wù)。
需要說明的是,本發(fā)明實施例應(yīng)用的背景為:碼分多址技術(shù)的無線接入設(shè)備中基帶處理部分其中的碼片處理部分,主要使用基帶芯片來進行碼片處理,而本發(fā)明實施例提供的基帶芯片采用CPU陣列+軟核陣列+硬件基本單元的架構(gòu)實現(xiàn)碼片處理。
可選的,本發(fā)明實施例中的軟核陣列是使用簡單處理器組成的firmware軟核陣列,具體的可以是arm的M系列處理器等簡單CPU陣列,能夠支持AXI、APB等常用總線,以便和上層CPU陣列以及下層硬件基本單元通信。
需要說明的是,本發(fā)明實施例中的第一任務(wù)指的是對基帶信號(天線信號)做碼片處理的任務(wù),第一任務(wù)中包括第一任務(wù)請求和第一任務(wù)參數(shù)(即基帶信號要做什么功能的碼片處理)。
在本發(fā)明實施例中,軟核陣列接收CPU陣列發(fā)送的第一任務(wù),該述第一任務(wù)為將基帶信號進行碼片處理的任務(wù)。
進一步地,CPU陣列發(fā)送給軟核陣列的第一任務(wù)可以是一個固定的任務(wù)包,這時,軟核陣列只要將這個任務(wù)包中的任務(wù)處理完就結(jié)束任務(wù)。若是CPU陣列發(fā)送的第一任務(wù)是一直不停的任務(wù),那么,軟核陣列就是一直在進行CPU陣列配置的任務(wù)。但是軟核陣列執(zhí)行任務(wù)的方法都是本發(fā)明實施例提供的信號處理的過程。
S202、軟核陣列將第一任務(wù)配置為至少一個子任務(wù),形成包括該至少一個子任務(wù)的任務(wù)列表。
軟核陣列接收CPU陣列發(fā)送的第一任務(wù)之后,該軟核陣列將第一任務(wù)配置為至少一個子任務(wù),并且形成了包括該至少一個子任務(wù)的任務(wù)列表。
特別的,CPU陣列向軟核陣列配置基本任務(wù)(第一任務(wù))。軟核陣列將分成的至少一個子任務(wù)請求配到軟核陣列的軟核各自的FIFO存儲器中,將至少 一個子任務(wù)參數(shù)配置到軟核共享的RAM中。
需要說明的是,本發(fā)明實施例中需要處理的基帶信號,即天線信號,可以是至少一段天線信號,因此,CPU陣列發(fā)送的是至少一段天線信號的碼片處理任務(wù);在軟核陣列中,軟核陣列將每一段天線信號的每一類功能的碼片處理任務(wù)分成一個子任務(wù),軟核陣列通過對硬件基本單元的調(diào)度完成至少一個天線信號對應(yīng)的至少一個子任務(wù)。
具體的,軟核陣列讀取FIFO存儲器中的至少一個子任務(wù)請求,然后建立任務(wù)列表,該任務(wù)列表為包括至少一個子任務(wù)的任務(wù)列表。
可選的,上述任務(wù)列表中包括至少一個子任務(wù)各自的子任務(wù)標(biāo)識。具體的子任務(wù)標(biāo)識的形式及表現(xiàn)方式,本發(fā)明實施例不作限制。
S203、軟核陣列根據(jù)任務(wù)列表,發(fā)送與該至少一個子任務(wù)對應(yīng)的搬移命令至DMA,以供該DMA發(fā)送每個子任務(wù)至硬件基本單元,及該硬件基本單元分別執(zhí)行該每個子任務(wù),并將該每個子任務(wù)結(jié)果存儲在存儲器中,該搬移命令用于指示該DMA發(fā)送該至少一個子任務(wù)中的每個子任務(wù)至該硬件基本單元,以及指示在該硬件基本單元處理完該每個子任務(wù)之后,該DMA反饋中斷。
軟核陣列將第一任務(wù)配置為至少一個子任務(wù),形成包括該至少一個子任務(wù)的任務(wù)列表之后,該軟核陣列根據(jù)任務(wù)列表,發(fā)送與該至少一個子任務(wù)對應(yīng)的搬移命令至DMA。
具體的,軟核陣列根據(jù)任務(wù)列表,發(fā)送與該至少一個子任務(wù)的標(biāo)識對應(yīng)的搬移命令至DMA。
需要說明的是,DMA發(fā)送每個子任務(wù)至硬件基本單元;硬件基本單元分別執(zhí)行每個子任務(wù),以便硬件基本單元進行碼片級的核心算法的處理,并將每個子任務(wù)結(jié)果存儲在存儲器中;DMA檢測硬件基本單元對一個子任務(wù)的處理狀態(tài),以及該處理狀態(tài)為完成時,發(fā)送中斷至軟核陣列。
進一步地,如圖3所示,所述硬件基本單元12包括:天線插值120、天線解擾121、天線解擴122、頻偏補償123等子模塊;或者,如圖4所示,所述硬件基本單元12包括:符號映射124、加擾125、加擴126、乘功率127等子模 塊。
需要說明的是,本發(fā)明實施例中,將基帶芯片中支持碼片級的核心算法處理的硬件部分作為硬件基本單元使用。圖3所示的硬件基本單元12的結(jié)構(gòu)支持上行碼片級的核心算法處理,圖4所示的硬件基本單元12的結(jié)構(gòu)支持下行碼片級的核心算法處理。因此,本發(fā)明實施例提供的基帶芯片可以根據(jù)實際處理信號的類型決定使用硬件基本單元的結(jié)構(gòu)。
可以理解的是,本發(fā)明實施例中的硬件基本單元是將現(xiàn)有技術(shù)中的硬件架構(gòu)中的碼片核心算法部分經(jīng)過合并和整合構(gòu)成的,即將硬件基本單元作為硬件資源池使用。
示例性的,如圖1所示,現(xiàn)有的硬件架構(gòu)中,由n1-n5分別表示需要五個功能模塊需要使用A的套數(shù),C1-C5分別表示五個功能模塊除去A之外的附屬功能,其中,A就是碼片核心算法;本發(fā)明實施例中,將A作為硬件基本單元,采用軟核陣列調(diào)用的方法實現(xiàn)不同數(shù)量A的調(diào)度,完成碼片核心算法,再在軟核陣列中完成C1-C5的附屬功能的處理即可。
S204、DMA檢測硬件基本單元的對一個子任務(wù)的處理狀態(tài),以及該處理狀態(tài)為完成時,軟核陣列接收該DMA發(fā)送的中斷。
軟核陣列根據(jù)任務(wù)列表,發(fā)送與該至少一個子任務(wù)對應(yīng)的搬移命令至DMA之后,DMA檢測硬件基本單元的對一個子任務(wù)的處理狀態(tài),以及該處理狀態(tài)為完成時,該軟核陣列接收該DMA發(fā)送的中斷。
需要說明的是,DMA的功能就是被軟核陣列調(diào)度,用來直接和硬件基本單元交互,即搬移軟核陣列要下發(fā)的任務(wù)參數(shù)和硬件基本單元要上報的數(shù)據(jù)和參數(shù)。
具體的,DMA檢測硬件基本單元對一個子任務(wù)的處理狀態(tài)的實現(xiàn)方式可以為:DMA檢測硬件基本單元中的處理標(biāo)志位的值來判斷處理狀態(tài),例如,DMA檢測硬件基本單元中的處理空信號,當(dāng)處理空信號為1時,表征一個子任務(wù)未完成;當(dāng)處理空信號為0時,表征一個子任務(wù)完成。
需要說明的是,DMA檢測硬件基本單元對一個子任務(wù)的處理狀態(tài)的實現(xiàn)方 式可以采用現(xiàn)有技術(shù)的多種方式來實現(xiàn),本發(fā)明實施例不作限制。
S205、軟核陣列響應(yīng)中斷,從存儲器中獲取一個子任務(wù)的任務(wù)結(jié)果,并對一個子任務(wù)的任務(wù)結(jié)果進行附屬功能處理,并將附屬功能處理結(jié)果存儲至存儲器,以供DMA將該存儲器中的附屬功能處理結(jié)果上報,以進行符號級或比特級處理。
軟核陣列接收該DMA發(fā)送的中斷之后,由于通過硬件基本單元完成了一個子任務(wù)的碼片核心算法,但是一個子任務(wù)的附屬功能還沒有處理,因此,軟核陣列響應(yīng)中斷,從存儲器中獲取一個子任務(wù)的任務(wù)結(jié)果,并對一個子任務(wù)的任務(wù)結(jié)果進行附屬功能處理,并將附屬功能處理結(jié)果存儲至存儲器,以供DMA將該存儲器中的附屬功能處理結(jié)果上報,以進行符號級或比特級處理。
進一步地,本發(fā)明實施例所提供的一種信號處理方法,如圖9所示,S202之后,S203之前,該方法還可以包括:S206。具體包括:
S206、軟核陣列檢測硬件基本單元的緩存狀態(tài)。
軟核陣列將第一任務(wù)配置為至少一個子任務(wù),形成包括該至少一個子任務(wù)的任務(wù)列表之后,由于在硬件基本單元的緩存有空閑時,該軟核陣列才能下發(fā)子任務(wù),因此,該軟核陣列先檢測硬件基本單元的緩存狀態(tài)。
需要說明的是,本發(fā)明實施例中的硬件基本單元是作為硬件資源池使用的,在硬件基本單元的緩存有空閑的狀態(tài)下,軟核陣列下發(fā)子任務(wù)給硬件基本單元的。例如,軟核陣列將第一任務(wù)分成了10個子任務(wù),而軟核陣列檢測到硬件基本單元的緩存狀態(tài)有空閑,可以支持2個子任務(wù)的實施,因此,軟核陣列就通過DMA下發(fā)2子任務(wù)給硬件基本單元先處理,等到該硬件基本單元的緩存再次為空閑時,再下發(fā)其他子任務(wù)。
具體的,軟核陣列檢測硬件基本單元的緩存狀態(tài)實現(xiàn)方式可以為:軟核陣列檢測硬件基本單元的緩存標(biāo)志位的值來判斷緩存狀態(tài),例如,軟核陣列檢測硬件基本單元的非滿信號,當(dāng)非滿信號為1時,表征硬件基本單元的緩存已滿;當(dāng)非滿信號為0時,表征硬件基本單元的緩存未滿。
需要說明的是,軟核陣列檢測硬件基本單元的緩存狀態(tài)實現(xiàn)方式可以采用 現(xiàn)有技術(shù)的多種方式來實現(xiàn),本發(fā)明實施例不作限制。
可以理解的是,針對碼分多址技術(shù)的無線接入設(shè)備中基帶處理碼片部分設(shè)計,本發(fā)明實施例設(shè)計了一種基于CPU陣列+軟核陣列(簡單處理器陣列)+硬件基本單元(硬核架構(gòu))的基帶芯片,以替代原有基于純硬核,純軟核,或者CPU陣列+硬核架構(gòu)的基帶芯片,因此,芯片的功耗和面積大幅降低,芯片設(shè)計難度和開發(fā)周期大幅降低。由于軟核陣列可以并列下發(fā)子任務(wù)至硬件基本單元,因此,流片成功率大幅提高,也便于為用戶提供快速定制開發(fā)項目,提供快速升級擴容。
進一步地,軟核陣列下發(fā)子任務(wù)是的順序是按照任務(wù)列表進行的,當(dāng)軟核陣列判斷出要下發(fā)子任務(wù)時,將按照任務(wù)列表的順序,將需要下發(fā)的子任務(wù)的標(biāo)識及搬移命令發(fā)送給DMA,該DMA就可以根據(jù)搬移命令,將子任務(wù)標(biāo)識對應(yīng)的子任務(wù)參數(shù)從RAM中讀取出來,并將子任務(wù)對應(yīng)的子任務(wù)請求和子任務(wù)參數(shù)打包發(fā)送給硬件基本單元,以進行碼片處理。
進一步地,軟核陣列下發(fā)子任務(wù)的過程可以是定時下發(fā)的,因此,當(dāng)軟核陣列檢測到硬件基本單元的緩存狀態(tài)為空閑,且到達下發(fā)周期時,軟核陣列才下發(fā)搬移命令給DMA。
具體的,S206之后,S203可以具體如下:
S203、軟核陣列檢測到硬件基本單元的緩存狀態(tài)為空閑時,發(fā)送與至少一個子任務(wù)對應(yīng)的搬移命令至DMA。
軟核陣列檢測硬件基本單元的緩存狀態(tài)之后,該軟核陣列檢測到硬件基本單元的緩存狀態(tài)為空閑時,該軟核陣列發(fā)送與至少一個子任務(wù)對應(yīng)的搬移命令至DMA。
本發(fā)明實施例所提供的一種信息處理方法,軟核陣列接收CPU陣列發(fā)送的第一任務(wù),該第一任務(wù)為碼片處理任務(wù);軟核陣列將第一任務(wù)發(fā)送至硬件基本單元,以供該硬件基本單元執(zhí)行第一任務(wù)。采用上述技術(shù)實現(xiàn)方案,基帶芯片采用CPU陣列+軟核陣列+硬件基本單元的架構(gòu)實現(xiàn)碼片處理,由于只將碼片核心算法在一個硬件基本單元中實現(xiàn),并通過軟核陣列調(diào)度硬件基本單元實現(xiàn)碼 片處理任務(wù),這樣設(shè)計的基帶芯片的設(shè)計難度低,就將基帶芯片的設(shè)計面積和功耗大大降低了,進而基帶芯片的開發(fā)周期就降低了。
本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本發(fā)明可采用硬件實施例、軟件實施例、或結(jié)合軟件和硬件方面的實施例的形式。而且,本發(fā)明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(zhì)(包括但不限于磁盤存儲器和光學(xué)存儲器等)上實施的計算機程序產(chǎn)品的形式。
本發(fā)明是參照根據(jù)本發(fā)明實施例的方法、設(shè)備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應(yīng)理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導(dǎo)計算機或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計算機或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設(shè)備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
以上所述,僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。