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