一種新型自動抄表系統數據集中器的設計
引言
本文引用地址:http://www.104case.com/article/201612/328305.htm傳統的手工抄表費時、費力,準確性、及時性等都得不到可靠的保證,且不利于科學管理,給城市管網的建模、分析、規劃等都帶來很大的困難。為解決上述問題,能夠將耗能表計量數據自動采集、傳輸和處理的自動抄表系統越來越多的被采用。
自動抄表系統主要由主站系統、數據傳輸通道、數據集中器、數據采集器構成,其中數據集中器不僅要實現通信協議的轉換,還要完成命令下達、數據存儲、數據上傳等功能,是個似乎不起眼但技術含量很高、現場服務量大的重要環節。
1 系統組成
自動抄表系統結構如圖1 所示。數據集中器處于抄表系統的中間層,是抄表系統的中樞,既完成對下級采集器的數據收集,也能夠響應主站指令,完成數據通信任務。

數據集中器與數據采集器采用CAN 總線的通信方式。
CAN 總線相比其它的數據通信方式具有突出的可靠性、實時性和靈活性。數據集中器還可通過紅外方式與手持設備通信,用于本地抄表及現場設備調試與配置。
2 數據集中器的硬件設計
數據集中器采用模塊化設計,根據其功能分為不同的模塊,它的結構框圖如圖2 所示:

圖2 數據集中器的硬件結構圖
數據集中器使用了uPD78F0881 單片機,它是NEC 公司推出一種高性能價格比8 位單片機,其基本特性如下:1.8~5.5V 的寬工作電壓范圍;最低1A 的工作電流(停止模式下);內置上電清零(POC)電路、低電壓檢測器(LVI)和看門狗定時器,合理使用這些功能可有效提高系統可靠性;內置CAN 總線控制器,簡化了CAN 總線的電路設計同時降低了成本;2 通道串行接口、8 路外部中斷、2 個16 位定時/計數器、4 個8 位定時/計數器。
下面就集中器中一些主要電路的設計作簡要介紹。
2.1 CAN 總線電路設計

圖3 CAN 總線節點硬件電路原理圖
在本自動抄表系統中,數據集中器與數據采集器是通過CAN 總線通信的,設計了如圖3 所示的CAN 總線接口電路。從圖中可以看出,電路主要由3 部分組成:單片機uPD78F0881、CAN 總線驅動器TJA1040、高速光電耦合器6N137 和光電耦合器PS2501.
TJA1040 的STB 經光耦2501 隔離后連接到uPD78F0881的P17.P17 為1 時可使TJA1040 處于待機模式,在該模式下可大大降低功耗,此時TJA1040 的接收與發送器都會關閉,同時監視總線狀態,一旦檢測到顯性位則將RXD 置0.而RXD 的變化會使uPD78F0881 將P17 置0,這就使TJA1040 重新工作在了正常模式。
為增強CAN 總線節點的抗干擾能力,uPD78F0881 的CTXD 和CRXD 是通過高速光耦6N137 與TJA1040 相連的,且光耦兩側電路通過采用小功率電源隔離模塊實現了電源的完全隔離,很好的實現了總線上各CAN 節點間的電氣隔離,提高了節點的穩定性和安全性。
TJA1040 的CANH 和CANL 引腳各自通過一個0.2A 的自恢復保險與CAN 總線相連,這樣可保護TJA1040 免受過流沖擊。CANH 和CANL 與地之間各自接了一個30pF 的小電容及一個瞬態電壓抑制二極管(TVS)。小電容可以起到濾除總線上的高頻干擾和一定的防電磁輻射的能力。瞬態電壓抑制二極管可保護TJA1040 免受瞬變干擾和瞬態高能量的沖擊。
2.2 紅外通信電路設計
紅外通信電路由發射電路與接收電路組成,如圖4 所示。
其中SE303 是用于發射紅外線的二極管,波長為940 nm ,TL0038 是一體化紅外接收器。

圖4 紅外數據通信電路原理圖
uPD78F0881 的TXD0 發送串行數據信號,并通過三極管驅動SE303.TO00 輸出38kHz 的脈沖序列作為載波信號,通過三極管對紅外信號進行調制。為增強紅外發射電路的性能,利用單片機輸出的脈沖信號占空比可調的特性,降低信號的占空比來提高發射電流幅度。
TL0038 將接收到的38kHz 紅外光調制信號解調為二進制數字信號,提供給單片機處理。接收器的數據輸出端接到uPD78F0881 的串行數據接收端RXD0.
3 數據集中器的軟件設計
程序中設置了一個單片機忙標志位,單片機忙時置位該標志位,空閑時被復位。正常模式時主程序中會不斷檢測該標志位,一旦檢測到該標志位被復位即將單片機轉入待機模式來降低功耗。主程序流程圖如圖5 所示。

