《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應(yīng)用 > TD-LTE系統(tǒng)中MAC層子幀調(diào)度研究與實(shí)現(xiàn)
TD-LTE系統(tǒng)中MAC層子幀調(diào)度研究與實(shí)現(xiàn)
來源:電子技術(shù)應(yīng)用2013年第2期
蔣忠均,張德民,庹 勤
重慶郵電大學(xué) 移動通信重點(diǎn)實(shí)驗(yàn)室,重慶400065
摘要: 為滿足TD-LTE系統(tǒng)對實(shí)時性的要求,通過對媒體接入控制(MAC)層和物理層之間的實(shí)時性研究以及對操作系統(tǒng)Nucleus PLUS的機(jī)制分析,實(shí)現(xiàn)了MAC層子幀調(diào)度。根據(jù)TD-LTE無線綜合測試儀中的設(shè)計要求,詳細(xì)介紹了Nucleus PLUS任務(wù)循環(huán)調(diào)度以及MAC子幀調(diào)度的流程設(shè)計。在實(shí)現(xiàn)MAC層基本功能的同時滿足了TD-LTE對系統(tǒng)實(shí)時性、子幀同步與任務(wù)資源管理的需求。
中圖分類號: TN929
文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2013)02-0015-03
Research and implementation of the sub-frame scheduling of MAC in TD-LTE system
Jiang Zhongjun,Zhang Demin,Tuo Qin
Laboratory of Mobile Communications, Chongqing University of Posts and Telecommunications,Chongqing 400065,China
Abstract: ase on the real-time requirements in TD-LTE system,the sub-frame scheduling of MAC layer has been achieved based on the study of real-time between the MAC layer and physical layer and the analysis of Nucleus PLUS operating mechanism. According to the real-time requirements in TD-LTE wireless comprehensive tester, loop scheduling mechanism of Nucleus PLUS task has been described in detail and the MAC sub-frame scheduling process has been designed. While the basic functions of the MAC layer has been realized, the real-time capability of the TD-LTE and the needs of sub-frame synchronization with the resource management of task have been met.
Key words : TD-LTE;MAC;real-time capability;sub-frame scheduling

    為了加速TD-LTE(Long Term Evolution)在中國的全面成長和產(chǎn)業(yè)鏈的的形成,2011年我國啟動了“新一代寬帶無線移動通信網(wǎng)”重大專項(xiàng)。本文介紹了在國家重大專項(xiàng)“TD-LTE無線綜合測試儀表開發(fā)”的基礎(chǔ)上,對TD-LTE網(wǎng)絡(luò)端 MAC(Medium Access Control)調(diào)度的實(shí)現(xiàn)。目前關(guān)于MAC層的文獻(xiàn)有不少,但大都局限于簡單的協(xié)議研究和設(shè)計[1]。在協(xié)議棧里所有的數(shù)據(jù)都需要通過MAC層的調(diào)度才能走向空中接口和時間軸上,MAC層是實(shí)現(xiàn)實(shí)時性和調(diào)度機(jī)制的樞紐[2],所以設(shè)計MAC層子幀調(diào)度方案顯得尤為重要。

