趙 博 梁冰冰 鄭春勝 張繼生
1.北京航天自動控制研究所,北京 100854 2.北京臨近空間飛行器系統(tǒng)工程研究所,北京 100076
武器在發(fā)射之前由地面測發(fā)控裝置對彈上控制器進(jìn)行發(fā)射數(shù)據(jù)諸元裝訂,是武器發(fā)射的固有流程之一。目前使用的有線數(shù)據(jù)裝訂方式,在裝訂過程中,需要在各個設(shè)備之間插拔電纜,無法滿足快速發(fā)射,批量裝訂的要求。因此,提出了無線裝訂方法,設(shè)計(jì)并實(shí)現(xiàn)了基于SimpliciTI無線通信協(xié)議,以CC2530芯片為核心的無線裝訂系統(tǒng)。使用無線裝訂方式不需要插拔電纜,開機(jī)即用,有效縮短了諸元裝訂所需時間。同時,不使用插頭連接,節(jié)約了成本,使用更加方便。下面闡述了無線裝訂的方法,及無線裝訂系統(tǒng)的功能、組成與軟件設(shè)計(jì)。
無線裝訂系統(tǒng)中的通信網(wǎng)絡(luò)范圍較小,要求功耗低,成本低,數(shù)據(jù)傳輸可靠,對數(shù)據(jù)傳輸速率要求不高?;谝陨咸攸c(diǎn)選擇SimpliciTI通信協(xié)議。設(shè)定無線裝訂系統(tǒng)有以下功能:1)開機(jī)即用,打開電源后,無線通信模塊自動連接,自動組網(wǎng);2)由用戶通過地面測發(fā)控設(shè)備輸入指令進(jìn)行通信檢查;3)由地面測發(fā)控設(shè)備將裝訂信息傳輸?shù)綇椛峡刂破鳎慌_地面測發(fā)控設(shè)備可以同時為多臺彈上控制器進(jìn)行數(shù)據(jù)裝訂;4)當(dāng)前信道有噪聲干擾時,系統(tǒng)會跳變到其他信道上通信。
基于SimpliciTI協(xié)議組成的網(wǎng)絡(luò)提供3類設(shè)備,分別是:終端節(jié)點(diǎn)設(shè)備(End Devices簡稱ED)、數(shù)據(jù)中心(Access Points,簡稱AP)和范圍擴(kuò)展設(shè)備(Range Extenders,簡稱RE)。此處所指的設(shè)備是邏輯上的設(shè)備,而非硬件設(shè)備。終端節(jié)點(diǎn)設(shè)備可以是傳感器節(jié)點(diǎn),也可以是控制節(jié)點(diǎn)。AP的主要功能是實(shí)現(xiàn)網(wǎng)絡(luò)管理功能,即休眠設(shè)備數(shù)據(jù)的存貯和轉(zhuǎn)發(fā)功能管理、加密功能管理和頻率跳變功能管理。范圍擴(kuò)展設(shè)備在網(wǎng)絡(luò)中只負(fù)責(zé)對數(shù)據(jù)進(jìn)行轉(zhuǎn)發(fā)不進(jìn)行其它的處理。
SimpliciTI通信協(xié)議定義的網(wǎng)絡(luò)拓樸如圖1所示,根據(jù)需要可以組成星型網(wǎng)絡(luò),也可以組成點(diǎn)對點(diǎn)的對等網(wǎng)絡(luò),并且還可以通過RE設(shè)備實(shí)現(xiàn)對網(wǎng)絡(luò)拓樸的擴(kuò)展。
圖1 SimpliciTI網(wǎng)絡(luò)拓樸
無線裝訂系統(tǒng)組建星型無線網(wǎng)絡(luò),實(shí)現(xiàn)地面測發(fā)控設(shè)備同時為多個彈上控制器進(jìn)行無線裝訂。通信網(wǎng)絡(luò)示意圖如圖2所示,A模塊為星型網(wǎng)絡(luò)的中心,各個Bi模塊均與A模塊進(jìn)行通信,而Bi模塊相互之間不通信。圖中模塊A,Bi均為CC2530芯片構(gòu)成的無線通信收發(fā)模塊,模塊A為網(wǎng)絡(luò)數(shù)據(jù)中心(AP),通過線纜與地面測發(fā)控設(shè)備相連,模塊Bi(i=1,2,…,N)為網(wǎng)絡(luò)終端節(jié)點(diǎn)(ED),與彈上控制器通過線纜相連,模塊A,Bi間進(jìn)行無線通信,圖2為一臺地面測發(fā)控設(shè)備與N臺彈上控制器的星型通信網(wǎng)絡(luò)。
圖2 無線裝訂系統(tǒng)結(jié)構(gòu)圖
裝訂信息正常傳遞流程為:1)由用戶向地面測發(fā)控設(shè)備輸入指令;2)地面測發(fā)控設(shè)備通過串口將指令傳遞給模塊A;3)當(dāng)進(jìn)行批量裝訂時,由模塊A發(fā)出廣播幀將指令傳給B1,B2,…,BN模塊;4)由Bi(i=1,2,…,N)模塊通過串口將指令傳遞給彈上控制器i。彈上控制器收到指令后,將返回一個反饋信息,傳回到地面測發(fā)控設(shè)備,用戶在地面測發(fā)控設(shè)備上檢查反饋信息,判斷此次裝訂是否成功。
基于SimpliciTI通信協(xié)議,以CC2530芯片為核心搭建起來的無線裝訂系統(tǒng),調(diào)制解調(diào)方式采用2FSK(二相頻移鍵控),擴(kuò)頻方式采用DSSS(直接序列擴(kuò)頻),此外為了避免環(huán)境中的噪聲干擾,系統(tǒng)中加入了頻率跳變機(jī)制。頻率跳變機(jī)制是指在發(fā)送與接收雙方都設(shè)置相同的信道列表,當(dāng)前信道受噪聲干擾較大時,通信網(wǎng)絡(luò)中的AP節(jié)點(diǎn)會切換到其他信道,ED節(jié)點(diǎn)隨之搜索信道列表中的信道,找到AP切換到的信道,重新組成通信網(wǎng)絡(luò)繼續(xù)通信。建立在2FSK與DSSS上的頻率跳變機(jī)制原理框圖如圖3~4所示。
圖3 發(fā)送端
圖3~4中信號的傳遞變化如下所示:
信息發(fā)送端信源數(shù)字信號為:d(t)={ai}。采用直接序列擴(kuò)頻,將d(t)與偽隨機(jī)碼c(t)相乘,得f1(t)。f1(t)與振蕩器產(chǎn)生的載波相乘得到s1(t)=f1(t)*cos2πfit=d(t)c(t)*cos2πfit。由于采用2FSK,f1(t)信號經(jīng)過倒相得f2(t)。f2(t)與另一個振蕩器產(chǎn)生的載波相乘得到:
圖4 接收端
發(fā)送端發(fā)送信號s(t),s(t)=s1(t)+s2(t),經(jīng)過無線傳輸,在接收端收到信號r(t)(r(t)信號包括s(t)信號與信道噪聲),信號r(t)分別經(jīng)過2個帶通濾波器濾去噪聲信號,得到r1(t)=As1(t),r2(t)=As2(t),其中常數(shù)A為濾波器產(chǎn)生的增益。
c(t)是接收端產(chǎn)生的偽隨機(jī)碼,與發(fā)送端產(chǎn)生的偽隨機(jī)碼相同,用以解擴(kuò)直接序列擴(kuò)頻。接收端的振蕩器產(chǎn)生與發(fā)送端頻率相同的正弦波,用以解調(diào)接收到的信號。當(dāng)信道切換時,接收端要搜索信道列表中的所有信道,找到切換到的信道頻率,才能將信號解調(diào)。
接收機(jī)接收到的信號經(jīng)過帶通濾波器后與本地載波相乘,同時與用以解擴(kuò)的偽隨機(jī)碼相乘得:p1(t)=r1(t)*c(t)*cos2πfit=As1(t)*c(t)*cos2πfit,由前可知:
s1(t)=f1(t)*cos2πfit=d(t)c(t)*cos2πfit,
帶入上式可得:
如圖2可見,“地面測發(fā)控設(shè)備與模塊A”、“模塊A與模塊B”和“模塊B與彈上控制器”之間均有數(shù)據(jù)通信,需要有通信協(xié)議約束。通信數(shù)據(jù)按照內(nèi)容可分為4類:網(wǎng)絡(luò)拓?fù)洳樵?,地面通信檢查,彈地通信檢查,彈地?cái)?shù)據(jù)通信。
2.1.1 通信幀格式
通信幀格式如圖5所示。
圖5 通訊協(xié)議格式
2.1.2 開機(jī)網(wǎng)絡(luò)拓?fù)錂z查
開機(jī)后無線通信網(wǎng)絡(luò)自動連接,開機(jī)網(wǎng)絡(luò)拓?fù)錂z查是指檢查當(dāng)前網(wǎng)絡(luò)拓?fù)淝闆r。當(dāng)Bi模塊與A模塊連接時,A模塊會記錄下該連接的端口號與Bi模塊的MAC地址。當(dāng)A模塊收到地面測發(fā)控設(shè)備發(fā)來的命令字為0x00的指令幀時,A模塊就會向地面測發(fā)控設(shè)備返回?cái)?shù)據(jù)幀,該數(shù)據(jù)幀記錄了當(dāng)前網(wǎng)絡(luò)中所有終端節(jié)點(diǎn)(即Bi模塊)的MAC地址。用戶可通過地面測發(fā)控設(shè)備了解當(dāng)前網(wǎng)絡(luò)中終端節(jié)點(diǎn)的數(shù)量和MAC地址。
2.1.3 彈地通信檢查和彈地?cái)?shù)據(jù)通信
完成網(wǎng)絡(luò)拓?fù)錂z查后,進(jìn)行彈地通信檢查,由地面測發(fā)控設(shè)備發(fā)送命令幀,命令字為0x22,并指明目的節(jié)點(diǎn)的MAC地址,命令幀通過串口傳到A模塊,由A模塊通過無線傳輸發(fā)送給指定終端節(jié)點(diǎn)Bi,Bi將命令幀通過串口傳輸給彈上控制器。由于試驗(yàn)中用一臺電腦代替彈上控制器,因此可以在電腦上看到地面測發(fā)控設(shè)備發(fā)出的命令幀。在試驗(yàn)中由模擬彈上控制器通過串口發(fā)送命令字為0x22的反饋命令幀給Bi模塊,再由Bi模塊無線傳輸給A模塊,A模塊通過串口將命令幀傳給地面測發(fā)控設(shè)備,用戶可以在地面測發(fā)控設(shè)備上看到彈上控制器發(fā)出的反饋命令幀。通過以上過程可以確定由地面測發(fā)控設(shè)備到彈上控制器的雙向通路通信正常。確定通信正常后就可以由地面測發(fā)控設(shè)備向彈上控制器發(fā)送數(shù)據(jù)幀,數(shù)據(jù)幀的命令字為0x30,其中數(shù)據(jù)區(qū)為所要傳輸?shù)臄?shù)據(jù),當(dāng)數(shù)據(jù)幀被正常接收后,再由彈上控制器向地面測發(fā)控設(shè)備發(fā)送反饋信息。
2.1.4 網(wǎng)絡(luò)狀態(tài)
星型網(wǎng)絡(luò)中心節(jié)點(diǎn)A模塊會定時檢查網(wǎng)絡(luò)中各個終端節(jié)點(diǎn)的鏈接情況,當(dāng)有節(jié)點(diǎn)退出網(wǎng)絡(luò)或是有節(jié)點(diǎn)新加入網(wǎng)絡(luò)時,A模塊會自動通過串口向地面測發(fā)控設(shè)備發(fā)送信息,由地面測發(fā)控設(shè)備顯示新退出或者新加入網(wǎng)絡(luò)節(jié)點(diǎn)的MAC地址,用戶由此了解整個網(wǎng)絡(luò)的情況。
數(shù)據(jù)中心節(jié)點(diǎn)與終端節(jié)點(diǎn)軟件流程圖如圖6和7所示。
圖6 終端節(jié)點(diǎn)流程設(shè)計(jì)
圖7 數(shù)據(jù)中心節(jié)點(diǎn)流程設(shè)計(jì)
在程序設(shè)計(jì)中,當(dāng)?shù)孛鏈y發(fā)控設(shè)備通過串口向A模塊發(fā)送數(shù)據(jù)時,A模塊會自動調(diào)用中斷服務(wù)程序,將接收到的信息加入到串口接收隊(duì)列中。同樣,當(dāng)無線模塊接收到信息時,會將信息加入到無線接收隊(duì)列中。命令解析程序執(zhí)行時將逐一讀取串口接收隊(duì)列或者無線接收隊(duì)列中的字節(jié),當(dāng)讀取的數(shù)據(jù)滿足幀格式時,該指令被執(zhí)行,否則不能被執(zhí)行。此外,程序中加入了定時器程序進(jìn)行定時,在每次時鐘周期到達(dá)時,A模塊查看網(wǎng)絡(luò)中是否有節(jié)點(diǎn)加入或者退出。
在數(shù)據(jù)中心節(jié)點(diǎn)程序中設(shè)定定時器周期為800ms。定時器1工作在正計(jì)數(shù)/倒計(jì)數(shù)模式,設(shè)定的計(jì)數(shù)值存放在T1CC0H與T1CC0L中,定時器從0開始正計(jì)數(shù),當(dāng)計(jì)數(shù)到設(shè)定值時,開始倒計(jì)數(shù)至0,此時完成一個計(jì)數(shù)周期。定時器計(jì)數(shù)一個周期,主程序會自動進(jìn)入中斷服務(wù)程序。
主程序循環(huán)執(zhí)行,并不需要每次循環(huán)時都進(jìn)行網(wǎng)絡(luò)狀態(tài)檢查,為了節(jié)約功耗,每隔一定時鐘周期,AP節(jié)點(diǎn)對網(wǎng)絡(luò)中的節(jié)點(diǎn)進(jìn)行一次檢查,看是否有節(jié)點(diǎn)加入或退出網(wǎng)絡(luò),因此需要利用定時器1進(jìn)行計(jì)時。網(wǎng)絡(luò)狀態(tài)檢查部分的流程圖如圖8所示。
圖8 網(wǎng)絡(luò)狀態(tài)檢查流程圖
無線裝訂系統(tǒng)通過頻率跳變來避免噪聲干擾。頻率跳變的工作過程如下:在AP與ED節(jié)點(diǎn)中設(shè)置相同的信道列表,列表中各個信道都有邏輯序號。AP節(jié)點(diǎn)檢測RSSI值(RSSI值表示接收信號的強(qiáng)度),當(dāng)一段時間內(nèi)檢測到的RSSI值的平均值大于-70dB時,AP節(jié)點(diǎn)進(jìn)行頻率跳變,從當(dāng)前信道跳到信道列表中的下一個信道。網(wǎng)絡(luò)中的ED節(jié)點(diǎn)連接不上AP節(jié)點(diǎn)后,開始自動搜索信道列表中的各個信道,找到新的信道,重新建立連接,繼續(xù)進(jìn)行數(shù)據(jù)通信。AP節(jié)點(diǎn)頻率跳變流程圖如圖9所示。
圖9 AP節(jié)點(diǎn)頻率跳變流程圖
實(shí)驗(yàn)由1個AP節(jié)點(diǎn)和2個ED節(jié)點(diǎn)組成星型網(wǎng)絡(luò),串口設(shè)置為:波特率為115200,數(shù)據(jù)位為8,停止位為1,發(fā)送和接收均為HEX顯示。實(shí)驗(yàn)驗(yàn)證了無線裝訂系統(tǒng)能夠?qū)崿F(xiàn)所設(shè)計(jì)的功能。
無線裝訂系統(tǒng)的通信網(wǎng)絡(luò),從開機(jī)到組網(wǎng),最多需要3s時間。組網(wǎng)成功后,用戶可以在AP模塊所連的計(jì)算機(jī)上看到網(wǎng)絡(luò)的拓?fù)淝闆r,此時,可以進(jìn)行數(shù)據(jù)傳輸,可同時對網(wǎng)絡(luò)中的多個ED節(jié)點(diǎn)進(jìn)行數(shù)據(jù)傳輸,即可同時對多個彈上控制器進(jìn)行裝訂?;赟impliciTI通信協(xié)議的無線網(wǎng)絡(luò)傳輸速度約為250kbit/s,對于需要裝訂的發(fā)射數(shù)據(jù),數(shù)據(jù)傳輸?shù)臅r間很短,可以忽略不計(jì)。而有線裝訂在裝訂前需要將線纜接到被裝訂的彈上,一次只能裝訂一發(fā)彈。由此可見,無線裝訂方法相比有線裝訂,可以節(jié)省時間,提高發(fā)射速度。
無線模塊有一個內(nèi)置的接收信號強(qiáng)度指示器(RSSI),RSSI值是個8位有符號的數(shù)字值,可以從寄存器讀出,或自動追加到接收的幀里。RSSI值是通過計(jì)算8個符號周期內(nèi)(128μs)的信號強(qiáng)度平均值得到。與IEEE802.15.4一致,RSSI值是一個有符號的二進(jìn)制補(bǔ)碼,以1dB的步長為對數(shù)等級。
讀RSSI寄存器前應(yīng)先檢查狀態(tài)位RSSI_VALID,RSSI_VALID為有效位時,寄存器中的RSSI值有效,這表明接收機(jī)已在至少8個符號周期內(nèi)接收到信號。相反,當(dāng)RSSI_VALID為無效位時,RSSI寄存器中值無效,這種情況出現(xiàn)在剛開機(jī)時,接收機(jī)收到有效信號的時間未到8個符號周期。
通過mrfi_radio.c中的MRFI_Rssi()程序可以獲得RSSI值,再將獲得的RSSI通過串口顯示,從而觀測RSSI值。測量RSSI值的程序如下所示。
int8_t MRFI_Rssi(void)
{
int8_t rssi;
MRFI_ASSERT(mrfiRadioState
=MRFI_RADIO_STATE_RX );
MRFI_RSSI_VALID_WAIT();
rssi = RSSI;
rssi = rssi + MRFI_RSSI_OFFSET;
return( rssi );
}
表1 無線性能測試結(jié)果
實(shí)驗(yàn)中1個AP節(jié)點(diǎn)與1個ED節(jié)點(diǎn)無線通信,2個節(jié)點(diǎn)相距不同距離,測量1組AP節(jié)點(diǎn)的RSSI值,繪制成曲線如圖8所示。實(shí)驗(yàn)環(huán)境為實(shí)驗(yàn)室環(huán)境,不封閉。當(dāng)通信距離大于3.5m時,通信不穩(wěn)定,ED節(jié)點(diǎn)會經(jīng)常出現(xiàn)自動退出網(wǎng)絡(luò)的情況。由圖10可見,隨著距離的增加,RSSI值越來越小,且曲線變化越來越平緩。
圖10 通信距離與RSSI關(guān)系曲線
自由空間無線電波的傳播模型如下:
實(shí)驗(yàn)測量的數(shù)據(jù)基本符合自由空間無線電波的傳播模型,但實(shí)驗(yàn)環(huán)境并不是完全理想的自由空間,肯定存在傳播中的損耗與多徑衰落等現(xiàn)象,所以實(shí)驗(yàn)結(jié)果與理論仍存在偏差。可以看出信號強(qiáng)度變化的趨勢為:隨著距離的增加,接收到的信號強(qiáng)度越來越小,且變化越來越緩慢。
由理論公式與實(shí)驗(yàn)數(shù)據(jù)可知,若想增大傳輸距離則需要增強(qiáng)發(fā)射功率。而無線裝訂系統(tǒng)的發(fā)射功率有限。隨著傳輸距離的增加,要想保證接收信號強(qiáng)度不變,發(fā)射功率需要增加的幅度越來越大。因此,為了使無線裝訂系統(tǒng)能夠工作在較小功率的狀態(tài)下,且保證通信的質(zhì)量,需要保證無線通信距離不能很大。
基于SimpliciTI通信協(xié)議與CC2530芯片設(shè)計(jì)實(shí)現(xiàn)了無線裝訂系統(tǒng)。該系統(tǒng)開機(jī)即用,組成星型無線通信網(wǎng)絡(luò),可由地面計(jì)算機(jī)同時為網(wǎng)絡(luò)中的多臺彈上控制器進(jìn)行裝訂。當(dāng)環(huán)境對當(dāng)前信道有較大干擾時,可進(jìn)行頻率跳變,以保證通信的可靠性。實(shí)驗(yàn)證明無線裝訂系統(tǒng)中的小范圍、低功耗、低速率無線通信網(wǎng)絡(luò),能夠?qū)崿F(xiàn)發(fā)射信息裝訂的功能,相較于有線裝訂方式,可有效提高裝訂速度。
[1] CC253x Datasheet[Z].Texas Instruments Inc.,2007.
[2] The Institute of Electrical and Electronic Engineers[S].IEEE Standard for Information Technology, 802.15.4 2003.
[3] SimpliciTI: Simple Modular RF Network Specification[Z].Texas Instruments Inc.,2009.
[4] SimpliciTI:Sample Application User’s Guide[Z].Texas Instruments Inc.,2009.
[5] SimpliciTI: Simple Modular RF Network Developers Notes[C].Texas Instruments Inc., 2009.
[6] 成銳,蔣德中.基于ZigBee技術(shù)的無線測發(fā)控設(shè)計(jì)[J].航天控制,2011,29(2):81-83.(Cheng Rui,Jiang Dezhong.The Design of Wireless Test Lanch and Control System Based on Zigbee Technology[J].Aerospace Control,2011,29(2):81-83.)
[7] 王軍強(qiáng).基于SimpliciTI的無線傳感器網(wǎng)絡(luò)關(guān)鍵技術(shù)研究[D].重慶大學(xué),2009.(Wang Junqiang.Research on Key Technology for Wireless Sensor Network Based on SimpliciTI[D].重慶大學(xué),2009.)