97人妻精品一区二区三区软件,人妻偷拍在线,插丝袜美女小穴视频,美女午夜福利在线

      • <i id="89dc3"></i>
        當(dāng)前位置: 首頁 >應(yīng)用方案 >技術(shù)應(yīng)用 >

        無線傳輸中網(wǎng)絡(luò)丟包有哪些解決辦法

        前文講解了是什么是無線通信應(yīng)用中的網(wǎng)絡(luò)丟包率無線傳輸應(yīng)用有哪些處理機(jī)制減少網(wǎng)絡(luò)丟包率?,本文根據(jù)前文整理的文件,整理了以下幾點(diǎn)可以解決無線傳輸中網(wǎng)絡(luò)丟包問題的辦法

        無線應(yīng)用中丟包解決方法

        ZigBee傳輸協(xié)議例,PHY層、MAC層、NWK層做了很多處理機(jī)制,網(wǎng)絡(luò)丟包率幾乎達(dá)到0.1%~0.01%。但是如果應(yīng)用設(shè)計(jì)沒考慮到僅剩的0.1%~0.01%丟包問題,對(duì)應(yīng)用自身的影響就是致命的。在物聯(lián)網(wǎng)應(yīng)用中常見的對(duì)無線通信網(wǎng)絡(luò)丟包的容錯(cuò),有如下解決辦法。

        網(wǎng)絡(luò)丟包解決辦法1

        ①合理重傳:

        重傳是大家都能想到的方法,ZigBee模塊就提供了CSMA失敗檢測(cè)和ACK失敗檢測(cè)。通常遇到以上兩種情況大家的常見做法就是數(shù)據(jù)重傳。但是重傳也要講究合理性,例如CSMA失敗,這個(gè)時(shí)候有可能是很多個(gè)節(jié)點(diǎn)同時(shí)在發(fā)射信號(hào);例如設(shè)備上電的時(shí)候會(huì)把上電時(shí)的信息上報(bào)給DTU無線網(wǎng)關(guān)設(shè)備,多個(gè)設(shè)備一起上電肯定會(huì)有很大的沖突率,CSMA失敗是很常見的事。因此,這時(shí)候遇到CSMA失敗不要立即重傳,可以隨機(jī)延時(shí)100毫秒~1秒再重傳,如果再次失敗說明同時(shí)傳輸?shù)脑O(shè)備確實(shí)太多,再隨機(jī)延時(shí)2~4秒,失敗再隨機(jī)延時(shí)4~8秒……。如果是ACK失敗則可以根據(jù)該次發(fā)射數(shù)據(jù)的實(shí)時(shí)性,延遲一個(gè)固定時(shí)間再重傳,一般在1秒以上5秒以下,因?yàn)橛锌赡苌洗蝹鬏斒∈悄繕?biāo)節(jié)點(diǎn)“不在狀態(tài)”,下次傳輸可能就自動(dòng)好了。

        ②設(shè)計(jì)時(shí)序規(guī)則:

        應(yīng)用數(shù)據(jù)無線傳輸時(shí)需要考慮出現(xiàn)丟包時(shí)該如何處理,例如OTA升級(jí),文件傳輸。每一幀數(shù)據(jù)都是必不可少的,而且順序還要正確。所以這類無線傳輸應(yīng)用中,應(yīng)該對(duì)每一幀數(shù)據(jù)包都標(biāo)注上序號(hào)。發(fā)送端一旦檢測(cè)到丟包,可能會(huì)重傳數(shù)據(jù)幀。而接收端有可能是因?yàn)锳CK沒有發(fā)送到發(fā)送端導(dǎo)致發(fā)送端誤判。如果接收端收到多一幀或少一幀數(shù)據(jù),都可以從每一幀的序號(hào)判斷出來。

        ③該放棄時(shí)要放棄:

        類似接收端不存在,或者信道遇到干擾的問題,通過MAC層都可以偵測(cè)到。例如出現(xiàn)連續(xù)長時(shí)間的ACK失敗,可能就是接收端不存在;連續(xù)長時(shí)間的CSMA失敗,可能就是遇到了干擾。接收端不存在的情況下完全可以放棄對(duì)這個(gè)接收端發(fā)送消息。信道被干擾的情況下可以做整體信道切換,也可以暫停全網(wǎng)絡(luò)的運(yùn)行,保存當(dāng)前狀態(tài),等待干擾消失后再恢復(fù)全部的傳輸。

        四、不算丟包的“丟包”

        無線通信上除了無線信號(hào)導(dǎo)致的丟包,還有軟件邏輯上的丟包,所以首選需要了解如何檢測(cè)數(shù)據(jù)丟包重傳。典型的就是通信的數(shù)據(jù)量超過了發(fā)送端或接收端的處理能力。比如ZigBee的傳輸速率只有250kbps,加上CSMA延遲,路由轉(zhuǎn)發(fā),實(shí)際數(shù)據(jù)傳輸速率能夠達(dá)到5kbps~10kbps就很不錯(cuò)了。發(fā)射端的應(yīng)用程序如果向發(fā)射端寫入數(shù)據(jù)的速度超過了發(fā)射端的傳輸速度,也會(huì)導(dǎo)致軟件丟包。

        通常各家MCU芯片廠商的IEEE 802.15.4通信協(xié)議棧都會(huì)提供一個(gè)Send Confirm的回調(diào)接口,應(yīng)用程序向傳輸接口寫入需要傳輸?shù)南⒑?,約在幾毫秒到幾十毫秒內(nèi)收到Send Confirm回調(diào)觸發(fā)。同時(shí)一般射頻芯片SoC也會(huì)提供緩存來存儲(chǔ)寫入的數(shù)據(jù)幀,有可能應(yīng)用程序一次向射頻芯片寫入多個(gè)數(shù)據(jù)幀都被芯片SOC緩存起來,再慢慢的一幀一幀發(fā)射出去,然后Send Confirm回調(diào)被陸陸續(xù)續(xù)地觸發(fā)。如果應(yīng)用程序在發(fā)送消息的時(shí)候,每次向射頻SoC寫入傳輸消息,待Send Confirm觸發(fā)后再寫入下一條消息,就可以很好地規(guī)避軟件丟包的問題。

        無線通信丟包網(wǎng)絡(luò)延遲

        對(duì)于接收端也是如此,多個(gè)發(fā)送端向同一個(gè)接收端發(fā)送消息,CSMA很好規(guī)避了沖突,發(fā)送端收到了各自的ACK,但是發(fā)送端發(fā)送的消息在接收端沒有得到正確的響應(yīng)。那么就有可能是接收端的處理能力有限,各個(gè)發(fā)送端累計(jì)發(fā)送的消息全部堆在接收端正在處理,這種情況就要考慮系統(tǒng)設(shè)計(jì)問題,減少接收端的處理壓力。

        相關(guān)文章推薦:

        什么是網(wǎng)絡(luò)丟包和怎么解決無線通信網(wǎng)絡(luò)數(shù)據(jù)包丟失?

        今天的分享就到這里啦,EBYTE每一天都致力于更好的助力物聯(lián)化、智能化、自動(dòng)化的發(fā)展,提升資源利用率,更多產(chǎn)品更多資料,感興趣的小伙伴可以登錄我們的億佰特官網(wǎng)進(jìn)行了解,還有客服小姐姐在線答疑哦!



        點(diǎn)擊撥打: 億佰特官網(wǎng) 4000-330-990