引 言
在民用無(wú)線通信應(yīng)用領(lǐng)域,由于人們對(duì)短距離無(wú)線通信系統(tǒng)的不斷開(kāi)發(fā)和廣泛應(yīng)用,,免申請(qǐng)的ISM頻段資源越來(lái)越緊張,,各系統(tǒng)之間頻率的重合機(jī)會(huì)也越來(lái)越大,系統(tǒng)干擾也越來(lái)越嚴(yán)重,,所以設(shè)計(jì)具有跳頻功能的民用抗干擾通信系統(tǒng)具有很直接的現(xiàn)實(shí)意義,。利用該技術(shù),既可以提高系統(tǒng)的抗干擾能力,,也可以大大降低系統(tǒng)維護(hù)的復(fù)雜度,。跳頻通信系統(tǒng)主要由信號(hào)調(diào)制解調(diào)器、跳頻圖案發(fā)生器,、頻率合成器和跳頻同步器等部件組成,,本文主要介紹民用抗干擾慢跳頻通信系統(tǒng)。
1 工作原理
nRF9E5的內(nèi)部結(jié)構(gòu)如圖l所示,。片上系統(tǒng)集成的主要部件有:與8051兼容的微處理器,、4 KB RAM及相關(guān)特殊功能寄存器(SFR)、4輸入通道10位80 ksps的A/D轉(zhuǎn)換器,、433/868/915 MHz的nRF905無(wú)線收發(fā)器,、電源管理及復(fù)位電路、PWM控制器,、SPI接口控制器,、低功耗模式RC振蕩器,、看門(mén)狗定時(shí)器、端口邏輯及RTC定時(shí)器,,等等,。微處理器與A/D轉(zhuǎn)換器和無(wú)線收發(fā)器之間通過(guò)SPI接口進(jìn)行連接,微處理器程序固化于外部的EEP—ROM存儲(chǔ)器中,,系統(tǒng)加電時(shí)由引導(dǎo)程序?qū)⒐碳ㄟ^(guò)SPI接口加載進(jìn)片內(nèi)的4 KB RAM區(qū)中,,程序加載完畢之后系統(tǒng)由片內(nèi)的RAM程序控制。該芯片射頻信號(hào)輸出功率可編程,,最大輸出為10 dBm,,通道轉(zhuǎn)換時(shí)間小于650μs,具有載波監(jiān)聽(tīng)功能,,支持LBT(Listen Before Trans—mit)協(xié)議,。
nRF9E5內(nèi)部集成的無(wú)線收發(fā)器可工作于433/868/915 MHz頻段范圍內(nèi),具體的工作頻段和頻點(diǎn)由外圍電路的阻容參數(shù)和相關(guān)寄存器數(shù)據(jù)決定,。在圖2所示的電路中,,若系統(tǒng)要求工作于433 MHz頻段,則相關(guān)器件按照表1第2列取值,;若系統(tǒng)要求工作于868/915 MHz頻段,,則相關(guān)器件按照第3列取值。系統(tǒng)的工作頻段不僅由硬件進(jìn)行配置,,而且還要在相應(yīng)的RF配置寄存器中進(jìn)行設(shè)置,。其中HFREQ_PLL設(shè)置工作頻段,CH_NO設(shè)置工作頻點(diǎn),,HFREQ_PLL為一控制位,,CH_N0為9位數(shù)據(jù)。具體的無(wú)線載波頻率由下列公式進(jìn)行計(jì)算:
fOP=[422.4+(CH_NO/10)]×(1+HFREQ_PLL)
式中fOP的單位為MHz,。若HFREQ_PLL=O,,系統(tǒng)工作于433 MHz頻段,頻點(diǎn)間隔100 kHz,,頻段范圍為422.4~473.5 MHz,;若HFREQ_PLL=1,系統(tǒng)工作于868/915MHz,,頻點(diǎn)間隔200 kHz,,頻段范圍為844.8~947 MHz。由此可見(jiàn),,如果系統(tǒng)程序按照跳頻圖案產(chǎn)生的偽隨機(jī)數(shù)設(shè)置CH_NO,,則nRF9E5可以分別實(shí)現(xiàn)2個(gè)頻段512個(gè)頻點(diǎn)的抗干擾跳頻通信。
nRF9E5內(nèi)部集成的無(wú)線收發(fā)器采用半雙工的方式工作,,工作方式由TRX_CE和TX_EN控制位決定,,如表2所列,。TRX_CE控制無(wú)線收發(fā)器處于休眠模式還是工作模式,當(dāng)TRX_CE=l時(shí),,TX_EN決定無(wú)線收發(fā)器的接收和發(fā)送狀態(tài),。無(wú)線收發(fā)器具有ShockBurst的特性,可實(shí)現(xiàn)高速的數(shù)據(jù)傳輸并在發(fā)送和接收模式之間快速轉(zhuǎn)換,,與射頻數(shù)據(jù)相關(guān)的協(xié)議由片內(nèi)nRF905收發(fā)器自動(dòng)處理,。nRF9E5只用簡(jiǎn)單的SPI接口與收發(fā)器進(jìn)行數(shù)據(jù)傳輸。在 ShockBurst接收方式下,,當(dāng)收到一個(gè)有效地址的射頻數(shù)據(jù)包時(shí),,地址匹配寄存器位(AM)和數(shù)據(jù)準(zhǔn)備好寄存器位(DR)通知片內(nèi)MCU把數(shù)據(jù)讀出。在ShockBurst發(fā)送方式下,,nRF905自動(dòng)給要發(fā)送的數(shù)據(jù)加上前綴和CRC校驗(yàn)。當(dāng)數(shù)據(jù)發(fā)送完后,,數(shù)據(jù)準(zhǔn)備好寄存器位(DR)會(huì)通知MCU數(shù)據(jù)已經(jīng)處理完畢,。具體的收發(fā)流程如圖3和圖4所示。
2 軟件設(shè)計(jì)
在非軍事無(wú)線通信系統(tǒng)中,,如簡(jiǎn)單的無(wú)線數(shù)據(jù)采集,、無(wú)線射頻識(shí)別等,頻譜干擾一般是由于頻率資源的緊缺以及無(wú)線通信系統(tǒng)的無(wú)序和廣泛應(yīng)用引起的,,所以干擾是隨機(jī)和無(wú)意識(shí)的,。這樣的應(yīng)用場(chǎng)景下,如果數(shù)據(jù)的傳輸速率要求也不很高,,那么可以設(shè)計(jì)簡(jiǎn)單的跳頻同步協(xié)議來(lái)實(shí)現(xiàn)抗干擾通信,。本設(shè)計(jì)中,跳頻圖案的偽隨機(jī)數(shù)存放在256字節(jié)的數(shù)組中,,hopIdx表示數(shù)組序號(hào),。在通信的初始階段,接收端一直處于監(jiān)聽(tīng)狀態(tài),,發(fā)送端從數(shù)組O開(kāi)始選擇頻點(diǎn)發(fā)送數(shù)據(jù),。若超時(shí),則 hopIdx加1繼續(xù)發(fā)送,,直到通信建立成功,,然后發(fā)送端和接收端按照相同的跳頻圖案進(jìn)行通信。
發(fā)送過(guò)程如圖5所示,。首先初始化各參數(shù),,然后根據(jù)偽隨機(jī)數(shù)選擇發(fā)送頻點(diǎn),并在該頻點(diǎn)上發(fā)送數(shù)據(jù),,等待3 ms時(shí)間,。如果接收到數(shù)據(jù)則表明接收方處于同頻點(diǎn),,然后在該頻點(diǎn)上進(jìn)行數(shù)據(jù)通信。如果3 ms超時(shí),,則再嘗試一次,;如果繼續(xù)超時(shí),則再次根據(jù)偽隨機(jī)碼選擇下一個(gè)通信頻點(diǎn)進(jìn)行嘗試,;如果超時(shí)3 s,,則退出本次發(fā)送過(guò)程。
接收過(guò)程如圖6所示,,主循環(huán)一直處于監(jiān)聽(tīng)狀態(tài),,循環(huán)調(diào)用接收函數(shù)。如果收到數(shù)據(jù)包,,則發(fā)送響應(yīng)包,,發(fā)送完畢之后,hopIdx加1,,收發(fā)器在另一個(gè)頻點(diǎn)繼續(xù)監(jiān)聽(tīng),。如果在一個(gè)頻點(diǎn)長(zhǎng)時(shí)間超限沒(méi)有收到數(shù)據(jù),則轉(zhuǎn)換到另一個(gè)頻點(diǎn)繼續(xù)監(jiān)聽(tīng),。
本文以半雙工通信過(guò)程為例介紹抗干擾跳頻通信的實(shí)現(xiàn)過(guò)程,。實(shí)現(xiàn)的編程環(huán)境為uVisionII,并在Keil C51V7.08編譯環(huán)境下測(cè)試通過(guò),。
(1)初始化過(guò)程
初始化過(guò)程主要包括無(wú)線收發(fā)器相關(guān)參數(shù)的設(shè)定,,如表3所列。
(2)發(fā)送過(guò)程
發(fā)送過(guò)程主要包括的子函數(shù)如表4所列,。
發(fā)送過(guò)程主要函數(shù)由TransmitPacket實(shí)現(xiàn),。
(3)接收過(guò)程
接收過(guò)程主要包括的子函數(shù)如表5所列。
3 總 結(jié)
隨著無(wú)線頻譜資源的日益緊張,,采取跳頻通信實(shí)現(xiàn)抗干擾通信將會(huì)顯得越來(lái)越重要,;而利用nRF9E5設(shè)計(jì)實(shí)現(xiàn)抗干擾跳頻通信系統(tǒng)是一種廉價(jià)、方便的應(yīng)對(duì)措施,,所以必將會(huì)在民用市場(chǎng)受到越來(lái)越多的關(guān)注和應(yīng)用,。