成程
北京工業(yè)大學(xué)嵌入式系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,北京,100124
LTE協(xié)議棧MAC層隨機(jī)訪問(wèn)過(guò)程設(shè)計(jì)與實(shí)現(xiàn)
成程
北京工業(yè)大學(xué)嵌入式系統(tǒng)重點(diǎn)實(shí)驗(yàn)室,北京,100124
隨機(jī)接入技術(shù)是LTE協(xié)議棧MAC層的功能中十分重要的一項(xiàng)技術(shù)。在LTE中,隨機(jī)接入的主要目的是上行定時(shí)同步校正,用戶功率調(diào)整和用戶資源需求的申請(qǐng)。文章為了實(shí)現(xiàn)LTE協(xié)議棧MAC層隨機(jī)訪問(wèn)過(guò)程,重點(diǎn)研究了MAC層協(xié)議,分別提出實(shí)現(xiàn)隨機(jī)訪問(wèn)過(guò)程的方案和測(cè)試仿真平臺(tái)的搭建方法。文章詳細(xì)描述了隨機(jī)接入的流程、有限自動(dòng)狀態(tài)機(jī)的設(shè)計(jì)原理以及具體實(shí)現(xiàn)方法,為了提高LTE協(xié)議棧的性能,文章提出了零拷貝技術(shù)。使用兩臺(tái)PC機(jī)做了仿真實(shí)驗(yàn),得到了基于競(jìng)爭(zhēng)模式下的隨機(jī)訪問(wèn)過(guò)程實(shí)現(xiàn)的結(jié)果。
LTE;MAC;隨機(jī)訪問(wèn) ;零拷貝技術(shù)
LTE(Long Term Evolution)項(xiàng)目是3G的演進(jìn),是3G與4G技術(shù)之間的一個(gè)過(guò)渡,是3.9G的全球標(biāo)準(zhǔn),它改進(jìn)并增強(qiáng)了3G的空中接口技術(shù)。在LTE協(xié)議棧層次結(jié)構(gòu)中,MAC(Media Access Control)層是LTE系統(tǒng)的主要組成部分之一。在MAC層中隨機(jī)訪問(wèn)過(guò)程直接影響到系統(tǒng)的性能,本文在仔細(xì)研究隨機(jī)訪問(wèn)過(guò)程的基礎(chǔ)上設(shè)計(jì)并實(shí)現(xiàn)了該模塊的功能,并且在系統(tǒng)設(shè)計(jì)上提出了增強(qiáng)性能的解決方案。
隨機(jī)訪問(wèn)過(guò)程
當(dāng)UE沒(méi)有被分配上行無(wú)線資源但有數(shù)據(jù)要傳輸時(shí)候或者上行方向時(shí)間失同步時(shí)候進(jìn)入隨機(jī)訪問(wèn)過(guò)程。隨機(jī)訪問(wèn)過(guò)程是FDD和TDD均有的過(guò)程,與小區(qū)的大小無(wú)關(guān)。如下的五個(gè)事件要執(zhí)行隨機(jī)訪問(wèn)過(guò)程:
1)來(lái)自LTE_RRC_IDLE的最初訪問(wèn);
2)無(wú)線連接失敗之后的初始訪問(wèn);
3)需要隨機(jī)訪問(wèn)的切換;
4)在RRC_CONNECTED期間,DL數(shù)據(jù)到達(dá),并需要隨機(jī)訪問(wèn);
5)在RRC_CONNECTED期間,UL數(shù)據(jù)到達(dá),并需要隨機(jī)訪問(wèn)。
隨機(jī)訪問(wèn)過(guò)程分成基于競(jìng)爭(zhēng)的和基于非競(jìng)爭(zhēng)的,基于競(jìng)爭(zhēng)的應(yīng)用于上述五種事件,基于非競(jìng)爭(zhēng)的應(yīng)用于切換和下行數(shù)據(jù)到達(dá)情況。
基于競(jìng)爭(zhēng)隨機(jī)訪問(wèn):
①:上行隨機(jī)訪問(wèn)前導(dǎo)。包括6-bit,其中5-bit是隨機(jī)選擇的ID,另1-bit是其他信息:請(qǐng)求資源控制塊的大小或者CQI等。
②:下行隨機(jī)訪問(wèn)相應(yīng)。包括校時(shí)信息、初始RL授權(quán)信息和臨時(shí)CRNTI。
③: Msg3。就初始訪問(wèn)來(lái)說(shuō)包括48-bit 唯一UE標(biāo)識(shí)和RRC建立連接的請(qǐng)求信息,使用HARQ。
④:競(jìng)爭(zhēng)解決。包括UE標(biāo)識(shí)和傳輸HARQ返回信息。
基于非競(jìng)爭(zhēng)隨機(jī)訪問(wèn):
前導(dǎo)配置信息。eNB給UE分配的非競(jìng)爭(zhēng)隨機(jī)訪問(wèn)前導(dǎo),6-bit。
①和②與基于競(jìng)爭(zhēng)的隨機(jī)訪問(wèn)過(guò)程大體相同。
初始隨機(jī)訪問(wèn)過(guò)程:
(1)初始隨機(jī)訪問(wèn)事件觸發(fā)進(jìn)入隨機(jī)訪問(wèn)過(guò)程,因?yàn)槌跏茧S機(jī)訪問(wèn)是基于競(jìng)爭(zhēng)的訪問(wèn),所以UE端選擇前導(dǎo)碼、選擇RACH信道發(fā)送前導(dǎo)碼,打開定時(shí)器,隨機(jī)訪問(wèn)狀態(tài)由ra_idle變成ra_preamble_snd;
(2)若定時(shí)器超時(shí)則隨機(jī)選擇指定范圍的延遲時(shí)間重新選擇前導(dǎo)碼并發(fā)送,重置定時(shí)器,隨機(jī)訪問(wèn)狀態(tài)由ra_preamble_snd變成ra_preamble_resnd;
(3)若接收線程接收到隨機(jī)訪問(wèn)響應(yīng)并且通過(guò)RA_RNTI判斷出是自己信息之后,通知發(fā)送線程隨機(jī)訪問(wèn)狀態(tài)由ra_preamble_snd或者ra_preamble_resnd變成ra_rar_rcv.接收線程同時(shí)解碼此隨機(jī)訪問(wèn)響應(yīng);
(4)由于初始隨機(jī)訪問(wèn)是基于競(jìng)爭(zhēng)的所以解碼后會(huì)通知發(fā)送線程將準(zhǔn)備好的Msg3發(fā)送,打開定時(shí)器,隨機(jī)訪問(wèn)狀態(tài)由ra_rar_rcv變成cnt_ra_msg3_snd;
(5)若定時(shí)器超時(shí)或者HARQ模塊提出重傳信號(hào)則將Msg3信息重新發(fā)送,重置定時(shí)器,隨機(jī)訪問(wèn)狀態(tài)由cnt_ra_msg3_snd變成cnt_ra_msg3_resnd;
(6)若接收線程接收到競(jìng)爭(zhēng)解決信息并且通過(guò)TEMP_C_RNTI判斷出是自己信息之后,通知發(fā)送線程隨機(jī)訪問(wèn)狀態(tài)由cnt_ra_msg3_snd或者cnt_ra_msg3_resnd變成cnt_ra_resolut_rcv ,接受線程同時(shí)解碼此競(jìng)爭(zhēng)解決信息;
(7)若從競(jìng)爭(zhēng)解決信息中找到自己48-bit唯一UE標(biāo)識(shí),隨機(jī)訪問(wèn)狀態(tài)由cnt_ra_resolut_rcv變成ra_success.若找到的UE標(biāo)識(shí)不是自己的,隨機(jī)訪問(wèn)狀態(tài)由cnt_ra_resolut_rcv變成ra_fail.
(8)若隨機(jī)訪問(wèn)狀態(tài)是ra_fail則延遲指定的一段時(shí)間后重新進(jìn)行前導(dǎo)碼的選擇過(guò)程回到步驟(1);
(9)若隨機(jī)訪問(wèn)狀態(tài)是ra_success則通知上層隨機(jī)訪問(wèn)過(guò)程成功,并將TEMP_C_RNTI賦值給C_RNTI.
圖3-1 初始隨機(jī)訪問(wèn)實(shí)體圖
(1)采用socket通信方式來(lái)模擬物理層通信??紤]到UDP模式是不可靠傳輸,可以很好的模擬實(shí)際通信中信道條件不好的情況,所以socket 采用UDP模式。
(2)Transport Channel和Logic Channel的設(shè)計(jì):參考“生產(chǎn)者消費(fèi)者算法”,利用windows系統(tǒng)提供的信號(hào)量和互斥量機(jī)制將傳輸信道和邏輯信道設(shè)計(jì)成類似于消息隊(duì)列的訪問(wèn)方式。可以實(shí)現(xiàn)socket線程和MAC層收發(fā)線程的訪問(wèn)同步。
(1)MAC層與上下層間采用零拷貝技術(shù),即MAC層與上下層協(xié)議都處在同一個(gè)地址空間,因此數(shù)據(jù)傳輸可以利用傳地址方式,從而減少了數(shù)據(jù)復(fù)制次數(shù),一定程度上提高了軟件執(zhí)行效率。
(2)采用了內(nèi)存池技術(shù),通過(guò)對(duì)申請(qǐng)空間小而申請(qǐng)頻繁的對(duì)象進(jìn)行有效管理,減少內(nèi)存碎片的產(chǎn)生,合理分配管理用戶內(nèi)存,從而減少系統(tǒng)中出現(xiàn)有效空間足夠,而無(wú)法分配大塊連續(xù)內(nèi)存的情況。
(3)采用了線程池技術(shù),當(dāng)系統(tǒng)中有大量線程時(shí),采用此技術(shù)可以有效減少線程創(chuàng)建和銷毀的時(shí)間。
上面圖1是隨機(jī)訪問(wèn)狀態(tài)機(jī)中的初始訪問(wèn)實(shí)例,共有四個(gè)線程:用于模擬物理層發(fā)送的線程Sock_Phy_Send,用于模擬物理層接收的線程Sock_Phy_Recv,用于Mac層發(fā)送的線程Mac_Send,用于Mac層接收的Mac_Recv.具體流程如下:
(1)Mac_Send獲得選取的前導(dǎo)碼;
(2)Mac_Send將前導(dǎo)碼封裝成傳輸信道統(tǒng)一的結(jié)構(gòu)單元并將它插入RACH信道;
(3)Sock_Phy_Send從RACH取出單元;
(4)Sock_Phy_Send將之發(fā)送到eNB;
(5)Sock_Phy_Recv收到eNB的信息;
(6)Sock_Phy_Recv從內(nèi)存池獲得內(nèi)存塊來(lái)存儲(chǔ)收到的信息;
(7)Sock_Phy_Recv將此信息插入到DL_SCH中;
(8)Mac_Recv從DL_SCH中取得信息并解碼
(9)Mac_Recv將狀態(tài)改變信息通知Mac_Send;
(10)Mac_Send從CCCH中獲得將要建立RRC連接的請(qǐng)求信息;
(11)Mac_Send獲得48-bit的UE ID;
(12)Mac_Send將這些信息封裝成傳輸信道統(tǒng)一的結(jié)構(gòu)單元并將它插入U(xiǎn)L_SCH;
(13)Sock_Phy_Send從UL_SCH取得單元;
(14)Sock_Phy_Send將之發(fā)送到eNB;
(15)Sock_Phy_Recv收到eNB的信息;
(16)Sock_Phy_Recv從內(nèi)存池獲得內(nèi)存塊來(lái)存儲(chǔ)收到的信息;
(17)Sock_Phy_Recv將此信息插入到DL_SCH中;
(18)Mac_Recv從DL_SCH中取得信息并解碼;
(19)Mac_Recv將狀態(tài)改變信息通知Mac_Send;
(20)Mac_Send通知上層初始隨機(jī)訪問(wèn)成功或者失敗,要是失敗則會(huì)推遲規(guī)定時(shí)間后重新進(jìn)行隨機(jī)訪問(wèn)。
文章對(duì)LTE 協(xié)議棧 MAC層隨機(jī)訪問(wèn)過(guò)程進(jìn)行深入分析,在此基礎(chǔ)上設(shè)計(jì)了MAC層的整體架構(gòu)并實(shí)現(xiàn)了初始接入的隨機(jī)訪問(wèn)過(guò)程,重點(diǎn)研究的是基于競(jìng)爭(zhēng)模式下的隨機(jī)訪問(wèn)過(guò)程。該隨機(jī)訪問(wèn)過(guò)程在仿真平臺(tái)上得到了驗(yàn)證。有限自動(dòng)狀態(tài)機(jī)具有全面性和簡(jiǎn)單性特點(diǎn),便于在多線程環(huán)境下實(shí)現(xiàn)。隨機(jī)接入過(guò)程的實(shí)現(xiàn)對(duì)RRC層和物理層功能的實(shí)現(xiàn)具有重大意義。
[1]胡宏林,徐錦.3GPP LTE無(wú)線鏈路關(guān)鍵技術(shù).北京:電子工業(yè)出版社.2008:207-221
[2]張克平.LTE-B3G/4G移動(dòng)通信系統(tǒng)無(wú)線技術(shù).北京:電子工業(yè)出版社.2008
[3]屈延文.軟件行為學(xué).北京:電子工業(yè)出版社.2004
[4]屈延文.信息化的科學(xué)夢(mèng).電子工業(yè)出版社.2006
[5]嚴(yán)蔚敏,吳偉民.數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)
[6]馮曉芳.我國(guó)電話用戶突破九億
[7]孫定.改變未來(lái)的十三項(xiàng)移動(dòng)技術(shù)
10.3969/j.issn.1001-8972.2011.04.039