《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 通信與網(wǎng)絡(luò) > 設(shè)計(jì)應(yīng)用 > 基于nRF2401軟件跳頻協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)
基于nRF2401軟件跳頻協(xié)議的設(shè)計(jì)與實(shí)現(xiàn)
來(lái)源:電子技術(shù)應(yīng)用2012年第5期
孫保群1,王 瓊2
1.合肥工業(yè)大學(xué) 汽車(chē)工程技術(shù)研究院,安徽 合肥230009; 2.合肥工業(yè)大學(xué) 計(jì)算機(jī)與信息學(xué)院,安徽 合肥230009
摘要: 為解決射頻收發(fā)器NRF2401 在ISM 頻段內(nèi)同頻干擾,提高無(wú)線通信系統(tǒng)的通信質(zhì)量和可靠性,提出了一種軟件自適應(yīng)跳頻擴(kuò)頻協(xié)議。該協(xié)議充分利用nRF2401射頻芯片多頻點(diǎn)特性,使用軟件程序設(shè)計(jì)將125個(gè)間隔為1 MHz的頻道分成低、中、高三個(gè)頻段,在無(wú)線信道受阻或同頻干擾時(shí),依據(jù)“低頻-中頻-高頻”的循環(huán)順序進(jìn)行頻道跳變。實(shí)驗(yàn)結(jié)果表明,工程機(jī)械儀表無(wú)線顯示系統(tǒng)采用這種軟件擴(kuò)頻協(xié)議設(shè)計(jì),可以有效避免同頻干擾和多點(diǎn)傳輸干擾,提高系統(tǒng)傳輸可靠性。
中圖分類(lèi)號(hào): TN925
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2012)05-0046-03
The design and realization of spread-spectrum protocol of adaptive frequency-hopping software based on nRF2401
Sun Baoqun1,Wang Qiong2
1.Automotive Engineering Technology Institute,Hefei University of Technology,HeFei 230009,China; 2.College of Computer and Information,Hefei University of Technology,Hefei 230009,China
Abstract: An adaptive frequency-hopping spread-spectrum software protocol, based on a chip of radio frequency nRF2401 with the characteristic of many channels, is proposed for the purpose of avoiding nRF2401 being interfered by other wireless channels with the same frequency in ISM band, and improving quality and reliability of wireless communication system. This protocol divides 125 frequency channels for 1MHz interval into three of low, middle, and high frequency bands, and would make full use of this chip’s characteristics and carry on the channel jump circularly by “l(fā)ow-middle-high” band. Laboratory results demonstrate that the system, engineering mechanical instrument based on wireless display, with this protocol can avoid effectively same frequency and multi-spot transmitting disturbances, and can ensure the reliable wireless data transmitting among of engineering machineries.
Key words : nRF2401;adaptive frequency hopping;spread-spectrum communication;anti-interference

     目前使用的短距離無(wú)線通信技術(shù)及標(biāo)準(zhǔn)主要有Bluetooth、WIFI、ZigBee、UWB、NRF24XX系列產(chǎn)品等。Nordic公司生產(chǎn)的單片集成射頻無(wú)線收發(fā)器NRF24XX系列芯片具有低功耗、支持多點(diǎn)通信、傳輸速率高、通信協(xié)議簡(jiǎn)單、通信質(zhì)量穩(wěn)定可靠、軟件配置工作參數(shù)、需要的外圍元件少、易于開(kāi)發(fā)等優(yōu)點(diǎn),應(yīng)用該系列芯片實(shí)現(xiàn)短距離無(wú)線通信是一種具備較高性價(jià)比的解決方案。但是,由于這些產(chǎn)品都是工作在ISM頻段內(nèi),難免造成頻段的擁擠。為此,大多產(chǎn)品的通信協(xié)議都設(shè)計(jì)了擴(kuò)頻技術(shù)以抗同頻段干擾。例如,藍(lán)牙采用了FHSS(快速跳頻擴(kuò)頻技術(shù)),W-LAN采用了DSSS(直接序列擴(kuò)頻技術(shù))等。NRF24XX系列收發(fā)芯片的射頻協(xié)議采用簡(jiǎn)單、透明的窄帶信號(hào)直接發(fā)送,沒(méi)有進(jìn)行擴(kuò)頻處理,在實(shí)際應(yīng)用中會(huì)遇到同頻干擾降低通信系統(tǒng)的通信質(zhì)量。但NRF24XX系列芯片的工作頻段對(duì)用戶開(kāi)放125個(gè)頻道,可以通過(guò)軟件算法實(shí)現(xiàn)跳頻,這也是一種簡(jiǎn)單經(jīng)濟(jì)的擴(kuò)頻方法。本文提出了一種軟件自適應(yīng)跳頻擴(kuò)頻協(xié)議的設(shè)計(jì)方案,該方案充分利用nRF2401射頻芯片多頻點(diǎn)特性,使用軟件設(shè)計(jì)將125個(gè)間隔為1 MHz的頻道分成低、中、高三個(gè)頻段,在無(wú)線信道受阻或同頻干擾時(shí),依據(jù)“低頻-中頻-高頻”的循環(huán)順序?qū)崿F(xiàn)自適應(yīng)跳頻。該軟件擴(kuò)頻協(xié)議在工程機(jī)械儀表無(wú)線顯示系統(tǒng)樣機(jī)上進(jìn)行了抗干擾實(shí)驗(yàn)。結(jié)果表明,在通信雙方遇到同頻干擾時(shí),射頻收發(fā)機(jī)可以自適應(yīng)跳變到未受干擾的頻道,使得系統(tǒng)能夠繼續(xù)保持良好通信和可靠的數(shù)據(jù)傳輸。

1 nRF2401軟件擴(kuò)頻協(xié)議的基本原理
    射頻收發(fā)芯片nRF2401工作于2.4 GHz的ISM頻段,內(nèi)置頻率合成器等功能模塊,工作頻率等參數(shù)均通過(guò)軟件進(jìn)行配置,不需要復(fù)雜的通信協(xié)議支持,能夠?qū)崿F(xiàn)透明數(shù)據(jù)包無(wú)線傳輸。
    由于該芯片采用窄帶信號(hào)直接調(diào)制發(fā)送技術(shù),未作任何頻譜上的擴(kuò)展,使得該芯片在定頻通信時(shí)易受到同頻信號(hào)干擾。本文提出的軟件自適應(yīng)跳頻擴(kuò)頻協(xié)議是基于射頻收發(fā)芯片nRF2401,其自身具有多頻點(diǎn)特性和全軟件配置參數(shù)的優(yōu)點(diǎn),利用全軟件的設(shè)計(jì)方法達(dá)到了頻譜擴(kuò)展目的。軟件跳頻協(xié)議的設(shè)計(jì)原理是,將nRF2401自身間隔為1 MHz的125個(gè)順序頻道劃分為低頻段(2 400 MHz~2 441 MHz)、中頻段(2 442 MHz~2 482 MHz)、高頻段(2 483 MHz~2 524 MHz)三個(gè)相同帶寬的子頻段,并從三個(gè)子頻段內(nèi)各自選取某一頻道作為當(dāng)前工作頻率,及上一跳頻率和下一跳頻率,且嚴(yán)格按照同一周期內(nèi)不重復(fù)選頻和相鄰被選頻率不在同一子頻段內(nèi)的原則,有效避免了頻率跳變時(shí)的誤跳,最終實(shí)現(xiàn)了無(wú)線通信系統(tǒng)抗同頻干擾的設(shè)計(jì)目標(biāo)。
    系統(tǒng)進(jìn)行無(wú)線通信時(shí),該軟件協(xié)議先使得射頻收發(fā)機(jī)雙方用較少的時(shí)間尋找到一個(gè)有效的通信頻道,建立起握手信道,并保持在定頻通信模式中,在遇到同頻干擾的情況下,自適應(yīng)地快速跳變到?jīng)]有干擾的頻道工作。
2 軟件擴(kuò)頻協(xié)議的算法實(shí)現(xiàn)
2.1 跳頻頻點(diǎn)的選擇方法

    射頻收發(fā)芯片nRF2401的工作頻率范圍為2 400 MHz~2 524 MHz,具有125個(gè)頻道,間隔為1 MHz。將頻道劃分為低、中、高三個(gè)子頻段,頻道與子頻段頻率對(duì)應(yīng)關(guān)系如表1所示。



    表2中,序號(hào)表示信道頻點(diǎn)跳頻表中的上一跳與下一跳頻道的編號(hào),頻道表示該編號(hào)的頻點(diǎn)在射頻芯片自身125個(gè)頻道中的位置,頻率就是該位置頻道的工作頻率值。
