1. 引言
在儀器儀表及測控技術中,無線數(shù)據(jù)通信以其節(jié)省傳輸線,、使用方便等優(yōu)點被廣泛關注,。中短距離(小于500 米)的無線通信在自動測試系統(tǒng)、無線抄表,、計算機遙測遙控系統(tǒng),、車輛監(jiān)控系統(tǒng)和小區(qū)管理等實際應用中有廣泛的市場。在眾多的無線收發(fā)芯片中,,nRF401 以其成本低,、可靠性高、外圍設計簡單廣受歡迎,,然而由于通信空間的復雜性,,無線通訊系統(tǒng)很容易收到誤碼,即使在發(fā)送端不發(fā)送數(shù)據(jù)的情況下,,接收端也仍然會接收到大量的干擾數(shù)據(jù),。在一個中等規(guī)模的系統(tǒng)設計中,CPU 要進行多種操作,,如外部存儲器的訪問,,傳感器數(shù)據(jù)的處理等,因此無線通訊干擾信息較多時,,特別是在中斷通訊模式下,,頻繁的中斷將嚴重影響主程序的運行,另外由于對nRF401 的操作除了控制輸入輸出外,,還需要對nRF401的收發(fā)狀態(tài),、運行模式切換,因此對于一個總線結構的系統(tǒng)(如485 通訊模式),,無線通訊部分也作為一個獨立ID 模塊時,,傳統(tǒng)的設計處理遇到了困難。因此需要設置一個中間處理環(huán)節(jié),,既能有效過濾信息又不影響通訊速率,。
為解決上述問題,本設計基于nRF401 作為無線收發(fā)芯片,使用兩片AT89C2051 作為控制芯片,,設計出一套無線通訊系統(tǒng),。其中一片AT89C2051(定義為控制芯片A)控制nRF401,AT89C2051 的IO 接口與串口配合控制nRF401 實現(xiàn)異步通訊,;另一片AT89C2051(定義為控制芯片B)既能滿足總線串口的要求,,又能解決控制芯片A 由于頻繁串行中斷而不能及時響應總線的問題,起到分擔任務,、隔離干擾,、串口擴展的作用。采用兩片2051單片機設計方法,,與采用一片雙串口單片機設計相比,,能降低成本、提高芯片利用率,、隔離干擾,。實踐表明該系統(tǒng)結構簡單、抗干擾能力強,,能很好解決短距離系統(tǒng)之間的無線通信問題,。
2. 系統(tǒng)硬件設計
系統(tǒng)硬件設計包括無線通訊模塊和通訊控制部分。
2.1 基于nRF401 的無線通訊模塊設計
nRF401是Nordic公司研制的單片UHF無線收發(fā)芯片,,工作在433MHz ISM頻段,。在接收模式中,nRF401被配置成傳統(tǒng)的外差式接收機,,所接收的射頻調(diào)制的數(shù)字信號被低噪聲放大器放大,,經(jīng)混頻器變換成中頻,放大,、濾波后進入解調(diào)器,。解調(diào)后變換成數(shù)字信號輸出(DOUT端)。在發(fā)射模式中,,數(shù)字信號經(jīng)DIN端輸入,,經(jīng)鎖相環(huán)和壓控振蕩器處理后進入功率放大器射頻輸出,。在本系統(tǒng)設計中,,為了避免干擾,將基于nRF401的無線收發(fā)部分做在一塊單獨的PCB板上,,引出通訊控制接口(J1),,組成獨立的無線收發(fā)模塊。
2.2 基于AT89C2051 的控制系統(tǒng)設計
控制部分包括兩片AT89C2051,,控制芯片A 負責處理無線收發(fā)模塊數(shù)據(jù)信息,,并與控制芯片B 通過P1 口以中斷1 方式進行數(shù)據(jù)交流。控制芯片B 負責處理來自串口的信息,,并與控制芯片A 進行數(shù)據(jù)交流,。由于兩片AT89C2051 以中斷方式并行傳輸模式傳輸數(shù)據(jù),其數(shù)據(jù)交換時間遠小于單片機串口通訊時間,,因此不會影響整個系統(tǒng)的半雙工通訊時間,。為了滿足各種要求,串口通過跳線被設計成232 模式,、485 模式和UART 模式,。
3. 系統(tǒng)軟件設計
3.1 通訊協(xié)議
在無線通信的過程中,由于外部環(huán)境的干擾,,通常誤碼率比較高,,即使發(fā)射方不發(fā)送數(shù)據(jù),接收方仍會經(jīng)常接收到由于外部干擾而產(chǎn)生的雜亂數(shù)據(jù),,為了在接收的過程中區(qū)分接收到的數(shù)據(jù)是否為有效數(shù)據(jù),,必須有一定的通信協(xié)議。在傳輸數(shù)據(jù)量不大時,,為有效處理信息,,本系統(tǒng)設計以下通訊協(xié)議: