新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于STM8及UHFRF收發器SX1231的無線射頻收發系統

        基于STM8及UHFRF收發器SX1231的無線射頻收發系統

        作者: 時間:2016-11-30 來源:網絡 收藏

        SX123節省功耗方面有一些很重要的特性:

        (1)工作電壓范圍寬:從1.8V~3.6V都可以正常工作,且任何特性都保持不變。特別是對于發射,工作電壓低至1.8V時仍然保持相同的輸出功率,即電壓從1.8V~3.6V,輸出功率都能到達17dBm或20dBm,不隨電壓而變。但是其他類似的芯片,輸出功率則隨著電壓的下降而降低。這樣一種特性,使得該系統能夠使電池的利用最大化,延長電池的使用壽命,這對低功耗的應用來說具有非常重大的意義。

        (2)可以在sleep/standby模式下讀寫寄存器:該特性節約了寫FIFO時的功耗。在sleep模式下的電流為0.1μA,而在接收模式下的電流為16mA,節約了160000倍的功耗。

        表1 DIO PIN 與信號的映射關系表

        系統軟件設計

        系統中各主要功能模塊均編成獨立的函數由主程序調用。功能模塊包括:初始化程序(包括初始化STM8L151K2、SX1231)、無線發送程序、無線接收程序等。無線發送程序負責寫入數據載荷到SX1231,并根據通信協議來配置芯片的前導碼、同步字及CRC校驗碼,最后SX1231把其組裝成數據包將其發送出去;無線接收程序負責接收并處理數據。首先,SX1231接收到一個完整的數據包,之后逐步的把前導碼、同步字以及CRC碼去除,最后MCU從其FIFO中取出有效數據。

        無線收發模塊之間的通信是以數據包的形式發送的,本系統定義的數據包格式如表2所示。

        表2 本文系統定義的數據包格式

        其中,Preamble(前導碼)是一連串的10101010(0XAA)或01010101(0X55),其數量為0~655635字節,具體幾個字節可以根據應用的需要來設定。前導碼主要用來進行幀同步,接收機主要依靠前導碼來進行有用信號識別,完成頻率控制,以及自動增益控制、信號強度判斷等動作以確保用最佳的狀態接收正確的數據。SyncWord(同步字)在前導碼之后,通過設定好的同步字來作為同步模式的標志碼,也可以作為一個網絡的ID,相同網絡的設備用相同的同步碼。而接下來的地址碼(Address)可以作為網絡內每個設備的ID,如果數據包中的地址于本設備的地址相同,則接收數據,否則不予處理。有效載荷(Message)是真正需要傳輸的數據。最后是CRC校驗碼,由芯片自動完成。

        初始化程序

        初始化程序包括STM8L151K2的初始化以及SX1231的收發頻率、工作模式、調制方式、數據速率以及數據包處理等寄存器的初始化配置。

        系統上電后,STM8L151K2處于默認狀態,根據系統功能需求重新進行初始化配置。SX1231也處于默認狀態,需要進行配置才能工作。SX1231的初始化是一個重要的部分,正確的配置對系統最終的通信性能有很大的影響。

        數據發送程序

        無線發送程序流程如圖3所示。完成STM8L151K2、SX1231的初始化后,配置寄存器寫入相應的初始化RF控制字;然后通過SPI連續寫寄存器向TX FIFO內寫入需要發送的數據;再切換到發射模式。當數據發送完后,PacketSent寄存器置1,同時映射的DIO PIN會變成高電平通知MCU數據包發送完成。然后寫數據到FIFO,發送,如此循環。直到所有數據發送完成,進入Sleep模式。

        圖3 數據收發流程圖

        數據接收程序

        程序完成STM8L151K2、SX1231的初始化后,配置寄存器寫入相應的初始化RF控制字,把SX1231配置為接收狀態。檢測PayloadReady為高電平時,表明已經收到數據,然后MCU從FIFO中讀取數據,并進行處理。如此循環直至完成接收。

        系統測試結果

        系統測試條件及設置

        該部分為本系統測試時的設置,根據不同的應用需求,部分設置可用作相應的變動。

        電源電壓:3.3V

        頻率:868.3MHz

        數據速率:4.8kbps

        頻偏:5.0kHz

        接收機帶寬:10kHz

        數據類型:PN15

        功率設定:4dBm

        測試結果

        發射功率

        從圖4中可以看到,發射功率為6.86dBm。低于5mW(7dBm)的規范要求。

        圖4 發射功率

        載波頻率容限:100x10-6

        從圖5中可以看出,設置為868.3MHz輸出,實際測量的頻率為868.2960MHz,則頻率偏差為((868.30-868.296)MHz/868MHz)=4.6×10-6,小于規定的載波頻率容限100×10-6。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 霍州市| 上林县| 长汀县| 天全县| 雷波县| 铁岭县| 宾阳县| 资兴市| 永川市| 房山区| 嵩明县| 故城县| 乌鲁木齐县| 博爱县| 寿阳县| 临桂县| 包头市| 桑日县| 宜春市| 邮箱| 泸州市| 兰溪市| 崇信县| 仙居县| 云南省| 延寿县| 拜城县| 普兰店市| 高青县| 潜江市| 江川县| 新河县| 辽中县| 宁津县| 始兴县| 静宁县| 左贡县| 曲水县| 灵川县| 明溪县| 介休市|