• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種低功耗多路并行無(wú)線網(wǎng)關(guān)設(shè)計(jì)及應(yīng)用

    2022-10-10 09:25:28張宇揚(yáng)鄧杰航張海笑
    關(guān)鍵詞:任務(wù)調(diào)度終端設(shè)備網(wǎng)關(guān)

    丁 磊 張宇揚(yáng) 鄧杰航 張海笑

    (廣東工業(yè)大學(xué)計(jì)算機(jī)學(xué)院 廣東 廣州 510006)

    0 引 言

    無(wú)線網(wǎng)關(guān)用于實(shí)現(xiàn)不同無(wú)線通信協(xié)議間的轉(zhuǎn)換和數(shù)據(jù)轉(zhuǎn)發(fā),對(duì)解決異構(gòu)網(wǎng)絡(luò)的通信問(wèn)題具有重要的作用。常見(jiàn)的無(wú)線網(wǎng)關(guān)主要包括用于解決單一通信協(xié)議與互聯(lián)網(wǎng)通信問(wèn)題[1-4]的無(wú)線網(wǎng)關(guān),及基于嵌入式操作系統(tǒng)開(kāi)發(fā),可以兼容多接口、多協(xié)議及多通信標(biāo)準(zhǔn)的無(wú)線網(wǎng)關(guān),例如基于MQTT協(xié)議設(shè)計(jì)的無(wú)線網(wǎng)關(guān)[5-6]與智能家居無(wú)線網(wǎng)關(guān)[7-9]。

    無(wú)線網(wǎng)關(guān)可以實(shí)現(xiàn)兩個(gè)方向的數(shù)據(jù)通信:從云服務(wù)器到無(wú)線終端設(shè)備及從無(wú)線終端設(shè)備到云服務(wù)器[10]。后者往往是小數(shù)據(jù)量的采集、處理及入庫(kù),而隨著應(yīng)用的發(fā)展,從云服務(wù)器到無(wú)線終端設(shè)備的通信會(huì)出現(xiàn)無(wú)線終端數(shù)量多、數(shù)據(jù)流量大的情況,容易造成時(shí)延和數(shù)據(jù)擁塞,嚴(yán)重時(shí)會(huì)導(dǎo)致通信無(wú)法正常進(jìn)行。

    為使云服務(wù)器與無(wú)線終端設(shè)備實(shí)現(xiàn)高速、可靠的通信,并降低網(wǎng)關(guān)功耗,本文設(shè)計(jì)一種低功耗多路并行無(wú)線網(wǎng)關(guān),實(shí)現(xiàn)了POST通信協(xié)議下跨越若干異質(zhì)網(wǎng)絡(luò)的鏈路層或傳輸層之間的可靠通信,提供相鄰的兩種或若干種異質(zhì)網(wǎng)絡(luò)的網(wǎng)關(guān)功能,可以使用ZigBee、BLE等一種或多種無(wú)線網(wǎng)絡(luò)技術(shù)與覆蓋范圍內(nèi)的眾多無(wú)線終端設(shè)備交換數(shù)據(jù),并在保證高吞吐量的前提下實(shí)現(xiàn)可靠、穩(wěn)定且節(jié)能的通信。

    1 無(wú)線網(wǎng)關(guān)應(yīng)用系統(tǒng)總體設(shè)計(jì)

    無(wú)線網(wǎng)關(guān)應(yīng)用系統(tǒng)的總體框架如圖1所示,包括云服務(wù)器、路由器、無(wú)線網(wǎng)關(guān)及無(wú)線終端設(shè)備。云服務(wù)器通過(guò)路由器將數(shù)據(jù)傳送到無(wú)線網(wǎng)關(guān),無(wú)線網(wǎng)關(guān)將數(shù)據(jù)轉(zhuǎn)發(fā)到無(wú)線終端設(shè)備,或由無(wú)線網(wǎng)關(guān)定期采集無(wú)線終端設(shè)備的數(shù)據(jù),通過(guò)路由器將數(shù)據(jù)傳送到云服務(wù)器。

    圖1 無(wú)線網(wǎng)關(guān)應(yīng)用系統(tǒng)總體框架

    2 無(wú)線網(wǎng)關(guān)硬件設(shè)計(jì)

    無(wú)線網(wǎng)關(guān)的硬件結(jié)構(gòu)如圖2所示。主控單元(MCU)選用意法半導(dǎo)體公司的STM32F429,這是一款基于Cortex-M4內(nèi)核的32位高性能處理器,主頻為180 MHz,同時(shí)單塊STM32F429芯片價(jià)格較低,具有不錯(cuò)的性價(jià)比;SDRAM選用ISSI公司的64 MB IS42S16400F;Wi-Fi模塊選用上海慶科公司的EMW3162,它內(nèi)置Cortex-M3微控制器,搭載嵌入TCP/IP協(xié)議棧的MiCO物聯(lián)網(wǎng)操作系統(tǒng),波特率設(shè)置為115 200,1個(gè)停止位,無(wú)校驗(yàn);兩路UART通用異步收發(fā)器可以選用具有UART接口透明傳輸協(xié)議的任何無(wú)線終端主控模塊,包括BLE、ZigBee等流行的通信模塊,具備靈活性和可擴(kuò)展性,其波特率設(shè)為115 200,1個(gè)停止位,無(wú)校驗(yàn)位。

    圖2 無(wú)線網(wǎng)關(guān)硬件結(jié)構(gòu)

    3 無(wú)線網(wǎng)關(guān)軟件設(shè)計(jì)

    3.1 FreeRTOS部署

    本文設(shè)計(jì)選用開(kāi)源的嵌入式實(shí)時(shí)操作系統(tǒng)FreeRTOS[11-13]進(jìn)行軟件開(kāi)發(fā)。FreeRTOS支持三種調(diào)度方式:搶占式調(diào)度、時(shí)間片調(diào)度和合作式調(diào)度,本文設(shè)計(jì)采用搶占式調(diào)度和時(shí)間片調(diào)度混合的模式進(jìn)行任務(wù)調(diào)度,不同優(yōu)先級(jí)的任務(wù)采用搶占式調(diào)度,相同優(yōu)先級(jí)的任務(wù)采用時(shí)間片調(diào)度,且在時(shí)間片(Tick)設(shè)定的時(shí)間結(jié)束或調(diào)用阻塞式API函數(shù)時(shí)進(jìn)行任務(wù)調(diào)度,形成可變時(shí)間片的調(diào)度模式以提高程序運(yùn)行的效率。

    3.2 POST通信協(xié)議設(shè)計(jì)

    本文設(shè)計(jì)通過(guò)自定義的POST通信協(xié)議實(shí)現(xiàn)多協(xié)議適配,以保證異構(gòu)網(wǎng)絡(luò)傳輸層的可靠通信。無(wú)線網(wǎng)關(guān)可以實(shí)現(xiàn)跨傳輸層的數(shù)據(jù)透明傳輸,只有跨傳輸層的通信鏈路兩端設(shè)備需要解析報(bào)文數(shù)據(jù),而鏈路上的報(bào)文轉(zhuǎn)發(fā)設(shè)備無(wú)須解析報(bào)文數(shù)據(jù)。同時(shí),將系統(tǒng)業(yè)務(wù)邏輯分離并統(tǒng)一到應(yīng)用層管理和控制,應(yīng)用層將業(yè)務(wù)邏輯分解為若干操作指令和數(shù)據(jù),這些操作指令和數(shù)據(jù)分別下發(fā)到目標(biāo)設(shè)備,目標(biāo)設(shè)備按指令執(zhí)行相應(yīng)操作,當(dāng)應(yīng)用層修改業(yè)務(wù)邏輯時(shí),只需修改這些指令和數(shù)據(jù)發(fā)送的順序即可。

    1) 通信協(xié)議(POST)報(bào)文定義。報(bào)文(POST)包括報(bào)頭(Header)和數(shù)據(jù)(Data)兩部分,跨異構(gòu)網(wǎng)絡(luò)傳輸層的可靠通信通過(guò)通信鏈路兩端設(shè)備的報(bào)文(POST)對(duì)交換流程實(shí)現(xiàn)。

    (1) 報(bào)文對(duì)為請(qǐng)求報(bào)文Prequest與對(duì)應(yīng)的回復(fù)報(bào)文Preply。

    (2) Prequest與Preply采用統(tǒng)一的報(bào)文格式,且具有相同的序列號(hào)。

    2) POST協(xié)議通信流程。

    (1) 源設(shè)備S向目標(biāo)設(shè)備D發(fā)送請(qǐng)求(Request)報(bào)文Prequest。報(bào)頭帶序列號(hào);D可根據(jù)源設(shè)備地址、序列號(hào)和分塊偏移量標(biāo)識(shí)該報(bào)文;報(bào)文數(shù)據(jù)段可為指令或數(shù)據(jù);發(fā)送過(guò)程非同步、非阻塞。

    (2) D向S發(fā)送對(duì)應(yīng)的回復(fù)(Reply)報(bào)文Preply。報(bào)頭的序列號(hào)與對(duì)應(yīng)的請(qǐng)求報(bào)文的序列號(hào)相同;源設(shè)備地址與目標(biāo)設(shè)備地址跟Prequest對(duì)應(yīng)字段相反;發(fā)送過(guò)程非同步、非阻塞;D收到Prequest后,應(yīng)生成并發(fā)送Preply;S收到Preply僅表示Prequest被D成功接收,不表示D成功執(zhí)行Prequest中的相關(guān)指令或操作。但Preply的數(shù)據(jù)項(xiàng)可帶相應(yīng)的執(zhí)行結(jié)果或設(shè)備狀態(tài)等信息;Preply不能用于表示跨傳輸層報(bào)文收發(fā)失敗,因存在報(bào)文在通信鏈路上丟失、嚴(yán)重延時(shí)的可能。

    (3) 若S在預(yù)定的時(shí)間內(nèi)沒(méi)有收到對(duì)應(yīng)的Preply,則進(jìn)入發(fā)送失敗處理。

    (4) 支持POST協(xié)議的設(shè)備根據(jù)目標(biāo)設(shè)備ID將報(bào)文轉(zhuǎn)發(fā)至目標(biāo)設(shè)備。

    (5) 接收到報(bào)文的設(shè)備若非目標(biāo)設(shè)備,則不解析和處理報(bào)文中的數(shù)據(jù)。

    3.3 基于POST協(xié)議的軟硬件協(xié)同設(shè)計(jì)

    1) 任務(wù)定義。

    (1) 數(shù)據(jù)接收任務(wù)(Task_Recv)。實(shí)現(xiàn)從Wi-Fi模塊接收云服務(wù)器推送的數(shù)據(jù),首先判斷接收數(shù)據(jù)的目標(biāo)地址是否為無(wú)線網(wǎng)關(guān)本身,若是則無(wú)線網(wǎng)關(guān)本地處理,否則就將數(shù)據(jù)存儲(chǔ)至SDRAM的“接收緩存”。此任務(wù)的優(yōu)先級(jí)最高設(shè)為6,調(diào)度器以中斷方式進(jìn)行搶占式調(diào)度。

    (2) 數(shù)據(jù)拷貝任務(wù)(Task_Copy)。實(shí)現(xiàn)將數(shù)據(jù)拷貝至SDRAM的“發(fā)送緩存”,以用于按照POST協(xié)議向目標(biāo)地址的轉(zhuǎn)發(fā),并根據(jù)UART無(wú)線設(shè)備的忙閑狀態(tài)分發(fā)轉(zhuǎn)發(fā)任務(wù)。該任務(wù)優(yōu)先級(jí)設(shè)置為5。

    (3) UART無(wú)線設(shè)備任務(wù)(Task_UartDevice)。最大傳輸單元(Maxim Transmission Unit,MTU)是UART無(wú)線設(shè)備進(jìn)行數(shù)據(jù)拆分的參數(shù),MCU按照MTU將“發(fā)送緩存”中的數(shù)據(jù)發(fā)送至UART設(shè)備,直至設(shè)定的數(shù)據(jù)通信結(jié)束。該任務(wù)優(yōu)先級(jí)設(shè)置為4,包括兩路UART無(wú)線設(shè)備任務(wù),以協(xié)同方式進(jìn)行調(diào)度。

    (4) 數(shù)據(jù)處理任務(wù)(Task_Post)。無(wú)線網(wǎng)關(guān)根據(jù)POST協(xié)議定義的指令進(jìn)行本地處理的任務(wù)。該任務(wù)優(yōu)先級(jí)設(shè)置為3。

    (5) 網(wǎng)絡(luò)心跳任務(wù)(Task_Tick)。無(wú)線網(wǎng)關(guān)每60 s定時(shí)向云服務(wù)器發(fā)送心跳請(qǐng)求,發(fā)送的心跳包在60 s內(nèi)沒(méi)有回復(fù),則無(wú)線網(wǎng)關(guān)主動(dòng)重連。該任務(wù)優(yōu)先級(jí)設(shè)置為2。

    (6) 看門(mén)狗任務(wù)(Task_Iwdg)。3 s進(jìn)行一次喂狗,如果沒(méi)有喂狗成功則網(wǎng)關(guān)復(fù)位。該任務(wù)優(yōu)先級(jí)設(shè)置為1。

    (7) 空閑任務(wù)(Idle)。當(dāng)上述所有任務(wù)均處于阻塞態(tài)的時(shí)候,將會(huì)運(yùn)行空閑任務(wù),為了降低網(wǎng)關(guān)功耗,在沒(méi)有任務(wù)需要調(diào)度時(shí)進(jìn)入低功耗模式,此模式下MCU時(shí)鐘關(guān)閉,MCU內(nèi)核停止運(yùn)行,但外設(shè)可以根據(jù)需要保持工作。該任務(wù)優(yōu)先級(jí)默認(rèn)為1。

    2) 雙緩沖“乒乓”存儲(chǔ)設(shè)計(jì)。為了協(xié)調(diào)無(wú)線終端設(shè)備的低速通信與無(wú)線網(wǎng)關(guān)高速數(shù)據(jù)接收的矛盾,本文設(shè)計(jì)在SDRAM中建立兩級(jí)“乒乓”緩沖數(shù)據(jù)隊(duì)列,如圖3所示。第一級(jí)緩沖存儲(chǔ)是“接收緩存”R1-R4,用于接收云服務(wù)器推送的數(shù)據(jù)幀,第二級(jí)緩沖存儲(chǔ)是“發(fā)送緩存”S1-S4,即將“接收緩存”的數(shù)據(jù)幀拷貝至其中,用于無(wú)線終端設(shè)備的數(shù)據(jù)通信。

    圖3 雙緩沖“乒乓”存儲(chǔ)結(jié)構(gòu)

    3) 任務(wù)調(diào)度。本文設(shè)計(jì)通過(guò)兩路UART設(shè)備實(shí)現(xiàn)數(shù)據(jù)的并行傳輸,以提高無(wú)線網(wǎng)關(guān)的吞吐量。每路UART設(shè)備對(duì)應(yīng)兩個(gè)“發(fā)送緩存”,這樣就利用軟硬件協(xié)同形成了兩級(jí)雙緩沖“乒乓”接收及發(fā)送機(jī)制,提高了數(shù)據(jù)通信效率。任務(wù)調(diào)度流程如圖4所示。

    圖4 任務(wù)調(diào)度流程

    4) UART設(shè)備軟件流程。每路UART設(shè)備的狀態(tài)包括休眠、啟動(dòng)、開(kāi)鎖、上鎖、異常五種狀態(tài)。UART設(shè)備的數(shù)據(jù)流圖如圖5所示。

    圖5 UART設(shè)備通信數(shù)據(jù)流圖

    4 無(wú)線網(wǎng)關(guān)的測(cè)試

    4.1 測(cè)試平臺(tái)簡(jiǎn)介

    筆者團(tuán)隊(duì)研發(fā)的電子貨架標(biāo)簽系統(tǒng)(ESLS)[14-15]已經(jīng)推廣多年。ESLS由部署在云服務(wù)器的電子貨架標(biāo)簽管理系統(tǒng)(EMS)、電子貨架標(biāo)簽(ESL)、無(wú)線網(wǎng)關(guān)構(gòu)成,框架如圖6所示。EMS管理各門(mén)店的ESL、無(wú)線網(wǎng)關(guān)及ESL需要顯示的相關(guān)商品信息,當(dāng)修改商品信息時(shí),EMS根據(jù)ESL的型號(hào),生成ESL的顯示數(shù)據(jù),傳輸至無(wú)線網(wǎng)關(guān),無(wú)線網(wǎng)關(guān)接收數(shù)據(jù)后,將數(shù)據(jù)轉(zhuǎn)發(fā)到其管理的ESL,ESL收到數(shù)據(jù)并成功更新后,通過(guò)無(wú)線網(wǎng)關(guān)向EMS反饋更新成功信息。

    圖6 電子貨架標(biāo)簽系統(tǒng)(ESLS)框架

    測(cè)試平臺(tái)中云服務(wù)器與無(wú)線網(wǎng)關(guān)通過(guò)Wi-Fi通信,ESL與無(wú)線網(wǎng)關(guān)通過(guò)藍(lán)牙通信,一個(gè)貨架放置10種商品,共兩個(gè)貨架包含20個(gè)4.2寸黑白ESL。其中UART藍(lán)牙設(shè)備的MTU為180 Byte,4.2寸黑白ESL的商品信息數(shù)據(jù)為15 066 Byte,一個(gè)MTU數(shù)據(jù)藍(lán)牙通信的時(shí)間約為40 ms,一個(gè)MTU數(shù)據(jù)的傳輸時(shí)間約為10 ms,時(shí)間片(Tick)設(shè)為50 ms。

    4.2 測(cè)試結(jié)果

    功耗及吞吐量測(cè)試結(jié)果如表1所示,藍(lán)牙通信的對(duì)比波形如圖7所示,其吞吐量曲線如圖8所示。

    表1 測(cè)試結(jié)果

    (a) 單路藍(lán)牙電壓波形

    (b) 雙路藍(lán)牙電壓波形圖7 藍(lán)牙通信對(duì)比波形

    圖8 吞吐量測(cè)試曲線

    測(cè)試結(jié)果表明任務(wù)調(diào)度中嵌入低功耗模式后,功耗降低約20%,且雙路藍(lán)牙在提高近50%吞吐量的情況下并沒(méi)有引起功耗上升。

    5 結(jié) 語(yǔ)

    本文設(shè)計(jì)一種低功耗多路并行無(wú)線網(wǎng)關(guān),兼容Wi-Fi、ZigBee、BLE等流行的無(wú)線通信協(xié)議,基于SDRAM設(shè)計(jì)雙緩沖“乒乓”存儲(chǔ)體系提高了云服務(wù)器的數(shù)據(jù)推送速度,在實(shí)現(xiàn)多路UART設(shè)備并行通信的前提下,提高了無(wú)線網(wǎng)關(guān)的吞吐量。經(jīng)實(shí)際項(xiàng)目應(yīng)用,無(wú)線網(wǎng)關(guān)性價(jià)比高,靈活性和可擴(kuò)展性強(qiáng)。

    猜你喜歡
    任務(wù)調(diào)度終端設(shè)備網(wǎng)關(guān)
    基于改進(jìn)RPS技術(shù)的IPSEC VPN網(wǎng)關(guān)設(shè)計(jì)
    視頻監(jiān)視系統(tǒng)新型終端設(shè)備接入方案
    基于改進(jìn)NSGA-Ⅱ算法的協(xié)同制造任務(wù)調(diào)度研究
    基于時(shí)間負(fù)載均衡蟻群算法的云任務(wù)調(diào)度優(yōu)化
    配電自動(dòng)化終端設(shè)備在電力配網(wǎng)自動(dòng)化的應(yīng)用
    電子制作(2016年15期)2017-01-15 13:39:12
    車站信號(hào)系統(tǒng)終端設(shè)備整合及解決方案
    云計(jì)算環(huán)境中任務(wù)調(diào)度策略
    云計(jì)算中基于進(jìn)化算法的任務(wù)調(diào)度策略
    LTE Small Cell網(wǎng)關(guān)及虛擬網(wǎng)關(guān)技術(shù)研究
    應(yīng)對(duì)氣候變化需要打通“網(wǎng)關(guān)”
    泰和县| 巩留县| 宜春市| 泸水县| 台中市| 翁牛特旗| 五峰| 松桃| 新宾| 秀山| 两当县| 西青区| 靖宇县| 霍林郭勒市| 廉江市| 郸城县| 临颍县| 项城市| 嘉定区| 辉南县| 蓝田县| 隆子县| 株洲市| 德清县| 辽阳市| 房产| 类乌齐县| 台山市| 拜城县| 临桂县| 绩溪县| 沁水县| 日喀则市| 怀仁县| 大冶市| 印江| 虹口区| 邹城市| 军事| 宜丰县| 博兴县|