亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        低成本精簡版BLE5.0 MAC 協(xié)議硬件設(shè)計與實現(xiàn)

        2022-09-14 08:20:04丁福建劉倩蕓王鋼劉文文林敏
        電子設(shè)計工程 2022年17期
        關(guān)鍵詞:物理層狀態(tài)機(jī)精簡

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

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

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

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

        該文針對iBeacon、Eddystone 的應(yīng)用場景,在BLE5.0 標(biāo)準(zhǔn)MAC 層協(xié)議的基礎(chǔ)上提出了一種精簡的低功耗藍(lán)牙MAC 協(xié)議,為BLE 信標(biāo)設(shè)備提供了低成本、低功耗、4 倍廣播距離的MAC 層實現(xiàn)方案。

        1 協(xié)議設(shè)計

        1.1 協(xié)議功能設(shè)計

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

        圖1 狀態(tài)機(jī)對比

        隨著狀態(tài)機(jī)的改變,精簡MAC 層協(xié)議的功能在BLE5.0 標(biāo)準(zhǔn)協(xié)議的基礎(chǔ)上也應(yīng)做出相應(yīng)改變。在多狀態(tài)機(jī)的處理上,BLE5.0 標(biāo)準(zhǔn)協(xié)議需要對不同狀態(tài)機(jī)下的事件進(jìn)行調(diào)度和狀態(tài)跳轉(zhuǎn),而該文協(xié)議只需保持在廣播態(tài)下工作,進(jìn)行定時廣播,無需調(diào)度其他事件。

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

        經(jīng)重新設(shè)計后,精簡MAC 層協(xié)議在硬件實現(xiàn)時只需按主機(jī)的需要定時發(fā)送廣播事件以及設(shè)計發(fā)送子系統(tǒng)模塊、系統(tǒng)總線和物理層接口等相關(guān)模塊。

        1.2 遠(yuǎn)距離廣播幀設(shè)計

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

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

        圖2 廣播幀幀結(jié)構(gòu)

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

        2 模塊化設(shè)計

        2.1 協(xié)議模塊結(jié)構(gòu)

        根據(jù)協(xié)議的狀態(tài)機(jī)和功能,該文所設(shè)計的MAC層整體架構(gòu)如圖3 所示,由MAC 頂層狀態(tài)機(jī)、TIMER、發(fā)送子系統(tǒng)、隨機(jī)數(shù)生成模塊、信道選擇模塊、TX_RAM、寄存器、AHB_SLAVE 端口和物理層接口九部分組成,其功能如下:

        圖3 MAC層整體架構(gòu)

        1)AHB_SLAVE與處理主機(jī)MCU的AHB_MASTER端口相連,將上層主機(jī)的數(shù)據(jù)進(jìn)行解碼后對寄存器內(nèi)的值進(jìn)行修改,并將需要發(fā)送的數(shù)據(jù)存在TX_RAM 中;

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

        3)TIMER 包含負(fù)責(zé)調(diào)度MAC 層事件的活動計時器和睡眠計時器;

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

        5)發(fā)送子系統(tǒng)負(fù)責(zé)幀的比特流處理;

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

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

        圖4 發(fā)送幀的比特流處理

        比特流處理按以下流程進(jìn)行:

        1)發(fā)送狀態(tài)機(jī)根據(jù)主機(jī)的配置生成控制信號和Header;

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

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

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

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

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

        圖5 MAC層處理流程圖

        2.2 RTL級實現(xiàn)與仿真

        2.2.1 方案設(shè)計

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

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

        2.2.2 仿真結(jié)果分析

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

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

        圖6 long-range廣播幀仿真圖

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

        3 FPGA驗證與分析

        3.1 驗 證

        3.1.1 驗證平臺與流程

        為驗證所設(shè)計的協(xié)議在電路上是否能夠?qū)崿F(xiàn),還需要對精簡MAC 層協(xié)議進(jìn)行FPGA 驗證。使用PC 和芯片型號為Zynq-7035 的FPGA 板進(jìn)行聯(lián)合測試[12-13]。

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

        圖7 FPGA驗證平臺

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

        3.1.2 FPGA驗證結(jié)果分析

        為使分析結(jié)果更加直觀,該文使用特定ASCII 碼對應(yīng)的十六進(jìn)制數(shù)作為待處理數(shù)據(jù)。上位機(jī)發(fā)送的數(shù)據(jù)ASCII 碼000000001234shushushushushushushu shu 對應(yīng)的十六進(jìn)制數(shù),這些數(shù)據(jù)作為UDP 報文的負(fù)載,通過以太網(wǎng)發(fā)送到FPGA 板。0000_0000_1234是廣播設(shè)備的廣播地址,shushushushushushushushu為負(fù)載數(shù)據(jù)。

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

        圖8 PC接收到的UDP包

        3.2 FPGA資源分析

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

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

        表1 協(xié)議占用資源

        4 結(jié)論

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

        猜你喜歡
        物理層狀態(tài)機(jī)精簡
        基于K-ML-MPWFRFT的物理層安全傳輸技術(shù)
        公路聯(lián)網(wǎng)電子不停車收費系統(tǒng)路側(cè)單元物理層自動測試軟件研發(fā)
        基于有限狀態(tài)機(jī)的交會對接飛行任務(wù)規(guī)劃方法
        時常精簡多余物品
        特別健康(2018年2期)2018-06-29 06:14:00
        一種面向應(yīng)用的流量監(jiān)測精簡架構(gòu)設(shè)計
        電子制作(2017年17期)2017-12-18 06:40:47
        多天線物理層安全傳輸系統(tǒng)性能分析
        1Gbps電力線載波通信物理層算法設(shè)計
        電測與儀表(2014年8期)2014-04-04 09:19:26
        應(yīng)用于SAN的自動精簡配置架構(gòu)設(shè)計與實現(xiàn)
        FPGA設(shè)計中狀態(tài)機(jī)安全性研究
        基于反熔絲FPGA的有限狀態(tài)機(jī)加固設(shè)計
        偷偷夜夜精品一区二区三区蜜桃| 伊人久久大香线蕉av色婷婷色 | 综合激情中文字幕一区二区| 亚洲av综合色一区二区| 国产精品扒开腿做爽爽爽视频| 精品爆乳一区二区三区无码av| 亚洲福利视频一区| 久久免费视亚洲无码视频 | 亚洲伦理第一页中文字幕| 果冻传媒2021精品一区| 日本午夜精品理论片A级APP发布 | 亚洲AⅤ无码日韩AV中文AV伦| 中文字幕一区二区三在线| 中文字幕女同系列在线看一| 欧洲熟妇色 欧美| 永久无码在线观看| 亚洲无av高清一区不卡| 99精品久久99久久久久 | 国产精品自在线免费| 亚洲一本之道高清在线观看| 久久精品一区午夜视频| 亚洲色大成网站www久久九| 韩国精品一区二区三区 | 亚洲天堂av在线观看免费| (无码视频)在线观看| 99久久免费精品高清特色大片 | 国产欧美日韩专区| 国内精品极品久久免费看| 亚洲中文字幕精品乱码2021| 日本黄页网站免费观看| 人妻av一区二区三区av免费 | 久久夜色国产精品噜噜亚洲av| 巨茎中出肉欲人妻在线视频| 精品午夜福利无人区乱码一区| 岛国精品一区二区三区| 日韩在线一区二区三区中文字幕| 国产人妻熟女高跟丝袜图片| 99热在线精品播放| 亚洲一区二区三区亚洲| 又粗又黑又大的吊av| 成人无码视频|