劉姜濤 ,鄧其軍,聶明媚,劉震宇
(1湖北第二師范學院 物理與電子信息學院,武漢430205;2武漢大學 動力與機械學院,武漢430072;3江西省電力公司贛西供電公司,新余338025)
當前我國大多數配電房中的配電系統(特別是低壓部分)沒有實現智能化監控[1-6],配電房現場數據無法準確、及時地被上傳到供電公司運行監控部門,導致配電房突發事件無法得到及時處理。為了配合佛山供電局,把依云水岸第三期項目建設為智能用電小區,此小區采用低壓配電自動化終端DTU對現場的配電站(房)內的自動化設備進行數據采集(遙測、遙信、遙控)、報警、狀態監視、事件順序記錄、趨勢曲線、事故追憶、歷史數據存儲和制表打印等。該文結合此科技項目的需要,設計了一種基于ARM和Linux操作系統的配電房通信管理機,并于2013年被相關單位投入使用。
本文設計的通信管理機硬件主要由電源板、ARM核心板、底板三部分組成,其硬件結構如圖1所示。其中,ARM核心板集成了三星S3C2440的ARM9架構微處理器及存儲器等外圍電路;底板用于連接ARM核心板,并擴展通信接口[7-8];電源板為整個管理機提供5 V電壓的電源。

圖1 通信管理機硬件結構圖Fig.1 Hardware structure chart of communication manager
ARM核心板選用天嵌科技的TQ2440核心板。該核心板除了集成三星S3C2440的ARM9架構微處理器外,還集成有256 MB Nand FLASH及64 MB SDRAM,并通過192針的DC-2.0雙列直插接口來實現處理器與外部的總線的連接。選用該核心板,能夠極大地簡化硬件設計[9-11],從而,只需專注于底層通信接口的設計。
ARM核心版提供有三路UART通信。利用這三路UART模塊,在底板上選配3.3 V隔離電源F0303S-1WR、高速光隔 HCPL601、雙通道 RS-232線路驅動器/接收器MAX3232,即可得到3路5針RS-232通信接口。
為擴展串口通訊的端口數量,選用了SC16C554B芯片進行并口/串口通信轉換。該芯片是4通道通用異步接收器和變送器,其主要功能是將串行數據轉換成并行數據,反之亦然,可以處理的UART串行數據率高達5 Mb/s,每個通道具備收/發獨立的16 BYTE FIFO,其中還能通過DMA中斷來觸發該數據傳輸模式,每一路都有對應的中斷源。
通過SC16C554B擴展得到4路串口收發通信后,還需要選用八位總線收發器SN74HC245N實現數據并行總線與串行總線的隔離,防止外部串口通信帶來的信號干擾,保證核心芯片的穩定性和通信的穩定性。
從SN74HC245N出來的每路信號,還需要再外接高速光隔HCPL601和RS-485收發器SN65HVD12,即得到4路RS-485收發端口。
網絡通訊主要由單芯片快速以太網MAC控制器DM9000、網絡隔離器HR1102和RJ45網絡接口變壓器13F-60FGYDPNW2實現。其中,HR1102主要用于信號電平耦合。其一,可以增強信號,使其傳輸距離更遠;其二,使芯片端與外部隔離,抗干擾能力大大增強,而且對芯片增加了很大的保護作用(如雷擊);其三,當接到不同電平(如有的PHY芯片是2.5 V,有的PHY芯片是3.3 V)的網口時,不會對彼此設備造成影響。
通信管理機軟件采用分層設計的方法[5],主要由以下三層組成:設備操作層、電力規約應用層、實時數據存取層,如圖2所示。

圖2 通信管理機軟件分層架構Fig.2 Software layered architecture of communication manager
在圖2中,設備操作層提供對各種硬件接口的直接操作,并為電力規約應用層提供統一的API接口函數。這樣,設備操作層在進行數據收發時,只需要調用相應的API接口函數,而不需要考慮具體的硬件實現。
實時數據存取層提供一個共享內存區,用以存儲從各種設備采集到的遙測、遙信、SOE事件等實時數據,以及上位機對這些設備的操作指令。例如,通信管理機從DTU、配變計量終端、微氣象站采集到數據,都會保存到這個共享內存區,并定期、或在上位機召喚時、或在數據值改變時,通過某個網絡端口,以104規約上發。
電力規約應用層按類型可分為通用電力規約(如101規約,104規約等)和自定義規約。通用規約在Linux環境下,通過C++語言編程,編輯成庫文件,下載到ARM板使用。自定義規約由運行在上位機的規約配置管理工具軟件進行定義后,生成相應的規約定義XML文件。系統運行時,會對這些XML文件進行解析,形成自定義規約。
硬件接口層與數據存儲層的信息交換主要是通過報文[12]交換。這類信息交換具有突發性(報文到達時間不能預知)和異步性(對同一信息的不同操作有選擇限制而不能同時進行)兩個顯著的特點。
為此,設計一個規約基類,用報文組裝、報文發送、報文提取、報文分析、數據存儲等幾個粗象函數來描述規約的處理流程。具體的規約類則從規約基類來繼承,并完成對上述幾個粗象函數的具體實現。
一個具體規約類的處理流程如圖3所示。

