999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

低成本精簡版BLE5.0 MAC 協議硬件設計與實現

2022-09-14 08:20:04丁福建劉倩蕓王鋼劉文文林敏
電子設計工程 2022年17期

丁福建,劉倩蕓,王鋼,劉文文,林敏

(上海大學通信與信息工程學院特種光纖與光接入網重點實驗室,上海 200444)

藍牙自提出的23年以來,已成為普適計算以及物聯網(Internet of Things,IoT)應用程序中的一種廣泛使用的技術。低功耗藍牙(Bluetooth Low Energy,BLE)信標作為其中的重要部分,在IoT 開發中極具發展前景,現已部署上億BLE 信標設備[1]。

由于低成本、低功耗等突出優勢,低功耗藍牙信標已被廣泛地用于IoT 中,例如商場中通過信標發送優惠券、通過信標使用指紋識別定位BLE 設備、博物館指導、室內定位與跟蹤、幫助盲人和殘疾人、管理智能家庭等[2]。蘋果公司推出的iBeacon 和谷歌公司推出的Eddystone 使用BLE 的不可連接廣播作為信標[3-4]。它們均使用標準的BLE MAC 層協議作為其BLE 信標設備控制器的MAC 層解決方案。但這種解決方案在BLE 信標的使用場景中卻存在一些問題,傳統廣播(Legacy Advertising)的通信范圍較小,無法滿足遠距離傳輸的要求,冗余的功能會增大硬件資源的消耗,因此需要提出更符合實際應用的定制化MAC 層協議。

該文針對iBeacon、Eddystone 的應用場景,在BLE5.0 標準MAC 層協議的基礎上提出了一種精簡的低功耗藍牙MAC 協議,為BLE 信標設備提供了低成本、低功耗、4 倍廣播距離的MAC 層實現方案。

1 協議設計

1.1 協議功能設計

低功耗藍牙MAC 層協議的狀態機如圖1(a)所示,有就緒態、廣播態、掃描態、發起態和連接態五個狀態[5]。在該文協議的應用場景中,信標設備會以固定的時間間隔向周邊的信標接收設備發送攜帶少量信息的廣播。由于一個只發廣播的設備無需切換到標準協議下的掃描態、發起態和連接態,因此協議的狀態機可以簡化為圖1(b)所示的狀態機,其中只含就緒態和廣播態兩個狀態。

圖1 狀態機對比

隨著狀態機的改變,精簡MAC 層協議的功能在BLE5.0 標準協議的基礎上也應做出相應改變。在多狀態機的處理上,BLE5.0 標準協議需要對不同狀態機下的事件進行調度和狀態跳轉,而該文協議只需保持在廣播態下工作,進行定時廣播,無需調度其他事件。

在幀處理方面,BLE5.0 MAC 層需要設計數據發送和接收子系統,對發送和接收的數據進行處理。而精簡協議由于只發送廣播不進行接收處理,在設計時只需數據發送子系統完成比特流的處理即可,其中包括組幀、產生CRC 校驗位、數據白化和編碼等模塊。因此BLE5.0 標準協議中所需的AES-128 加密、過濾機制、白名單、確認與流控、FEC 解碼器和跳頻算法等有關接收處理和連接狀態下的功能模塊可以移除。

經重新設計后,精簡MAC 層協議在硬件實現時只需按主機的需要定時發送廣播事件以及設計發送子系統模塊、系統總線和物理層接口等相關模塊。

1.2 遠距離廣播幀設計

在BLE5.0協議中,連接態和擴展廣播的4倍通信范圍是在1 Mbps速率編碼的物理層(LE_Coded_PHY)下實現的,MAC 層對幀內字段進行卷積碼編碼和模式映射,從而提高接收機的抗干擾能力。在其中采用約束長度為4,編碼速率為1/2 的(2,1,3)卷積碼編碼器和s=8 的映射方式,卷積碼編碼器生成多項式如式(1)和式(2)[6-7]:

該文為實現long-range 傳統廣播功能并且與標準協議兼容,使用與BLE5.0 標準協議相同的(2,1,3)卷積碼編碼器和模式映射方式,除此外還對傳統廣播的幀結構進行更改。傳統廣播的幀結構如圖2(a)所示,由前導碼(Preamble)、接入地址(Access Address)、負載報頭(Header)、負載(Payload)和CRC 校驗位組成。在實現傳統廣播時使用標準協議的幀結構,不做改動;long-range 廣播幀則在傳統廣播幀結構的基礎上添加新字段,在幀結構中加入編碼指示(CI)字段、編碼終止1(TERM1)和編碼終止2(TERM2)字段,如圖2(b)所示。

