




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于SI4432的高性能無(wú)線收發(fā)應(yīng)用平臺(tái)設(shè)計(jì) 近些年來(lái),隨著集成電路技術(shù)的發(fā)展,ISM頻段單芯片的無(wú)線數(shù)據(jù)通信IC的性能日益提高,短距離無(wú)線應(yīng)用領(lǐng)域也在不斷地?cái)U(kuò)大,其中包括消費(fèi)電子、工業(yè)控制、安防、自動(dòng)抄表等諸多領(lǐng)域。數(shù)據(jù)的無(wú)線收發(fā)在無(wú)線產(chǎn)品設(shè)計(jì)中占有很大的比重。為縮短產(chǎn)品設(shè)計(jì)周期以及提高產(chǎn)品的穩(wěn)定性,使產(chǎn)品設(shè)計(jì)工程師在設(shè)計(jì)過(guò)程中只需關(guān)注系統(tǒng)應(yīng)用的設(shè)計(jì),而將數(shù)據(jù)收發(fā)交付一種成熟穩(wěn)定的收發(fā)系統(tǒng)來(lái)完成。為此,本文設(shè)計(jì)了一種基于SI4432+STM32F103的高性能無(wú)線收發(fā)平臺(tái)。1 STM32F103和SI4432芯片簡(jiǎn)介STM32系列是采用ARM C
2、ortexTM-M3 內(nèi)核的閃存微控制器,所有功能都具有業(yè)界最優(yōu)的功耗水平。在結(jié)合了高性能(最高72 MHz頻率)、低功耗(睡眠、停機(jī)和待機(jī)模式)和低電壓(可2.0 V3.6 V供電)特性1的同時(shí)保持了高度的集成性能和簡(jiǎn)易的開(kāi)發(fā)特性,為用戶(hù)提供最大程度的靈活性。 SI4432是Silicon Labs公司的ISM頻段收發(fā)一體芯片,最大輸出功率達(dá)到了+20 dBm(100 mW),具有“距離之王”的美譽(yù)(空曠距離可達(dá)2 000 m)。SI4432具有特有的連續(xù)頻率覆蓋范圍(240 MHz960 MHz)、寬工作電壓(+1.8 V+3.6 V)、高靈敏度(在BE
3、R<01, 數(shù)據(jù)速率2.0 kb/s時(shí)為-118 dBm)等特點(diǎn),還集成了一些可節(jié)省應(yīng)用成本的特性,如喚醒定時(shí)器、溫度傳感器、發(fā)射和接收數(shù)據(jù)FIFO、高性能ADC2,這些特性可大幅簡(jiǎn)化系統(tǒng)設(shè)計(jì)師的工作,并允許使用低端的微控制器。高集成度使得外圍僅需一個(gè)30 MHz的晶體和幾個(gè)用于匹配濾波的無(wú)源器,因此非常適用于對(duì)尺寸和成本敏感的大批量生產(chǎn)中的應(yīng)用。2 硬件設(shè)計(jì) 該平臺(tái)主要由微處理器ARM7 STM32F103(以下簡(jiǎn)稱(chēng)STM32)和RF收發(fā)芯片SI4432組成。STM32通過(guò)SPI接口對(duì)SI4432進(jìn)行初始化配置、數(shù)據(jù)收發(fā)控制等,而SI4432通過(guò)nI
4、RQ腳將相應(yīng)的中斷發(fā)送至STM32。該平臺(tái)采用單天線進(jìn)行數(shù)據(jù)的收發(fā),所以必須采用RF收發(fā)切換開(kāi)關(guān)用于對(duì)SI4432的收發(fā)狀態(tài)進(jìn)行切換, 其中GPIO1控制RF切換開(kāi)關(guān)為發(fā)送狀態(tài),GPIO2控制RF切換開(kāi)關(guān)為接收狀態(tài)2。系統(tǒng)硬件組成如圖1所示。 為滿(mǎn)足用戶(hù)各種不同的設(shè)計(jì)需求,該平臺(tái)還提供串口、通用IO口和AD轉(zhuǎn)化接口。其中,AD轉(zhuǎn)化接口可以用于需要處理模擬信號(hào)的系統(tǒng),如有各種傳感器的環(huán)境監(jiān)控系統(tǒng)。3 軟件設(shè)計(jì) 軟件編程采用模塊化設(shè)計(jì)思想,系統(tǒng)中各主要功能模塊均編成獨(dú)立的函數(shù)由主程序調(diào)用。功能模塊包括:初始化程序(初
5、始化SPI、 SI4432)、無(wú)線發(fā)送程序和無(wú)線接收程序等。3.1狀態(tài)轉(zhuǎn)化 為了最大限度地降低功耗,軟件設(shè)計(jì)中采用SI4432的自動(dòng)喚醒功能,在沒(méi)有數(shù)據(jù)收發(fā)時(shí)芯片處于空閑狀態(tài),定時(shí)一段時(shí)間后將狀態(tài)切換至發(fā)送或是接收,檢查是否有數(shù)據(jù)的收發(fā)。SI4432主要有四種狀態(tài):關(guān)閉、空閑、發(fā)送和接收,這些狀態(tài)在滿(mǎn)足一定的條件時(shí)可實(shí)現(xiàn)相互轉(zhuǎn)移,狀態(tài)轉(zhuǎn)移如圖2所示。在關(guān)閉狀態(tài)下功耗最低,空閑次之??臻e狀態(tài)有五種不同的模式,用戶(hù)可以根據(jù)不同的應(yīng)用靈活選擇。這些狀態(tài)或模式可以在操作模式和功能控制寄存器07H中設(shè)定,通過(guò)在寄存器07H中設(shè)定txon/rxon控制位可以從空閑狀態(tài)中
6、的任一模式自動(dòng)轉(zhuǎn)移到發(fā)送/接收狀態(tài)。不同模式/狀態(tài)下轉(zhuǎn)換需要的時(shí)間和功耗都不相同,可以根據(jù)系統(tǒng)需要選擇最佳的狀態(tài)和模式。3.2 無(wú)線發(fā)送程序流程 無(wú)線發(fā)送程序負(fù)責(zé)寫(xiě)入數(shù)據(jù)載荷,并根據(jù)通信協(xié)議為數(shù)據(jù)載荷加上前導(dǎo)碼、同步字、數(shù)據(jù)載荷長(zhǎng)度等,形成數(shù)據(jù)包并將其發(fā)送出去,其流程如圖3所示。在完成 SPI和 SI4432 的初始化后,通過(guò)配置 SI4432 的寄存器3EH來(lái)設(shè)置包的長(zhǎng)度,然后清除發(fā)送FIFO,并通過(guò)SPI連續(xù)寫(xiě)寄存器7FH將待發(fā)送數(shù)據(jù)寫(xiě)入發(fā)送 FIFO(字節(jié)數(shù)小于64 B),最后打開(kāi)“發(fā)送完中斷允許”標(biāo)志,將其他中斷都禁止。完成中斷使能后,使能發(fā)送功能,
7、數(shù)據(jù)開(kāi)始發(fā)送。當(dāng)數(shù)據(jù)包發(fā)送完時(shí),引腳nIRQ會(huì)被拉低產(chǎn)生一個(gè)低電平并通知STM32數(shù)據(jù)包已發(fā)送完畢,當(dāng)nIRQ引腳變?yōu)榈蜁r(shí)讀取中斷狀態(tài)并拉高 nIRQ,否則繼續(xù)等待。一次數(shù)據(jù)發(fā)送成功后,關(guān)閉發(fā)送使能,進(jìn)入下一次數(shù)據(jù)循環(huán)發(fā)送狀態(tài)。3.3 無(wú)線接收程序流程 無(wú)線接收程序負(fù)責(zé)獲取有效載荷數(shù)據(jù)長(zhǎng)度,并讀取接收FIFO中的有效數(shù)據(jù),其流程如圖4所示。在程序完成SPI和SI4432的初始化后,打開(kāi)“有效包中斷”和“同步字檢測(cè)中斷”,將其他中斷都禁止,并使能接收功能。等待nIRQ引腳因中斷產(chǎn)生而被拉低,讀取中斷標(biāo)志位拉高nIRQ引腳。若引腳 nIRQ 變成低電平,表示接收
8、到有效數(shù)據(jù)包,通過(guò)寄存器4 BH讀取包長(zhǎng)度信息,并通過(guò)SPI訪問(wèn)寄存器7 FH從接收 FIFO中讀取接收到的數(shù)據(jù),之后關(guān)閉接收使能,進(jìn)入下一次數(shù)據(jù)接收狀態(tài)。4 高性能應(yīng)用設(shè)計(jì) 在實(shí)際的產(chǎn)品應(yīng)用中,通常采用ACK握手信號(hào)、載波監(jiān)聽(tīng)多路訪問(wèn)/沖突防止(CSMA/CA)等機(jī)制來(lái)保證數(shù)據(jù)收發(fā)的高效、穩(wěn)定、可靠。而SI4432硬件不支持這些機(jī)制。為了增加本系統(tǒng)的高效適應(yīng)性,設(shè)計(jì)了以下高性能通信機(jī)制。4.1 基于ACK的雙向通信 在無(wú)線數(shù)據(jù)傳輸過(guò)程中,為了確保發(fā)送過(guò)程的可靠性,發(fā)送端需要一應(yīng)答信號(hào)以確保發(fā)送數(shù)據(jù)已被準(zhǔn)確無(wú)誤接收。本設(shè)計(jì)
9、中,接收端也可以通過(guò)ACK數(shù)據(jù)包發(fā)送有效數(shù)據(jù)至發(fā)送端,大大提高了信道的使用率。應(yīng)答信號(hào)數(shù)據(jù)包格式如圖5所示。 圖5中,ACK控制字節(jié)的數(shù)據(jù)格式如圖6所示。如果發(fā)送節(jié)點(diǎn)需要一反饋以判斷數(shù)據(jù)包是否到達(dá)目的地,則需要將應(yīng)答請(qǐng)求位(ACKRQ位)置1。發(fā)送完數(shù)據(jù)包以后,自動(dòng)轉(zhuǎn)為接收狀態(tài),等待ACK狀態(tài)的到來(lái)并接收應(yīng)答信號(hào)數(shù)據(jù)包。如果接收節(jié)點(diǎn)接收到有效數(shù)據(jù)包且檢測(cè)到ACK控制字節(jié)中的ACKRQ位為1,則會(huì)自動(dòng)產(chǎn)生應(yīng)答信號(hào)并且發(fā)送至發(fā)送節(jié)點(diǎn)。應(yīng)答信息數(shù)據(jù)包中,ACK控制字節(jié)中的應(yīng)答標(biāo)志位(ACK位)被置1,并且有效數(shù)據(jù)為接收節(jié)點(diǎn)發(fā)給發(fā)送方的數(shù)據(jù)(當(dāng)不需要發(fā)送有用數(shù)據(jù)時(shí),
10、全部用0x00填充),同時(shí)源地址和目的地址相互交換。具體通信過(guò)程如圖7所示。 程序中,為了防止發(fā)送節(jié)點(diǎn)長(zhǎng)時(shí)間地等待,設(shè)定只需等待固定的時(shí)間,等待的時(shí)間長(zhǎng)短主要由實(shí)際的網(wǎng)絡(luò)參數(shù)決定:是否使能了包轉(zhuǎn)發(fā)、實(shí)際的數(shù)據(jù)速率等。若在規(guī)定的時(shí)間內(nèi),發(fā)送方未能接收到ACK數(shù)據(jù)包,則進(jìn)入ACK接收錯(cuò)誤狀態(tài);若成功接收將進(jìn)入休眠、發(fā)送或是空閑狀態(tài)。使用ACK信號(hào)可以實(shí)現(xiàn)收發(fā)節(jié)點(diǎn)的雙向通信,能很好地解決手動(dòng)切換無(wú)線收發(fā)狀態(tài)導(dǎo)致雙方互相等待的問(wèn)題,同時(shí)只在需要ACK信號(hào)的應(yīng)用中才附帶應(yīng)答有效信息,減少不必要的通信過(guò)程,大大提高了系統(tǒng)的穩(wěn)定性和高效性。4.2 精簡(jiǎn)的CSMA/CA發(fā)送
11、機(jī)制在無(wú)線通信過(guò)程中,在一個(gè)通信域內(nèi)可能存在幾十個(gè)乃至幾百個(gè)無(wú)線終端同時(shí)工作。在這樣復(fù)雜的無(wú)線網(wǎng)絡(luò)中,無(wú)線數(shù)據(jù)發(fā)送頻繁,發(fā)生碰撞不可避免。當(dāng)數(shù)據(jù)發(fā)送發(fā)生碰撞時(shí),意味著有數(shù)據(jù)幀丟失。為了盡可能地避免由于發(fā)送數(shù)據(jù)時(shí)發(fā)生碰撞而導(dǎo)致數(shù)據(jù)幀的丟失,必須引入一種可以避免發(fā)送碰撞的機(jī)制。 設(shè)計(jì)中參考了802.15.4中CSMA/CA的相關(guān)原理,采用非信標(biāo)的方式實(shí)現(xiàn)符合系統(tǒng)要求的精簡(jiǎn)的CSMA/CA發(fā)送機(jī)制3。非信標(biāo)的方式即:結(jié)點(diǎn)若有數(shù)據(jù)要發(fā)送,需要先通過(guò)CSMA/CA機(jī)制進(jìn)行信道監(jiān)測(cè),也就是在等待一個(gè)隨機(jī)時(shí)間后,對(duì)當(dāng)前信道進(jìn)行監(jiān)聽(tīng),若監(jiān)測(cè)到信道空閑,就可以開(kāi)始傳送數(shù)據(jù);若監(jiān)測(cè)到信道忙,則需要重新等待一個(gè)隨機(jī)
12、時(shí)間,然后再繼續(xù)監(jiān)聽(tīng)信道,具體實(shí)現(xiàn)流程如圖84-5所示。步驟如下: (1)在開(kāi)始發(fā)送數(shù)據(jù)之前先監(jiān)聽(tīng)信道0.5 ms。如果在這段時(shí)間內(nèi)信道是空閑的(通過(guò)讀取寄存器26 H的接收信號(hào)強(qiáng)度(RSSI)值,則與設(shè)定的信道空閑閾值做比較來(lái)判斷,發(fā)送節(jié)點(diǎn)將隨機(jī)延時(shí)0或1個(gè)時(shí)隙(1時(shí)隙為1 ms)。如果信道仍然是空閑的就開(kāi)始發(fā)送數(shù)據(jù);若信道變得忙碌,則跳到第(3)步驟。 (2)如果在0.5 ms內(nèi)信道為忙,則發(fā)送節(jié)點(diǎn)每隔0.5 ms采樣一次RSSI值,直到RSSI值小于設(shè)定的門(mén)閾值或是采樣次數(shù)達(dá)到10次。如果采樣次數(shù)達(dá)到10次,則跳轉(zhuǎn)到步驟(5)。 (3)若信道仍然為忙,則發(fā)送方將再等待一隨機(jī)時(shí)間,等待時(shí)間
13、的大小是由下式確定: RandomTime = n×time1:0其中,n是015中的一個(gè)隨機(jī)數(shù),time1:0可以設(shè)定為固定的時(shí)間(0.25 ms、0.5 ms、1 ms、2 ms),可以根據(jù)應(yīng)用的需要選擇不同的值。 (4)如果在這段時(shí)間內(nèi)信道是空閑的,則發(fā)送數(shù)據(jù);若忙碌則跳轉(zhuǎn)到步驟(5)。 (5)若嘗試的次數(shù)超出限定值(MAX_TRY_NUMBER),則跳轉(zhuǎn)到步驟(6)。 (6)如果由于信道忙無(wú)法發(fā)出數(shù)據(jù),則發(fā)送節(jié)點(diǎn)將返回信道忙錯(cuò)誤。 為了驗(yàn)證精簡(jiǎn)CSMA/CA發(fā)送機(jī)制的性
14、能,在空曠場(chǎng)地進(jìn)行了多節(jié)點(diǎn)(1個(gè)接收4個(gè)發(fā)送節(jié)點(diǎn))數(shù)據(jù)收發(fā)測(cè)試,發(fā)送5 000次,MAX_TRY_NUMBER=4,實(shí)驗(yàn)結(jié)果如表1所示。 由表1可以看出,當(dāng)距離近、傳輸速率低時(shí),兩種情況丟包率為0;當(dāng)距離遠(yuǎn)且傳輸速率高時(shí),未使用CSMA/CA的丟包率隨著距離和速率的增加而大幅增加,而使用CSMA/CA的丟包率則很小,其性能最大可提高28倍。因此,使用精簡(jiǎn)的CSMA/CA發(fā)送機(jī)制可以大大減少由于數(shù)據(jù)沖突而產(chǎn)生的丟包概率,從而提高了通信吞吐率。5 低功耗處理 STM32和SI4432是模塊的耗電“大戶(hù)”,但它們都提供了低功耗運(yùn)
15、行功能。STM32支持三種省電模式:睡眠、停機(jī)和待機(jī),并帶有自動(dòng)喚醒功能。在本系統(tǒng)中STM32的常態(tài)為待機(jī),在接收到任何中斷時(shí),將從待機(jī)狀態(tài)切換到正常狀態(tài),在執(zhí)行完任務(wù)后,立即從正常狀態(tài)切換回待機(jī)狀態(tài)。而SI4432中集成了一個(gè)基于內(nèi)部32.768 kHz RC振蕩器的定時(shí)喚醒器,可以從睡眠模式定期喚醒芯片,而且SI4432內(nèi)部集成的功放(PA)的輸出功率是可編程的,工作電流與發(fā)射功率成正比,可根據(jù)RSSI的值來(lái)動(dòng)態(tài)調(diào)整輸出功率的值,當(dāng)RSSI的值大時(shí)可減小輸出功率;反之,則可增大輸出功率2。 本文設(shè)計(jì)的無(wú)線收發(fā)模塊可用于一對(duì)一、一對(duì)多以及網(wǎng)狀網(wǎng)近距離無(wú)線通
16、信環(huán)境中,系統(tǒng)工作穩(wěn)定可靠,具有很好的通用性。因STM32自帶ADC,SI4432自帶溫度傳感器,稍作改動(dòng)就可以應(yīng)用到安防、自動(dòng)抄表、傳感器網(wǎng)絡(luò)、無(wú)線遙控等一些短距離無(wú)線通信場(chǎng)合。該平臺(tái)具有較高的應(yīng)用價(jià)值,為無(wú)線數(shù)據(jù)傳輸提供了一個(gè)很好的解決方案。參考文獻(xiàn)1 STMicroelectronics Inc. STM32F10xxx_reference_manualR. 2008.2 Silicon Laboratories Inc. Si4432 users manualR20093 IEEE Std 802. part 15.4: wireless medium access control (
17、MAC) and physical layer(PHY) specifications for lowrate wirelesspersonal area networks(WPANs)S. IEEE, 2006.4 Silicon Laboratories Inc. EZMACPRO users guideR. 2009.5 鄭朝霞,鄒雪城,姜天杰,等. WSN中CSMA/CA協(xié)處理器的軟硬協(xié)同設(shè)計(jì)J. 固體電子學(xué)研究與進(jìn)展,2009,29(1):132-137.相關(guān)閱讀: ·基于Si4432的無(wú)線射頻收發(fā)系統(tǒng)設(shè)計(jì) ·基于Si4432A的無(wú)線射頻收發(fā)系統(tǒng)設(shè)計(jì) ·基于MSP430F149與Si4432的無(wú)線傳感器網(wǎng)絡(luò)的實(shí)現(xiàn) ·基于PLL和TDA7010T的無(wú)線收發(fā)系統(tǒng)設(shè)計(jì) ·基于ATmega16和nRF905的無(wú)線射頻收發(fā)系統(tǒng)設(shè)計(jì) ·基于nRF401的通用智能無(wú)線收發(fā)裝置的設(shè)計(jì) ·基于nrf401應(yīng)用的無(wú)線收發(fā)芯片電路設(shè)計(jì) ·基于AT86RF230
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 豐田買(mǎi)車(chē)銷(xiāo)售合同范本
- 合同范本租房
- 增強(qiáng)民營(yíng)企業(yè)發(fā)展活力促進(jìn)經(jīng)濟(jì)高質(zhì)量增長(zhǎng)
- 吊裝租賃搬運(yùn)合同范本
- 合同范本不需審查
- 合同范本電子版
- 公路工程竣工檢測(cè)合同范本
- 醫(yī)療美容項(xiàng)目合同范例
- 兄弟之間借款合同范例
- 語(yǔ)文-2025年江西省中考第一次模擬考試(全解全析)
- Midea美的F50-22DE5(HEY)電熱水器說(shuō)明書(shū)
- 實(shí)驗(yàn)室生物安全與個(gè)人防護(hù)課件
- 學(xué)校心理健康教育的目標(biāo)體系課件
- 功能材料-智能材料
- 科普甲狀腺結(jié)節(jié)課件
- 合同智能審核與風(fēng)險(xiǎn)預(yù)警
- SG-400140型火電廠鍋爐中硫煙煤煙氣噴霧干燥法脫硫+袋式除塵系統(tǒng)設(shè)計(jì)
- 低血糖急救護(hù)理課件
- 學(xué)做小小按摩師(課件)全國(guó)通用三年級(jí)上冊(cè)綜合實(shí)踐活動(dòng)
- 陰道鏡檢查臨床醫(yī)學(xué)知識(shí)及操作方法講解培訓(xùn)PPT
- 出險(xiǎn)車(chē)輛維修確認(rèn)書(shū)范本
評(píng)論
0/150
提交評(píng)論