1 Nucleus操作機(jī)制
    Nucleus主控程序的操作機(jī)制是采用等待檢測機(jī)制[3],不斷循環(huán)檢測當(dāng)前執(zhí)行任務(wù)或高級中斷的封閉循環(huán),僅當(dāng)有中斷到達(dá)、未處理任務(wù)設(shè)置或復(fù)位時才跳出循環(huán)。主控程序首先檢測當(dāng)前是否有高優(yōu)先級中斷被激活,如果有,則跳出循環(huán)進(jìn)入高優(yōu)先級中斷處理服務(wù)函數(shù);如果沒有,則繼續(xù)檢測當(dāng)前是否有未處理激活任務(wù)。如果有未處理激活任務(wù),則轉(zhuǎn)入任務(wù)處理模塊;如果沒有,則返回繼續(xù)檢測。
    TD-LTE系統(tǒng)為每層設(shè)置狀態(tài)機(jī)入口函數(shù),函數(shù)設(shè)計為一個死循環(huán)。函數(shù)從相應(yīng)層隊列中接收消息,根據(jù)當(dāng)前不同狀態(tài)進(jìn)入相應(yīng)消息處理函數(shù)[4];最后將承載消息內(nèi)存釋放,依次循環(huán),直到隊列為空時掛起當(dāng)前任務(wù),跳出循環(huán),返回操作系統(tǒng)。圖1為MAC狀態(tài)機(jī)入口函數(shù)的處理機(jī)制。在隊列中所有消息接收完成后,系統(tǒng)將在隊列中掛起MAC任務(wù),返回操作系統(tǒng)主控程序[5]。

2 MAC調(diào)度
    根據(jù)TD-LTE整體硬件設(shè)計,經(jīng)過實(shí)際調(diào)試,對于不同大小消息,DSP和FPGA處理消息的總時間為0.8 ms~0.9 ms,ARM處理MAC層消息的總時間為0.4 ms~0.5 ms。從而得出,消息處理的總時間為1.2 ms~1.4 ms。圖2為消息在實(shí)際調(diào)試中的處理時間:示波器通道1高電平為ARM處理消息所消耗時間(為465 μs);通道2高電平為DSP和FPGA處理消息所消耗時間(為882 μs)??倳r間為1 347 μs。所以MAC層必須提前2子幀配置消息, MAC調(diào)度設(shè)計方案[6]才能得到實(shí)現(xiàn)。
    在代碼實(shí)現(xiàn)中,MAC調(diào)度器維護(hù)一個消息發(fā)送標(biāo)志數(shù)組assignment_flag[i][j],其中,0&le;i<10,0&le;j<1 023。數(shù)組的行代表子幀號,列代表幀號。這樣,assignment_flag[i][j]總共可表示10 240個子幀時刻。由于每一調(diào)度時刻只允許發(fā)送一個任務(wù),因此在第j幀的第i子幀有消息發(fā)送任務(wù)被配置后,assignment_flag[i][j]被置1。每當(dāng)有新消息被調(diào)度發(fā)送時,任務(wù)調(diào)度指針p_assignment_flag將查詢assignment_flag[i][j]變量,如果assignment_flag[i][j]不為1,則將消息配置在assignment_flag[i][j]-2的時刻發(fā)送至物理層。如圖3所示,設(shè)在第39幀的子幀9收到RLC層新數(shù)據(jù)發(fā)送任務(wù),p_assignment_flag指針繼續(xù)向后查詢,可得第40幀中第3子幀無發(fā)送任務(wù)。調(diào)度器將assignment_flag[3][40]變量置1,并提前2個子幀,在40幀的子幀1將此消息發(fā)送至物理層。

