歡迎您光臨本站 登入註冊首頁

概述

   在實際控制系統中,有時需要測量多點數據並進行匯總,傳統的通信方式是採用固定的點與點之間的有線通信,即使採用RS485匯流排或CAN匯流排進行數據傳輸,也需要將各點用……

    在實際控制系統中,有時需要測量多點數據並進行匯總,傳統的通信方式是採用固定的點與點之間的有線通信,即使採用RS485匯流排或CAN匯流排進行數據傳輸,也需要將各點用網線連接起來,這樣造成施工麻煩且成本增加,有時因場地原因而無法布線。一種基於nRF401無線收發晶元的多點無線通用數據採集系統,可有效地解決這一問題。

1 系統組成
    系統分為三大部分,如圖1。
 
(1)主控機。位於整個系統的最上層,主要負責控制和管理整個系統中的所有通信及對收集到的各個節點的數據進行處理。採用PC機作為主控機,利用CAN匯流排連接多個數據控制器。
(2)數據控制器。將無線通信終端與主控機連接在一起。對附近的無線終端採用無線通道通信;對主控機採用CAN匯流排通過RS232轉接板與之相連。
(3)終端節點。為一個無線數據收發器,採用中斷方式。當收到上層數據控制器的查詢請求時,對其作出回應,然後返回終端節點的狀態。

2 系統的硬體選擇及設計
2.1 主控機與數據控制器之間的網路連接模塊
    根據系統的要求,考慮到工業干擾比較嚴重,主控機與數據控制器之間的網路連接採用CAN 工業匯流排標準。考慮到與原有的設備的兼容,降低設備的成本,各個設備仍沿用原有的RS.232/485體系的通信介面,所以這裡需要使用CAN 匯流排與RS232介面的轉接板來實現設備之間的CAN匯流排互連。整個轉接板系統分為RS232介面轉換電路、主控制器和CAN 控制器節點三部分。其介面轉換電路如圖2所示。
 
    RS232介面轉換電路由MAX232晶元構成,負責將單片機串口的TTL電平轉換為RS232電平。其中R1out和T1in引腳接單片機的RXD 引腳和TXD引腳。R1in和T1out作為RS232介面輸出連接標準DB9介面的引腳2和引腳3.

2.2 數據控制器模塊
    在系統中,數據控制器模塊主要負責兩方面的工作,一是通過CAN匯流排與主控機PC交換數據,二是實時監測終端節點的數據。由於無線通信部分使用的nRF401晶元使用串口與單片機相連,而連接RS232匯流排也要佔用一個串口,因此數據控制器至少需要兩個串口。設計中選用了Winbond公司的w77E58單片機作為該部分的主控晶元。
    W77E58片內含有兩個增強型串口和32 KB大容量Flash存儲器。指令集與51系列單片機完全兼容,提供4個8位的I/O口,3個16位的計數器以及全雙工的串口和中斷源,其最高工作頻率可達40MHz,12個內外部中斷,兩級優先順序,可以適應更多的需求。32 KB的E2PROM,為設計者提供了更大的片內程序存儲空間。這些特性使得W77E58非常適合在智能化監控系統中使用。
    W77E58的串口0通過RS232/CAN 匯流排與主控制器相連,串口1連接nRF401通信模塊,使用無線通信與各個無線終端節點通信,將各個終端採集到的數據匯總到控制單片機。電路結構如圖3.
 
2.2.1 射頻收發晶元nRF401
   系統中的無線通信部分,選用了Nordic公司的單晶元nRF401無線通信晶元,通過其外部引腳,可以使晶元隨時在發送模式和接收模式之間切換,無需進行任何初始化設置。該晶元工作於433 MHzISM (工業、科研和醫療)頻帶上,晶元本身具有頻移鍵控(FSK)的調製、解調、數據不需要編碼、可直接發送、多頻道切換的功能,並具有性能優異、功耗低、使用方便等特點。nRF401晶元所需的外圍元件很少,只需一個基準晶振和幾個無源元件,無需調試,可以很方便地應用到系統中。晶元nRF401的最高數據傳輸率可以達到20 Kbit/s,最大發射功率可達+10 dBm,在開闊地的作用距離最遠可達1000 m,完全適合本系統的設計要求。
2.2.2 nRF401天線設計與外部連接
    nRF401的外部連接包括外接天線、參考晶振、PLL環路濾波器、VCO電感和RF偏壓電阻幾個部分,如圖4所示。
 
2.3 終端節點模塊
    終端節點部分分佈於應用環境的各個位置,其一般要求為體積小、功耗較低,且使用量較大,故應選用廉價的處理器,以降低整個系統的成本。因此,選用低成本、低功耗的51兼容單片機AT89S52作為終端節點的控制器。AT89S52是一個通用的低功耗、高速8位CMOS單片機,其功能函數和管腳定義都和工業標準的80C51兼容。它提供了8 KB的E2PROM,256 Kbit片內RAM、32個I/O口、看門狗時鐘電路、2個數據指針、3個16位的計數器、9個中斷源、3個優先順序和一個全雙工的HART串口。
    終端節點控制器主要完成兩方面的工作,一是通過I/O介面讀取外部設備的狀態信息;二是通過無線介面響應上層控制器發送的查尋請求,回送當前的狀態信息。因此,設計中將單片機的串口與nRF401通信模塊相連,其P1.0、P1.1和P1.2依次連接到nRF401的控制端CS、PWR _UP 和 TXEN .外部信號通過光電耦合器件分別連接到P1.5、P1.6、P1.7和INT1引腳,其電路如圖5.
 

3 系統的軟體設計
    其主要部分為數據採集器和終端節點兩大部分的設計。
    數據採集器模塊的軟體設計主要有程序初始化部分、RS232通信部分和無線通信部分。由於無線通信的特殊性,外部干擾使得誤碼率較高,因此在軟體設計上應確保通信的可靠性。而nRF401靈敏度又較高,在沒有接收到信號時,也會有隨機數據輸出,因此,軟體設計首先要保證能夠識別雜訊和有效數據,其通信中使用的通信協議的設計就顯得十分重要。設計中採用如下規則通信:
    數據發送使用查詢方式,接收使用中斷方式;
    數據幀包含幀首、幀尾、地址、數據及校驗部分,幀首採用雙位元組0x55AA,幀尾使用0x01結束:
    地址是用雙位元組地址,共16 bit,地址分配上,各個端點的地址不相連,使其保持一定的容錯性;
    數據部分為一個位元組,其中的關鍵控制位,同時提供數據位本身及其反碼;
    地址部分和數據部分使用16進位ASCII傳送;
    幀的校驗部分使用CRC-4校驗;
    接收方檢測到連續的0x550xAA位元組,表示接收到有效的數據幀,如果幀校驗通過,接收方根據命令請求后發送相應數據,若該幀結構非法,則丟棄該幀,不作任何處理;
    發送方在發送查詢請求后,將啟動監控定時器並等待接受應答,如果在規定的時間內沒有收到相應的數據應答,發送方將重新發送請求,並進行錯誤計數,以免數據丟失 如果錯誤計數達到一定值,發送方停止發送請求,進入錯誤處理。
    圖6給出終端節點控制軟體流程框圖。
 

4 結束語
    本設計主要側重於無線通信數據採集系統的通用部分,電路結構簡單。在感測器實驗室以8點溫度測量為例進行了實測,表明其通信協議中幀首採用雙位元組,以及採用CRC校驗,對識別雜訊都是非常有效的。


[admin via 研發互助社區 ] 基於nRF401的多點通用無線數據採集系統設計已經有2384次圍觀

http://cocdig.com/docs/show-post-44737.html