基于nRF401的通用智能無線收發(fā)裝置設(shè)計
本文引用地址:http://cafeforensic.com/article/153913.htm
在無線通信的過程中,由于外部環(huán)境的干擾,通常誤碼率比較高,即使發(fā)射方不發(fā)送數(shù)據(jù),接收方仍會經(jīng)常接收到由于外部干擾而產(chǎn)生的亂數(shù)據(jù),為了在接收的過程中區(qū)分接收到的數(shù)據(jù)是否為有效數(shù)據(jù),必須有一定的通信協(xié)議:
(1)兩個串口的數(shù)據(jù)發(fā)送均采用查詢方式,數(shù)據(jù)接收均使用中斷方式;
(2)數(shù)據(jù)幀包括幀首和數(shù)據(jù)兩部分,幀首使用雙字節(jié)0x55aa,數(shù)據(jù)部分為1b,即每幀占用3b,幀首和數(shù)據(jù)部分均采用十六進制ascii碼傳送,確保協(xié)議的透明性;
(3)接收方如果接收到0x55 0xaa字節(jié),則說明接收到有效的數(shù)據(jù)幀,否則將該幀丟棄。
如果硬件電路設(shè)計合理,元器件的選擇恰當,再加上以上簡單的通信協(xié)議,則可將誤碼率控制在0.2%以下。
單片機上電后,首先對系統(tǒng)和串口進行初始化,然后單片機進入待機模式,直到兩個串口中的一個發(fā)生中斷硬轉(zhuǎn)為工作模式,處理中斷程序。主要的程序代碼如下:
3 硬件電路的測試
本設(shè)計中將控制模塊和無線射頻模式分開設(shè)計,控制模塊通過一單排7腳的接口控制射頻模塊,測試的步驟如下:
(1)將控制模塊和無線射頻模塊焊好,檢查確認無虛焊、粘焊;
(2)先對控制模塊上電進行測試,主要是測試控制模塊的串口0和串口1能否相互收發(fā)數(shù)據(jù),測試方法是通過板上跳線將串口0設(shè)置為rs232標準,由于板上的串口1只有ttl電平標準,必須外加電平轉(zhuǎn)換電路將其轉(zhuǎn)換為rs232標準,然后將兩個串口分別接到計算機的兩個串口上,將以上的程序?qū)懙絯77e58上,然后用串口測試軟件測試,如果串口0,1能相互收發(fā)數(shù)據(jù),便可開始對無線射頻模塊進行測試;
(3)將無線射頻模塊的j1口與控制模塊的j6口焊接起來,上電進行測試,按照以上的程序,上電時處于接收狀態(tài),可對txen,pwup,cs等管腳進行測試,看是否與程序吻合;
(4)確認射頻模塊上電處于接收狀態(tài)后,可測試nrf401地第4管腳是否為1.1v左右,如果是,則說明vco電感設(shè)計合理,否則要重新設(shè)計pcb板,此外,nrf401在沒有數(shù)據(jù)接收時,仍會自動從dout發(fā)送隨機數(shù)據(jù),使用萬用表進行測試時該引腳電壓應(yīng)為2.5v左右[4]。如有示波器可做更詳細的測試。
4 結(jié)語
由無線收發(fā)芯片nrf401、單片機w77e58、接口芯片max323等組成了一個智能控制無線收發(fā)裝置,該裝置具有通用性,可嵌入到各種儀器儀表數(shù)據(jù)采集系統(tǒng)、遙控遙測系統(tǒng)中,實現(xiàn)無線數(shù)據(jù)的雙向傳輸。
評論