CC1020的點對多點無線組網(wǎng)研究
在近距離無線數(shù)據(jù)采集與自動控制系統(tǒng)中,往往需要組成點對多點的系統(tǒng),即一個主機(jī)與多個從機(jī)的系統(tǒng),如圖1所示。在這樣的系統(tǒng)中,主機(jī)作為整個系統(tǒng)的控制中心,負(fù)責(zé)發(fā)送指令和接收數(shù)據(jù);從機(jī)被動地接收主機(jī)的指令,收到指令后,首先確定指令的類型,然后開始相應(yīng)的工作。例如在無線數(shù)據(jù)采集系統(tǒng)中,主機(jī)負(fù)責(zé)選擇需要的從機(jī),并啟動從機(jī)進(jìn)行數(shù)據(jù)采集,然后接收從機(jī)采集到的數(shù)據(jù);從機(jī)則根據(jù)接收到的主機(jī)發(fā)給自己的指令,啟動數(shù)據(jù)采集并發(fā)送數(shù)據(jù)給主機(jī),
或停止工作。
點對多點的無線系統(tǒng)對無線傳輸提出了雙向通信的要求,即主機(jī)和從機(jī)都可以進(jìn)行發(fā)射與接收,并且相互之間協(xié)調(diào)有序,不會產(chǎn)生沖突和干擾。其實現(xiàn)方式有多種,本文從基于無線收發(fā)芯片CCl020實現(xiàn)這種點對多點無線系統(tǒng)出發(fā),詳細(xì)論述了該系統(tǒng)的3種簡單實現(xiàn)方式。
1 基于CCl020實現(xiàn)點對多點系統(tǒng)
1.1 CCl020概述
CCl020是為極低功率、極低電壓的無線應(yīng)用而設(shè)計的單片UHF收發(fā)芯片。電路主要應(yīng)用于402、424、426、429、433、447、449、469、868和915 MHz的ISM和SRD頻帶,也可以通過編程工作于402~470 MHz和804~940 MHz的其他頻率。
CCl020電源電壓為2.3~3.6 V,有接收、發(fā)射和低功耗3種模式。在接收模式下,電流消耗為17 mA。CCl020尤其適用于信道間距為12.5 kHz或25 kHz的窄帶系統(tǒng)。在12.5 kHz帶寬的信道中,靈敏度可達(dá)一119 dBm,數(shù)據(jù)速率高達(dá)153.6 kbps。CCl020具有ASK、FSK和GFSK三種數(shù)據(jù)調(diào)制方式,有數(shù)字接收信號強(qiáng)度指示器、載波檢測指示器和鏡像抑制混頻器,無需溫度補(bǔ)償晶體振蕩器(TCXO)即可補(bǔ)償晶體溫度漂移。
在典型應(yīng)用系統(tǒng)中,CCl020與單片機(jī)和少量外部無源元件結(jié)合使用。圖2為CCl020與單片機(jī)AT89C2051連接的電路示意圖。圖中DVDD與AVDD均為3 V。
CCl020的工作是建立在對其33個可編程配置寄存器進(jìn)行編程基礎(chǔ)上的,33個配置數(shù)據(jù)可由SmartRF Studio軟件根據(jù)參數(shù)選取的不同生成最佳搭配值,再根據(jù)自己的實際需要調(diào)整個別寄存器的參數(shù)。
單片機(jī)使用3或4個I/0引腳與CCl020的結(jié)構(gòu)配置SPI兼容接口(PDI,PDO,PCLK和PSEL)連接。PD0接單片機(jī)的輸入,PDI、PCLK和PSEL接單片機(jī)的輸出。如果PDI和PD0連接在一起,則可以節(jié)省一個I/0引腳,此時單片機(jī)使用一個雙向引腳。單片機(jī)的一個雙向引腳與CCl020的DIO引腳連接,用于數(shù)據(jù)的發(fā)射和接收(輸入與輸出)。DCLK提供數(shù)據(jù)時鐘,必須連接到單片機(jī)的一個輸入端。當(dāng)工作在同步模式時,根據(jù)DCLK引腳端提供的同步時鐘從DIO引腳進(jìn)行數(shù)據(jù)的收發(fā)。
在點對多點系統(tǒng)的實現(xiàn)中,重點在于對CCl020的結(jié)構(gòu)配置與收發(fā)軟件的設(shè)計上。
1.2 基于地址碼的點對多點系統(tǒng)
點對多點系統(tǒng)中從機(jī)與主機(jī)的交流可以通過地址碼的形式來實現(xiàn),地址碼包含在數(shù)據(jù)幀中。最簡單的數(shù)據(jù)幀形式如下:
Lead為引導(dǎo)字節(jié)(即同步碼),通過測試和試驗發(fā)現(xiàn),OxFF后跟OxAA、Ox55在噪聲中不容易發(fā)生,接收協(xié)議規(guī)定只接收以O(shè)xFF后跟OxAA、0x55開始的包;Address為從機(jī)地址碼;地址碼后跟規(guī)定字節(jié)的數(shù)據(jù);CheckSum為數(shù)據(jù)幀校驗字節(jié)。
工作時,主機(jī)根據(jù)所選的從機(jī)改變地址碼,緊跟著發(fā)送指令數(shù)據(jù);從機(jī)則在識別到同步碼后,首先根據(jù)地址碼判斷此數(shù)據(jù)幀是否是發(fā)給自己的,然后相應(yīng)地選擇放棄或接收。從機(jī)發(fā)送、主機(jī)接收的協(xié)議與此類似。圖3與圖4分別給出了基于CCl020使用地址碼應(yīng)用于點對多點無線數(shù)據(jù)采集系統(tǒng)的主從機(jī)軟件工作流程。
該方式下,從機(jī)的個數(shù)取決于地址碼的大小。使用一個字節(jié)時可以連接256個從機(jī),從機(jī)個數(shù)較少,但擴(kuò)展比較容易。需要增加從機(jī)個數(shù)時可以增加所使用地址碼的字節(jié)數(shù),每增加一個字節(jié)的地址,從機(jī)個數(shù)擴(kuò)展28倍,擴(kuò)展時所需工作量也不大。
使用地址碼方式實現(xiàn)的點對多點系統(tǒng),由于主機(jī)與所有從機(jī)之間使用相同頻率的信道,在同一時間只能有一個從機(jī)工作,因此主機(jī)在從機(jī)之間選擇切換時,必須將前一個從機(jī)關(guān)閉,否則兩個從機(jī)發(fā)生干擾而導(dǎo)致系統(tǒng)無法工作。
1.3 基于工作頻率的點對多點系統(tǒng)
CCl020的工作頻率是通過對配置寄存器的頻率字編程來設(shè)置的。2個頻率字寄存器FREQ_A和FREQ_B能被設(shè)置成不同的2個頻率。為了在發(fā)射模式與接收模式之間快速切換,一個頻率字寄存器用于接收(本振頻率),另一個用于發(fā)射(發(fā)射載波頻率)。它們也可以用于發(fā)射(或接收)的兩個不同信道。
利用CCl020工作頻率可編程的特性,可以實現(xiàn)多信道的點對多點系統(tǒng)。主機(jī)的工作頻率根據(jù)選擇的從機(jī)的不同而進(jìn)行改變,每個從機(jī)工作在各自的頻率下。
軟件實現(xiàn)時,由于多信道是基于工作頻率建立主機(jī)與從機(jī)互連的,所以在收發(fā)中不需要使用地址碼。當(dāng)主機(jī)在從機(jī)間進(jìn)行切換時,只需要改變頻率字寄存器FREQ_A和FREQ_B的內(nèi)容就可以了。其他的工作流程與圖3和圖4中使用地址碼的工作流程基本相同。
由工作頻率實現(xiàn)的點對多點系統(tǒng)能夠連接的從機(jī)數(shù),取決于使用的工作頻帶與信道帶寬。當(dāng)工作在402~470MHz、信道帶寬為25 kHz時,理論上可連接的從機(jī)數(shù)最多為2 720個。該方式下從機(jī)數(shù)的擴(kuò)展有限,而且增加從機(jī)的個數(shù)將大大增加工作量,但是由于各個從機(jī)所占用的工作頻率不同,即使有多個從機(jī)同時工作,彼此之間也不會相互干擾。
1.4 基于地址碼與工作頻率組合的點對多點系統(tǒng)
在分別使用地址碼和工作頻率實現(xiàn)點對多點系統(tǒng)的基礎(chǔ)上,可以實現(xiàn)工作頻率+地址碼組合的點對多點系統(tǒng)。也就是說,連接的從機(jī)分成多組,各組從機(jī)分別使用不同的頻率;組內(nèi)從機(jī)使用相同的頻率,通過地址碼進(jìn)行區(qū)別。
軟件實現(xiàn)時,只需要在圖3與圖4所示的流程中,增加改變頻率字寄存器FREQ_A和FREQ_B內(nèi)容的步驟來實現(xiàn)信道切換就可以了。
這種方式下可連接的從機(jī)數(shù)為:頻率信道數(shù)×地址碼數(shù)。例如,工作在402~470 MHz、信道帶寬為25 kHz、使用一字節(jié)地址碼時,可連接的從機(jī)數(shù)為:2 720×256=696 320,大大地增加了可連接的從機(jī)個數(shù)。同樣,隨著頻率信道數(shù)的增加,工作量顯著增加。
2 總 結(jié)
本文論述了基于CCl020實現(xiàn)點對多點系統(tǒng)的3種方式。這3種方式屬于固定預(yù)分配方式,但都足夠滿足簡單無線通信的需求;從機(jī)擴(kuò)展的實現(xiàn)難易各不相同,使用地址碼最容易進(jìn)行擴(kuò)展,另外兩種方式從機(jī)擴(kuò)展難度依次有所增加,但卻有各自的優(yōu)點與應(yīng)用領(lǐng)域。3種方式的區(qū)別主要在于主從機(jī)信道的建立上,信道建立后的控制流程則基本相同。
這3種點對多點系統(tǒng)的實現(xiàn)方式雖然是基于CCl020的,但卻適合于所有采用無線收發(fā)芯片建立的系統(tǒng)。其中,使用地址碼的方式對于所有數(shù)字通信系統(tǒng)普遍適用,另外兩種方式則取決于收發(fā)芯片的頻率可編程特性。具體采用何種方式應(yīng)根據(jù)系統(tǒng)的實際需求而定。