圖2 廣播幀幀結構

long-range 廣播幀結構分為前導碼、接入地址、由Header 和Payload 組成的協議數據單元PDU(Protocol Data Unit)、校驗位和3 個編碼指示字段共五部分。其中前導碼不進行卷積碼編碼,在LE_Coded_PHY 下長度為80 個符號,由00111100 序列重復十次得到;接入地址為固定值0x8E89BED6;編碼指示(CI)長度為2 bits,用于指示編碼塊2 的模式映射方式;編碼終止1(TERM1)字段長度為3 bits,是編碼塊1 的編碼結束標志位;編碼終止2(TERM2)字段長度為3 bits,是編碼塊2 的編碼結束標志位。

2 模塊化設計

2.1 協議模塊結構

根據協議的狀態機和功能,該文所設計的MAC層整體架構如圖3 所示,由MAC 頂層狀態機、TIMER、發送子系統、隨機數生成模塊、信道選擇模塊、TX_RAM、寄存器、AHB_SLAVE 端口和物理層接口九部分組成,其功能如下:

圖3 MAC層整體架構

1)AHB_SLAVE與處理主機MCU的AHB_MASTER端口相連,將上層主機的數據進行解碼后對寄存器內的值進行修改,并將需要發送的數據存在TX_RAM 中;

2)MAC 頂層狀態機根據上層主機寫入寄存器中的配置信息,對MAC 層的狀態和其他硬件模塊進行控制;

3)TIMER 包含負責調度MAC 層事件的活動計時器和睡眠計時器;

4)信道選擇模塊用于廣播信道的切換;

5)發送子系統負責幀的比特流處理;

6)物理層接口與物理層相連,提供物理層所需要的控制信號。

發送子系統模塊對發送幀的比特流處理過程如圖4 所示,發送狀態機根據上層的配置,生成對其他模塊進行控制的使能(enable_signal)、選擇(sel_signal)、有效信號(valid_signal)和幀內的數據字段(pack_data);序列化模塊由發送狀態機的有效信號和使能信號控制,對TX_RAM 中的數據進行序列化處理;CRC 模塊對PDU 進行處理,生成24 bits 的校驗位[8];白化模塊是一個7 bits 的線性反饋移位寄存器;卷積碼編碼器僅在LE_Coded_PHY下使用,對幀內的編碼塊進行卷積碼編碼和模式映射[9-10]。

圖4 發送幀的比特流處理

比特流處理按以下流程進行:

1)發送狀態機根據主機的配置生成控制信號和Header;

2)序列化模塊串行化TX_RAM 中的Payload 后與Header 組成PDU;

3)送至CRC 模塊生成校驗位;

4)將PDU 和CRC 校驗位輸入到白化模塊進行白化處理(增加白噪聲,避免過長的連0 或連1);

5)白化后的數據在卷積碼編碼映射模塊中,根據編碼使能信號(encoder_en)、編碼速率(encoder_rate)和編碼指示(ci)等信號決定對編碼塊進行編碼和模式映射的方式[11]。

在發送子系統模塊中完成MAC 幀的比特流處理和組幀后,MAC 頂層狀態機根據計時器(TIMER)中的定時信息,將MAC 幀通過物理層接口發送至物理層,由物理層對MAC 幀進行調制。MAC 層的整體處理流程圖如圖5 所示。

圖5 MAC層處理流程圖

2.2 RTL級實現與仿真

2.2.1 方案設計

RTL 級實現是用寄存器來描述電路的數據流方式,Verilog-HDL 代碼必須滿足可綜合的設計需求。在該文的仿真實驗中,聯合BLE5.0 的物理層和射頻模塊進行協同仿真,在一套較為完善的通信系統中對精簡MAC 層協議進行仿真驗證。

在仿真中,該文所設計的精簡MAC 層協議作為仿真中的廣播設備進行廣播,定時發送廣播事件;掃描設備對廣播幀進行掃描并解析。為驗證該文所設計的long-range 廣播功能,掃描設備增加了在LE_Coded_PHY 下對37、38 和39 號廣播信道進行掃描的功能,以便對long-range 廣播進行接收和比特流的處理。

2.2.2 仿真結果分析