軟件功能的實現由各個子程序完成。主要的子程序有CAN總線通信子程序、紅外通信子程序、GPRS 通信子程序、存儲器操作子程序、實時時鐘操作子程序。這里只介紹CAN 總線通信子程序,它由初始化程序、數據發送程序及數據接收程序組成。
(1)初始化程序。
uPD78F0881 中集成了CAN 控制器,其中有16 個長度為8字節的數據緩沖區,這些數據緩沖區既可單獨使用又可聯合使用,大大提高了使用的靈活性。初始化程序主要包括對控制寄存器、總線傳輸速率寄存器、中斷使能寄存器及各數據緩沖區的控制寄存器、驗收碼寄存器和驗收屏蔽寄存器等的設置。
(2)數據發送程序。
數據的發送是由CAN 總線控制器自動完成的,用戶只需將待發送數據送入數據緩沖區,再啟動發送命令即可。通過查詢相應的標志位即可得知發送狀態。
(3)數據接收程序。
數據的接收采用中斷方式,接收程序在CAN 控制器產生接收中斷后,從數據緩沖區中讀取接收到的數據,再進行相應處理即可。
4 通信協議設計
4.1 上位機與數據集中器通信幀格式
上位機與數據集中器之間為主從結構的半雙工通信方式。
上位機為主站,數據集中器為從站。每個數據集中器均有各自的地址。通信鏈路的建立與解除均由主站來控制。協議中規定了三種幀格式,分別是:命令幀、廣播幀及應答幀。
(1)命令幀。
命令幀由上位機發送給數據集中器,由地址、命令、數據和校驗碼組成。
地址長2 字節,表明將接收該幀的數據集中器。命令長1字節,表示該幀的功能。數據長1~9 字節,其內容隨命令幀的功能改變。校驗碼長2 字節,為從幀起始到校驗碼之前的所有字節的CRC16 校驗碼,用于數據校驗。
(2)廣播幀。
廣播幀也是由上位機發出的,它用來向數據集中器發送校時及數據凍結命令。其格式中不含地址域,其它與命令幀相同。
(3)應答幀。
應答幀是數據集中器對上位機發來的命令的響應,格式與命令幀相同,地址中為數據集中器自身地址。
4.2 數據集中器與數據采集器通信幀格式
CAN 總線的技術規范只定義了數據鏈路層和物理層,因此要實現系統的通信就需要根據實際情況單獨設計應用層的通信協議。
協議中有命令幀、應答幀、數據幀和報警幀四種幀格式。其中命令幀由數據集中器發出,含有一個數據采集器識別地址。
應答幀是采集器對集中器所發命令的響應。當集中器發出的地址與某個采集器地址一致時,該采集器會發送應答幀。由于CAN 總線采用的是短幀結構,每幀數據最多8 字節,當采集器要上報的數據大于8 字節時就要在應答幀之后再傳送數據幀直到所有數據發送完成。報警幀是采集器出現斷線、數據存儲出錯等故障時發出的報警信號。
(1)命令幀。
命令幀由地址、命令、數據組成。由于CAN 總線本身具有15 位CRC 校驗,其校驗強度完全可以滿足本系統對通信可靠性的要求,故沒有設置校驗部分。各個部分的具體含義與約定如下:1)地址表明要與哪一個采集器通信,每個采集器唯一對應一個地址。地址為1 個字節,可使用標識符ID.0~ID.7 記錄此地址,這樣就可通過CAN 控制器的設置由硬件自動完成地址過濾。2)命令為1 個字節,用于指定具體的命令內容。不同的內容對應不同的命令代碼。3)數據部分長度一般為1~8 字節。
(2)應答幀。
應答幀格式基本與命令幀格式相同,只不過其地址部分是自身地址,而不是目的地址。
(3)數據幀。
該幀是緊跟在某些應答幀之后發送的,因此只有地址和數據兩部分。
(4)報警幀。
報警幀格式與應答幀格式相同,它的數據部分為1 個字節,表明了故障類型。
4.3 差錯控制
為保證數據傳輸的可靠性,建立了上位機與數據集中器之間、數據集中器與數據采集器之間的差錯控制。
當上位機或數據集中器發出命令幀后,在規定時間內如果未收到數據集中器或數據采集器的應答幀,即認為傳輸出錯,并重發先前的命令幀。重發最多3 次,當重發3 次仍無法收到應答幀時,發出相應的提示信息。
5 結束語
以上述方式設計的數據集中器具有低功耗、可靠性高和成本低廉的特點,特別適合作為自動抄表系統中數據集中器設計的一種解決方案被推廣和應用。在實驗條件下對所設計的系統進行測試,測試表明所設計的系統運行平穩、功耗低,能夠可靠地完成抄表系統數據采集需求,達到了設計要求,具有很好的應用前景。
評論