郭 黎,蘇 新,王 磊
(重慶郵電大學(xué) 通信與信息工程學(xué)院,重慶 400065)
現(xiàn)如今,人們對(duì)短程無線通信的要求越來越高。不久的將來,甚至需要幾十Gbit/s的數(shù)據(jù)速率來滿足高速通信的要求。傳統(tǒng)的無線通信系統(tǒng)(<5 GHz)和毫米波(30~300 GHz)的頻率無法支撐如此高的數(shù)據(jù)速率[1-2],因此人們?cè)谶@種背景下展開了對(duì)太赫茲頻段[3]的探索。
THz頻段的頻率范圍在0.1~10 THz之間[4],不使用大帶寬,可以支持幾十Gbit/s或更高的數(shù)據(jù)傳輸速率。然而,由于太赫茲波在空中的損耗極為嚴(yán)重,使得數(shù)米外的通信變得困難,基于這一特點(diǎn),確定了太赫茲波更適合于短程通信場(chǎng)景,如無線個(gè)人局域網(wǎng)[5]。
由于太赫茲無線網(wǎng)絡(luò)的高傳輸特性,因此需要相關(guān)的MAC協(xié)議來支撐?,F(xiàn)有的IEEE802.15.3c[6]標(biāo)準(zhǔn)和IEEE802.11ad[7]標(biāo)準(zhǔn)適用于高頻段的數(shù)據(jù)傳輸,但是通過比較發(fā)現(xiàn),15.3c在波束賦形上的開銷要小于11ad,所以太赫茲協(xié)會(huì)建議學(xué)者在太赫茲方面的研究基于IEEE802.15.3c標(biāo)準(zhǔn)。
太赫茲無線通信適用于短距離通信,為了增大通信距離,通常采用波束賦形技術(shù)[8],即在某個(gè)方向的發(fā)射/接收功率最大化,而在其他方向上的功率最小化。文獻(xiàn)[9]指出隨著頻率增大,波束變得也越窄,在60 GHz的通信中,如此窄的波束用于波束賦形的話,會(huì)產(chǎn)生大量浪費(fèi)。文獻(xiàn)[10]為了解決這一浪費(fèi),提出一種快速波束賦形方案:首先在低頻段進(jìn)行信道掃描及信令交互,通過在2.4 GHz頻段確定方位角和發(fā)射角大致方位,然后在太赫茲頻段進(jìn)行定向數(shù)據(jù)傳輸,但該方案會(huì)增加設(shè)備成本。
本文基于IEEE802.15.3c標(biāo)準(zhǔn),針對(duì)波束賦形現(xiàn)存的控制開銷大的問題,提出了按需波束賦形的方案,并且在KC705開發(fā)板上加以實(shí)現(xiàn)。
如圖1所示,太赫茲無線個(gè)域網(wǎng)由一個(gè)網(wǎng)絡(luò)的協(xié)調(diào)器(PNC)和多個(gè)網(wǎng)絡(luò)中的設(shè)備(DEV)組成。PNC主要負(fù)責(zé)整個(gè)網(wǎng)絡(luò)的管理以及時(shí)隙的分配:DEV可以在PNC的控制下,進(jìn)行入網(wǎng)、數(shù)據(jù)傳輸?shù)炔僮鳌?/p>
圖1 網(wǎng)絡(luò)拓?fù)銯ig.1 Network topology
太赫茲無線個(gè)域網(wǎng)的網(wǎng)絡(luò)運(yùn)行時(shí)間由首尾相連的超幀組成,其中超幀由3個(gè)時(shí)間段組成,如圖2所示,分別為Beacon時(shí)段、CAP時(shí)段以及CTAP時(shí)段。網(wǎng)絡(luò)中的設(shè)備在這3個(gè)時(shí)段內(nèi)進(jìn)行不同的操作。
圖2 超幀結(jié)構(gòu)Fig.2 Superframe structure
在Beacon時(shí)段內(nèi),PNC旋轉(zhuǎn)天線,循環(huán)發(fā)送Beacon幀。Beacon幀的作用主要是為了使周圍的DEV知道網(wǎng)絡(luò)的存在,以及同步整個(gè)網(wǎng)絡(luò)。在CAP時(shí)段,想要入網(wǎng)的設(shè)備首先需要向PNC申請(qǐng)入網(wǎng),PNC根據(jù)網(wǎng)絡(luò)資源允許或不允許其入網(wǎng)。之后,入網(wǎng)后的設(shè)備想與網(wǎng)絡(luò)中的某個(gè)設(shè)備通信,還需要向PNC申請(qǐng)時(shí)隙。在CTAP時(shí)段,各DEV根據(jù)PNC分配的時(shí)隙,在里面進(jìn)行數(shù)據(jù)的傳輸。
本設(shè)計(jì)采用的硬件平臺(tái)是Xilinx公司推出的K系列開發(fā)板KC705,由于經(jīng)費(fèi)原因,本設(shè)計(jì)實(shí)現(xiàn)的是端到端的太赫茲無線通信。但是設(shè)計(jì)的MAC協(xié)議是參照IEEE802.15.3c標(biāo)準(zhǔn)實(shí)現(xiàn)的,所以適用于多DEV的應(yīng)用場(chǎng)景。圖3為其系統(tǒng)框圖。
圖3 系統(tǒng)設(shè)計(jì)框圖Fig.3 System design block diagram
其中,PCIE接口接收來自上層的數(shù)據(jù),然后根據(jù)PCIE的相關(guān)協(xié)議,將其轉(zhuǎn)換成MSDU單元,以便MAC協(xié)議模塊能夠識(shí)別。在上行鏈路通信過程中,MAC模塊將數(shù)據(jù)發(fā)送至PCIE接口處,由PCIE模塊將數(shù)據(jù)轉(zhuǎn)換成TTL格式的數(shù)據(jù)包,之后將TTL數(shù)據(jù)包發(fā)送到PC機(jī)。GTX接口部分主要用到了GTX的IP核,其目的是為了進(jìn)行高速的數(shù)據(jù)傳輸,以便模擬出太赫茲高速的數(shù)據(jù)傳輸特性。對(duì)于MAC模塊的數(shù)據(jù),GTX模塊進(jìn)行并串、預(yù)加重及D/A轉(zhuǎn)換等操作,然后送到物理介質(zhì)層;在下行鏈路通信過程中,GTX模塊接收物理介質(zhì)層傳輸?shù)男盘?hào),之后在GTX模塊,對(duì)這些信號(hào)進(jìn)行A/D轉(zhuǎn)換、均衡及串并轉(zhuǎn)換等操作,最終將處理好的數(shù)據(jù)發(fā)送至MAC模塊。
緩存模塊包含應(yīng)用層時(shí)鐘信號(hào)、復(fù)位信號(hào)、寫數(shù)據(jù)接口以及讀數(shù)據(jù)接口等信號(hào),如圖4所示。其主要功能是將網(wǎng)絡(luò)層PCIe接口傳輸?shù)囊曨l數(shù)據(jù)進(jìn)行暫存,同時(shí)進(jìn)行大量數(shù)據(jù)幀的跨時(shí)鐘傳輸,實(shí)現(xiàn)了應(yīng)用層的時(shí)鐘頻率和發(fā)送數(shù)據(jù)通路的時(shí)鐘頻率之間的轉(zhuǎn)換,防止數(shù)據(jù)發(fā)生亞穩(wěn)態(tài)錯(cuò)誤,保證了數(shù)據(jù)傳輸?shù)臏?zhǔn)確性,緩存模塊主要由buffer和一個(gè)異步先入先出模塊組成。
圖4 緩存模塊Fig.4 Cache module
發(fā)送模塊如圖5所示,其包含 3個(gè)子模塊??刂葡⑸赡K的主要功能是請(qǐng)求幀和回復(fù)幀控制消息的生成;數(shù)據(jù)聚合幀生成模塊的主要功能是當(dāng)d_frame_tx_start接口信號(hào)置高時(shí),緩存數(shù)據(jù)開始寫入,然后將數(shù)據(jù)緩存中的數(shù)據(jù)幀進(jìn)行幀聚合,接著將聚合后的數(shù)據(jù)幀通過物理層GTX接口進(jìn)行發(fā)送;Beacon幀生成模塊的主要功能是生成協(xié)議中的Beacon幀,然后將生成的Beacon幀通過s_frame_tx_dat發(fā)送接口進(jìn)行發(fā)送。
圖5 發(fā)送模塊Fig.5 Transmission module
Beacon幀生成模塊主要用于將MAC協(xié)議收到的Beacon幀進(jìn)行重新組合,將其加入幀頭,然后通過CRC校驗(yàn),在幀的尾部插入校驗(yàn)序列,生成的Beacon幀準(zhǔn)備發(fā)送到GTX接口處。而Beacon幀生成模塊的另一個(gè)作用是用來生成超幀結(jié)構(gòu),然后將超幀結(jié)構(gòu)發(fā)往每個(gè)模塊,用于對(duì)每個(gè)模塊進(jìn)行同步。
數(shù)據(jù)聚合幀生成模塊由Buffer模塊和FIFO模塊兩個(gè)部分組成。Buffer模塊對(duì)PCIe接口傳輸?shù)腗SDU數(shù)據(jù)單元進(jìn)行暫存,F(xiàn)IFO則對(duì)MSDU第一個(gè)雙字節(jié)的單元長(zhǎng)度信息進(jìn)行了緩存,這樣就將MSDU數(shù)據(jù)單元的長(zhǎng)度信息與數(shù)據(jù)進(jìn)行了分離,方便幀聚合模塊對(duì)PCIe接口傳輸?shù)臄?shù)據(jù)單元進(jìn)行幀聚合操作。根據(jù)長(zhǎng)度信息和數(shù)據(jù)部分進(jìn)行計(jì)算得到需要傳輸?shù)淖訋瑐€(gè)數(shù),然后將子幀個(gè)數(shù)寫入到MAC header中。同時(shí),將FIFO暫存的長(zhǎng)度信息寫入到MSDU Suheader中,對(duì)所有的子幀頭部進(jìn)行組幀生成聚合幀頭部,然后將buffer模塊中的數(shù)據(jù)負(fù)載添加到聚合頭部之后進(jìn)行聚合幀。最后,將聚合幀通過物理接口進(jìn)行發(fā)送。
控制消息生成模塊的主要功能是生成在MAC協(xié)議運(yùn)行時(shí)的各種控制消息,如ACK消息、入網(wǎng)請(qǐng)求消息及時(shí)隙申請(qǐng)消息等。該模塊根據(jù)MAC協(xié)議控制模塊發(fā)送過來的幀類型進(jìn)行判斷,然后將消息進(jìn)行校驗(yàn),再將校驗(yàn)結(jié)果一并插入到幀的尾部,最后將整個(gè)消息,以每個(gè)時(shí)鐘周期32 bit的速率發(fā)送到GTX接口處。
接收模塊主要包括Beacon解析模塊、數(shù)據(jù)幀解聚合模塊和控制消息解析模塊,其主要作用是為了解析發(fā)送模塊發(fā)送過來的控制消息和數(shù)據(jù)消息,此過程是發(fā)送模塊的逆過程,在此不再贅述。圖6為接收模塊的實(shí)現(xiàn)圖,使用Vivado軟件進(jìn)行設(shè)計(jì)。
圖6 接收模塊Fig.6 Receiving module
波束賦形模塊是在MAC協(xié)議模塊里實(shí)現(xiàn)的,如圖7所示。該模塊采用狀態(tài)機(jī)機(jī)制,首先是Beam狀態(tài),在此狀態(tài)下,對(duì)每個(gè)方向進(jìn)行波束訓(xùn)練操作,與標(biāo)準(zhǔn)不同的是,該模塊是根據(jù)節(jié)點(diǎn)的歷史消息,選擇性地發(fā)送波束訓(xùn)練幀,即只在目的節(jié)點(diǎn)的方向發(fā)送波束訓(xùn)練幀,對(duì)于其他方向,則不發(fā)送訓(xùn)練幀。然后進(jìn)入Send狀態(tài),該狀態(tài)是目的節(jié)點(diǎn)回復(fù)源節(jié)點(diǎn)的訓(xùn)練幀,之后進(jìn)入Success狀態(tài),該狀態(tài)表明源節(jié)點(diǎn)與目的節(jié)點(diǎn)已經(jīng)完成波束賦形訓(xùn)練操作。
圖7 MAC協(xié)議控制模塊Fig.7 MAC protocol control module
Vivado軟件是Xilinx公司推出的一款針對(duì)其FPGA產(chǎn)品的設(shè)計(jì)工具。Vivado 設(shè)計(jì)套件采用了用于快速綜合和驗(yàn)證C 語言算法IP 的ESL 設(shè)計(jì),實(shí)現(xiàn)重用的標(biāo)準(zhǔn)算法和RTL IP 封裝技術(shù),標(biāo)準(zhǔn)IP 封裝和各類系統(tǒng)構(gòu)建模塊的系統(tǒng)集成,模塊和系統(tǒng)驗(yàn)證的仿真速度提高3倍,與此同時(shí),硬件協(xié)仿真性能提100倍[11]。將MAC協(xié)議模塊以及接口模塊在Vivado上進(jìn)行設(shè)計(jì)與實(shí)現(xiàn),然后將生成的比特流文件燒錄到KC705開發(fā)板上,然后搭建如圖8的硬件平臺(tái)進(jìn)行數(shù)據(jù)通信測(cè)試。為了測(cè)試設(shè)計(jì)的MAC協(xié)議的性能,使用了帶有Linux系統(tǒng)的上位機(jī)。在Linux平臺(tái)上,首先使用pin工具,分別測(cè)試采用原始標(biāo)準(zhǔn)協(xié)議和新協(xié)議的端到端時(shí)延,如圖9和圖10所示。
圖8 硬件測(cè)試平臺(tái)Fig.8 Hardware test platform
圖9 IEEE802.15.3c協(xié)議端到端時(shí)延Fig.9 End to end delay of IEEE802.15.3c protocol
圖10 新協(xié)議端到端時(shí)延Fig.10 End to end delay of new protocol
由測(cè)試結(jié)果可知,新協(xié)議的端到端平均網(wǎng)絡(luò)時(shí)延約為0.284 ms。對(duì)比兩個(gè)結(jié)果可以看出新協(xié)議的平均端到端時(shí)延要小于標(biāo)準(zhǔn)協(xié)議。主要是因?yàn)樾聟f(xié)議采用了波束賦形新機(jī)制,使得波束賦形時(shí)間減少,從而減小了端到端時(shí)延。
在Linux平臺(tái)上使用GTK測(cè)速軟件進(jìn)行吞吐量的測(cè)試,測(cè)試結(jié)果如圖11和圖12所示。結(jié)果表明,新協(xié)議在帶寬不低于3.0 Gbit/s下,平均數(shù)據(jù)傳輸速率能夠達(dá)到約2.70 Gbit/s。對(duì)比兩組結(jié)果可知,新協(xié)議的吞吐量明顯高于IEEE802.15.3c標(biāo)準(zhǔn)協(xié)議,主要是因?yàn)樾聟f(xié)議在波束賦形過程中,只對(duì)特定方向發(fā)送訓(xùn)練幀,從而使得節(jié)點(diǎn)間能夠更快地將天線對(duì)準(zhǔn)彼此,進(jìn)而單位時(shí)間內(nèi)傳輸?shù)臄?shù)據(jù)更多,所以其吞吐量有較大改善。之后又重復(fù)性地繼續(xù)進(jìn)行多組實(shí)驗(yàn),得到結(jié)果統(tǒng)計(jì)如圖13所示。
圖11 IEEE802.15.3c吞吐量Fig.11 IEEE802.15.3c throughput
圖12 新MAC協(xié)議吞吐量Fig.12 Throughput of new MAC Protocol
圖13 新MAC協(xié)議吞吐量統(tǒng)計(jì)Fig.13 Throughput statistics of new MAC Protocol
從圖13中可以看出,在多組不同的時(shí)間參數(shù)下,數(shù)據(jù)的吞吐量穩(wěn)定在2.7 Gbit/s以上,說明所設(shè)計(jì)的MAC協(xié)議性能較穩(wěn)定。
本設(shè)計(jì)通過FPGA實(shí)現(xiàn)了太赫茲無線個(gè)域網(wǎng)的MAC協(xié)議,并且針對(duì)IEEE802.15.3c的不足之處作出相應(yīng)改進(jìn),隨后分別在Linux上位機(jī)上測(cè)試了標(biāo)準(zhǔn)協(xié)議和新協(xié)議的相關(guān)性能。實(shí)驗(yàn)結(jié)果表明,所設(shè)計(jì)的協(xié)議無論是在端到端時(shí)延方面,還是在網(wǎng)絡(luò)吞吐量方面都有極大的改善。本文只是針對(duì)太赫茲MAC協(xié)議的部分進(jìn)行了設(shè)計(jì)與實(shí)現(xiàn),對(duì)于太赫茲的其他應(yīng)用場(chǎng)景暫未考慮進(jìn)去,比如空間復(fù)用的情況,后面的工作將對(duì)空間復(fù)用進(jìn)行研究并實(shí)現(xiàn)。