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