2.2 信道建立的握手流程
    無(wú)線系統(tǒng)通信時(shí),最重要的準(zhǔn)備工作就是建立握手信道。系統(tǒng)信道建立的握手流程如圖1所示。其中,F(xiàn)m表示以表2中跳頻序號(hào)為下標(biāo)的頻點(diǎn),即m∈01→35。為了排除信道握手時(shí)可能遇到的同頻干擾,射頻收發(fā)機(jī)在建立握手信道時(shí)按照表2的跳頻序列基進(jìn)行循環(huán)跳變,以尋找到合適的通信頻道。握手協(xié)議設(shè)定,m的初值為01,在時(shí)鐘信號(hào)CLK有效的情況下,m達(dá)到35后自動(dòng)復(fù)位為01。
    射頻發(fā)射機(jī)初始化后,以初始頻率Fm(m=01)進(jìn)行廣播,發(fā)送一個(gè)Hello請(qǐng)求信號(hào)。在等待延時(shí)t1內(nèi),如果收到了接收機(jī)應(yīng)答信號(hào)ACK,則標(biāo)志寄存器DR1置高,認(rèn)為收發(fā)機(jī)之間的握手成功;如果沒(méi)有收到ACK信號(hào),則跳至下一頻點(diǎn)Fm+1繼續(xù)廣播。其中,設(shè)計(jì)發(fā)射機(jī)頻率跳變的等待延時(shí)t1滿足式(4)的約束條件:
    t1=T(T>3 ms且T<10 ms)          (4)
式中,T為發(fā)射機(jī)相鄰兩頻點(diǎn)間自適應(yīng)跳頻的時(shí)間間隔。系統(tǒng)在每一次頻率跳變之后都要判斷建立握手信號(hào)的累加時(shí)延是否超時(shí),如果系統(tǒng)設(shè)定的跳頻計(jì)時(shí)器時(shí)鐘有效(CLK=1),則發(fā)射機(jī)繼續(xù)跳頻廣播,直至收發(fā)機(jī)雙方握手成功;如果跳頻計(jì)時(shí)器時(shí)鐘無(wú)效(CLK=0),則發(fā)射機(jī)停止廣播,即收發(fā)機(jī)雙方的握手失敗。
    射頻接收機(jī)初始化后,以初始頻率Fm(m=01)進(jìn)行監(jiān)聽(tīng),在等待延時(shí)t2內(nèi),如果收到發(fā)射機(jī)的請(qǐng)求信號(hào)Hello,則向其發(fā)送一個(gè)ACK應(yīng)答信號(hào);如果沒(méi)有收到Hello請(qǐng)求信號(hào),則跳至下一頻點(diǎn)Fm++繼續(xù)監(jiān)聽(tīng)。其中,設(shè)計(jì)接收機(jī)頻率跳變的等待延時(shí)t2滿足公式(5)的約束條件:
  
2.3 同頻干擾下的自適應(yīng)跳變
    為了提高通信系統(tǒng)有效數(shù)據(jù)的傳輸效率,當(dāng)系統(tǒng)握手成功后,收發(fā)雙方即默認(rèn)此時(shí)的信道良好,此后,就保持定頻通信方式。然而,同頻干擾具有隨機(jī)性,因此,軟件設(shè)計(jì)既要保證系統(tǒng)有足夠的時(shí)間傳輸有效數(shù)據(jù),又要及時(shí)識(shí)別出同頻干擾信道并實(shí)現(xiàn)自適應(yīng)跳頻。
    自適應(yīng)跳頻算法的設(shè)計(jì)思想是:系統(tǒng)將相關(guān)跳頻信息寫(xiě)入握手信號(hào)幀Hello和ACK的協(xié)議中,如表3和表4所示。


    軟件協(xié)議在握手信號(hào)幀的結(jié)構(gòu)中設(shè)置身份識(shí)別碼,身份識(shí)別碼的長(zhǎng)度為5 B(40 bit),每個(gè)合法用戶均有一個(gè)唯一的身份識(shí)別碼。通過(guò)身份識(shí)別碼來(lái)區(qū)分有用信號(hào)和干擾信號(hào),以決定收發(fā)雙方是繼續(xù)保持定頻通信,還是自適應(yīng)跳變到凈頻點(diǎn)。在同頻干擾環(huán)境中,接收機(jī)通過(guò)身份識(shí)別功能區(qū)分出干擾信號(hào)的存在,然后發(fā)送一個(gè)請(qǐng)求重新握手信號(hào)給發(fā)射機(jī),并屏蔽該干擾頻點(diǎn),在凈頻點(diǎn)上重新建立一個(gè)新的握手信道。通信系統(tǒng)在同頻干擾情況下自適應(yīng)跳變流程如圖2所示。
