新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于STM8及USX1231的收發(fā)系統(tǒng)設(shè)計(jì)

基于STM8及USX1231的收發(fā)系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2016-09-20 來(lái)源:網(wǎng)絡(luò) 收藏

  2008年中國(guó)政府為微功率(短距離)無(wú)線電應(yīng)用增加了868MHz~ 868.6MHz的工作頻率。其對(duì)無(wú)線電設(shè)備的射頻要求如下:

本文引用地址:http://m.butianyuan.cn/article/201609/303268.htm

  (1)發(fā)射功率限值:5mW(e.r.p);

  (2)發(fā)射信號(hào)的占空比限值:1%;

  (3)載波頻率容限:100×10-6;

  并把該類設(shè)備歸類于“各類民用設(shè)備的無(wú)線電控制裝置中。

  從上面的規(guī)定中可以看到,該頻段可用帶寬為600kHz,但并沒(méi)有明確在該頻道使用的帶寬,數(shù)據(jù)速率以及調(diào)制方式方面要求,這就給予了應(yīng)用很大的空間。本文主要是基于868MHz頻段的要求,設(shè)計(jì)了比較簡(jiǎn)單通用的無(wú)線收發(fā)系統(tǒng),該系統(tǒng)可適用于該頻段的不同的無(wú)線傳輸應(yīng)用。

  SX1231介紹及性能描述

  SX1231芯片是Semtech公司推出的一款高集成度、低功耗、多頻段的UHF RF收發(fā)器。其工作電壓為1.8V~3.6V,24引腳QFN封裝,工作頻率包括3155MHz、4335MHz、 8685MHz和915MHz無(wú)許可證的ISM頻段;內(nèi)部集成SIGMA-DELTA小數(shù)分頻鎖相環(huán)、功率放大器、喚醒定時(shí)器、數(shù)字調(diào)制解調(diào)器、66字節(jié)的發(fā)送和接收數(shù)據(jù)FIFO、數(shù)據(jù)包處理、數(shù)據(jù)加密功能AES,以及6個(gè)可配置的DIO等,所有主要的RF通信參數(shù)是可編程的,大多數(shù)可動(dòng)態(tài)設(shè)定。采用16節(jié)的FIR通路濾波器,因而有好的選擇性;發(fā)射功率可編程輸出,從-18dBm到+17dBm;有多種調(diào)制解調(diào)方式:FSK、GFSK、MSK、GMSK和OOK等;SX1231在使用時(shí)所需的外部元件很少,1個(gè)32MHz的晶振、幾個(gè)電容和電感就可組成一個(gè)高可靠性的收發(fā)系統(tǒng),設(shè)計(jì)簡(jiǎn)單且成本低。SX1231在1.2kbps時(shí)的靈敏度高達(dá)-120dBm,主要用在無(wú)線抄表(AMR)、無(wú)線傳感器網(wǎng)絡(luò)、家庭和建筑物自動(dòng)化、無(wú)線告警和安全系統(tǒng)、工業(yè)監(jiān)視和控制等領(lǐng)域。

  無(wú)線射頻收發(fā)系統(tǒng)設(shè)計(jì)

  系統(tǒng)總體方案

  無(wú)線射頻收發(fā)系統(tǒng)的結(jié)構(gòu)框圖如圖1所示,由L151K2單片機(jī)控制SX1231實(shí)現(xiàn)無(wú)線數(shù)據(jù)的收發(fā)。發(fā)送模塊中的L151K2將數(shù)據(jù)傳送給SX1231,然后SX1231對(duì)數(shù)據(jù)進(jìn)行包格式處理,包括增加前導(dǎo)碼、同步字、CRC校驗(yàn)碼,如果需要也可以對(duì)數(shù)據(jù)進(jìn)行加密處理。最后數(shù)據(jù)包經(jīng)天線發(fā)送給接收模塊。接收模塊對(duì)接收到的射頻信號(hào)放大、解調(diào)、解包之后,再將數(shù)據(jù)送給主控制器L151K2進(jìn)行相應(yīng)的處理,如送顯示屏或PC數(shù)據(jù)處理中心等。該系統(tǒng)包括按鍵和液晶顯示屏等人機(jī)交互界面,以及RS232接口,這實(shí)現(xiàn)了與PC的通信功能。

  

 

  圖1 系統(tǒng)方框圖

  系統(tǒng)硬件設(shè)計(jì)

  主控芯片選用ST公司推出的單片機(jī)STM8L151K2。STM8L151K2有1K bytes的RAM和8K bytes的Flash以及256bytes的EEPROM,片上集成了包括串口、SPI、I2C、ADC、觸摸屏控制功能等外圍模塊接口,完全滿足本系統(tǒng)對(duì)微控制器的要求;有多種電源管理模式(如等待模式、低功耗運(yùn)行模式、低功耗等待模式等)。

  STM8L151K2可以通過(guò)SPI接口對(duì)SX1231的內(nèi)部寄存器進(jìn)行讀寫操作,靈活配置各項(xiàng)參數(shù)。通過(guò)4線SPI接口完成對(duì)SX1231的初始化配置、讀寫數(shù)據(jù)、訪問(wèn)FIFO等操作,使SX1231正常工作在發(fā)射、接收模式,完成數(shù)據(jù)在空中的傳播。

  SX1231是15腳~18腳的標(biāo)準(zhǔn)的SPI接口,DIO0~DIO5可以通過(guò)內(nèi)部寄存器來(lái)配置成不同的中斷信號(hào)。映射關(guān)系如表1所示,這樣可以很方便地獲取SX1231的工作狀態(tài)。如果需要了解FIFO滿、FIFO不是完全空,工作模式Ready,有效的數(shù)據(jù)包發(fā)送或接收、電池電壓低、RSSI、PLL鎖定等狀態(tài),都可以配置寄存器來(lái)把這些信號(hào)映射到DIO PIN,然后單片機(jī)STM8L151K2通過(guò)檢測(cè)這些DIO PIN的電平來(lái)獲得或者主動(dòng)通知MCU某個(gè)狀態(tài)發(fā)生??捎?9腳(RXTX)控制射頻收發(fā)開(kāi)關(guān)以進(jìn)行發(fā)射通路和接收通路的切換,高電平時(shí)為發(fā)射狀態(tài)。圖2中采用UPG2214TB射頻開(kāi)關(guān),V1和V2分別為開(kāi)關(guān)的控制腳。由于SX1231只有一個(gè)控制腳,因此增加一個(gè)三極管反相器就完成了開(kāi)關(guān)的控制。21腳(RFIO)是發(fā)射和接收共用的PIN,但是該P(yáng)IN的最高輸出功率為13dBm。如果需要輸出更高的功率(17dBm或20dBm),就必須把發(fā)射接至23腳(PABOOST),這時(shí)21腳(RFIO)只當(dāng)作接收PIN。

  

 

  圖2 硬件設(shè)計(jì)原理圖

  SX1231接收端的輸入阻抗可設(shè)置成50Ω和200Ω,通常設(shè)成200Ω,此時(shí)同一匹配值在全頻段仍可獲得很好的靈敏度。

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

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

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

  

 

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

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

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

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

  初始化程序

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

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

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

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

  

 

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

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

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

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

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

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

  電源電壓:3.3V

  頻率:868.3MHz

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

  頻偏:5.0kHz

  接收機(jī)帶寬:10kHz

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

  功率設(shè)定:4dBm

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

  發(fā)射功率

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

  

 

  圖4 發(fā)射功率

  載波頻率容限:100x10-6

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

  

 

  圖5 載波頻率容限

  發(fā)射信號(hào)的占空比限值:1%

  發(fā)射信號(hào)的占空比通常指在一定時(shí)間內(nèi),發(fā)射信號(hào)的時(shí)間與未發(fā)射信號(hào)的時(shí)間比值。這主要取決于應(yīng)用的要求,但是對(duì)類似短距離無(wú)線通信,發(fā)射器的發(fā)射的時(shí)間是非常的小,適合于各種控制類應(yīng)用。如抄表的應(yīng)用中,每個(gè)月抄表一次,而且每次發(fā)射的時(shí)間都小于1秒,這個(gè)占空比遠(yuǎn)遠(yuǎn)小于1%。

  

 

  圖6 信道間隔和占用帶寬

  

 

  圖7 鄰信道功率

  信道間隔和占用帶寬

  對(duì)于25kHz的信道間隔,允許的占用帶寬為8.5kHz~16kHz之間。從圖6的結(jié)果中可以看到,占有99%的能量的占用帶寬為14.7247kHz,小于16kHz。

  鄰信道功率

  在載波25kHz頻率偏移處的功率須小于載波功率40dB。

  接收靈敏度

  接收靈敏度是-113.4dBm@0.1%。整個(gè)系統(tǒng)的接收鏈路預(yù)算為120.2dB。通信距離可以達(dá)到600m左右。

  從測(cè)試結(jié)果可看出該系統(tǒng)具有很好的性能,精準(zhǔn)的頻率控制,高的接收靈敏度,可以滿足于寬帶的應(yīng)用要求,而且結(jié)果也表明完全適合于窄帶應(yīng)用。完全滿足于中國(guó)年微功率(短距離)無(wú)線電應(yīng)用對(duì)于868MHz~868.6MHz頻段的規(guī)范要求。在本系統(tǒng)的基礎(chǔ)上,稍作改變就可適用于不同的應(yīng)用環(huán)境。



關(guān)鍵詞: STM8 USX1231

評(píng)論


相關(guān)推薦

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

關(guān)閉