徐智 丁洪偉 楊志軍 何敏 保利勇 柳虔林
摘 要: 為了解決無線電應(yīng)用需求與日益稀缺的頻譜資源的矛盾,認(rèn)知無線網(wǎng)絡(luò)技術(shù)應(yīng)運而生。根據(jù)無線網(wǎng)絡(luò)節(jié)點工作特點,以現(xiàn)場可編程門陣列(FPGA)硬件電路為實驗研究平臺,首次對認(rèn)知無線網(wǎng)絡(luò)中雙優(yōu)先級MAC協(xié)議進(jìn)行設(shè)計和實現(xiàn)。該設(shè)計充分運用FPGA的靈活性,采用硬件描述語言Verilog HDL和原理圖相結(jié)合的方法,使用QuartusⅡ9.0 進(jìn)行電路設(shè)計。通過對電路系統(tǒng)統(tǒng)計值與理論值比較,證實該設(shè)計具有實時性好、可靠性高、可移植性強(qiáng)等特點,能夠有效減少系統(tǒng)節(jié)點能耗,提高系統(tǒng)吞吐率,可應(yīng)用于無線網(wǎng)絡(luò)。
關(guān)鍵詞: 認(rèn)知無線網(wǎng)絡(luò); 現(xiàn)場可編程門陣列; 雙優(yōu)先級MAC協(xié)議; 原理圖; 節(jié)點能耗; 吞吐率
中圖分類號: TN913?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2018)17?0034?06
Abstract: The cognitive wireless network technology came into being to solve the contradiction between radio application demand and increasingly?scarce spectrum resources. According to the operating characteristics of the wireless network node, the field programmable gate array (FPGA) hardware circuit is used as the experimental platform to design and implement the dual?priority MAC protocol in the cognitive wireless network. The method combining hardware description language Verilog HDL and schematic diagram, and Quartus Ⅱ 9.0 are used to design the circuit by making the full use of FPGA flexibility. By comparing the theoretical value and statistic value of the circuit system, it is proved that the design has the characteristics of perfect real?time performance, high reliability and strong portability, can effectively reduce the energy consumption of the system nodes and improve the throughput of the system, and can be applied to the wireless network.
Keywords: cognitive wireless network; field programmable gate array; dual?priority MAC protocol; schematic diagram; node energy consumption; throughput
認(rèn)知無線網(wǎng)絡(luò)[1]的核心是分配、管理和利用割裂的頻譜資源,從而進(jìn)行動態(tài)調(diào)配,而這些割裂的頻譜資源就形成了多個信道,因此認(rèn)知無線網(wǎng)絡(luò)中的MAC協(xié)議主要是基于多信道的MAC協(xié)議。這些協(xié)議完成的主要工作是獲取網(wǎng)絡(luò)信息,為不同的通信節(jié)點分配相應(yīng)的信道,消除數(shù)據(jù)分組之間的沖突,使盡量多的節(jié)點可以共用網(wǎng)絡(luò)資源同時進(jìn)行通信。
而在認(rèn)知無線網(wǎng)絡(luò)環(huán)境下的MAC協(xié)議中,CSMA方案能夠在較大程度上避免發(fā)送節(jié)點之間的沖突,提高信道傳輸效率,減少節(jié)點能耗。文獻(xiàn)[2?3]中以Matlab為實驗平臺,針對CSMA協(xié)議的相關(guān)理論進(jìn)行分析,這樣的研究方式僅能對理論結(jié)果進(jìn)行驗證,并沒有在仿真實驗過程中體現(xiàn)協(xié)議的控制原理與數(shù)據(jù)實時傳輸?shù)倪^程。FPGA技術(shù)在許多領(lǐng)域均有廣泛的應(yīng)用,特別是在無線通信領(lǐng)域,由于具有極強(qiáng)的實時性,使其對信號進(jìn)行實時處理成為可能;由于它是通過面向芯片結(jié)構(gòu)指令的軟件編程來實現(xiàn)其功能的,因此僅修改軟件代碼而不需改硬件平臺就可以改進(jìn)系統(tǒng)原有設(shè)計方案或原有功能,因而具有極大的靈活性;又由于FPGA并非專門為某種功能進(jìn)行設(shè)計,因而使用范圍廣、產(chǎn)量大、價格低,所以FPGA在無線通信系統(tǒng)研究中大量應(yīng)用,促進(jìn)了無線通信的發(fā)展。文獻(xiàn)[4?5]中以FPGA為實驗平臺,為單通道CSMA協(xié)議提供一種電路實現(xiàn)方案,但該方案僅通過偽隨機(jī)碼生成近似泊松分布的信源信號,且整個設(shè)計都依靠電路完成,實驗參數(shù)不宜更改,重塑性難度很大,實現(xiàn)精準(zhǔn)性較差,因此該硬件設(shè)計方案并不理想。
綜合上述應(yīng)用與研究現(xiàn)狀,本文結(jié)合Matlab與Quartus Ⅱ兩種工具搭建實驗平臺,不僅設(shè)計出滿足協(xié)議要求的信源模塊,并且結(jié)合Quartus Ⅱ電路模塊化設(shè)計的特點,在電路系統(tǒng)模塊中充分體現(xiàn)雙優(yōu)先級概率檢測CSMA協(xié)議算法的控制原理與傳輸過程,設(shè)計出雙優(yōu)先級數(shù)據(jù)傳輸系統(tǒng)。最終系統(tǒng)測試的統(tǒng)計值結(jié)果與理論值一致,且該系統(tǒng)在吞吐量與節(jié)點能耗兩方面均優(yōu)于其他多項MAC協(xié)議,證實了其優(yōu)秀的通信性能。
吞吐量是系統(tǒng)單位時間內(nèi)成功傳送數(shù)據(jù)的數(shù)量,而節(jié)點平均功率是系統(tǒng)能量消耗的一個標(biāo)志。本文基于FPGA對雙優(yōu)先級概率檢測CSMA協(xié)議接入的系統(tǒng)進(jìn)行研究,首先從吞吐量和節(jié)點能耗兩個方面進(jìn)行理論分析。
1.1 吞吐量分析
概率檢測CSMA協(xié)議原理為:當(dāng)節(jié)點準(zhǔn)備發(fā)送數(shù)據(jù)時,會先對信道進(jìn)行監(jiān)聽,當(dāng)信道處于空閑時,則節(jié)點將在下一個時隙的起始時刻立即發(fā)送數(shù)據(jù),當(dāng)信道忙碌時則以概率[P]偵聽信道狀態(tài),等到信道空閑再進(jìn)行發(fā)送。
圖1是概率檢測CSMA協(xié)議模型。其中U,B,I分別代表信道的三種狀態(tài):信息發(fā)送成功、信息碰撞、信道空閑。TP表示一個信息分組的發(fā)送時間,BU表示信息分組發(fā)送成功和產(chǎn)生碰撞的聯(lián)合事件;[Tn]表示出現(xiàn)忙時間周期和空閑時間周期的一個循環(huán)周期。在實際的通信系統(tǒng)中,存在著多種業(yè)務(wù)類型,根據(jù)這些業(yè)務(wù)的不同特點設(shè)置兩種優(yōu)先級,同時在通信系統(tǒng)中提供兩個信道給終端節(jié)點隨機(jī)占用,且規(guī)定終端采用概率檢測CSMA隨機(jī)多址接入技術(shù)。
圖2為雙優(yōu)先級系統(tǒng)接入模型,系統(tǒng)中有兩個優(yōu)先級,并且提供兩個通道進(jìn)行數(shù)據(jù)傳輸。優(yōu)先級的順序從低到高依次為優(yōu)先級1、優(yōu)先級2,其中每個優(yōu)先級的用戶個數(shù)不限。若某用戶處于優(yōu)先級2,那么其業(yè)務(wù)固定占用信道1與信道2。而優(yōu)先級[y]在通道[x]上的到達(dá)率則為[λxN-x+1]。
1) 每條信道接入的方式為概率檢測CSMA協(xié)議,并且在信道[x]上的信息分組到達(dá)過程都滿足獨立參數(shù)為[λx]的泊松分布[(x≤]2);
2) 信道空閑的時隙長度為[a],有分組發(fā)送時的時隙長度為單位長度1,為[a]的整數(shù)倍;
3) 碰撞或放棄發(fā)送的信息分組將在后面某時刻進(jìn)行重傳,重傳的分組對信道的到達(dá)過程沒有影響。
4) 若此時系統(tǒng)負(fù)載均衡,每條信道上信息總到達(dá)率均為[λ=λ1=λ2]。
根據(jù)泊松分布的規(guī)律,首先求解信道2中分組成功發(fā)送事件[U2]的平均長度[E(U2)]:
對于雙優(yōu)先級概率檢測CSMA控制協(xié)議下的通道2而言,僅有優(yōu)先級2的信息分組在發(fā)送,而分組成功發(fā)送分為以下兩種情況:
1) 空閑期的最后一個時隙一個信息分組到達(dá),并且在下個時隙立即發(fā)送,該事件平均時隙數(shù)為:
綜上所述,雙優(yōu)先級概率檢測CSMA系統(tǒng)的總吞吐量表達(dá)式為:[S=S1+S2]。
1.2 節(jié)點能耗分析
為了求得系統(tǒng)功耗的數(shù)學(xué)表達(dá)式,對發(fā)送終端節(jié)點的三種不同狀態(tài)下所需功率進(jìn)行設(shè)定:
1) 處于發(fā)送狀態(tài)時功率為[Ps];
2) 處于偵聽狀態(tài)時功率為[Pl];
3) 處于接收狀態(tài)時功率為[Pr]。
系統(tǒng)設(shè)計充分運用Quartus Ⅱ的模塊化設(shè)計特點,整個電路系統(tǒng)分為:泊松信源模塊、狀態(tài)分類模塊、跳讀模塊、優(yōu)先級爭用模塊、吞吐量檢測模塊。
2.1 泊松信源模塊
眾所周知,在硬件電路中生成滿足泊松分布的信源信號是非常難的。現(xiàn)有的基于FPGA設(shè)計的MAC協(xié)議中基本是由偽隨機(jī)序列生成近似泊松分布的數(shù)據(jù)信號,這就勢必會造成協(xié)議實現(xiàn)的不準(zhǔn)確性。
圖3是泊松信源模塊,該模塊首先由Matlab中的Poissrnd函數(shù)產(chǎn)生泊松序列,然后將該泊松序列保存為Quartus Ⅱ中IP內(nèi)核ROM可讀取的文件格式,最后將ROM存儲的泊松數(shù)據(jù)流經(jīng)過八分頻時鐘轉(zhuǎn)換生成擬定的信息狀態(tài)數(shù)據(jù)(例:0000_0001代表信道空閑,0000_0110代表數(shù)據(jù)發(fā)送成功,0000_0111代表信息沖突),滿足協(xié)議要求的泊松信源數(shù)據(jù)就成功引入到電路中。采用這種數(shù)據(jù)產(chǎn)生方式可在Matlab程序中調(diào)整泊松函數(shù)的到達(dá)率[λ]的值,便于電路系統(tǒng)的仿真測試。
2.2 狀態(tài)分類模塊
經(jīng)過ROM存儲和八位映射關(guān)系轉(zhuǎn)換后,Matlab中的泊松數(shù)據(jù)流成功引入到電路中,但是此處的信息數(shù)據(jù)時隙長度相等,都是八位位寬,這并不滿足1.1節(jié)吞吐量分析中不同狀態(tài)時隙長度的倍數(shù)關(guān)系。
圖4是狀態(tài)分類模塊,該模塊由異步FIFO和反饋計數(shù)器組成。異步FIFO具有一定的存儲功能,在保持寫使能處于高電平,而讀使能從高電平變?yōu)榈碗娖綍r,輸出的信息會保持最后時刻讀到的數(shù)值。根據(jù)異步FIFO這一工作特性,當(dāng)反饋計數(shù)器檢測到異步FIFO信息流數(shù)據(jù)為非空閑數(shù)據(jù)時,立即將低電平信號給予讀使能,這樣異步FIFO讀出的數(shù)據(jù)就會暫停為當(dāng)前非空閑數(shù)據(jù)。與此同時,通過設(shè)置計數(shù)器數(shù)值來控制恢復(fù)讀使能的時間,這個時間就是忙碌事件的時隙長度,從而實現(xiàn)不同狀態(tài)時隙長度可控的功能,產(chǎn)生滿足協(xié)議要求的數(shù)據(jù)流。
2.3 優(yōu)先級爭用模塊
在雙優(yōu)先級接入模型中已知優(yōu)先級1與優(yōu)先級2均在信道1上進(jìn)行數(shù)據(jù)傳輸,因此信道1上存在著信道爭用的問題。
如表2所示,將(1,6,7)和(2,8,9)分別表示優(yōu)先級1與優(yōu)先級2的三種數(shù)據(jù)狀態(tài)。當(dāng)兩個優(yōu)先級都無數(shù)據(jù)時,則信道1為空閑狀態(tài);當(dāng)兩優(yōu)先級中有一個為單一數(shù)據(jù)到達(dá)另一個為無數(shù)據(jù)時,則信道1為成功發(fā)送狀態(tài);其余實時情況均為信道1信息沖突,這樣便體現(xiàn)信道爭用的狀況。
2.4 跳讀模塊
依據(jù)雙優(yōu)先級概率檢測協(xié)議傳輸原理可知在信道2上僅有優(yōu)先級2傳輸數(shù)據(jù)。因此為了在電路設(shè)計中實現(xiàn)單通道上的信息分組競爭,體現(xiàn)這兩種事件,將一個信息站點分為空閑站點和忙碌站點。這兩個站點數(shù)據(jù)分別來自Matlab中的兩個泊松數(shù)據(jù)流,到達(dá)率分別為[λ1,λ2],且[λ1+λ2=λo],這樣一個到達(dá)率為[λo]的泊松數(shù)據(jù)站點便生成了。而選擇讀取模塊根據(jù)偵聽到信道總線上實時數(shù)據(jù)[(I,U,B)]來跳讀空閑或忙碌站點的信息數(shù)據(jù),這樣系統(tǒng)既完成了監(jiān)聽信道的功能又實現(xiàn)了單通道上信息分組競爭狀態(tài)。
2.5 吞吐量檢測模塊
在該FPGA電路系統(tǒng)中,可通過統(tǒng)計系統(tǒng)中兩個信道上吞吐量的方法統(tǒng)計協(xié)議實際工作的吞吐量,即統(tǒng)計系統(tǒng)各個信道上在仿真時間內(nèi)成功發(fā)送的數(shù)據(jù)時隙與系統(tǒng)總仿真時隙的比值。這一模塊由檢測計數(shù)器組成,該計數(shù)器濾過空閑數(shù)據(jù)與碰撞數(shù)據(jù),直接統(tǒng)計兩個信道上數(shù)據(jù)成功發(fā)送時隙的個數(shù)。吞吐率計算方式如下:
2.6 系統(tǒng)頂層設(shè)計
依據(jù)FPGA自頂向下的設(shè)計特點,將泊松信源模塊、狀態(tài)分類模塊、優(yōu)先級爭用模塊、跳讀模塊、吞吐量檢測模塊連接構(gòu)成系統(tǒng)。
圖5為系統(tǒng)頂層設(shè)計圖,Matlab中Poissrnd函數(shù)產(chǎn)生4個不同的泊松數(shù)據(jù)源,經(jīng)過泊松信源模塊后成功將泊松數(shù)據(jù)引入到Quartus Ⅱ設(shè)計的電路中,再經(jīng)過狀態(tài)分類模塊對不同狀態(tài)的數(shù)據(jù)時隙長度進(jìn)行控制,從而生成各優(yōu)先級數(shù)據(jù)。其中,優(yōu)先級1與優(yōu)先級2_1在信道1上經(jīng)過優(yōu)先級爭用模塊控制后進(jìn)行數(shù)據(jù)傳輸,優(yōu)先級2_2(空閑)與優(yōu)先級2_2(忙碌)在信道2上經(jīng)過跳讀模塊后進(jìn)行傳輸。最終信道1與信道2的成功發(fā)送數(shù)據(jù)都被吞吐量檢測模塊進(jìn)行計數(shù)統(tǒng)計。
系統(tǒng)測試主要針對雙優(yōu)先級概率檢測CSMA中吞吐量與節(jié)點能耗兩方面進(jìn)行。其中以第二節(jié)中推導(dǎo)的協(xié)議理論表達(dá)式算出的值為檢驗標(biāo)準(zhǔn)。實驗過程中信息分組到達(dá)率[λ]值在Matlab的泊松函數(shù)中進(jìn)行設(shè)定;信道狀態(tài)不同時隙長度的數(shù)值關(guān)系可以在狀態(tài)分類模塊中的計數(shù)器程序中調(diào)整。實驗仿真參數(shù)設(shè)置如表3所示。
表2已設(shè)定(0,6,7)和(1,8,9)分別代表優(yōu)先級1與優(yōu)先級2_1的3種數(shù)據(jù)到達(dá)狀態(tài),圖6為經(jīng)過狀態(tài)分類模塊處理后的數(shù)據(jù),do1與do2分別代表優(yōu)先級1與優(yōu)先級2_1的實時數(shù)據(jù),其中空閑數(shù)據(jù)0與1的時隙長度明顯與非空閑數(shù)據(jù)6,7,8,9有著整數(shù)倍數(shù)關(guān)系,這與設(shè)計的初衷是相符的。系統(tǒng)測試結(jié)果如圖7所示,該系統(tǒng)測試在表3仿真參數(shù)條件下進(jìn)行,do1與do2為信道1與信道2上的實時傳輸數(shù)據(jù),C1_U與C2_U分別為信道1與信道2上數(shù)據(jù)傳輸成功狀態(tài)的時隙個數(shù),分別為3 326,3 347。經(jīng)計算,系統(tǒng)信道1與信道2吞吐量的仿真值分別為0.483 7和0.486 8,與理論值0.483 5一致;優(yōu)先級2的測試值為0.728 6,與理論值0.725 3一致。根據(jù)系統(tǒng)吞吐量仿真值可計算系統(tǒng)仿真過程中節(jié)點平均功率值為17.36 mW,與理論值17.34 mW一致,證明了該協(xié)議設(shè)計正確。
雙優(yōu)先級概率檢測CSMA與其他協(xié)議系統(tǒng)的吞吐量理論值與統(tǒng)計值的對比如圖8所示,各MAC層協(xié)議硬件測試的吞吐量統(tǒng)計值點均在理論值曲線上。從圖8中可清晰看到,雙優(yōu)先級概率檢測CSMA協(xié)議不僅有著較高的吞吐量,并且在系統(tǒng)到達(dá)率增大的情況下能保持較高的吞吐量,展現(xiàn)了其較強(qiáng)的穩(wěn)定性與實用性。在系統(tǒng)平均功率的測試中,根據(jù)已設(shè)定的條件經(jīng)仿真得到雙優(yōu)先級概率檢測CSMA與其他協(xié)議系統(tǒng)節(jié)點平均功率的對比如圖9所示。從圖9中可觀察到,在系統(tǒng)到達(dá)率變化范圍內(nèi),系統(tǒng)平均功率統(tǒng)計值均在理論值曲線上,雙優(yōu)先級概率檢測CSMA協(xié)議系統(tǒng)整體節(jié)點平均功率較低,證實了該協(xié)議能夠有效降低通信系統(tǒng)的能耗。
本文在認(rèn)知無線網(wǎng)絡(luò)背景下,根據(jù)無線傳感器網(wǎng)絡(luò)節(jié)點的工作特點和實際需求,運用FPGA對多通道MAC協(xié)議中的雙優(yōu)先級概率檢測CSMA控制策略接入的系統(tǒng)進(jìn)行電路設(shè)計。該電路不僅結(jié)合Matlab與Quartus Ⅱ兩種軟件,將泊松數(shù)據(jù)流引入到電路中,同時根據(jù)通信協(xié)議算法特點,將其工作原理映射到電路系統(tǒng)中,展現(xiàn)雙優(yōu)先級數(shù)據(jù)傳輸過程。經(jīng)過實驗仿真測試,在所設(shè)定的仿真條件下,系統(tǒng)吞吐量與節(jié)點平均功率仿真值與理論值一致,性能優(yōu)于其他多種MAC協(xié)議,證實了該設(shè)計的準(zhǔn)確性、穩(wěn)定性與有效性。FPGA作為硬件化的一種表現(xiàn),通過其實現(xiàn)通信協(xié)議算法,能夠?qū)F(xiàn)實中的節(jié)點傳輸過程在硬件的并行電路上實現(xiàn),是一個從理論聯(lián)系到實踐的過程,對提高通信協(xié)議算法理論認(rèn)識有較大的幫助,為通信協(xié)議研究與實現(xiàn)提供了參考。
注:本文通訊作者為丁洪偉。
參考文獻(xiàn)
[1] 魏急波,王杉,趙海濤.認(rèn)知無線網(wǎng)絡(luò):關(guān)鍵技術(shù)與研究現(xiàn)狀[J].通信學(xué)報,2011,32(11):147?158.
WEI Jibo, WANG Shan, ZHAO Haitao. Cognitive wireless networks: key technologies and research status [J]. Journal of communications, 2011, 32(11): 147?158.
[2] 譚明川.基于概率檢測的CSMA/CA無線傳感器網(wǎng)絡(luò)協(xié)議及控制電路分析[D].昆明:云南大學(xué),2011.
TAN Mingchuan. Analysis of protocol and control circuit of CSMA/CA wireless sensor network based on probability detection [D]. Kunming: Yunnan University, 2011.
[3] DING H, GUO Y, ZHAO Y, et al. Research on the multi?channel probability detection CSMA protocol with sensor monitoring function [J]. Sensor letters, 2015, 13(2): 143?146.
[4] LIU Z G, DING H W, XIONG J L, et al. FPGA?based design of P?detection 1?persistent CSMA control system [J]. Applied mechanics & materials, 2014, 602: 933?936.
[5] 劉正綱.WSN中二叉樹沖突分解DP?CSMA/CA協(xié)議的FPGA控制系統(tǒng)設(shè)計與實現(xiàn)[D].昆明:云南大學(xué),2015.
LIU Zhenggang. Design and implementation of FPGA control system based on binary tree collision resolution DP?CSMA/CA protocol in WSN [D]. Kunming: Yunnan University, 2015.
[6] 周圣杰,丁洪偉,楊志軍,等.自適應(yīng)三維概率CSMA控制策略研究[J].電子學(xué)報,2017,45(2):440?445.
ZHOU Shengjie, DING Hongwei, YANG Zhijun, et al. Adaptive three?dimensional probabilistic CSMA control strategy [J]. Acta electronica Sinica, 2017, 45(2): 440?445.
[7] 夏宇聞.Verilog數(shù)字系統(tǒng)設(shè)計教程[M].北京:北京航空航天大學(xué)出版社,2008.
XIA Yuwen. Verilog digital system design tutorial [M]. Beijing: Beijing University of Aeronautics and Astronautics Press, 2008.
[8] 田耘.無線通信FPGA設(shè)計[M].北京:電子工業(yè)出版社,2008.
TIAN Yun. Wireless communication FPGA design [M]. Beijing: Electronics Industry Press, 2008.
[9] 丁洪偉,趙東風(fēng),黃毛毛.新型隨機(jī)多址接入無線傳感器網(wǎng)絡(luò)MAC控制協(xié)議與能量有效性分析[J].通信學(xué)報,2010,31(2):51?57.
DING Hongwei, ZHAO Dongfeng, HUANG Maomao. MAC control protocol and energy efficiency analysis for a novel random multiple access wireless sensor network [J]. Journal of communications, 2010, 31(2): 51?57.
[10] 李朋舉.OCR?MAC:一種新的基于CSMA的無線傳感器網(wǎng)絡(luò)MAC協(xié)議[J].電子設(shè)計工程,2014,22(23):154?157.
LI Pengju. OCR?MAC: a new MAC protocol based on CSMA for wireless sensor networks [J]. Electronic design enginee?ring, 2014, 22(23): 154?157.
[11] 陳洲廷,趙東風(fēng),蔣慕蓉.連續(xù)與離散時間混合控制的多通道隨機(jī)多址接入Ad Hoc網(wǎng)絡(luò)協(xié)議分析[J].云南大學(xué)學(xué)報(自然科學(xué)版),2009,31(5):463?469.
CHEN Zhouting, ZHAO Dongfeng, JIANG Murong. Multi?channel random multiple access Ad Hoc network protocol analysis with continuous and discrete time hybrid control [J]. Journal of Yunnan University (natural science), 2009, 31(5): 463?469.