3 實(shí)驗(yàn)結(jié)果分析與總結(jié)
    本文研究設(shè)計(jì)的基于nRF2401軟件的自適應(yīng)跳頻協(xié)議在工程機(jī)械儀表無(wú)線顯示系統(tǒng)樣機(jī)平臺(tái)上進(jìn)行了跳頻通信與跳頻抗干擾實(shí)驗(yàn),其中,射頻機(jī)收發(fā)雙方均按照表2中的跳頻序列基建立握手信道,m取值隨機(jī)。得到系統(tǒng)進(jìn)行無(wú)線數(shù)據(jù)通信前射頻收發(fā)機(jī)采用跳頻方式成功建立握手信道的時(shí)間如表5所示。

 

 

    通過(guò)表5中數(shù)據(jù)可知,接收機(jī)接收到Hello數(shù)據(jù)幀的時(shí)間平均為3.88 s,而發(fā)射機(jī)接收到ACK應(yīng)答信號(hào)幀的時(shí)間平均為30 s左右。
    射頻收發(fā)機(jī)握手成功后,進(jìn)入正常定頻通信流程,在遇到同頻干擾后,迅速退出定頻模式,進(jìn)入跳頻模式并屏蔽該干擾點(diǎn),在凈頻點(diǎn)上重新建立一個(gè)握手信道,并再次進(jìn)入正常定頻通信流程。無(wú)線數(shù)據(jù)通信中遇到同頻干擾時(shí)射頻收發(fā)機(jī)重新握手成功的時(shí)間如表6所示。

    表6中記錄數(shù)據(jù)表明,系統(tǒng)兩次定頻模式間隔時(shí)間大約在16 s以內(nèi),最短用時(shí)為2 s左右。
    本文設(shè)計(jì)的基于射頻收發(fā)芯片nRF2401的自適應(yīng)跳頻軟件擴(kuò)頻協(xié)議,在無(wú)線通信系統(tǒng)遇到同頻干擾時(shí),能夠自適應(yīng)快速跳變到?jīng)]有干擾的頻道,提高了系統(tǒng)的抗干擾能力和可靠性,也彌補(bǔ)了ISM頻段頻率資源緊張的缺陷,達(dá)到頻譜擴(kuò)展的目的。該協(xié)議嚴(yán)格按照合理算法選頻,有效避免了頻率跳變時(shí)的誤跳,最終實(shí)現(xiàn)了無(wú)線通信系統(tǒng)抗同頻干擾的設(shè)計(jì)目標(biāo)。隨著nRF2401芯片在短距離無(wú)線通信應(yīng)用的普及頻譜資源日益緊張,采用軟件擴(kuò)頻技術(shù)實(shí)現(xiàn)抗干擾通信將具有重要的實(shí)際意義。
參考文獻(xiàn)
[1] 張煜,葛海波.基于NRF2401的跳頻無(wú)線傳輸系統(tǒng)的實(shí)現(xiàn)[J].西安郵電學(xué)院學(xué)報(bào),2009,14(5).
[2] Datasheet Nordic VLSI ASA[EB/OL].[2003-03].http://www.nvlsi.no.
[3] FREDERICK J B,PURSLEY M B.A protocol for adaptive transmission in direct-sequence spread-spectrum packet radio networks[J].IEEE Transactions on Communications,2004,52(8).
[4] 俞世榮.自適應(yīng)跳頻通信及其抗干擾性能[J].通信技術(shù),1992(2).
[5] 王瓊,張燚,孫保群.基于nRF2401的工程機(jī)械儀表無(wú)線通信平臺(tái)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2010,36(8).
[6] 朱永松,張海勇.自適應(yīng)跳頻通信特性分析[J].航天電子對(duì)抗,2005,21(6).
[7] HAMDI K A,BAMAHDI O A.A new adaptive frequency  hopping technique[J].IEEE 60th,2004,3(9).

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。