3 MAC子幀中斷服務(wù)函數(shù)
    子幀中斷信號由FPGA提供,每1 ms觸發(fā)1次中斷,MAC層的任務(wù)調(diào)度將通過子幀中斷觸發(fā)。當(dāng)每1 ms的子幀中斷到達(dá)時,子幀中斷觸發(fā)MAC層進(jìn)入子幀中斷服務(wù)函數(shù)INT_Schedule。下面是子幀中斷服務(wù)函數(shù)INT_Schedule的實(shí)現(xiàn)方案。
    (1)同步。進(jìn)入INT_Schedule函數(shù)讀取當(dāng)前幀號和子幀號并保存至本地,以達(dá)到本地與硬件計數(shù)同步。
    (2)狀態(tài)選擇。在同步之后,根據(jù)MAC當(dāng)前狀態(tài)進(jìn)入狀態(tài)分支。
    (3)任務(wù)執(zhí)行判斷。在進(jìn)入MAC當(dāng)前狀態(tài)分支后,調(diào)度器將規(guī)劃的待發(fā)送消息的發(fā)送幀號和子幀號與當(dāng)前幀號和子幀號對比,如果相等則轉(zhuǎn)入步驟(4);如果不相等,則跳出狀態(tài)分支,轉(zhuǎn)入步驟(5)。
    (4)消息發(fā)送。進(jìn)入原語組裝函數(shù),組裝原語直接發(fā)送給物理層。
    (5)跳出子幀中斷服務(wù)函數(shù)。
    此方案的處理方法比較簡潔,在消息數(shù)據(jù)量非常小時具有可執(zhí)行性。但隨著數(shù)據(jù)量逐漸增大,MAC組裝原語的數(shù)據(jù)搬移時間也隨之變長。MAC層處理消息時間為465 &mu;s,從而子幀中斷擴(kuò)展至約0.5 ms,使得ARM芯片一直處于硬件中斷中,造成其他低優(yōu)先級中斷無法響應(yīng)。更加嚴(yán)重的是,如果子幀中斷時間大于1 ms,則下一個子幀中斷也將無法響應(yīng),使得TD-LTE系統(tǒng)無法正常運(yùn)行,所以該方案缺乏可執(zhí)行性。為此,對該方案進(jìn)行以下改進(jìn)。
3.1 子幀中斷處理改進(jìn)方案1
    (1)同步。進(jìn)入INT_Schedule后,MAC首先讀取當(dāng)前幀號和子幀號并保存至本地使用。
    (2)狀態(tài)選擇。在同步之后,MAC根據(jù)當(dāng)前狀態(tài)進(jìn)入狀態(tài)分支。
    (3)任務(wù)執(zhí)行判斷。在進(jìn)入MAC當(dāng)前狀態(tài)分支后,MAC將之前規(guī)劃的待發(fā)送消息的發(fā)送幀號和子幀號與當(dāng)前幀號和子幀號對比,如果相等則轉(zhuǎn)入步驟(4);否則轉(zhuǎn)入步驟(5)。
    (4)發(fā)送消息。向MAC隊列發(fā)送一條消息,消息體為空,消息頭附帶所要發(fā)送的原語ID,激活一個MAC任務(wù)。
    (5)跳出子幀中斷服務(wù)函數(shù)。
    由于發(fā)送隊列所占用的時間特別短,子幀中斷服務(wù)函數(shù)很快結(jié)束跳出中斷。該方案巧妙地將發(fā)送原語交至操作系統(tǒng)執(zhí)行,操作系統(tǒng)在循環(huán)檢測中檢測到存在MAC任務(wù)時即進(jìn)入MAC狀態(tài)機(jī)處理MAC任務(wù),使耗時較多的數(shù)據(jù)搬移放到了MAC狀態(tài)機(jī)中去執(zhí)行,很好地解決了原始方案中子幀中斷耗時長的問題。但在操作系統(tǒng)任務(wù)繁多時,子幀中斷中激活的MAC任務(wù)并不會立即得到執(zhí)行,而是在操作系統(tǒng)中排隊等待。由于子幀中斷規(guī)劃的MAC任務(wù)要求很強(qiáng)的實(shí)時性,長時間的排隊等待將使得MAC任務(wù)被延遲執(zhí)行,最終導(dǎo)致消息不能實(shí)時發(fā)送,所以該方案也缺乏實(shí)時性。