以廣播設備發送long-range 廣播幀的仿真結果為例,圖6(a)是廣播設備在LE_Coded_PHY 下發送不可連接long-range 廣播的MAC 層部分信號仿真結果圖,MAC 層中的數據經過比特流處理后得到longrange 廣播幀(o_pp_tx_data_out 信號),再以一定的廣播間隔發送。

圖6(b)為掃描設備在LE_Coded_PHY 下掃描long-range 廣播幀,并解析出幀內各個字段的仿真圖。掃描設備解析出接收到的幀為一個不可連接的廣播幀;廣播地址為0x0000_0000_1234;負載數據為0xd609;幀內各個字段的錯誤標志信號(*_err)均為低電平。仿真表明接收到的不可連接long-range 廣播幀的各個字段均正確,且解析出的幀內信息與廣播設備發送的相同。

圖6 long-range廣播幀仿真圖

結果顯示,精簡MAC 協議層的long-range 廣播幀通過物理層調制,經射頻模塊發送出去后,掃描設備的射頻模塊、物理層和MAC 層能夠正確地接收、解調并將幀內的各個字段和負載信息正確地解析出來,由此驗證了協議的long-range 廣播幀遠距離通信的可行性。對于BLE5.0 中的其他類型廣播功能該文均已實現,由于篇幅有限,未將仿真結果呈現。

3 FPGA驗證與分析

3.1 驗 證

3.1.1 驗證平臺與流程

為驗證所設計的協議在電路上是否能夠實現,還需要對精簡MAC 層協議進行FPGA 驗證。使用PC 和芯片型號為Zynq-7035 的FPGA 板進行聯合測試[12-13]。

圖7為該文所設計的FPGA驗證平臺,主要由PC、開源的UDP 協議和被測的精簡MAC 層協議組成[14]。其中PC 作為上位機,其IP 地址設為192.168.10.2,FPGA 板 的IP 地址 設為192.168.10.1;FIFO1 用于存儲UDP 協議解析出的負載數據;MAC(ADV)為被測的精簡MAC 層協議,為一個廣播設備;MAC(SCAN)為處理廣播幀的掃描設備;控制模塊(Control &FIFO2)作為廣播設備與掃描設備之間的接口;FIFO3 可存儲掃描設備解析出的負載數據。

圖7 FPGA驗證平臺

在測試過程中,PC 會將廣播幀的負載數據寫在UDP 報文的負載中,通過以太網發送到FPGA 板上,由UDP 協議解析出其中的負載數據并存入FIFO1中;當FIFO1 中的數據量達到預設值時,廣播設備讀取FIFO1 中的數據并進行MAC 層配置和比特流處理;組幀完成后發送到FIFO2 中,并產生相應的控制信號;掃描設備根據控制模塊的控制信號,讀取FIFO2 中的廣播幀并進行解析,將解析出的負載數據存在FIFO3 中;UDP 協議讀取FIFO3 中的數據,存在UDP 報文負載中,發送至PC 進行對比。通過判斷處理后的數據與發送的是否一致,以此驗證MAC 層功能的正確性。

3.1.2 FPGA驗證結果分析

為使分析結果更加直觀,該文使用特定ASCII 碼對應的十六進制數作為待處理數據。上位機發送的數據ASCII 碼000000001234shushushushushushushu shu 對應的十六進制數,這些數據作為UDP 報文的負載,通過以太網發送到FPGA 板。0000_0000_1234是廣播設備的廣播地址,shushushushushushushushu為負載數據。

在驗證過程中,使用Python 腳本向FPGA 板發送UDP 報文[15-16]。UDP 報文經過UDP 協議、廣播設備(被測協議)和掃描設備處理后再通過FPGA 板上的UDP 協議發向PC 端,在此期間PC 端使用xcap 軟件進行抓包。圖8 是UDP 報文的負載,也就是掃描設備解析后得到的廣播地址和負載數據,其中分號左側陰影部分為十六進制數據,分號右側為十六進制數對應的ASCII 碼值。經過對比,上位機Python 腳本發送的廣播地址和負載數據與xcap 抓包軟件所接收的數據相同,并且IP 地址也對應。通過以上實驗可驗證精簡MAC 層協議RTL 級設計的正確性。

圖8 PC接收到的UDP包

3.2 FPGA資源分析

