基于RS-485總線的數(shù)據(jù)采集系統(tǒng)
1.1.5 通信模塊
總線采用雙絞線差分傳輸方式,可連接成半雙工和全雙工方式,最遠傳輸距離為112 km. 系統(tǒng)數(shù)據(jù)通信采用半雙工通信方式,即整個網(wǎng)絡中任一時刻只能由一個節(jié)點成為主節(jié)點,處于發(fā)送狀態(tài),并向總線發(fā)送數(shù)據(jù),其他的節(jié)點都必須處于接收狀態(tài),如果2 個或2 個以上節(jié)點同時向總線發(fā)送數(shù)據(jù),將導致所有發(fā)送方發(fā)送數(shù)據(jù)失敗,因此通信網(wǎng)一般采取主從式即主節(jié)點控制整個網(wǎng)絡的通信時序,使總線上的各節(jié)點分時使用總線,解決總線數(shù)據(jù)傳輸?shù)臎_突。
總線驅(qū)動芯片選用RS - 485 接口芯片SN75LBC184 ,它采用單一電源,電壓為3~515 V 時都能正常工作。與普通的芯片相比,它不但能抗雷電的沖擊,而且能承受高達的靜電放電沖擊,片內(nèi)集成4 個瞬時過壓保護管,可承受高達的瞬態(tài)脈沖電壓,因此它能顯著提高防止雷電損壞器件的可靠性。對一些環(huán)境比較惡劣的現(xiàn)場,可直接與傳輸線相接,而不需要任何外加保護元件。該芯片還有一個獨特的設計,當輸入端開路時,其輸出為高電平,這樣可保證接收器輸入端電纜有開路故障時,不影響系統(tǒng)的正常工作。另外它的輸入阻抗為RS - 485 標準輸入阻抗的2 倍( ≥24 kΩ) ,故可以在總線上連接64 個收發(fā)器。芯片內(nèi)部設計了限斜率驅(qū)動,使輸出信號邊沿不會過陡,使傳輸線上不會產(chǎn)生過多的高頻分量,從而有效扼制電磁干擾??偩€驅(qū)動芯片和單片機的連接采用間接連接,如圖7 所示。
圖7 總線驅(qū)動芯片和單片機間的間接連接圖
1.1.6 數(shù)據(jù)存儲模塊
該模塊用來存儲下位機傳過來的壓力數(shù)據(jù)。系統(tǒng)對數(shù)據(jù)存儲器的基本要求是存儲容量要大,掉電數(shù)據(jù)不容易丟失,能保存較長時間,易于擴展容量?;谝陨弦螅x用了遵循總線串行擴展技術(shù)的24C256。單片機和24C256 之間的數(shù)據(jù)交換完全遵照IIC 總線的規(guī)定,即單片機作為主機,24C256 作為從機,所有操作都是由SDA 和SCL 2 個腳位的狀態(tài)(共有4 個狀態(tài):開始、停止、數(shù)據(jù)和應答) 來確定。24C256 和單片機的連接圖如圖8 所示。
圖8 24C256 和單片機連接圖
1.1.7 時鐘模塊
采用實時時鐘芯片DS12C887 為系統(tǒng)產(chǎn)生時間基準,它和單片機的連接如圖9 所示??僧斪鲉纹瑱C的外部RAM處理,通過P0 口對DS12C887 進行操作,通過其中斷引腳IRQ向單片機發(fā)出中斷,使單片機讀出時間。
圖9 DS12C887 和單片機連接圖
2 軟件設計
系統(tǒng)軟件框圖如圖10 所示。一級目錄分為上位機程序、通信程序和下位機程序;二級目錄分為數(shù)據(jù)采集程序模塊、模擬多路開關控制程序模塊、數(shù)據(jù)處理程序模塊、下位機通信程序模塊、上位機通信程序模塊、顯示程序模塊、存儲程序模塊、時鐘程序模塊以及鍵盤控制模塊。每個二級程序模塊又由更小的函數(shù)組成,這樣的設計方法容易修改和測試。
3 結(jié)語
軟件程序設計按照自頂向下的原則,按功能模塊化劃分采用C 語言編程實現(xiàn)各模塊功能,以子程序的形式進行封裝對外部提供規(guī)定的接口,再按照系統(tǒng)流程要求進行模塊組合最后實現(xiàn)整個系統(tǒng)。
評論