基于nRF401的通用智能無(wú)線(xiàn)收發(fā)裝置的設計
目前,在各種儀器儀表數據采集系統,遙控測控系統中都需要嵌入無(wú)線(xiàn)數據傳輸的裝置,本文介紹了一種通過(guò)單片機w77e58對無(wú)線(xiàn)收發(fā)芯片nRF401進(jìn)行智能控制的通用無(wú)線(xiàn)收發(fā)裝置的設計方法,硬件電路的設計分為兩部分:無(wú)線(xiàn)射頻模塊的設計和控制模塊的設計。該裝置可以通過(guò)跳線(xiàn)的裝置選擇串口為rs232標準或ttl電平標準,通過(guò)w77e58控制可以實(shí)現雙信道的切換,并可實(shí)現數據流控。
1 無(wú)線(xiàn)射頻模塊的設計
在本設計中,無(wú)線(xiàn)射頻模塊采用挪威nordic公司推出的nrf401無(wú)線(xiàn)收發(fā)芯片。該芯片使用433mhz ism頻段,是真正的單片uhf無(wú)線(xiàn)收發(fā)一體芯片,他在一個(gè)20腳的芯片中包括了高頻發(fā)射、高頻接收、pll合成、fsk調制、fsk解調、多頻道切換等,是目前集成度最高的無(wú)線(xiàn)數傳產(chǎn)品[1]。無(wú)線(xiàn)射頻模塊采用在板差分環(huán)形天線(xiàn),天線(xiàn)端口的負載阻抗為380ω,其電路原理見(jiàn)圖1,圖中列出了各外圍元件的參數,其中j1口為無(wú)線(xiàn)射頻模塊與控制模塊的接口。
在無(wú)線(xiàn)通信的過(guò)程中,由于外部環(huán)境的干擾,通常誤碼率比較高,即使發(fā)射方不發(fā)送數據,接收方仍會(huì )經(jīng)常接收到由于外部干擾而產(chǎn)生的亂數據,為了在接收的過(guò)程中區分接收到的數據是否為有效數據,必須有一定的通信協(xié)議:
?。?)兩個(gè)串口的數據發(fā)送均采用查詢(xún)方式,數據接收均使用中斷方式;
?。?)數據幀包括幀首和數據兩部分,幀首使用雙字節0x55aa,數據部分為1b,即每幀占用3b,幀首和數據部分均采用十六進(jìn)制ascii碼傳送,確保協(xié)議的透明性;
?。?)接收方如果接收到0x55 0xaa字節,則說(shuō)明接收到有效的數據幀,否則將該幀丟棄。
如果硬件電路設計合理,元器件的選擇恰當,再加上以上簡(jiǎn)單的通信協(xié)議,則可將誤碼率控制在0.2%以下。
單片機上電后,首先對系統和串口進(jìn)行初始化,然后單片機進(jìn)入待機模式,直到兩個(gè)串口中的一個(gè)發(fā)生中斷硬轉為工作模式,處理中斷程序。主要的程序代碼如下:
3 硬件電路的測試
本設計中將控制模塊和無(wú)線(xiàn)射頻模式分開(kāi)設計,控制模塊通過(guò)一單排7腳的接口控制射頻模塊,測試的步驟如下:
?。?)將控制模塊和無(wú)線(xiàn)射頻模塊焊好,檢查確認無(wú)虛焊、粘焊;
?。?)先對控制模塊上電進(jìn)行測試,主要是測試控制模塊的串口0和串口1能否相互收發(fā)數據,測試方法是通過(guò)板上跳線(xiàn)將串口0設置為rs232標準,由于板上的串口1只有ttl電平標準,必須外加電平轉換電路將其轉換為rs232標準,然后將兩個(gè)串口分別接到計算機的兩個(gè)串口上,將以上的程序寫(xiě)到 w77e58上,然后用串口測試軟件測試,如果串口0,1能相互收發(fā)數據,便可開(kāi)始對無(wú)線(xiàn)射頻模塊進(jìn)行測試;
?。?)將無(wú)線(xiàn)射頻模塊的j1口與控制模塊的j6口焊接起來(lái),上電進(jìn)行測試,按照以上的程序,上電時(shí)處于接收狀態(tài),可對txen,pwup,cs等管腳進(jìn)行測試,看是否與程序吻合;
?。?)確認射頻模塊上電處于接收狀態(tài)后,可測試nRF401地第4管腳是否為1.1v左右,如果是,則說(shuō)明vco電感設計合理,否則要重新設計 pcb板,此外,nrf401在沒(méi)有數據接收時(shí),仍會(huì )自動(dòng)從dout發(fā)送隨機數據,使用萬(wàn)用表進(jìn)行測試時(shí)該引腳電壓應為2.5v左右[4]。如有示波器可做更詳細的測試。
4 結語(yǔ)
由無(wú)線(xiàn)收發(fā)芯片nrf401、單片機w77e58、接口芯片max323等組成了一個(gè)智能控制無(wú)線(xiàn)收發(fā)裝置,該裝置具有通用性,可嵌入到各種儀器儀表數據采集系統、遙控遙測系統中,實(shí)現無(wú)線(xiàn)數據的雙向傳輸。
評論