• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基帶芯片物理層控制方案的設計

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

      田飛+楊虹

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

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

      中圖分類號: TN914.3?34 文獻標識碼: A 文章編號: 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 引 言

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

      1 設計依據(jù)

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

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

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

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

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

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

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

      圖2 語音信道處理過程

      2 控制策略

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

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

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

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

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

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

      3 控制方案

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

      3.1 基時鐘設計

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

      圖3 基時鐘單元框圖

      3.1.1 幀中斷

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

      Always @ (*)

      begin

      //時隙中斷

      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;

      //此處略掉復幀的計數(shù)過程

      end

      3.1.2 參考時鐘校準

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

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

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

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

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

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

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

      3.3 軟件設計

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

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

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

      4 仿真結(jié)果

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

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

      5 結(jié) 語

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

      參考文獻

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

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

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

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

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

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

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

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

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

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

      3 控制方案

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

      3.1 基時鐘設計

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

      圖3 基時鐘單元框圖

      3.1.1 幀中斷

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

      Always @ (*)

      begin

      //時隙中斷

      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;

      //此處略掉復幀的計數(shù)過程

      end

      3.1.2 參考時鐘校準

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

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

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

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

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

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

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

      3.3 軟件設計

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

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

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

      4 仿真結(jié)果

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

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

      5 結(jié) 語

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

      參考文獻

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

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

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

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

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

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

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

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

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

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

      3 控制方案

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

      3.1 基時鐘設計

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

      圖3 基時鐘單元框圖

      3.1.1 幀中斷

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

      Always @ (*)

      begin

      //時隙中斷

      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;

      //此處略掉復幀的計數(shù)過程

      end

      3.1.2 參考時鐘校準

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

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

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

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

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

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

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

      3.3 軟件設計

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

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

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

      4 仿真結(jié)果

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

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

      5 結(jié) 語

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

      參考文獻

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

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

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

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

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

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

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

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

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

      猜你喜歡
      調(diào)度
      電力調(diào)度自動化中UPS電源的應用探討
      電子制作(2019年20期)2019-12-04 03:51:28
      基于強化學習的時間觸發(fā)通信調(diào)度方法
      一種基于負載均衡的Kubernetes調(diào)度改進算法
      虛擬機實時遷移調(diào)度算法
      枯期風電調(diào)度模式探討
      SVC的RTP封裝及其在NS2包調(diào)度中的應用研究
      惠来县| 大姚县| 寻乌县| 余干县| 噶尔县| 万州区| 新乐市| 易门县| 察隅县| 洪雅县| 浠水县| 青川县| 嘉黎县| 博爱县| 阿尔山市| 永定县| 资兴市| 安吉县| 无棣县| 兴化市| 肃北| 龙岩市| 庄浪县| 沂水县| 耿马| 彭山县| 峨山| 建阳市| 泰和县| 睢宁县| 昌都县| 昌吉市| 镇安县| 姜堰市| 贵阳市| 墨脱县| 林芝县| 江安县| 北宁市| 威海市| 安阳县|