新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 一種短距離無線傳輸的CSMA/CA協議實現方法

        一種短距離無線傳輸的CSMA/CA協議實現方法

        作者: 時間:2010-06-25 來源:網絡 收藏

        狀態轉換圖如圖4所示。

        本文引用地址:http://www.104case.com/article/157343.htm

        3 的關鍵
        ①串口數據幀的拷貝。為保存串口接收到的數據幀,并為以后能區分緩存不同的數據幀,設計了能緩存4個數據幀的緩存空間。在接收到串口的數據幀時,跟原來直接處理數據的做法不同,新的程序中,首先將數據存在緩存區中,如果緩存區滿,則不再保存新的數據幀。
        ②串口緩存區數據幀的處理順序。按照接收到數據的先后順序進行處理。
        ③隨機退避的處理。由于MCl3213不僅需要發送數據和接收數據,還需要與串口進行通信,此處隨機退避采用中斷方式,當退避時間到時,置退避時間完成標志位,而后進入隨機退避完成的處理過程。
        數據幀3次重發的。DATA類型的數據如果發送不成功,需要有3次重傳機制,過程與之前有很大不同。當數據發送成功后,在一定的時間內等待ACK,如果沒有接收到ACK,則判斷是否重傳3次。若未到3次,置重傳標志位,重傳數據幀,否則丟棄此幀。隨機退避次數大于最大退避次數時,同樣判斷是否重傳3次:若未到3次,置重傳標志位,重傳數據幀,否則丟棄此幀。在此幀數據沒有發送成功,并且重傳次數未到時,不處理之后的數據幀,保證重傳的數據幀是需要重傳的數據幀。
        模塊的狀態切換。為了保證無線模塊狀態切換的時序沒有錯誤,防止由于無線模塊狀態切換而導致的嚴重問題,在_MAC實現過程中,無論對無線模塊進行了什么操作,最終都需要把無線模塊的狀態置為RX_STATE,打開無線模塊的接收天線。
        ⑥串口數據幀3次重發的實現。DATA類型的數據幀發送完成后,如果在一定的時間內未收到ACK,將對數據進行重發,直至收到ACK;或者重發超過3次,丟棄此幀。

        4 測試結果
        在我們搭建的一個無線定位小系統測試中,定位節點與定位卡通信,工作正常;兩個定位節點之間的通信,定位節點收發狀態正常,工作正常;定位節點將接收到的定位卡的數據幀轉發至PC上,經過定位算法處理后,定位誤差在2 m范圍之內。

        結語
        本文基于ZigBee基帶芯片實現了簡單的,同時也適用于其他無線通信系統。筆者已經在1套433 MHz定位系統中使用了同一協議,收到了良好的效果。本文介紹實現的只是基本的協議,在應用于不同的無線通信系統中時,可以根據系統的特點再加以改進,就可以達到更好的無線通信效果。

        電能表相關文章:電能表原理

        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 河西区| 福海县| 什邡市| 美姑县| 应城市| 栾川县| 青龙| 渑池县| 霸州市| 上栗县| 隆安县| 绥江县| 呈贡县| 林芝县| 瓮安县| 陇南市| 河西区| 旬阳县| 西青区| 尼勒克县| 禄劝| 白玉县| 清远市| 长子县| 高雄县| 禄丰县| 遂平县| 沙田区| 古蔺县| 大丰市| 阜康市| 余干县| 海原县| 铁力市| 行唐县| 鄂伦春自治旗| 滨州市| 中西区| 靖江市| 浦北县| 忻城县|