淡江
(杭州海康威視數(shù)字技術(shù)股份有限公司,浙江杭州 310000)
Wi-Fi 是迄今最為普遍應(yīng)用的無(wú)線局域網(wǎng)標(biāo)準(zhǔn)技術(shù)。Wi-Fi 設(shè)備主要工作在2.4 GHz 和5 GHz 兩個(gè)頻段。雖然5 GHz 頻段可以提供更多的信道和帶寬,但是5 GHz 頻段信號(hào)的穿透能力較弱,導(dǎo)致通信距離較近,一些對(duì)通信距離有要求的應(yīng)用場(chǎng)景更傾向于使用2.4 GHz 頻段,如無(wú)線視頻監(jiān)控相機(jī)[1]。然而2.4 GHz 頻段一共只有80 MHz 頻寬可用,有13 個(gè)信道,相鄰信道頻譜重疊,干擾問(wèn)題突出。Wi-Fi 設(shè)備一旦開(kāi)始組網(wǎng)通信,便固定在某個(gè)信道。無(wú)線環(huán)境干擾情況瞬息萬(wàn)變,導(dǎo)致通信不穩(wěn)定,無(wú)法滿足高可靠性無(wú)線通信的需求[2]。該文設(shè)計(jì)了一種信道實(shí)時(shí)自適應(yīng)Wi-Fi 設(shè)備,在保證正常通信過(guò)程中,可以實(shí)時(shí)掃描各個(gè)信道的干擾情況。當(dāng)該信道干擾變大無(wú)法滿足傳輸速率需求時(shí),可以自動(dòng)切換至干擾較小的信道,維持正常通信,滿足無(wú)線視頻監(jiān)控等高可靠性場(chǎng)景需求。
通信系統(tǒng)由AP 設(shè)備和STA 設(shè)備組成。AP 主要由AP SoC RTL8197FNT、SoC Hi3516D(AP 端)、偵測(cè)網(wǎng)卡RTL8188EUS 組成。STA 主要由SoC Hi3516D(STA 端)和網(wǎng)卡RTL8192EU 組成[3]。RTL8197FNT用于建立Wi-Fi 熱點(diǎn),供STA 連接。RTL8188EUS 用于信道背景掃描。Hi3516D(AP 端)運(yùn)行RTL8188EUS的驅(qū)動(dòng)程序,同時(shí)實(shí)現(xiàn)信道背景掃描邏輯,將信道干擾信息提供給RTL8197FNT,為信道切換提供依據(jù)。RTL8192EU 用于連接AP 熱點(diǎn),實(shí)現(xiàn)無(wú)線通信。Hi3516D(STA 端)運(yùn)行RTL8192EU 的驅(qū)動(dòng)程序。通信系統(tǒng)主要架構(gòu)如圖1 所示。
圖1 AP和STA設(shè)備的系統(tǒng)架構(gòu)
在RTL8197FNT 正常通信過(guò)程中,RTL8188EUS持續(xù)對(duì)1-13 個(gè)信道進(jìn)行掃描。當(dāng)RTL8197FNT 處于發(fā)射狀態(tài)時(shí),會(huì)對(duì)RTL8188EUS 信道掃描造成影響,導(dǎo)致掃描不準(zhǔn)確,所以此時(shí)應(yīng)暫停掃描。RTL 8197FNT 的收發(fā)切換響應(yīng)時(shí)間為納秒級(jí),時(shí)間過(guò)短導(dǎo)致無(wú)法采用通信接口方式與RTL8188EUS 進(jìn)行同步。RTL8197FNT 定義了S0_PAPE 端口,用于指示發(fā)射狀態(tài),發(fā)射時(shí)該端口為高電平,接收時(shí)為低電平。采用S0_PAPE端口來(lái)控制兩個(gè)單刀雙置開(kāi)關(guān),低電平時(shí)天線直接與RTL8188EUS 接通,偵測(cè)干擾;高電平時(shí),天線信號(hào)旁路接地,暫停偵測(cè),防止RTL8197FNT發(fā)射影響,RTL8188EUS 射頻鏈路如圖2 所示。
采用兩個(gè)開(kāi)關(guān)是為了增大隔離度,單個(gè)開(kāi)關(guān)隔離度最大為40 dB,不足以阻止RTL8197FNT 信號(hào)泄露[4]。開(kāi)關(guān)一端接49.9 Ω電阻是為了阻抗匹配,吸收泄露信號(hào)。RTL8188EUS 芯片內(nèi)部集成了收發(fā)切換開(kāi)關(guān),收發(fā)共用同一差分端口,需外接巴倫轉(zhuǎn)為單端。
RTL8197FNT 采用雙天線,有兩組收發(fā)端口。發(fā)射為差分端口,需要外接巴倫轉(zhuǎn)為單端。Wi-Fi為時(shí)分雙工系統(tǒng),一組收發(fā)端口通過(guò)單刀雙擲開(kāi)關(guān)共用一個(gè)天線,如圖3 所示。
圖3 RTL8197FNT射頻鏈路
RTL8188EUS 作為USB device 直接掛載至Hi 3516D(AP 端)。Hi3516D(AP 端)通過(guò)UART 接口與RTL8197 FNT交互[5]。
在STA設(shè)備中,RTL8192EU 作為USB device 直接掛載至Hi3516D(STA 端)。RTL8192EU 采用雙天線,有兩組收發(fā)端口,內(nèi)置開(kāi)關(guān),每組收發(fā)共用同一差分端口,需要外接巴倫轉(zhuǎn)為單端,如圖4 所示。
圖4 STA電路
處于同一信道中的Wi-Fi 設(shè)備之間具有沖突避讓機(jī)制,可以避免相互沖撞。而處于相鄰近不同信道的設(shè)備之間無(wú)法發(fā)現(xiàn)對(duì)方,會(huì)出現(xiàn)相互沖撞,所以判斷信道干擾強(qiáng)度主要考慮臨近的幾個(gè)信道對(duì)本信道的干擾[6]。2.4 GHz 頻段Wi-Fi信道如圖5 所示。
圖5 2.4 GHz頻段Wi-Fi信道
干擾強(qiáng)度主要與周圍其他Wi-Fi 設(shè)備單位時(shí)間發(fā)包數(shù)量和每個(gè)包的信號(hào)強(qiáng)度相關(guān)。偵測(cè)網(wǎng)卡RTL8188EUS 采用sniffer 驅(qū)動(dòng),可以收集某個(gè)信道中的Wi-Fi 包,同時(shí)可獲得每個(gè)Wi-Fi 包相應(yīng)的信號(hào)強(qiáng)度[7-8]。信號(hào)強(qiáng)度以dBm 為單位,為了方便軟件處理,將不同區(qū)間dBm 值映射成表1 所示的數(shù)值等級(jí)Sn。
表1 信號(hào)強(qiáng)度與數(shù)值等級(jí)Sn 的對(duì)應(yīng)關(guān)系
RTL8188EUS 對(duì)信道進(jìn)行掃描時(shí),每個(gè)信道的駐留時(shí)間T=100 ms。設(shè)信道X 繁忙指數(shù)CX為該信道T時(shí)間內(nèi)所收到Wi-Fi包的Sn之和[9],如式(1)所示:
在RTL8197FNT 與STA 正常通信過(guò)程中,通過(guò)UART 將當(dāng)前工作信道告知Hi3516D(AP 端),RTL 8188EUS 持續(xù)掃描部分信道。設(shè)RTL8197FNT 通信所用信道為X,則需要掃描的信道包括X-n和X+n(n取不小于4的整數(shù),X-n≥1且X+n≤13)。如RTL8197 FNT 通信所用信道為5,則需要掃描的信道為1、9、10、11、12、13。RTL8188EUS 完成某個(gè)信道掃描后,Hi3516D(AP 端)計(jì)算CX值,保存至內(nèi)存,隨后掃描下一個(gè)信道。當(dāng)完成所有信道掃描后,進(jìn)行下一輪掃描,重新計(jì)算每個(gè)信道新的CX值并刷新內(nèi)存。
RTL8197FNT 設(shè)定一個(gè)吞吐量閾值,并持續(xù)監(jiān)測(cè)吞吐量。當(dāng)前通信信道受到干擾導(dǎo)致吞吐量小于閾值時(shí),RTL8197FNT 通過(guò)UART 向Hi3516D 發(fā)出最優(yōu)信道查詢指令。收到指令后,RTL8188EUS 首先對(duì)X-n,X+n(0≤n≤3,X-n≥1 且X+n≤13)信道進(jìn)行掃描,計(jì)算相應(yīng)CX值。如當(dāng)前工作信道為5,那么需要掃描2、3、4、5、6、7、8 這幾個(gè)信道。其中計(jì)算當(dāng)前通信信道X的CX值時(shí),需要對(duì)MAC 地址進(jìn)行過(guò)濾,排除與RTL8197FNT 所連接的STA 發(fā)出的包。結(jié)合3.1節(jié),此時(shí)Hi3516D 已經(jīng)緩存了1-13 信道的CX值。定義信道X的信道質(zhì)量QX,通過(guò)式(2)進(jìn)行計(jì)算:
Hi3516D 依次計(jì)算1-13 信道的QX值,取QX最小的三個(gè)信道。查詢這三個(gè)信道對(duì)應(yīng)的CX值,將CX值最小的信道作為最優(yōu)信道,通過(guò)UART 返回給RTL8197FNT。
AP 使用802.11 協(xié)議中的Channel Switch Announcement(CSA)幀來(lái)通知STA 切換至最優(yōu)信道[10-12]。AP 首先發(fā)出CSA 幀,STA 收到后回復(fù)確認(rèn),雙方在約100 ms 時(shí)間內(nèi)切換至最優(yōu)信道繼續(xù)通信。根據(jù)協(xié)議接口,幀中Element ID=37,Channel Switch Mode=0,New Channel Number 為最優(yōu)信道,Channel Switch Count=1。
系統(tǒng)的總體工作流程如圖6 所示。
圖6 系統(tǒng)工作流程
在屏蔽室內(nèi)對(duì)該文設(shè)備進(jìn)行評(píng)估。AP 距離STA 約4 m,使用iperf 進(jìn)行TCP 吞吐量測(cè)試,AP 作為Server 接收數(shù)據(jù),STA作為Client發(fā)送數(shù)據(jù)[13]。工作在6 信道,無(wú)干擾情況下,吞吐量約為28.4 Mbps(AP關(guān)閉兩條空間流功能)。在AP 和STA 中間位置,在1信道和7 信道設(shè)置干擾源,干擾源為另外兩對(duì)AP 和STA 之間的8 Mbps UDP 數(shù)據(jù)流。未開(kāi)啟信道自適應(yīng)功能時(shí),吞吐量持續(xù)降至6 Mbps 以下,如圖7 所示。
圖7 未開(kāi)啟信道自適應(yīng)
開(kāi)啟信道自適應(yīng)功能,吞吐量閾值設(shè)為20 Mbps,重復(fù)上述實(shí)驗(yàn)。當(dāng)7 信道干擾源開(kāi)啟時(shí),吞吐量出現(xiàn)短暫下降后又恢復(fù)正常,如圖8 所示。
圖8 開(kāi)啟信道自適應(yīng)
此外,在Wi-Fi 設(shè)備干擾較多的辦公室環(huán)境中,采用兩臺(tái)設(shè)備同時(shí)傳輸碼率為4 Mbps 的1 080 p 實(shí)時(shí)視頻。一臺(tái)開(kāi)啟信道自適應(yīng)功能,另一臺(tái)關(guān)閉信道自適應(yīng)功能,初始信道為6 信道。如圖9 所示,上方為開(kāi)啟信道自適應(yīng)功能畫面,面流暢度更高;下方為關(guān)閉信道自適應(yīng)功能畫面,時(shí)間明顯滯后。
圖9 視頻傳輸對(duì)比測(cè)試
測(cè)試結(jié)果證明,該文提出的信道實(shí)時(shí)自適應(yīng)Wi-Fi 設(shè)備能夠規(guī)避干擾,自動(dòng)選擇合適的信道以維持吞吐量。文中提到在AP 發(fā)射期間,需要暫停信道掃描,所以在AP 有較多下行數(shù)據(jù)的場(chǎng)景中,會(huì)影響掃描的準(zhǔn)確性。所以該文方案更適合AP 下行數(shù)據(jù)較少,STA 上行數(shù)據(jù)較多的應(yīng)用場(chǎng)景,如無(wú)線視頻監(jiān)控相機(jī)數(shù)據(jù)回傳。文中判斷信道繁忙程度只考慮了數(shù)據(jù)包的個(gè)數(shù)和對(duì)應(yīng)信號(hào)強(qiáng)度,而沒(méi)有考慮每個(gè)數(shù)據(jù)包的大小、所用速率和占用時(shí)間,這會(huì)影響判斷的準(zhǔn)確性。
該文設(shè)備屬實(shí)驗(yàn)性質(zhì),在后續(xù)產(chǎn)品化中,為了降低成本,偵測(cè)網(wǎng)卡可以選擇PCIE 接口的RTL8188EE[14]。RTL8188EE 可直接掛載至RTL8197FNT 的PCIE 接口,信道掃描和切換功能全部在RTL8197FNT 中實(shí)現(xiàn),省去了SoC Hi3516D。
環(huán)境中的干擾瞬息萬(wàn)變,而該文方案具有滯后性,干擾導(dǎo)致吞吐量下降后才能做出反應(yīng)。后續(xù)考慮集成AI 算法,基于收集的信道干擾信息對(duì)干擾作出預(yù)判,在干擾出現(xiàn)之前切換至更合適信道。在專用的受限制區(qū)域中,還可集成主動(dòng)防御功能,偵測(cè)各個(gè)信道中未經(jīng)許可的大數(shù)據(jù)流量。對(duì)相應(yīng)設(shè)備發(fā)出虛擬的解除關(guān)聯(lián)幀,阻斷未經(jīng)許可的大數(shù)據(jù)流量通信[15-16]。