3.2 子幀中斷處理改進(jìn)方案2
    (1)利用子幀中斷處理函數(shù)INT_Schedule完成以下操作:
    ①激活高級中斷HISR。
    ②跳出子幀中斷服務(wù)函數(shù)。
    (2)利用高優(yōu)先級中斷服務(wù)函數(shù)HISR_Schedule完成以下操作:
    ①同步。進(jìn)入INT_Schedule后,MAC首先讀取當(dāng)前幀號和子幀號并保存至本地使用。
    ②狀態(tài)選擇。在同步之后,MAC根據(jù)當(dāng)前狀態(tài)進(jìn)入狀態(tài)分支。
    ③任務(wù)執(zhí)行判斷。在進(jìn)入MAC當(dāng)前狀態(tài)分支后,MAC將之前規(guī)劃的待發(fā)送消息的發(fā)送幀號和子幀號與當(dāng)前幀號和子幀號對比,如果相等轉(zhuǎn)入步驟(4);如果不相等,轉(zhuǎn)入步驟(5)。
    ④發(fā)送消息。如果此時滿足了發(fā)送消息的條件,MAC立即組裝原語直接發(fā)送給物理層。
    ⑤跳出HISR服務(wù)函數(shù)。
    由于該方案的子幀中斷只占用一個激活高優(yōu)先級中斷的時間,使得子幀中斷的時間變得非常短,滿足了子幀中斷快速跳出的特性。高優(yōu)先級中斷的優(yōu)先級別比一般任務(wù)高,在激活HISR后,在操作系統(tǒng)循環(huán)檢測中將優(yōu)先處理HISR進(jìn)入HISR_Schedule函數(shù),把消息發(fā)送至物理層,使該方案避免了任務(wù)隊列的等待時間,有效滿足了MAC任務(wù)的實(shí)時性。圖4為改進(jìn)的HISR中斷服務(wù)函數(shù)示意圖。

    圖5是子幀中斷優(yōu)化方案2的示波器截圖,圖中通道3波形為子幀中斷,通道1高電平為MAC層處理消息時需要耗費(fèi)時間長度(為465 &mu;s)。從圖5中可以看出,子幀中斷的時間非常的短,幾乎可以忽略不計。而在子幀中斷結(jié)束時,MAC任務(wù)被很快地得到了執(zhí)行,說明HISR的改進(jìn)方案使得MAC層任務(wù)優(yōu)先得到了執(zhí)行。

 

 

    本文給出了TD-LTE系統(tǒng)中MAC層子幀調(diào)度和子幀中斷函數(shù)的實(shí)現(xiàn)機(jī)制。通過示波器測出MAC層與物理層之間消息處理的時間偏移,提出子幀調(diào)度方案,并驗(yàn)證了其正確性;通過幾個子幀中斷函數(shù)的比較,找到了運(yùn)用HISR設(shè)計子幀中斷函數(shù)的最佳方案,并得到了最佳的效果。最后通過板級調(diào)試驗(yàn)證了本設(shè)計方案具有較強(qiáng)的獨(dú)立性和實(shí)時性,優(yōu)化了系統(tǒng)資源利用率,實(shí)現(xiàn)了任務(wù)中斷與任務(wù)調(diào)度的高強(qiáng)度反復(fù)的穩(wěn)定性。
參考文獻(xiàn)
[1] 陳燕燕.LTE基站MAC-PHY API接口的設(shè)計和實(shí)現(xiàn)[D].北京:北京郵電大學(xué),2011.
[2] 李小文,李貴勇,陳賢亮,等.TD-SCDMA第三代移動通信系統(tǒng)、信令及實(shí)現(xiàn)[M].北京:人民郵電出版社,2003:402-405.
[3] 李小文,肖壘.應(yīng)用RTOS的TD-LTE無線綜測儀的實(shí)現(xiàn)[J].自動化儀表,2012,33(2):25-28.
[4] 道理.Nucleus體系結(jié)構(gòu)分析及應(yīng)用研究[D].長沙:中南大學(xué),2007.
[5] 管武.基于ARM的嵌入式測控平臺的設(shè)計及實(shí)現(xiàn)[D].上海:上海大學(xué),2008.
[6] 魏振華,洪炳熔,喬永強(qiáng),等.嵌入式實(shí)時操作系統(tǒng)Nucleus中線程控制部件的實(shí)現(xiàn)方法[J].計算機(jī)應(yīng)用研究,2003,20(4):97-99.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。