本文摘要:摘要:軟件無線電就是應(yīng)用軟件實(shí)現(xiàn)無線電的功能,即在處理器能力允許的范圍內(nèi),由軟件完成信號(hào)的編解碼、調(diào)制解調(diào)、擴(kuò)頻解擴(kuò)等功能。這項(xiàng)技術(shù)允許在通用的通信硬件平臺(tái)上加載不同的通信軟件,實(shí)現(xiàn)不同設(shè)備的互通與兼容。本文中軟件無線電的基帶處理芯片采用
摘要:軟件無線電就是“應(yīng)用軟件實(shí)現(xiàn)無線電的功能”,即在處理器能力允許的范圍內(nèi),由軟件完成信號(hào)的編解碼、調(diào)制解調(diào)、擴(kuò)頻解擴(kuò)等功能。這項(xiàng)技術(shù)允許在通用的通信硬件平臺(tái)上加載不同的通信軟件,實(shí)現(xiàn)不同設(shè)備的互通與兼容。本文中軟件無線電的基帶處理芯片采用了DSP+ARM的雙核心結(jié)構(gòu),其中DSP負(fù)責(zé)實(shí)時(shí)信號(hào)處理,ARM負(fù)責(zé)控制功能及高層協(xié)議下的數(shù)據(jù)交互。基帶處理芯片可支持軍用和民用的多種模式,能夠滿足多種通信的需求。
關(guān)鍵詞:軟件無線電;基帶SoC;雙核心
引言傳統(tǒng)軟件無線電平臺(tái)普遍采用兩種方案。第一種方案是FPGA方案,即采用高速通用處理器、數(shù)字信號(hào)處理器和現(xiàn)場(chǎng)可編程門陣列(FPGA)等可編程器件為主構(gòu)成的一個(gè)硬件平臺(tái)。這類平臺(tái)具有體積大、功耗高、成本貴等問題,不利于大量裝備和普及。第二種是ASIC方案,即通過控制ASIC完成一些數(shù)字信號(hào)與比特流處理。ASIC方案中,ASIC的工作能力是由開發(fā)者定義的,將ASIC設(shè)計(jì)成參數(shù)可控的工作方式。
但是ASIC一旦設(shè)計(jì)完成,投入生產(chǎn)后不可改變,同時(shí)ASIC的結(jié)構(gòu)與功能的復(fù)雜程度的加大將導(dǎo)致成本不斷提高。上述兩種方案各有優(yōu)缺點(diǎn),在這里考慮到DSP的通用性、靈活性和易開發(fā)等特點(diǎn),以及ARM的超強(qiáng)控制邏輯,設(shè)計(jì)了基于ARM+DSP的雙核心架構(gòu)基帶芯片,使單芯片能夠滿足多種通信模式的需求。
1基帶SoC設(shè)計(jì)
ARM內(nèi)核具有良好的控制能力,在嵌入式系統(tǒng)中主要用來進(jìn)行控制工作。作為主控CPU,首先要具有較低的功耗,主頻要高,這樣才能流暢地運(yùn)行上層應(yīng)用;另外,接口的種類也要多,從而可以使性能更好地進(jìn)行數(shù)據(jù)交互;谝陨蟽牲c(diǎn),硬件平臺(tái)中選擇了ARM1136JF作為SoC的主控核。ARM11的外設(shè)有視頻VGA接口、音頻IIS接口、串口、SPI接口、IIC接口、MPMC接口等,可外接NORFLASH、NANDFLASH、SPIFLASH、SD卡等存儲(chǔ)芯片和一些其他滿足通用接口的從機(jī)芯片。ARM1136JF處理性能約為1.2DMIPS,功耗可低至0.21mW/MHz。通過AHB和APB組成的64/32bit內(nèi)部總線和外部模塊相連。ARM11處理器的超強(qiáng)性能是由一系列的架構(gòu)特點(diǎn)所決定的。
總的來說,ARMv6架構(gòu)通過以下4點(diǎn)來增強(qiáng)處理器的性能:(1)多媒體處理擴(kuò)展,使MPEG4編碼/解碼加快一倍,音頻處理加快一倍;(2)增強(qiáng)的Cache結(jié)構(gòu),如實(shí)地址Cache,減少Cache的刷新和重載,減少上下文切換的開銷;(3)增強(qiáng)的異常和中斷處理,使實(shí)時(shí)任務(wù)的處理更加迅速;(4)支持Unaligned和Mixed-endian數(shù)據(jù)訪問,使數(shù)據(jù)共享、軟件移植更簡(jiǎn)單,也有利于節(jié)省存儲(chǔ)器空間。ARM11處理器是為了有效的提供高性能處理能力而設(shè)計(jì)的。
在這里需要強(qiáng)調(diào)的是,ARM并不是不能設(shè)計(jì)出運(yùn)行在更高頻率的處理器,而是,在處理器能提供超高性能的同時(shí),還要保證功耗、面積的有效性。ARM11優(yōu)秀的流水線設(shè)計(jì)是這些功能的重要保證。ARM11處理器的流水線和以前的ARM內(nèi)核不同,它由8級(jí)流水線組成,比以前的ARM內(nèi)核提高了至少40%的吞吐量。8級(jí)流水線可以使8條指令同時(shí)被執(zhí)行。從通常的角度說,過長(zhǎng)的流水線往往會(huì)削弱指令的執(zhí)行效率。
一方面,如果隨后的指令需要用到前面指令的執(zhí)行結(jié)果作為輸入,它就需要等到前面指令執(zhí)行完。ARM11處理器通過forwarding來避免這種流水線中的數(shù)據(jù)沖突,它可以讓指令執(zhí)行的結(jié)果快速進(jìn)入到后面指令的流水線中。另一方面,如果指令執(zhí)行的正常順序被打斷(如出現(xiàn)跳轉(zhuǎn)指令),普通流水線處理器往往要付出更大的代價(jià),ARM11通過實(shí)現(xiàn)跳轉(zhuǎn)預(yù)測(cè)技術(shù)來保持最佳的流水線效率。這些特殊技術(shù)的使用,使ARM11處理器優(yōu)化到更高的流水線吞吐量的同時(shí),還能保持和5級(jí)流水線(如ARM9處理器中的流水結(jié)構(gòu))一樣的有效性。
DSP主要進(jìn)行數(shù)據(jù)運(yùn)算,完成基帶數(shù)字信號(hào)的實(shí)時(shí)處理。硬件平臺(tái)中選擇了DSP540作為數(shù)據(jù)信號(hào)處理器,DSP540具有4個(gè)乘法器和6個(gè)加法器,每個(gè)時(shí)鐘周期最多可執(zhí)行4條指令,是一款低功耗高性能的16位定點(diǎn)DSP。DSP540使用先進(jìn)的軟件開發(fā)工具鏈、SoC設(shè)計(jì)工具和一整套的立即可用的軟件來開發(fā)音頻處理、音/視頻多媒體應(yīng)用和其他更多場(chǎng)合的應(yīng)用,并配備Z.Turbo加速器,允許SoC設(shè)計(jì)工程師通過指令集擴(kuò)展或者協(xié)處理器實(shí)現(xiàn)加速處理器的性能。尤其是該核以雙MAC核的系統(tǒng)成本實(shí)現(xiàn)了4MAC的功能、低能耗和同級(jí)最優(yōu)的代碼密度,這一優(yōu)勢(shì)使DSP540成為帶多媒體應(yīng)用的頻帶處理的極佳DSP。
1)時(shí)鐘設(shè)計(jì)全部采用單一同步時(shí)鐘系統(tǒng),外部2Bit輸入靜態(tài)時(shí)鐘切換信號(hào),分別為zsp_clk_ena和ARM_clk_ena。ARM_clk_ena時(shí),ARM11可以獲得時(shí)鐘,正常工作。當(dāng)zsp_clk_ena為1時(shí),無論內(nèi)部zsp時(shí)鐘控制管腳為何邏輯,DSP540都可以獲得時(shí)鐘,正常工作;當(dāng)zsp_clk_ena為0時(shí),DSP540受內(nèi)部時(shí)鐘控制,這個(gè)管腳下拉,所以不能獲得時(shí)鐘。這樣就可以使得ARM可以控制DSP540時(shí)鐘開關(guān)。
2)程序空間設(shè)計(jì)在雙核設(shè)計(jì)中,一共有4塊ram區(qū)供雙核運(yùn)行程序,分別是Iram、Dram、Sram、Share_ram。其中,Iram和Dram是zsp使用的區(qū)域,分別放置DSP540的程序的代碼段和數(shù)據(jù)段,大小均為128KB,滿足調(diào)制程序設(shè)計(jì)大小,可由ARM11向其中寫入相應(yīng)程序。Sram區(qū)供ARM11執(zhí)行程序內(nèi)存區(qū),大小為256KB。還有一個(gè)Share_ram是雙核共用,均可訪問數(shù)據(jù)和執(zhí)行程序,大小為256KB,用于對(duì)內(nèi)存區(qū)的補(bǔ)充,這個(gè)區(qū)域最重要的目的還是實(shí)現(xiàn)雙核之間信息交互。
3)雙核交互設(shè)計(jì)雙核為SMP結(jié)構(gòu),ARM11作為主控核負(fù)責(zé)控制DSP540和數(shù)據(jù)交互。ARM11的SFR寄存器區(qū)有兩個(gè)寄存器sys_ctl和svc_ctl。通過配置sys_ctl,可以實(shí)現(xiàn)對(duì)DSP540的復(fù)位、開關(guān)以及模式轉(zhuǎn)換;通過配置svt_ctl可以實(shí)現(xiàn)DSP540復(fù)位之后的程序入口,在相應(yīng)區(qū)域下載程序,在Share_ram中放置數(shù)據(jù),可以實(shí)現(xiàn)DSP540啟動(dòng)之后直接運(yùn)行相應(yīng)程序,處理相應(yīng)數(shù)據(jù)。DSP540也可以將處理之后的數(shù)據(jù)放置在Share_ram中,然后向ARM11發(fā)出中斷,讓ARM11接收數(shù)據(jù),實(shí)現(xiàn)了雙核數(shù)據(jù)的雙向交互。芯 片上電之后從Norflash中自舉,初始化ARM,搬移DSP程序到指定區(qū)域,然后開啟DSP時(shí)鐘,復(fù)位DSP,ARM上執(zhí)行操作系統(tǒng)或者其他管理軟件,從DSP指定輸出位置讀取碼流,然后再進(jìn)行相應(yīng)處理。
4)中斷設(shè)計(jì)DSP540核中自帶中斷模塊,包括兩個(gè)定時(shí)器、外部中斷等,可以通過程序配置。ARM11外掛INTC中斷模塊,有16個(gè)中斷源,包括各個(gè)外設(shè)的中斷,也可以接受DSP540發(fā)來的中斷,進(jìn)行數(shù)據(jù)接收。INTC作為標(biāo)準(zhǔn)AHB從機(jī)連接到CPU(ARM1136JF-S),F(xiàn)IQ和IRQ信號(hào)連接到CPU的FIQ和IRQ輸入。外圍設(shè)備的中斷請(qǐng)求線連接到INTC模塊的INTSRCx輸入。為了確保最高向量地址寄存器(HVA)能用單獨(dú)指令讀取,INTC位于存儲(chǔ)器上4K空間0xff00_0000。
2工作原理
1)信號(hào)處理模塊DSP540是構(gòu)成軟件無線電系統(tǒng)硬件平臺(tái)的主要器件,其高性能與低功耗使其成為各種無線和有線通信系統(tǒng)的理想器件;贒SP540芯片仿真實(shí)現(xiàn)軟件無線可以隨時(shí)增加新的信號(hào)處理方式而無須改變系統(tǒng)的硬件結(jié)構(gòu)。只要將新的設(shè)計(jì)重新下載到數(shù)字信號(hào)處理器件里即可,這一項(xiàng)工作可直接放在ARM主控程序中完成。DSP上電之前,ARM已經(jīng)將調(diào)試好之后的程序搬移到DSP540的Iram和Dram,然后將DSP540的程序指針指向Iram區(qū)。DSP540在收到時(shí)鐘開啟、復(fù)位信號(hào)之后,開始執(zhí)行程序,程序就是實(shí)現(xiàn)特定通信功能的函數(shù),數(shù)據(jù)處理結(jié)束后,DSP540將處理后的數(shù)據(jù)流放入Share_ram中。Share_ram雙核信息交互的重要區(qū)域。
2)控制模塊在控制模塊中,主體是ARM處理器。ARM處理器提供了一套基本的控制邏輯,用軟件來控制信號(hào)處理模式的轉(zhuǎn)化,使用者可以采用這種缺省的控制邏輯,也可以根據(jù)實(shí)際情況重新編寫控制軟件,這樣就使系統(tǒng)的控制變得十分靈活。
ARM核上可運(yùn)行操作系統(tǒng)、高層協(xié)議或者GUI等,也可只運(yùn)行定制的專用通信程序。音頻處理部分由ARM軟解碼或者ARM內(nèi)自帶解碼器完成。數(shù)字調(diào)制解調(diào)在軟件無線電基帶中的實(shí)現(xiàn)驗(yàn)證了用DSP+ARM作為軟件無線電數(shù)字信號(hào)處理芯片架構(gòu)的可行性。利用DSP以及ARM的可編程性,可以在系統(tǒng)中實(shí)現(xiàn)各種通信模式的算法,充分體現(xiàn)了軟件無線電的靈活性。
3)基帶模塊基帶模塊是完成基帶信號(hào)的編解碼,完成業(yè)務(wù)信息和控制信息的信道編碼、解密等,其中信道編碼包括卷積碼、奇偶碼、交織碼等。
3平臺(tái)使用
芯片的架構(gòu)是ARM11+DSP雙核心。DSP540使用先進(jìn)的Zview開發(fā)套件。Zview是基于eclipse內(nèi)核開發(fā)的軟件工具,它由集成開發(fā)環(huán)境、編譯器、匯編器、優(yōu)化器、鏈接器、調(diào)試器、模擬器、和性能分析工具組成,使用方便,可實(shí)現(xiàn)DSP540代碼的高效編譯、靈活連接、在線調(diào)試等。按照信號(hào)的調(diào)制解調(diào)方式,編寫完成c代碼之后,可以通過debug窗口進(jìn)行調(diào)試,調(diào)試過程支持單指令、單步、斷點(diǎn)、全速、結(jié)束等操作。
程序調(diào)試結(jié)束之后,通過Zview自帶工具,使用命令將執(zhí)行文件轉(zhuǎn)化為二進(jìn)制文件,交付給ARM11搬移,實(shí)現(xiàn)ARM11對(duì)DSP540程序的控制。ARM11使用ARMRealview開發(fā)套件。ARMRealview是ARM公司將Realview與eclipse結(jié)合,經(jīng)過16年的研究推出的ARM開發(fā)套件,可以為ARM架構(gòu)提供最優(yōu)異的支持。ARMRealview包含優(yōu)化的標(biāo)準(zhǔn)C/C++編譯器、鏈接器、匯編器、調(diào)試器、映像轉(zhuǎn)換工具等等,可以實(shí)現(xiàn)C語言的高效編譯、靈活鏈接和在線調(diào)試等。
對(duì)于ARM程序的調(diào)試,可以使用Trace32仿真器和調(diào)試軟件。Trace32是由德國lauterbach公司研制開發(fā)的一款仿真測(cè)試工具。作為一種真正集成化、通用性系統(tǒng)仿真器可以組成多種方案,可以支持網(wǎng)絡(luò)方案、實(shí)驗(yàn)室單機(jī)方案、異地光纖方案等,它具有全模塊化、積木式結(jié)構(gòu)、可支持Jtag接口和所有cpu,能夠?qū)崿F(xiàn)全雙口仿真內(nèi)存、實(shí)時(shí)內(nèi)存查看、代碼覆蓋、16M的追蹤緩存用于實(shí)時(shí)跟蹤和觸發(fā)、批處理語言(自動(dòng)調(diào)試)等高級(jí)調(diào)試方法。
軟件開發(fā)論文: 計(jì)算機(jī)軟件開發(fā)中JAVA編程語言的應(yīng)用
4結(jié)語
本文探討了一種基于ARM+DSP非對(duì)稱雙核架構(gòu)的軟件無線電基帶SoC芯片的設(shè)計(jì)方案,這種基帶芯片實(shí)現(xiàn)了傳統(tǒng)方案的小型化,使得單一芯片可以滿足多種通信模式的需求,縮短了軟件無線電的開發(fā)周期,對(duì)軟件無線電的整體方案設(shè)計(jì)具有一定的參考價(jià)值,應(yīng)用前景非常廣闊。
參考文獻(xiàn):
[1]吳啟暉.軟件無線電在第三代移動(dòng)通信系統(tǒng)中的應(yīng)用與新進(jìn)展[J].電信科學(xué),2000,(7)
[2]Srikanteswara.SoftRadioImplementationsfor3GandFutureHighDataRateSystems.lobalTelecommunicationsConference,2001,Vol.6
[3]馬忠梅.ARM嵌入式處理器結(jié)構(gòu)與應(yīng)用基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2007
[4]田澤.嵌入式系統(tǒng)開發(fā)與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2010
[5]李駒光.ARM應(yīng)用系統(tǒng)開發(fā)詳解:基于S3C4510B的系統(tǒng)設(shè)計(jì)[M].北京:清華大學(xué)出版社,2003.12
[6]SteveFurber.ARMSoC體系結(jié)構(gòu)[M].田澤,等譯.北京:北京航空航天大學(xué)出版社,2002.10
[7]魏忠.嵌入式系統(tǒng)開發(fā)詳解[M].北京:電子工業(yè)出版社,2003.1
作者:李曉雄,杜獻(xiàn)娜,張宏科,張勇
轉(zhuǎn)載請(qǐng)注明來自發(fā)表學(xué)術(shù)論文網(wǎng):http:///jjlw/28035.html