基于nRF401的通用智能無(wú)線收發(fā)裝置設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
目前,在各種儀器儀表數(shù)據(jù)采集系統(tǒng),遙控測(cè)控系統(tǒng)中都需要嵌入無(wú)線數(shù)據(jù)傳輸?shù)难b置,本文介紹了一種通過(guò)單片機(jī)w77e58對(duì)無(wú)線收發(fā)芯片nrf401進(jìn)行智能控制的通用無(wú)線收發(fā)裝置的設(shè)計(jì)方法,硬件電路的設(shè)計(jì)分為兩部分:無(wú)線射頻模塊的設(shè)計(jì)和控制模塊的設(shè)計(jì)。該裝置可以通過(guò)跳線的裝置選擇串口為rs232標(biāo)準(zhǔn)或ttl電平標(biāo)準(zhǔn),通過(guò)w77e58控制可以實(shí)現(xiàn)雙信道的切換,并可實(shí)現(xiàn)數(shù)據(jù)流控。
1 無(wú)線射頻模塊的設(shè)計(jì)
在本設(shè)計(jì)中,無(wú)線射頻模塊采用挪威nordic公司推出的nrf401無(wú)線收發(fā)芯片。該芯片使用433mhz ism頻段,是真正的單片uhf無(wú)線收發(fā)一體芯片,他在一個(gè)20腳的芯片中包括了高頻發(fā)射、高頻接收、pll合成、fsk調(diào)制、fsk解調(diào)、多頻道切換等,是目前集成度最高的無(wú)線數(shù)傳產(chǎn)品[1]。無(wú)線射頻模塊采用在板差分環(huán)形天線,天線端口的負(fù)載阻抗為380ω,其電路原理見(jiàn)圖1,圖中列出了各外圍元件的參數(shù),其中j1口為無(wú)線射頻模塊與控制模塊的接口。
硬件電路的設(shè)計(jì)要點(diǎn)如下:
(1)射頻電路對(duì)于電源噪聲相當(dāng)敏感,必須采用星形布線的方法使數(shù)字部分和rf部分有各自的電源線路,并且應(yīng)在靠近集成電路電源引腳處分別去耦[2]。
(2)外接vco電感應(yīng)選用高頻電感,q>45,精度為2%,本設(shè)計(jì)采用深圳順百科技有限公司的lqw18an22ng00,電感的精度對(duì)無(wú)線通信的距離有較大的影響,也可使用精度為5%的,但通信距離會(huì)大大減小。vco電感連線應(yīng)與其他控制線保持一定的距離,應(yīng)避免數(shù)字控制線從電感引腳之間經(jīng)過(guò),并且應(yīng)該使vco電感元件的中心距離nrf401的vco1,vco2引腳焊盤(pán)的中心5.4mm左右,電感元件的選擇與布局很重要,是設(shè)計(jì)成敗的關(guān)鍵點(diǎn)。
(3)在電路板的正反兩面均使用大面積鋪銅作為接地面,使所有的器件容易去耦,兩面的鋪銅應(yīng)使用多個(gè)過(guò)孔相連,所有對(duì)地線層的連接必須盡量短,接地過(guò)孔應(yīng)放置在非??拷暮副P(pán)處[2]。
(4)天線的設(shè)計(jì)使用pcb板的環(huán)形天線,尺寸為35mm×20mm,天線增益為-11db,天線阻抗為380ω,天線應(yīng)位于pcb板的頂部,天線部分不要鋪銅,有關(guān)環(huán)形天線的設(shè)計(jì)可參考nordic公司的技術(shù)文檔nan440-03和nan400-05。
(5)如果pcb板的vco電感設(shè)計(jì)合理,當(dāng)模塊處于接收狀態(tài)時(shí),nrf401的第4管腳電壓為1.1±0.2v。
2 控制模塊的設(shè)計(jì)
控制模塊負(fù)責(zé)對(duì)無(wú)線射頻模塊狀態(tài)切換及信道切換的控制,選用華邦單片機(jī)w77e58,控制模塊的設(shè)計(jì)分為硬件電路的設(shè)計(jì)和軟件的設(shè)計(jì)兩部分。
2.1 硬件電路的設(shè)計(jì)
w77e58速度高,工作頻率可擴(kuò)展到40mhz,使用與8051/52同樣的晶振運(yùn)行時(shí)間比8052快2.5倍[3],且其片內(nèi)自帶兩個(gè)uart串口,串口0用于與外部的串口設(shè)備通信,串口1用于與無(wú)線收發(fā)模塊通信,其中j6口為控制模塊與無(wú)線射頻模塊的接口,j2口為控制模塊與外部串口設(shè)備通信的接口,可以采用簡(jiǎn)單的三線通信方式,也可以加上流控信號(hào)cts,通過(guò)ttl電平對(duì)reset管腳的控制可以實(shí)現(xiàn)對(duì)智能無(wú)線數(shù)傳模塊的復(fù)位。j2口與外部串口設(shè)備可以以rs232或ttl電平的形式進(jìn)行通信,通信形式的選擇通過(guò)對(duì)接口j3、j4、j5的跳線設(shè)置,max232及外圍的電容元件均可采用貼片器件,以縮小pcb板空間。通過(guò)p2.5,p2.6,p2.7分別對(duì)無(wú)線射頻模塊的待機(jī)狀態(tài)與工作狀態(tài)的切換,收發(fā)狀態(tài)的切換、信道的切換進(jìn)行控制。
2.2 軟件的設(shè)計(jì)
w77e58片內(nèi)自帶有兩個(gè)串口,其中串口0可以使用定時(shí)器t1或定時(shí)器t2作為波特率發(fā)生器;串口1只能使用定時(shí)器t1作為其波特率發(fā)生器[4]。本設(shè)計(jì)中采用t2做為串口0的波特率發(fā)生器,采用t1做為串口1的波特率發(fā)生器,兩個(gè)串口均工作在串口模式1,波特率為9600b/s,串口0占用了第4號(hào)中斷,使用scon,sbuf做為其串口控制寄存器和串口數(shù)據(jù)緩沖器;串口1則占用了第7號(hào)中斷,scon1,sbuf1做為其串口控制寄存器和串口數(shù)據(jù)緩沖器。對(duì)串口的初始化函數(shù)為init_serialport(),函數(shù)定義如下:
在無(wú)線通信的過(guò)程中,由于外部環(huán)境的干擾,通常誤碼率比較高,即使發(fā)射方不發(fā)送數(shù)據(jù),接收方仍會(huì)經(jīng)常接收到由于外部干擾而產(chǎn)生的亂數(shù)據(jù),為了在接收的過(guò)程中區(qū)分接收到的數(shù)據(jù)是否為有效數(shù)據(jù),必須有一定的通信協(xié)議:
(1)兩個(gè)串口的數(shù)據(jù)發(fā)送均采用查詢方式,數(shù)據(jù)接收均使用中斷方式;
(2)數(shù)據(jù)幀包括幀首和數(shù)據(jù)兩部分,幀首使用雙字節(jié)0x55aa,數(shù)據(jù)部分為1b,即每幀占用3b,幀首和數(shù)據(jù)部分均采用十六進(jìn)制ascii碼傳送,確保協(xié)議的透明性;
(3)接收方如果接收到0x55 0xaa字節(jié),則說(shuō)明接收到有效的數(shù)據(jù)幀,否則將該幀丟棄。
如果硬件電路設(shè)計(jì)合理,元器件的選擇恰當(dāng),再加上以上簡(jiǎn)單的通信協(xié)議,則可將誤碼率控制在0.2%以下。
單片機(jī)上電后,首先對(duì)系統(tǒng)和串口進(jìn)行初始化,然后單片機(jī)進(jìn)入待機(jī)模式,直到兩個(gè)串口中的一個(gè)發(fā)生中斷硬轉(zhuǎn)為工作模式,處理中斷程序。主要的程序代碼如下:
3 硬件電路的測(cè)試
本設(shè)計(jì)中將控制模塊和無(wú)線射頻模式分開(kāi)設(shè)計(jì),控制模塊通過(guò)一單排7腳的接口控制射頻模塊,測(cè)試的步驟如下:
(1)將控制模塊和無(wú)線射頻模塊焊好,檢查確認(rèn)無(wú)虛焊、粘焊;
(2)先對(duì)控制模塊上電進(jìn)行測(cè)試,主要是測(cè)試控制模塊的串口0和串口1能否相互收發(fā)數(shù)據(jù),測(cè)試方法是通過(guò)板上跳線將串口0設(shè)置為rs232標(biāo)準(zhǔn),由于板上的串口1只有ttl電平標(biāo)準(zhǔn),必須外加電平轉(zhuǎn)換電路將其轉(zhuǎn)換為rs232標(biāo)準(zhǔn),然后將兩個(gè)串口分別接到計(jì)算機(jī)的兩個(gè)串口上,將以上的程序?qū)懙絯77e58上,然后用串口測(cè)試軟件測(cè)試,如果串口0,1能相互收發(fā)數(shù)據(jù),便可開(kāi)始對(duì)無(wú)線射頻模塊進(jìn)行測(cè)試;
(3)將無(wú)線射頻模塊的j1口與控制模塊的j6口焊接起來(lái),上電進(jìn)行測(cè)試,按照以上的程序,上電時(shí)處于接收狀態(tài),可對(duì)txen,pwup,cs等管腳進(jìn)行測(cè)試,看是否與程序吻合;
(4)確認(rèn)射頻模塊上電處于接收狀態(tài)后,可測(cè)試nrf401地第4管腳是否為1.1v左右,如果是,則說(shuō)明vco電感設(shè)計(jì)合理,否則要重新設(shè)計(jì)pcb板,此外,nrf401在沒(méi)有數(shù)據(jù)接收時(shí),仍會(huì)自動(dòng)從dout發(fā)送隨機(jī)數(shù)據(jù),使用萬(wàn)用表進(jìn)行測(cè)試時(shí)該引腳電壓應(yīng)為2.5v左右[4]。如有示波器可做更詳細(xì)的測(cè)試。
4 結(jié)語(yǔ)
由無(wú)線收發(fā)芯片nrf401、單片機(jī)w77e58、接口芯片max323等組成了一個(gè)智能控制無(wú)線收發(fā)裝置,該裝置具有通用性,可嵌入到各種儀器儀表數(shù)據(jù)采集系統(tǒng)、遙控遙測(cè)系統(tǒng)中,實(shí)現(xiàn)無(wú)線數(shù)據(jù)的雙向傳輸。