基于CAN總線/RS485接口的雙層網絡遠程抄表系統設計
網橋的微控制器采用TI的MSP430F449,它負責整個網橋的監控任務。CAN控制器接口電路由CAN通信控制器SJA1000和CAN總線收發器82C250組成,為了提高系統的可靠性和抗干擾能力,可以在SJA1000和82C250之間增加光耦合電路。RS-485總線端所使用的是內部具有光耦合的差動收發器MAX1480。網橋中設計的LED,可用于網橋上的上電指示,總線收發狀態及故障情況指示,網橋的看門狗采用了一片X25045。X25045除了具有看門狗和上電復位功能外,內部還集成了512個字節的串行EEPROM,用于保存網橋參數配置等信息。網橋的配置可通過CAN總線或RS-485總線實現,通過網橋的適當配置可以很方便的實現報文的過濾。
4.2集中抄表器的軟件設計
網橋總線數據的接受均采用中斷的方式,在主監控中實現數據的發送,內存采用FIFO機制管理。
由于RS-485總線與CAN總線是兩種不同的總線形式。相互進行數據通訊時,需要進行協議轉換。CAN總線標準具有物理層和數據鏈路層協議,以幀為單位進行數據通信,而且每幀均攜帶相應的ID標志符,而RS-485本質上是一個物理標準,以字節為單位進行數據通信,不帶有任何其它附屬信息,其格式完全由用戶自己定義。所以在考慮設計RS-485幀格式時,應該參考CAN總線的幀格式。具體設計RS-485幀格式時可以參考以下格式:
第一個字段為地址字段,占用一個字節,作為RS-485子網的多機通信地址用。在RS-485網絡中,只能采用一主多從的方式進行通信,網絡中必須有一個主控節點,在此網橋為主控節點,通過查詢點名的方式進行通信。第二到第四字段與CAN報文中的同名字段定義相同,實際上這三個字段是一個完整的CAN報文。網橋在進行轉發時只需要將這三個字段構成的CAN報文發送即可,使網橋中的協議轉換更為容易實現。最后的校驗字段可用于網橋接受報文時的校驗,以保證數據的可靠。軟件設計流程見圖4。
主監控程序根據接受緩沖區中是否有報文,決定數據是否發送以及發送給誰。如果接
受CAN子網數據緩沖區中有報文則向RS-485子網轉發,如果接受RS-485子網數據緩沖區有數據則向CAN子網轉發。由于CAN報文和自定義的RS-485報文的幀格式長度不同,在轉發報文時,要進行幀格式的轉換。在轉發報文后,要對相應的FIFO緩沖區進行參數調整。另外在主監控程序中,如上位機對網橋有狀態請求或網橋本身有故障,網橋可以向上位機返回本機狀態。該功能便于系統的故障定位,管理中心計算機通過運行遠程抄表管理軟件可以提前發現系統故障,增強了系統的可維護性。
5.結束語
由CAN總線和RS-485總線組成的雙層網絡結構,有效地實現了戶用計量儀表和遠程管理計算機的有效數據通訊。它們無論在硬件連線,還是軟件編程都具有很好的兼容性。在實驗室條件下,通過系統運行檢驗表明,系統運行平穩,可靠性較高,實現了高效率的遠程數據采集和集中管理。
評論