基于RS-485總線的宿舍智能防火防盜報警系統
2.2 RS 485通信電路
本模塊采用用于RS 485與RS 422通信的低功耗、限擺率收發器MAX485。MAX485的驅動器擺率不受限制,可以實現最高2.5 Mb/s的傳輸速率。
3 軟件程序設計
該系統軟件部分主要完成了系統及各個模塊初始化、警情信號檢測(火警/盜情)、系統設置、RS 485總線協議及聲光報警的程序設計。具體的程序流程圖如圖6,圖7所示。
4 通信協議
在RS 485總線通信系統中,由于供電、空間噪聲以及傳輸路徑等因素的影響,數據傳播過程中很容易受到干擾或者信號衰減,造成通信失敗,因而需要設計一種傳輸協議,保證在這種不可靠的物理鏈路上建立起可靠的數據連接。本系統中,數據采集器與監控室主機是一個簡單的多點對一點通信。
4.1 波特率設置及通信方式的選擇
考慮到RS 485總線自身的特點并兼顧到數據通信的速度和穩定性,波特率選擇2 400 b/s,這樣可以傳輸更遠的距離。由于通信是多對一的關系,串口選擇工作方式3。
4.2 數據校驗方式的確定
使用RS 485總線通信技術傳輸數據時,很容易遇上干擾,使傳輸數據發生改變,從而導致傳輸錯誤。考慮到系統的實際要求,本設計采用8位的CRC(循環冗余校驗)校驗方式。
CRC校驗和的計算是一種循環計算。從數學角度看,CRC校驗和是用生成多項式(算法規則)去除一個多項式(由數據塊表示),CRC校驗為相除后所得的余項。CRC校驗是對要傳送的一個數據塊附加一些校驗位,這些校驗位(CRC校驗位)由該數據塊算出,并隨同數據塊一并傳送。在接收端,對收到的數據塊重新按規定的算法計算CRC校驗和,從而可以判別數據傳輸過程是否出錯。
評論