該文在Vivado 2018.3,芯片型號xc7z035ffg-676-2的實驗環境下進行FPGA 綜合[17]。該文提出協議綜合后,使用了5 641 個LUT、11 076 個FF 和124 個IO;BLE5.0 標準協議使用12 751 個LUT、14 646 個FF、1 個DSP 和156 個IO。由于傳統廣播是不進行加密的,標準協議在不考慮AES-128 模塊的情況下,使用8 206 個LUT、12 414 個FF、1 個DSP 和134 個IO。

表1 中列出了除去RAM(3 種情況下RAM 均設為1 kbytes,占 用FPGA的資源為2 176 個LUT 和8 256 個FF)情況下FPGA 綜合后的資源對比。該文所提出的精簡MAC 層協議只使用了FPGA 上的LUT和FF 兩種資源。經計算,在不包含RAM 的情況下,與加密的BLE5.0 標準協議相比,該文提出的協議可以節省67.2%的LUT、55.9%的FF 和1 個DSP 單元,比不加密的BLE5.0 標準協議節省42.5%的LUT、32.2%的FF 和1 個DSP 單元。

表1 協議占用資源

4 結論

該文根據iBeacon 和Eddystone 的使用場景提出一種低成本、遠距離、低功耗的精簡BLE5.0 MAC 層協議。通過RTL 級的仿真實驗,驗證了協議的longrange 廣播功能和標準協議的廣播功能;使用FPGA在實際電路中對該文提出的MAC 層協議的邏輯設計進行驗證。在通信距離上,通過對廣播幀的編碼和模式映射,可超過傳統廣播4 倍;在FPGA 資源的消耗上,該協議與加密的BLE5.0MAC 層相比,節省了67.2%的LUT、55.9%的FF 和1 個DSP 單元,與不加密的BLE5.0MAC 相比,FPGA 資源節省了42.5%的LUT、32.2%的FF 和1 個DSP 單元。

主站蜘蛛池模板: 国内精品久久久久鸭| 亚洲精品波多野结衣| 亚洲成aⅴ人片在线影院八| 亚洲人成网址| 色偷偷综合网| 国产凹凸一区在线观看视频| 蝴蝶伊人久久中文娱乐网| 亚洲色图在线观看| 日韩美女福利视频| 在线观看无码a∨| 精品一区二区三区水蜜桃| 97国产精品视频人人做人人爱| 99九九成人免费视频精品| 欧类av怡春院| 免费不卡在线观看av| 色有码无码视频| 99精品伊人久久久大香线蕉| 国产一区三区二区中文在线| 日韩一级二级三级| 国产精品永久久久久| 国产精品久线在线观看| 欧美成人精品欧美一级乱黄| 亚洲香蕉在线| 亚洲第一中文字幕| 国产综合精品日本亚洲777| 色综合综合网| 最近最新中文字幕在线第一页| 激情无码字幕综合| 一本综合久久| 欧美不卡视频一区发布| 91视频日本| 日韩欧美高清视频| 久久精品电影| 国产91精品调教在线播放| 熟女日韩精品2区| 好久久免费视频高清| 香蕉久人久人青草青草| 欧美第二区| 天天婬欲婬香婬色婬视频播放| 一级爱做片免费观看久久| 青青青伊人色综合久久| 永久免费无码成人网站| 国产精品三级av及在线观看| 国产亚洲视频免费播放| 免费jjzz在在线播放国产| 国产爽妇精品| 亚洲成人免费看| 波多野结衣中文字幕一区二区| 欧美a在线看| 欧美视频免费一区二区三区| 久久久久久高潮白浆| 久久精品丝袜| 玖玖精品在线| 人人妻人人澡人人爽欧美一区| 久久国产亚洲欧美日韩精品| 九九热精品视频在线| 久久久噜噜噜| 亚洲第一页在线观看| 国产三级精品三级在线观看| 亚洲成人网在线播放| 日韩成人免费网站| 91破解版在线亚洲| 国产欧美精品专区一区二区| 高清视频一区| 色欲色欲久久综合网| 真实国产乱子伦视频| 黄色网页在线播放| 国产综合日韩另类一区二区| 亚洲IV视频免费在线光看| 97一区二区在线播放| AV在线麻免费观看网站| 国产91在线|中文| 国产精品va免费视频| 国产乱人乱偷精品视频a人人澡| 国产H片无码不卡在线视频| 国产精品九九视频| 伊人91在线| 国产成人夜色91| 国产av无码日韩av无码网站| 永久免费无码成人网站| 免费国产福利| 国产一区成人|