亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基帶芯片物理層控制方案的設(shè)計(jì)

        2014-03-05 11:21:03田飛楊虹
        現(xiàn)代電子技術(shù) 2014年3期
        關(guān)鍵詞:調(diào)度

        田飛+楊虹

        摘 要: 對(duì)多核基帶芯片物理層控制方案進(jìn)行了簡(jiǎn)單的討論,提出了一種用于GSM移動(dòng)終端基帶芯片物理層控制(L1C)的方案,根據(jù)GSM的幀結(jié)構(gòu)設(shè)計(jì)了基時(shí)鐘電路,并以物理層信號(hào)處理流程為依據(jù),建立了物理層上下行的調(diào)度時(shí)序,初步完成了基帶芯片SoC系統(tǒng)多核之間的任務(wù)調(diào)度和時(shí)序控制。

        關(guān)鍵詞: GSM; 物理層控制; SoC; 調(diào)度

        中圖分類(lèi)號(hào): TN914.3?34 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)03?0148?03

        Design of physical layer controller of scheme baseband chip

        TIAN Fei, YANG Hong

        (Chongqing University of Posts and Telecommunications, Chongqing 400065, China)

        Abstract: The physical layer controller (L1C) scheme of the multi?cores baseband chip is simply discussed, and a physical layer control scheme for GSM MT baseband chip is proposed. According to the frame structure of GSM, a clock?based circuit is designed. The scheduling sequence for physical layer up and down is established based on the signal treatment process, the task scheduling and timing control among multi?cores in baseband chip SoC are completed initially.

        Keywords: GSM; physical layer control; SoC; scheduling

        0 引 言

        當(dāng)前的移動(dòng)電話(huà)以基帶處理器為核心,其主要完成協(xié)議處理、人機(jī)接口和簡(jiǎn)單的應(yīng)用功能。GSM是當(dāng)今世界上應(yīng)用最廣泛的無(wú)線通信協(xié)議,因龐大的用戶(hù)群和網(wǎng)絡(luò)投入,GSM網(wǎng)絡(luò)在未來(lái)很長(zhǎng)時(shí)間內(nèi)仍將存在。基帶芯片的實(shí)現(xiàn)也有很多種方案,現(xiàn)今,大多基帶芯片均采用多核集成的設(shè)計(jì)架構(gòu),從系統(tǒng)結(jié)構(gòu)劃分來(lái)看,基帶處理器可以分為以下幾個(gè)子系統(tǒng):CPU子系統(tǒng)、語(yǔ)音編解碼子系統(tǒng)、DSP信道編解碼子系統(tǒng)、片上總線及外設(shè)子系統(tǒng),CPU子系統(tǒng)一般完成對(duì)整個(gè)移動(dòng)臺(tái)的控制和管理,包括定時(shí)控制,數(shù)字系統(tǒng)控制,射頻控制,人機(jī)接口控制。因此,物理層控制軟件的設(shè)計(jì)是必不可少,對(duì)于不同的系統(tǒng)架構(gòu)、不同的物理層協(xié)議而言,控制方案和性能又會(huì)有本質(zhì)的不同,因此,對(duì)于物理層控制方案的研究尤為重要。

        1 設(shè)計(jì)依據(jù)

        1.1 通用芯片架構(gòu)

        本文用到的是一款通用架構(gòu)的基帶芯片[1],如圖1所示,上下行分別采用一塊DSP,來(lái)完成物理層信號(hào)處理,由于下行鏈路任務(wù)及算法的復(fù)雜度高于上行,額外加一塊硬件協(xié)處理器,CPU子系統(tǒng)采用一塊開(kāi)源的RISC處理器,協(xié)議棧軟件運(yùn)行在一塊ARM7處理器上,物理層與協(xié)議棧之間用一塊雙端口SRAM連接。

        圖1 基帶芯片架構(gòu)圖

        1.2 物理層幀結(jié)構(gòu)

        GSM系統(tǒng)采用TDD模式,其幀結(jié)構(gòu)如下:以TDMA 幀為單位,一個(gè)復(fù)幀(分為26幀復(fù)幀和52 幀復(fù)幀)等于26 幀復(fù)幀或52 幀復(fù)幀,一個(gè)超幀等于1 326 TDMA幀,一個(gè)超高幀等于2 048 超幀(2 715 648 個(gè)TDMA 幀),而每個(gè)TDMA 幀分為8個(gè)時(shí)隙,每個(gè)時(shí)隙持續(xù)0.577 ms,一個(gè)時(shí)隙等于156.25 b。對(duì)物理層的信號(hào)處理過(guò)程的控制,都是以基時(shí)鐘提供的幀號(hào)、時(shí)隙號(hào)來(lái)實(shí)現(xiàn)各部分的同步執(zhí)行。

        1.3 基帶數(shù)據(jù)流

        下面以一個(gè)全速率語(yǔ)音信道為例[2],劃分基帶的數(shù)據(jù)處理流程并將任務(wù)映射到具體的處理器中,如圖2所示。

        圖2 語(yǔ)音信道處理過(guò)程

        2 控制策略

        2.1 靜態(tài)和動(dòng)態(tài)調(diào)度

        控制方案對(duì)物理層任務(wù)的調(diào)度類(lèi)似于實(shí)時(shí)操作系統(tǒng)中的任務(wù)調(diào)度,可分為靜態(tài)調(diào)度和動(dòng)態(tài)調(diào)度。動(dòng)態(tài)任務(wù)調(diào)度即依賴(lài)于任務(wù)的優(yōu)先級(jí)來(lái)進(jìn)行動(dòng)態(tài)分配,可以采用搶占式或非搶占式。靜態(tài)調(diào)度的目標(biāo)是把任務(wù)分配到各個(gè)硬件處理器,并對(duì)每個(gè)處理器給出所要運(yùn)行的任務(wù)的靜態(tài)時(shí)序,其調(diào)度算法實(shí)現(xiàn)簡(jiǎn)單,且額外開(kāi)銷(xiāo)少。由于移動(dòng)通信基帶芯片的處理時(shí)序是基于物理層協(xié)議,時(shí)序可控并且突發(fā)任務(wù)少,可以預(yù)先完成時(shí)序劃分及任務(wù)映射,因此本文的方案設(shè)計(jì)采用靜態(tài)任務(wù)調(diào)度,將任務(wù)直接映射到特定處理器單元,并且劃分資源存儲(chǔ)空間,沒(méi)有并行度的任務(wù)盡可能地映射到相同的處理器單元。

        2.2 集中式控制和主從式控制

        物理層控制模塊依靠任務(wù)狀態(tài)轉(zhuǎn)換進(jìn)行物理層模塊的控制,可根據(jù)系統(tǒng)各個(gè)處理單元中任務(wù)數(shù)、復(fù)雜度、及處理時(shí)延作為考量,來(lái)判斷采用集中式控制或者主從式控制。

        主從式控制方案,主控制系統(tǒng)負(fù)責(zé)整個(gè)基帶處理芯片的調(diào)度,包括接收高層命令、進(jìn)行內(nèi)部控制邏輯的處理、傳遞控制命令到輔控制系統(tǒng);輔控制系統(tǒng)負(fù)責(zé)單個(gè)處理器單元的任務(wù)控制,包括接收主控系統(tǒng)的命令、讀取配置參數(shù)、進(jìn)行相關(guān)的邏輯計(jì)算、調(diào)用子任務(wù)的執(zhí)行入口。主控系統(tǒng)和輔控系統(tǒng)之間以及輔控系統(tǒng)和輔控系統(tǒng)之間通過(guò)任務(wù)接口進(jìn)行交互,任務(wù)接口包括軟件接口和硬件接口,軟件接口指數(shù)據(jù)消息接口,硬件接口指信號(hào)端口。

        集中式控制,即整個(gè)基帶的所有控制任務(wù)全部交給RISC處理器進(jìn)行(相當(dāng)于一個(gè)操作系統(tǒng)),DSP不再單獨(dú)維護(hù)自身的任務(wù)隊(duì)列,而且多個(gè)DSP之間不再有任務(wù)交互接口,只保留數(shù)據(jù)的傳輸,RISC對(duì)所有的外設(shè)中斷進(jìn)行優(yōu)先級(jí)劃分并響應(yīng),綜合考慮本文所描述的控制方案采用集中式控制,這樣大大減輕了各DSP處理器的消耗。

        3 控制方案

        移動(dòng)終端大多時(shí)候處于IDLE模式下,并且可處于非連續(xù)接收(DRX)狀態(tài),只需要對(duì)系統(tǒng)廣播信道BCCH及特定的尋呼組PCH進(jìn)行監(jiān)聽(tīng),因此可在特定的時(shí)間段內(nèi)關(guān)斷系統(tǒng)的高速時(shí)鐘,降低系統(tǒng)功耗。

        3.1 基時(shí)鐘設(shè)計(jì)

        本文所述SOC芯片中,單獨(dú)設(shè)計(jì)了基時(shí)鐘單元,如圖3所示,主要由系統(tǒng)參考時(shí)鐘REF timer,上行發(fā)送時(shí)鐘TX timer,下行接收時(shí)鐘RX timer,幀中斷產(chǎn)生單元以及時(shí)間校準(zhǔn)單元組成,該模塊掛在系統(tǒng)APB總線上,為系統(tǒng)提供精準(zhǔn)的TDMA幀時(shí)鐘。

        圖3 基時(shí)鐘單元框圖

        3.1.1 幀中斷

        如圖3所示,系統(tǒng)包括三種幀中斷控制單元,timeslot_int,frame_int,multiframe_int,GSM一個(gè)標(biāo)準(zhǔn)的TDMA幀長(zhǎng)度定義為120 000個(gè)26 MHz的周期值[3],為了簡(jiǎn)化描述,其Verilog代碼如下:

        Always @ (*)

        begin

        //時(shí)隙中斷

        if(cnt0 ==15000)

        timeslot_int <= 1;

        cnt0 <= 0;

        else

        timeslot_int< = 0;

        cnt0 <= cnt0 +1;

        //幀中斷

        if((cnt1 == 8) && timeslot)

        frame_int <= 1;

        cnt1 <= 0;

        else

        frame_int<=0;

        cnt1<=cnt1+timeslot_int;

        //此處略掉復(fù)幀的計(jì)數(shù)過(guò)程

        end

        3.1.2 參考時(shí)鐘校準(zhǔn)

        該系統(tǒng)低功耗下為32 kHz時(shí)鐘,采樣時(shí)鐘為26 MHz,設(shè)分別在兩個(gè)時(shí)鐘域下的計(jì)數(shù)器cnt_32k和cnt_26M,在時(shí)鐘校準(zhǔn)使能信號(hào)calib_flag的驅(qū)動(dòng)下,這兩個(gè)計(jì)數(shù)器進(jìn)入時(shí)鐘校準(zhǔn)狀態(tài)并同時(shí)從0開(kāi)始計(jì)數(shù),當(dāng)cnt_32k計(jì)數(shù)器完成16次計(jì)數(shù)后,跳出校準(zhǔn)狀態(tài),此時(shí)設(shè)cnt_26M恰好計(jì)數(shù)到calib_value,這個(gè)值將作為每次睡眠喚醒后的校準(zhǔn)值。采用16作為校準(zhǔn)周期,是由于數(shù)字電路容易實(shí)現(xiàn)以2為基數(shù)的整數(shù)倍除法。

        設(shè)在32K下的睡眠時(shí)間為sleep_32K_counter(一般為T(mén)DMA幀周期的整數(shù)倍),則通過(guò)乘法器可以算出在26 MHz時(shí)鐘下的睡眠時(shí)間為sleep_26M_counter =(calib_value*sleep_32K_counter)>>4(右移4位),從而計(jì)算出喚醒后的參考計(jì)數(shù)器的值為REF_timer(喚醒時(shí)刻)=REF_timer(睡眠時(shí)刻)+sleep_26M_counter,以完成從睡眠到喚醒后的系統(tǒng)參考時(shí)鐘的校準(zhǔn)。

        3.1.3 上下行收發(fā)定時(shí)

        由基時(shí)鐘單元中的RX_timer和TX_timer為物理層提供上下行收發(fā)定時(shí)。物理層在收到上行任務(wù)后,根據(jù)上行發(fā)送的幀號(hào)及TA值來(lái)計(jì)算上行發(fā)送時(shí)刻TX_ timer,并寫(xiě)入上行射頻接口發(fā)送任務(wù)列表,上行任務(wù)需要提前一個(gè)幀配置;物理層根據(jù)下行信道配置,確定下行burst的接收時(shí)刻RX_timer(某個(gè)下行幀的起始位置),并配置下行射頻接口接收任務(wù)列表。通過(guò)配置射頻接口的收發(fā)數(shù)據(jù)長(zhǎng)度和收發(fā)時(shí)刻,可完成上下行數(shù)據(jù)的收發(fā),上下行收發(fā)時(shí)鐘可根據(jù)系統(tǒng)參考時(shí)鐘進(jìn)行實(shí)時(shí)地更新。

        3.2 系統(tǒng)調(diào)度流程圖

        由于基帶物理層控制是一個(gè)相當(dāng)復(fù)雜的過(guò)程,當(dāng)前暫未考慮GSM物理層過(guò)程中的小區(qū)選擇、功率控制及鏈路故障檢測(cè)等復(fù)雜場(chǎng)景,而且調(diào)度流程暫未考慮數(shù)據(jù)的緩存?,F(xiàn)根據(jù)完成一次上下行TCH3語(yǔ)音業(yè)務(wù)來(lái)示意整個(gè)調(diào)度流程,上下行任務(wù)調(diào)度及數(shù)據(jù)處理需要在一個(gè)幀內(nèi)完成,如圖4所示,所有外設(shè)中斷經(jīng)過(guò)中斷控制器后給OpenRISC處理器的中斷控制寄存器PICSR[31:0],物理層控制軟件按中斷優(yōu)先級(jí)對(duì)其進(jìn)行集中處理。

        圖4 物理層調(diào)度時(shí)序圖

        3.3 軟件設(shè)計(jì)

        軟件設(shè)計(jì)如圖5所示,上電后軟件程序從外部MEM加載進(jìn)OpenRISC的QMEM中,然后程序開(kāi)始執(zhí)行。首先進(jìn)入main函數(shù),完成中斷注冊(cè)、物理層參數(shù)的初始配置,然后初始化外設(shè)接口及硬件模塊等。

        完成初始化操作后,函數(shù)進(jìn)入等待中斷的死循環(huán),開(kāi)始持續(xù)檢測(cè)外部中斷,在中斷注冊(cè)時(shí)對(duì)系統(tǒng)所有外部中斷劃分了中斷優(yōu)先級(jí),在檢測(cè)到中斷后,利用中斷查詢(xún)函數(shù),查詢(xún)中斷控制器的對(duì)應(yīng)位,并將該中斷清掉以避免循環(huán)執(zhí)行該中斷,然后進(jìn)入中斷服務(wù)程序,在中斷服務(wù)程序中進(jìn)行當(dāng)前物理層狀態(tài)的判斷,并對(duì)硬件進(jìn)行配置,配置完成后跳出。

        圖5 物理層控制軟件流程圖

        4 仿真結(jié)果

        在Linux環(huán)境下,通過(guò)GCC交叉編譯工具鏈,完成對(duì)物理層控制軟件的編譯、鏈接及程序的裝載[8],并在synopysys公司的VCS仿真工具上完成軟硬件的調(diào)試,當(dāng)前只對(duì)控制軟件是否能對(duì)系統(tǒng)進(jìn)行集中式控制進(jìn)行了測(cè)試,如圖6所示,圖中藍(lán)色高亮部分為OpenRISC中斷控制寄存器,在一個(gè)幀的時(shí)間內(nèi),物理層控制軟件能夠按中斷優(yōu)先級(jí)響應(yīng)系統(tǒng)各個(gè)硬件模塊的中斷,并完成相應(yīng)任務(wù)的配置。

        圖6 系統(tǒng)仿真結(jié)果圖

        5 結(jié) 語(yǔ)

        本文在基于GSM物理層協(xié)議,以及通用基帶芯片架構(gòu)的基礎(chǔ)上,對(duì)基帶物理層信號(hào)處理流程進(jìn)行劃分,提出了一種物理層控制方案,并設(shè)計(jì)基時(shí)鐘電路,建立上下行調(diào)度時(shí)序,最后,完成軟件的設(shè)計(jì)及代碼編寫(xiě),在RTL級(jí)的SoC系統(tǒng)上完成了初步的調(diào)度測(cè)試,由于物理層算法的靈活性以及硬件架構(gòu)和各處理器的性能,物理層控制軟件也會(huì)根據(jù)實(shí)際的需求做大量的調(diào)整及優(yōu)化,這將在后續(xù)的研究中不斷去實(shí)踐和改進(jìn)。

        參考文獻(xiàn)

        [1] 胡東偉,梁宏明,陳杰.移動(dòng)終端基帶芯片架構(gòu)概論[J].移動(dòng)通信,2009(8):29?32.

        [2] 陳志沖.GSM手機(jī)基帶芯片SoC系統(tǒng)設(shè)計(jì)[D].北京:中國(guó)科學(xué)院計(jì)算技術(shù)研究所,2003.

        [3] 程曾,馬林.用于基帶芯片的GSM硬件高精度休眠定時(shí)器[J].微計(jì)算機(jī)信息,2011,27(12):47?49.

        [4] 楊彬.GSM基帶設(shè)計(jì)技術(shù)[J].移動(dòng)通信,1999(4):99?101.

        [5] 韓斌杰.GSM網(wǎng)絡(luò)原理及其優(yōu)化[M].北京:機(jī)械工業(yè)出版社,2001.

        [6] DAMJAN Lampret. OpenRISC 1200 IP core specification [M]. USA: OpenCores, 2011.

        [7] 俞甲子,石凡,潘愛(ài)民.程序員的自我修養(yǎng)[M].北京:電子工業(yè)出版社,2011.

        [8] 王寬仁,孟濤,侯傳教.基于SoC單片機(jī)的嵌入式時(shí)序控制單元設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010,26(9):51?53.

        [9] 陳炳成,唐芳福,蔣曉華,等.S698P4 SoC芯片多時(shí)鐘及多核調(diào)度機(jī)制的研究[J].微型機(jī)與應(yīng)用,2011,30(21):75?77.

        集中式控制,即整個(gè)基帶的所有控制任務(wù)全部交給RISC處理器進(jìn)行(相當(dāng)于一個(gè)操作系統(tǒng)),DSP不再單獨(dú)維護(hù)自身的任務(wù)隊(duì)列,而且多個(gè)DSP之間不再有任務(wù)交互接口,只保留數(shù)據(jù)的傳輸,RISC對(duì)所有的外設(shè)中斷進(jìn)行優(yōu)先級(jí)劃分并響應(yīng),綜合考慮本文所描述的控制方案采用集中式控制,這樣大大減輕了各DSP處理器的消耗。

        3 控制方案

        移動(dòng)終端大多時(shí)候處于IDLE模式下,并且可處于非連續(xù)接收(DRX)狀態(tài),只需要對(duì)系統(tǒng)廣播信道BCCH及特定的尋呼組PCH進(jìn)行監(jiān)聽(tīng),因此可在特定的時(shí)間段內(nèi)關(guān)斷系統(tǒng)的高速時(shí)鐘,降低系統(tǒng)功耗。

        3.1 基時(shí)鐘設(shè)計(jì)

        本文所述SOC芯片中,單獨(dú)設(shè)計(jì)了基時(shí)鐘單元,如圖3所示,主要由系統(tǒng)參考時(shí)鐘REF timer,上行發(fā)送時(shí)鐘TX timer,下行接收時(shí)鐘RX timer,幀中斷產(chǎn)生單元以及時(shí)間校準(zhǔn)單元組成,該模塊掛在系統(tǒng)APB總線上,為系統(tǒng)提供精準(zhǔn)的TDMA幀時(shí)鐘。

        圖3 基時(shí)鐘單元框圖

        3.1.1 幀中斷

        如圖3所示,系統(tǒng)包括三種幀中斷控制單元,timeslot_int,frame_int,multiframe_int,GSM一個(gè)標(biāo)準(zhǔn)的TDMA幀長(zhǎng)度定義為120 000個(gè)26 MHz的周期值[3],為了簡(jiǎn)化描述,其Verilog代碼如下:

        Always @ (*)

        begin

        //時(shí)隙中斷

        if(cnt0 ==15000)

        timeslot_int <= 1;

        cnt0 <= 0;

        else

        timeslot_int< = 0;

        cnt0 <= cnt0 +1;

        //幀中斷

        if((cnt1 == 8) && timeslot)

        frame_int <= 1;

        cnt1 <= 0;

        else

        frame_int<=0;

        cnt1<=cnt1+timeslot_int;

        //此處略掉復(fù)幀的計(jì)數(shù)過(guò)程

        end

        3.1.2 參考時(shí)鐘校準(zhǔn)

        該系統(tǒng)低功耗下為32 kHz時(shí)鐘,采樣時(shí)鐘為26 MHz,設(shè)分別在兩個(gè)時(shí)鐘域下的計(jì)數(shù)器cnt_32k和cnt_26M,在時(shí)鐘校準(zhǔn)使能信號(hào)calib_flag的驅(qū)動(dòng)下,這兩個(gè)計(jì)數(shù)器進(jìn)入時(shí)鐘校準(zhǔn)狀態(tài)并同時(shí)從0開(kāi)始計(jì)數(shù),當(dāng)cnt_32k計(jì)數(shù)器完成16次計(jì)數(shù)后,跳出校準(zhǔn)狀態(tài),此時(shí)設(shè)cnt_26M恰好計(jì)數(shù)到calib_value,這個(gè)值將作為每次睡眠喚醒后的校準(zhǔn)值。采用16作為校準(zhǔn)周期,是由于數(shù)字電路容易實(shí)現(xiàn)以2為基數(shù)的整數(shù)倍除法。

        設(shè)在32K下的睡眠時(shí)間為sleep_32K_counter(一般為T(mén)DMA幀周期的整數(shù)倍),則通過(guò)乘法器可以算出在26 MHz時(shí)鐘下的睡眠時(shí)間為sleep_26M_counter =(calib_value*sleep_32K_counter)>>4(右移4位),從而計(jì)算出喚醒后的參考計(jì)數(shù)器的值為REF_timer(喚醒時(shí)刻)=REF_timer(睡眠時(shí)刻)+sleep_26M_counter,以完成從睡眠到喚醒后的系統(tǒng)參考時(shí)鐘的校準(zhǔn)。

        3.1.3 上下行收發(fā)定時(shí)

        由基時(shí)鐘單元中的RX_timer和TX_timer為物理層提供上下行收發(fā)定時(shí)。物理層在收到上行任務(wù)后,根據(jù)上行發(fā)送的幀號(hào)及TA值來(lái)計(jì)算上行發(fā)送時(shí)刻TX_ timer,并寫(xiě)入上行射頻接口發(fā)送任務(wù)列表,上行任務(wù)需要提前一個(gè)幀配置;物理層根據(jù)下行信道配置,確定下行burst的接收時(shí)刻RX_timer(某個(gè)下行幀的起始位置),并配置下行射頻接口接收任務(wù)列表。通過(guò)配置射頻接口的收發(fā)數(shù)據(jù)長(zhǎng)度和收發(fā)時(shí)刻,可完成上下行數(shù)據(jù)的收發(fā),上下行收發(fā)時(shí)鐘可根據(jù)系統(tǒng)參考時(shí)鐘進(jìn)行實(shí)時(shí)地更新。

        3.2 系統(tǒng)調(diào)度流程圖

        由于基帶物理層控制是一個(gè)相當(dāng)復(fù)雜的過(guò)程,當(dāng)前暫未考慮GSM物理層過(guò)程中的小區(qū)選擇、功率控制及鏈路故障檢測(cè)等復(fù)雜場(chǎng)景,而且調(diào)度流程暫未考慮數(shù)據(jù)的緩存?,F(xiàn)根據(jù)完成一次上下行TCH3語(yǔ)音業(yè)務(wù)來(lái)示意整個(gè)調(diào)度流程,上下行任務(wù)調(diào)度及數(shù)據(jù)處理需要在一個(gè)幀內(nèi)完成,如圖4所示,所有外設(shè)中斷經(jīng)過(guò)中斷控制器后給OpenRISC處理器的中斷控制寄存器PICSR[31:0],物理層控制軟件按中斷優(yōu)先級(jí)對(duì)其進(jìn)行集中處理。

        圖4 物理層調(diào)度時(shí)序圖

        3.3 軟件設(shè)計(jì)

        軟件設(shè)計(jì)如圖5所示,上電后軟件程序從外部MEM加載進(jìn)OpenRISC的QMEM中,然后程序開(kāi)始執(zhí)行。首先進(jìn)入main函數(shù),完成中斷注冊(cè)、物理層參數(shù)的初始配置,然后初始化外設(shè)接口及硬件模塊等。

        完成初始化操作后,函數(shù)進(jìn)入等待中斷的死循環(huán),開(kāi)始持續(xù)檢測(cè)外部中斷,在中斷注冊(cè)時(shí)對(duì)系統(tǒng)所有外部中斷劃分了中斷優(yōu)先級(jí),在檢測(cè)到中斷后,利用中斷查詢(xún)函數(shù),查詢(xún)中斷控制器的對(duì)應(yīng)位,并將該中斷清掉以避免循環(huán)執(zhí)行該中斷,然后進(jìn)入中斷服務(wù)程序,在中斷服務(wù)程序中進(jìn)行當(dāng)前物理層狀態(tài)的判斷,并對(duì)硬件進(jìn)行配置,配置完成后跳出。

        圖5 物理層控制軟件流程圖

        4 仿真結(jié)果

        在Linux環(huán)境下,通過(guò)GCC交叉編譯工具鏈,完成對(duì)物理層控制軟件的編譯、鏈接及程序的裝載[8],并在synopysys公司的VCS仿真工具上完成軟硬件的調(diào)試,當(dāng)前只對(duì)控制軟件是否能對(duì)系統(tǒng)進(jìn)行集中式控制進(jìn)行了測(cè)試,如圖6所示,圖中藍(lán)色高亮部分為OpenRISC中斷控制寄存器,在一個(gè)幀的時(shí)間內(nèi),物理層控制軟件能夠按中斷優(yōu)先級(jí)響應(yīng)系統(tǒng)各個(gè)硬件模塊的中斷,并完成相應(yīng)任務(wù)的配置。

        圖6 系統(tǒng)仿真結(jié)果圖

        5 結(jié) 語(yǔ)

        本文在基于GSM物理層協(xié)議,以及通用基帶芯片架構(gòu)的基礎(chǔ)上,對(duì)基帶物理層信號(hào)處理流程進(jìn)行劃分,提出了一種物理層控制方案,并設(shè)計(jì)基時(shí)鐘電路,建立上下行調(diào)度時(shí)序,最后,完成軟件的設(shè)計(jì)及代碼編寫(xiě),在RTL級(jí)的SoC系統(tǒng)上完成了初步的調(diào)度測(cè)試,由于物理層算法的靈活性以及硬件架構(gòu)和各處理器的性能,物理層控制軟件也會(huì)根據(jù)實(shí)際的需求做大量的調(diào)整及優(yōu)化,這將在后續(xù)的研究中不斷去實(shí)踐和改進(jìn)。

        參考文獻(xiàn)

        [1] 胡東偉,梁宏明,陳杰.移動(dòng)終端基帶芯片架構(gòu)概論[J].移動(dòng)通信,2009(8):29?32.

        [2] 陳志沖.GSM手機(jī)基帶芯片SoC系統(tǒng)設(shè)計(jì)[D].北京:中國(guó)科學(xué)院計(jì)算技術(shù)研究所,2003.

        [3] 程曾,馬林.用于基帶芯片的GSM硬件高精度休眠定時(shí)器[J].微計(jì)算機(jī)信息,2011,27(12):47?49.

        [4] 楊彬.GSM基帶設(shè)計(jì)技術(shù)[J].移動(dòng)通信,1999(4):99?101.

        [5] 韓斌杰.GSM網(wǎng)絡(luò)原理及其優(yōu)化[M].北京:機(jī)械工業(yè)出版社,2001.

        [6] DAMJAN Lampret. OpenRISC 1200 IP core specification [M]. USA: OpenCores, 2011.

        [7] 俞甲子,石凡,潘愛(ài)民.程序員的自我修養(yǎng)[M].北京:電子工業(yè)出版社,2011.

        [8] 王寬仁,孟濤,侯傳教.基于SoC單片機(jī)的嵌入式時(shí)序控制單元設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010,26(9):51?53.

        [9] 陳炳成,唐芳福,蔣曉華,等.S698P4 SoC芯片多時(shí)鐘及多核調(diào)度機(jī)制的研究[J].微型機(jī)與應(yīng)用,2011,30(21):75?77.

        集中式控制,即整個(gè)基帶的所有控制任務(wù)全部交給RISC處理器進(jìn)行(相當(dāng)于一個(gè)操作系統(tǒng)),DSP不再單獨(dú)維護(hù)自身的任務(wù)隊(duì)列,而且多個(gè)DSP之間不再有任務(wù)交互接口,只保留數(shù)據(jù)的傳輸,RISC對(duì)所有的外設(shè)中斷進(jìn)行優(yōu)先級(jí)劃分并響應(yīng),綜合考慮本文所描述的控制方案采用集中式控制,這樣大大減輕了各DSP處理器的消耗。

        3 控制方案

        移動(dòng)終端大多時(shí)候處于IDLE模式下,并且可處于非連續(xù)接收(DRX)狀態(tài),只需要對(duì)系統(tǒng)廣播信道BCCH及特定的尋呼組PCH進(jìn)行監(jiān)聽(tīng),因此可在特定的時(shí)間段內(nèi)關(guān)斷系統(tǒng)的高速時(shí)鐘,降低系統(tǒng)功耗。

        3.1 基時(shí)鐘設(shè)計(jì)

        本文所述SOC芯片中,單獨(dú)設(shè)計(jì)了基時(shí)鐘單元,如圖3所示,主要由系統(tǒng)參考時(shí)鐘REF timer,上行發(fā)送時(shí)鐘TX timer,下行接收時(shí)鐘RX timer,幀中斷產(chǎn)生單元以及時(shí)間校準(zhǔn)單元組成,該模塊掛在系統(tǒng)APB總線上,為系統(tǒng)提供精準(zhǔn)的TDMA幀時(shí)鐘。

        圖3 基時(shí)鐘單元框圖

        3.1.1 幀中斷

        如圖3所示,系統(tǒng)包括三種幀中斷控制單元,timeslot_int,frame_int,multiframe_int,GSM一個(gè)標(biāo)準(zhǔn)的TDMA幀長(zhǎng)度定義為120 000個(gè)26 MHz的周期值[3],為了簡(jiǎn)化描述,其Verilog代碼如下:

        Always @ (*)

        begin

        //時(shí)隙中斷

        if(cnt0 ==15000)

        timeslot_int <= 1;

        cnt0 <= 0;

        else

        timeslot_int< = 0;

        cnt0 <= cnt0 +1;

        //幀中斷

        if((cnt1 == 8) && timeslot)

        frame_int <= 1;

        cnt1 <= 0;

        else

        frame_int<=0;

        cnt1<=cnt1+timeslot_int;

        //此處略掉復(fù)幀的計(jì)數(shù)過(guò)程

        end

        3.1.2 參考時(shí)鐘校準(zhǔn)

        該系統(tǒng)低功耗下為32 kHz時(shí)鐘,采樣時(shí)鐘為26 MHz,設(shè)分別在兩個(gè)時(shí)鐘域下的計(jì)數(shù)器cnt_32k和cnt_26M,在時(shí)鐘校準(zhǔn)使能信號(hào)calib_flag的驅(qū)動(dòng)下,這兩個(gè)計(jì)數(shù)器進(jìn)入時(shí)鐘校準(zhǔn)狀態(tài)并同時(shí)從0開(kāi)始計(jì)數(shù),當(dāng)cnt_32k計(jì)數(shù)器完成16次計(jì)數(shù)后,跳出校準(zhǔn)狀態(tài),此時(shí)設(shè)cnt_26M恰好計(jì)數(shù)到calib_value,這個(gè)值將作為每次睡眠喚醒后的校準(zhǔn)值。采用16作為校準(zhǔn)周期,是由于數(shù)字電路容易實(shí)現(xiàn)以2為基數(shù)的整數(shù)倍除法。

        設(shè)在32K下的睡眠時(shí)間為sleep_32K_counter(一般為T(mén)DMA幀周期的整數(shù)倍),則通過(guò)乘法器可以算出在26 MHz時(shí)鐘下的睡眠時(shí)間為sleep_26M_counter =(calib_value*sleep_32K_counter)>>4(右移4位),從而計(jì)算出喚醒后的參考計(jì)數(shù)器的值為REF_timer(喚醒時(shí)刻)=REF_timer(睡眠時(shí)刻)+sleep_26M_counter,以完成從睡眠到喚醒后的系統(tǒng)參考時(shí)鐘的校準(zhǔn)。

        3.1.3 上下行收發(fā)定時(shí)

        由基時(shí)鐘單元中的RX_timer和TX_timer為物理層提供上下行收發(fā)定時(shí)。物理層在收到上行任務(wù)后,根據(jù)上行發(fā)送的幀號(hào)及TA值來(lái)計(jì)算上行發(fā)送時(shí)刻TX_ timer,并寫(xiě)入上行射頻接口發(fā)送任務(wù)列表,上行任務(wù)需要提前一個(gè)幀配置;物理層根據(jù)下行信道配置,確定下行burst的接收時(shí)刻RX_timer(某個(gè)下行幀的起始位置),并配置下行射頻接口接收任務(wù)列表。通過(guò)配置射頻接口的收發(fā)數(shù)據(jù)長(zhǎng)度和收發(fā)時(shí)刻,可完成上下行數(shù)據(jù)的收發(fā),上下行收發(fā)時(shí)鐘可根據(jù)系統(tǒng)參考時(shí)鐘進(jìn)行實(shí)時(shí)地更新。

        3.2 系統(tǒng)調(diào)度流程圖

        由于基帶物理層控制是一個(gè)相當(dāng)復(fù)雜的過(guò)程,當(dāng)前暫未考慮GSM物理層過(guò)程中的小區(qū)選擇、功率控制及鏈路故障檢測(cè)等復(fù)雜場(chǎng)景,而且調(diào)度流程暫未考慮數(shù)據(jù)的緩存。現(xiàn)根據(jù)完成一次上下行TCH3語(yǔ)音業(yè)務(wù)來(lái)示意整個(gè)調(diào)度流程,上下行任務(wù)調(diào)度及數(shù)據(jù)處理需要在一個(gè)幀內(nèi)完成,如圖4所示,所有外設(shè)中斷經(jīng)過(guò)中斷控制器后給OpenRISC處理器的中斷控制寄存器PICSR[31:0],物理層控制軟件按中斷優(yōu)先級(jí)對(duì)其進(jìn)行集中處理。

        圖4 物理層調(diào)度時(shí)序圖

        3.3 軟件設(shè)計(jì)

        軟件設(shè)計(jì)如圖5所示,上電后軟件程序從外部MEM加載進(jìn)OpenRISC的QMEM中,然后程序開(kāi)始執(zhí)行。首先進(jìn)入main函數(shù),完成中斷注冊(cè)、物理層參數(shù)的初始配置,然后初始化外設(shè)接口及硬件模塊等。

        完成初始化操作后,函數(shù)進(jìn)入等待中斷的死循環(huán),開(kāi)始持續(xù)檢測(cè)外部中斷,在中斷注冊(cè)時(shí)對(duì)系統(tǒng)所有外部中斷劃分了中斷優(yōu)先級(jí),在檢測(cè)到中斷后,利用中斷查詢(xún)函數(shù),查詢(xún)中斷控制器的對(duì)應(yīng)位,并將該中斷清掉以避免循環(huán)執(zhí)行該中斷,然后進(jìn)入中斷服務(wù)程序,在中斷服務(wù)程序中進(jìn)行當(dāng)前物理層狀態(tài)的判斷,并對(duì)硬件進(jìn)行配置,配置完成后跳出。

        圖5 物理層控制軟件流程圖

        4 仿真結(jié)果

        在Linux環(huán)境下,通過(guò)GCC交叉編譯工具鏈,完成對(duì)物理層控制軟件的編譯、鏈接及程序的裝載[8],并在synopysys公司的VCS仿真工具上完成軟硬件的調(diào)試,當(dāng)前只對(duì)控制軟件是否能對(duì)系統(tǒng)進(jìn)行集中式控制進(jìn)行了測(cè)試,如圖6所示,圖中藍(lán)色高亮部分為OpenRISC中斷控制寄存器,在一個(gè)幀的時(shí)間內(nèi),物理層控制軟件能夠按中斷優(yōu)先級(jí)響應(yīng)系統(tǒng)各個(gè)硬件模塊的中斷,并完成相應(yīng)任務(wù)的配置。

        圖6 系統(tǒng)仿真結(jié)果圖

        5 結(jié) 語(yǔ)

        本文在基于GSM物理層協(xié)議,以及通用基帶芯片架構(gòu)的基礎(chǔ)上,對(duì)基帶物理層信號(hào)處理流程進(jìn)行劃分,提出了一種物理層控制方案,并設(shè)計(jì)基時(shí)鐘電路,建立上下行調(diào)度時(shí)序,最后,完成軟件的設(shè)計(jì)及代碼編寫(xiě),在RTL級(jí)的SoC系統(tǒng)上完成了初步的調(diào)度測(cè)試,由于物理層算法的靈活性以及硬件架構(gòu)和各處理器的性能,物理層控制軟件也會(huì)根據(jù)實(shí)際的需求做大量的調(diào)整及優(yōu)化,這將在后續(xù)的研究中不斷去實(shí)踐和改進(jìn)。

        參考文獻(xiàn)

        [1] 胡東偉,梁宏明,陳杰.移動(dòng)終端基帶芯片架構(gòu)概論[J].移動(dòng)通信,2009(8):29?32.

        [2] 陳志沖.GSM手機(jī)基帶芯片SoC系統(tǒng)設(shè)計(jì)[D].北京:中國(guó)科學(xué)院計(jì)算技術(shù)研究所,2003.

        [3] 程曾,馬林.用于基帶芯片的GSM硬件高精度休眠定時(shí)器[J].微計(jì)算機(jī)信息,2011,27(12):47?49.

        [4] 楊彬.GSM基帶設(shè)計(jì)技術(shù)[J].移動(dòng)通信,1999(4):99?101.

        [5] 韓斌杰.GSM網(wǎng)絡(luò)原理及其優(yōu)化[M].北京:機(jī)械工業(yè)出版社,2001.

        [6] DAMJAN Lampret. OpenRISC 1200 IP core specification [M]. USA: OpenCores, 2011.

        [7] 俞甲子,石凡,潘愛(ài)民.程序員的自我修養(yǎng)[M].北京:電子工業(yè)出版社,2011.

        [8] 王寬仁,孟濤,侯傳教.基于SoC單片機(jī)的嵌入式時(shí)序控制單元設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2010,26(9):51?53.

        [9] 陳炳成,唐芳福,蔣曉華,等.S698P4 SoC芯片多時(shí)鐘及多核調(diào)度機(jī)制的研究[J].微型機(jī)與應(yīng)用,2011,30(21):75?77.

        猜你喜歡
        調(diào)度
        電力調(diào)度自動(dòng)化中UPS電源的應(yīng)用探討
        電子制作(2019年20期)2019-12-04 03:51:28
        基于強(qiáng)化學(xué)習(xí)的時(shí)間觸發(fā)通信調(diào)度方法
        一種基于負(fù)載均衡的Kubernetes調(diào)度改進(jìn)算法
        虛擬機(jī)實(shí)時(shí)遷移調(diào)度算法
        枯期風(fēng)電調(diào)度模式探討
        SVC的RTP封裝及其在NS2包調(diào)度中的應(yīng)用研究
        日产精品久久久一区二区| 亚洲av一区二区三区网站| 日本一区二区三区清视频| 精品无码一区二区三区爱欲| 日本爽快片18禁免费看| 亚洲精品中国国产嫩草影院美女| 成人在线视频自拍偷拍| av在线免费观看网站免费| 亚洲av综合永久无码精品天堂| 亚洲人成网站77777在线观看| 国产精品美女久久久浪潮av| 国产三区三区三区看三区| 亚洲欧美日韩另类精品一区| 国产精品成人av在线观看| 免费无码AⅤ片在线观看| av在线天堂国产一区| 真实人与人性恔配视频| 在线观看免费午夜大片| 大又大粗又爽又黄少妇毛片| 国产偷窥熟女精品视频| 婷婷成人亚洲综合国产| 一二三区亚洲av偷拍| 成人欧美一区二区三区| 999国产精品视频| 国产精品久久熟女吞精| 加勒比色老久久爱综合网| 人妻无码aⅴ不卡中文字幕| 国产在线一区二区三区av| 亚洲熟妇av一区二区三区hd| 国内少妇毛片视频| 日本大片免费观看完整视频| 米奇亚洲国产精品思久久| 中文字幕乱码熟女人妻在线| 国产性生大片免费观看性| 国产精品女同一区二区久久| 国产一区二区不卡av| 人妻少妇精品无码专区| 国产成人无码一二三区视频| 日本看片一区二区三区 | 亚洲av免费高清不卡| 中文字幕亚洲乱码成熟女1区|