圖3 一個規約類的處理流程Fig.3 Processing flow for a protocol class
(1)初始化
打開相應的端口;初始化規約參數(如信息體地址長度等);根據遙測、遙信、遙控量的點數,創建相應長度的共享內存區。
(2)報文組裝
根據上一步報文分析的結果(如需要將遙控指令下達到下位機),從共享內存區提取數據,進行報文組裝(當然,如果沒有需要組裝的報文,則進入下一步流程)。
(3)報文發送
將組裝好的報文,發送給目標端口(如果沒有組裝好的報文,則轉入下一步操作)。
(4)報文提取
對端口接收緩沖區未提取的字節進行分析,如果符合該端口對應的規約的報文格式,則進入報文分析步驟;如不符合規約格式,則重新循環提取,直至報文合格或沒有未提取的字節。
(5)報文分析與數據存儲
如果第(4)步得到了一幀完整的報文,則根據規約的分類,和該幀報文的內容,進行分析,提取該幀報文中的點號及點號對應的遙測、遙信和遙控值,并按點號存儲到共享內存區。
這種分層模塊化的系統設計體系結構最大限度地減少了系統各個部分之間的耦合,進一步提高了系統的靈活性和可靠性。而且內核層軟件和應用層軟件的耦合度比較低,便于調試和維護。
本通信管理機應用于南方電網公司某智能用電小區科技項目。該項目采用低壓配電自動化終端DTU對小區4個配電房電量及氣象進行監測。其中一個配電房中所使用的通信管理機的各端口連接的設備、測點及協議包括:
(1)RS-232 端口 COM1,配置為采集端口,連接變壓器測溫監測系統,1路遙測量;自定義協議;
(2)RS-232 端口 COM2,配置為采集端口,連接高壓開關溫度監測系統,1路遙測量;自定義協議;
(3)RS-232 端口 COM3,配置為采集端口,連接微氣象系統,兩路遙測量;自定義協議;
(4)RS-485 端口 COM4,配置為采集端口,連接3臺DTU,合計42路遙測量,20路遙信量;101協議;
(5)RS-485 端口 COM5,配置為采集端口,連接1臺是配變計量終端,合計10路遙測量;廣東電網公司配變監測計量終端通訊規約(0903版);
(6)網絡端口NET1,連接到網絡交換機,配置為轉發端口,上傳46路遙測量,20路遙信量;104規約。
本文設計的管理機系統在相關單位的使用過程中,表現出以下優點:規約可擴展性強。系統除自帶有電力系統常用的101、104等規約外,還能夠通過自定義規約的方式來擴展規約類型,極大方便了與非標準設備的通信;端口規約配置方便。該系統所支持的電力系統通用規約只有101、CDT、104等幾種,對DNP、MODBUS等接入方式還有待開發。
[1] 施慧,徐琳茜,田世明.基于32位數字信號處理器和16位同步串行模數轉換器的配用電監控終端設計[J].電網技術,2007,31(21):72-76.
[2] 金丹.應用新型嵌入式系統設計電力通信管理機[J].電力自動化設備,2006,26(10):86-88.
[3] 路小俊,吳在軍,鄭建勇,等.基于ARM平臺及嵌入式實時操作系統的通信管理機[J].電力自動化設備,2005,25(5):46-49.
[4] 張建周,柏嵩,陳偉琦.嵌入式高可靠性通信管理機的設計[J].電力系統自動化,2007,31(16):94-98.
[5] 高峰,崔琪,楊常府.分層模塊化軟件設計在變電站通信管理機中的應用[J].電力自動化設備,2004,24(6):95-97.
[6] 劉航,劉全,凌俊銀.一種基于嵌入式Linux操作系統通信管理機的設計與實現[J].電力系統保護與控制,2009,37(1):76-77,90.
[7] 李伯成.微型計算機嵌入式系統設計[M].西安:西安電子科技大學出版社,2004.
[8] 周立功.ARM嵌入式系統基礎教程[M].北京:北京航空航天大學出舨社,2005.
[9] 黃勛,唐慧強.嵌入式平臺ARM-uC1inux的構建與應用開發[J].武漢理工大學學報:交通科學與工程版,2006,30(1):174-176.
[10]李長明.基于ARM和Linux嵌入式系統的軟件開發過程[J].工業控制計算機,2006,19(3):47-48.
[11]周巍松.Linux系統分析與高級編程技術[M].北京:機械工業出版社,l999.
[12]符意德.嵌入式系統設計原理及應用[M].北京:清華大學出版社,2004.