1. 引言
目前我國普遍采用戶用計量儀表即水表、電表、燃氣表、熱表(四表)安裝在用戶室內, 抄表人員走家串戶,手工抄表采集數據,然后結算的計量收費方式。為了有效解決入戶抄表收費存在的諸多弊端, 我國從90年代初開始研制全電子式電能表,并且取得了一定的成果。目前已研制出多種遠程抄表系統,常用的有用基于電力線載波的抄表系統,基于RS-485總線的抄表系統等。
基于電力線載波的抄表系統,減少了系統由于布線帶來的成本,但是由于信號和強電在同一根線上傳輸,傳輸過程中不可避免地存在強電場的干擾,信號的可靠性受到影響,而且隨著傳輸距離的增大,信號的衰減較快,影響了抄表數據的可靠性;基于RS-485的抄表系統是較為理想的一種遠程抄表系統,它采用的是主從式的通信方式,任何時候只允許一個節點向網絡發送數據,所以RS-485多采用主從結構的命令型通信方式來防止數據通訊故障,數據通信時必須由主節點接收到管理主機的命令,然后由主節點向各個從節點傳達命令,從節點的數據依次送至主節點,最后再由主節點將各從節點的數據發送至管理主機。從數據通信過程可以看出,如果主節點出現故障,則整個系統會陷入癱瘓狀態。另外,隨著居民區的用戶的不斷擴大,要求抄表系統現場數據通信距離也隨之增加,由于采用485總線在9600bps下能達到的最遠傳輸距離小于1200米,因而需要增加一個或多個中繼以實現數據的較遠發送和接收。因為485為半雙工通信,中繼器在工作中必須判斷網絡數據流向,所以中繼器的結構復雜,導致增加了系統成本,降低了系統的可靠性。
CAN(Controller Area Network)是控制器局域網的簡稱它是德國Bosch公司在1986年開發的一種串行數據通信總線。CAN網絡上的節點不分主從,任一節點均可在任意時刻主動地向網絡上其他節點發送信息,通信方式靈活,利用這一特點可方便地構成多機備份系統,CAN采用非破壞性總線仲裁技術,當多個節點同時向總線發送信息時,優先級較低的節點會主動地退出,而最高優先級的節點可不受影響地繼續傳輸數據,從而節省了總線沖突的仲裁時間。
針對它們各自的特點,我們采用符合國際標準ISO 11898的CAN總線技術和目前儀表和自動化裝置常用的RS-485總線構成雙層網絡結構,這種網絡結構有效地解決了系統的建設成本高、數據管理困難、可靠性不高以及可擴展性能差等問題。
2.系統的總體設計框架
本系統采用雙層網絡的構架,見圖1。
目前我國四表普遍安裝在戶內,工作環境不算惡劣,所以本系統低層網絡采用 RS-485總線。它具有結構簡單、成本低廉、對布線要求不高的特點;而且RS-485總線在9600bps下最遠傳輸距離可以達到1200米,完全能夠完成一棟樓家用控制器與集中控制器遠程通訊的距離需求;再加上它們之間的通訊數據量小,數據結構簡單,所以RS-485總線能夠可靠地完成低層數據采集的需要。高層網絡采用兼容性能好、可靠性能高、數據傳輸速度快、傳輸距離遠(在5000bps時傳輸距離10km)的CAN總線。CAN總線采用短幀結構,傳輸時間短,受干擾概率低;有CRC校驗和出錯標定能力;而且具有故障節點自動脫離CAN總線等功能,特別適合所處環境惡劣,數據交換較頻繁的集中控制器與管理中心計算機之間的通信。
系統由家用控制器、集中控制器、管理中心主機組成二級分布式監控式系統。家用控制器以單片機為核心,能接收耗能表(四表)送出的脈沖信號,并且進行計數、數據處理、保存數據、發送用戶信息和顯示用戶狀態信息等功能,為了提高可靠性,配有獨立的備用電源供電。集中控制器可對一定數量的家用控制器進行集中管理,將各家用控制器采集到的數據傳送至管理中心,同時為了保證用戶信息的安全,將采集到的數據進行備份處理,同樣它也有備用電源可在停電時繼續給控制器供電。一般情況下,一棟樓配置一個集中控制器。小區管理中心主機通過運行遠程抄表管理軟件來處理下位機傳送來的數據信息,例如進行統計、交費管理、報表、網絡事故報警等操作。為了降低系統的設計成本,RS-485與CAN皆采用價格低廉的雙絞線連接。
3. CAN總線的通信協議
3.1 CAN總線上的電平
CAN總線具有兩種邏輯狀態:隱性或顯性。在隱性狀態下VCANL和VCANH被固定于平均電壓電平,Vdiff近似為零。顯性狀態以大于最小閾值的差分電壓來表示。
顯位(0):VCANH 3.5V,VCANL 1.5V
隱位(1):VCANH 2.5V,VCANL 2.5V
3.2 總線仲裁
仲裁期間,每個進行發送的節點都將其發送的位電平與監控總線電平進行比較,任何發送一個隱性位而監視到一個顯性位電平的節點立即變成接收器,而不破壞總線上的任何信息,等到總線空閑時,再重新發送報文。報文標識符的二進制數值越低,其優先級越高。
3.3 CAN總線的報文格式
CAN技術規范定義了CAN報文格式。CAN定義了四種不同的幀,數據幀、遠程幀、出錯幀、超載幀。
數據幀的組成格式見圖2。
幀起始:1個顯位,標志幀的開始。
仲裁場:由標志符和遠程發送請求位(RTR)組成。
控制場:數據長度碼和兩個保留位。
數據場:包括0 ~8個字節,每個字節8位。
CRC:CRC序列與CRC界定符。
應答場(ACK):應答間隙與應答界定符。
遠程幀的組成格式和數據幀類似包括幀起始、仲裁場、控制場、CRC和應答場,與數據幀相反,遠程幀的RTR位是隱位,遠程幀不存在數據場。
出錯幀由兩個不同的場組成,第一個場由來自各站的錯誤標志疊加得到,第二個場是出錯界定符。
超載幀包括兩個位場,超載標志和超載界定符。
幀間空間包括間歇場和總線空閑場。
4. 集中抄表器的硬件設計
4.1集中抄表器的硬件設計
由于底層采用的是RS-485,而網絡上層采用的是CAN總線協議,這就要求集中抄表器不但具有數據采集、數據備份,而且應該具有協議轉換的網橋功能。CAN與RS-485總線轉換網橋的設計原理圖見圖3。
網橋的微控制器采用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總線組成的雙層網絡結構,有效地實現了戶用計量儀表和遠程管理計算機的有效數據通訊。它們無論在硬件連線,還是軟件編程都具有很好的兼容性。在實驗室條件下,通過系統運行檢驗表明,系統運行平穩,可靠性較高,實現了高效率的遠程數據采集和集中管理。