新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于STM8及UHFRF收發(fā)器SX1231的無線射頻收發(fā)系統(tǒng)

基于STM8及UHFRF收發(fā)器SX1231的無線射頻收發(fā)系統(tǒng)

作者: 時間:2016-11-30 來源:網(wǎng)絡(luò) 收藏

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

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

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

表1 DIO PIN 與信號的映射關(guān)系表

系統(tǒng)軟件設(shè)計

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

無線收發(fā)模塊之間的通信是以數(shù)據(jù)包的形式發(fā)送的,本系統(tǒng)定義的數(shù)據(jù)包格式如表2所示。

表2 本文系統(tǒng)定義的數(shù)據(jù)包格式

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

初始化程序

初始化程序包括STM8L151K2的初始化以及SX1231的收發(fā)頻率、工作模式、調(diào)制方式、數(shù)據(jù)速率以及數(shù)據(jù)包處理等寄存器的初始化配置。

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

數(shù)據(jù)發(fā)送程序

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

圖3 數(shù)據(jù)收發(fā)流程圖

數(shù)據(jù)接收程序

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

系統(tǒng)測試結(jié)果

系統(tǒng)測試條件及設(shè)置

該部分為本系統(tǒng)測試時的設(shè)置,根據(jù)不同的應(yīng)用需求,部分設(shè)置可用作相應(yīng)的變動。

電源電壓:3.3V

頻率:868.3MHz

數(shù)據(jù)速率:4.8kbps

頻偏:5.0kHz

接收機帶寬:10kHz

數(shù)據(jù)類型:PN15

功率設(shè)定:4dBm

測試結(jié)果

發(fā)射功率

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

圖4 發(fā)射功率

載波頻率容限:100x10-6

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



評論


技術(shù)專區(qū)

關(guān)閉