本文介紹了一種應用在LTE協議棧系統軟件開發過程的測試和調試的模型,并給出了測試模型的應用結果。該模型以LTE接入網標準架構為原型,分層調試為思想,多彩模塊化打印為手段,具有環境簡易、調試方便的特點,對協議棧軟件調試和分析具有良好的輔助作用。
1 LTE 協議棧架構
LTE系統由核心網絡(EPC)、無線網絡(E-UTRAN)和用戶設備(UE)構成。基站(eNodeB)之間通過X2接口相連組成接入網,其空口協議棧分為控制面和用戶面,圖1 是控制面的架構,用戶面與控制面架構類似。
NAS層、RRC層統稱為L3層,主要負責信令和無線資源控制。PDCP層[4]、RLC層[5]、MAC 層統稱為L2 層,主要負責數據鏈路,PHY層則是向高層提供數據傳輸服務。

2.1 測試環境
測試環境模擬LTE系統架構來搭建,分別為移動管理實體(MME)/服務網關(SGW)、 eNodeB和UE,整體的測試框架如圖2所示,主要分為L2/L3高層協議測試和L1/L2/L3 層協議測試兩部分。本文測試中使用了中國科學院計算技術研究所無線通信技術中心自主研發的LTE終端協議棧軟件、LTE Femtocell協議棧軟件和LTE網關軟件。為便于分析問題,采用了單用戶模式舉例,多用戶情況以此類推。

LTE協議棧軟件功能眾多,按照分層化思路進行調試分析是一個不錯的開始。先分別進行單層測試,確保各層功能的正確與穩定性,然后再逐層遞加進行測試。
L2 層數據鏈路通過后,再開始信令面和用戶面的測試。在定位棘手的問題時,一層一層追蹤數據流向,可以達到事半功倍的效果。舉例來說,在測試下行用戶面時,首先確認基站PDCP 層是否收到數據包,確認后查看數據有沒有通過PDCP 層轉發下去;如果PDCP 層沒有問題,數據是否到達RLC 層;如果到達RLC 層,MAC層是否進行調度發送。
2.3 網絡封包捕獲解析
網絡封包捕獲解析程序可從以太網卡中捕獲數據流并進行解析顯示。這里推薦使用wireshark,它是一款常用的優秀開源網絡封包分析軟件,提供了自定義協議解析插件的編程接口,可以讓使用者開發適用于自定義協議的插件。目前wireshark 中已經提供了RRC 層、PDCP 層、RLC層、MAC層的解析插件,只需要在協議數據包前加上特殊的解析包頭即可調用解析,看到各個消息的名稱和字段的值。在抓包以后,可以將抓包另存為 pcap文件,方便下次查看。尤其在L1/L2 層集成測試時,MAC/PHY API 接口是處理MAC 層消息,控制并調度PHY物理層鏈路處理的重要接口,MAC/PHY API的高效性和完備性直接影響到物理層處理的效率和正確性。
因此需要編寫能夠解析MAC/PHY API的wireshark網絡封包軟件的插件程序,使得wireshark 能夠顯示兩層接口之間交互的信息,如圖3所示。

在測試L2/L3 層時,可先用以太網模擬PHY 層,網關程序、基站協議棧程序、終端協議棧程序、網絡封包捕獲解析程序分別各自運行在一臺計算機中,通過udpsocket編程來發送MAC層協議數據包,同時將RRC、PD-CP、RLC、MAC 層的協議數據包通過udp socket 編程抄送至網絡封包捕獲程序,網絡封包捕獲程序則監視設定的udp端口來抓取數據。
2.5 調試信息顯示
2.5.1 打印位置
調試信息的打印是測試的關鍵。LTE 系統中傳輸時間間隔(TTI)被定義為1 ms,也就是說1 ms內需要將調度或者收發數據完全處理,每個子幀都有可能需要打印調試信息,將帶給硬件不小的壓力。在單獨測試L2/L3層協議時,可以在計算機上運行程序,目前大部分計算機的性能可以滿足需求,因此調試信息可以直接在窗口中打印。當加入L1層進行集成測試時,嵌入式開發板資源相對比較短缺,大量的I/O操作會嚴重占用CPU使用率,而CPU 與以太網卡的交互速率更快。這里使用的PHY層開發板為飛思卡爾公司生產的BSC9131,專門用于開發家庭基站,CPU 為單核1 GHz,打印信息較多時經常會導致開發板掛掉,解決的方法是應用udpsocket發送機制將調試信息通過以太網發送到計算機,計算機中則編寫簡單的 wireshark解析插件后進行捕獲解析。此方法經過實際項目檢驗有效可行,沒有再出現掛掉的情況。
2.5.2 模塊化多色打印
直接在計算機上顯示時,采用在程序中開發相應的專用打印模塊的方法,不同的優先級打印信息顯示不同的顏色,并且能夠顯示程序運行的狀態、出錯的位置。
在與L1 層集成測試時,同樣可以選擇多彩化打印。
wireshark支持不同的協議或者端口顯示不同的顏色,只需要簡單的設置即可,這給我們調試提供了便利。應用這種方式,在調試信息繁多時可以極大的提高調試效率。圖4為wireshark主窗口多色顯示的結果,從圖4中可見,視覺效果十分明顯。