劉海鵬,王 丹
(1.沈陽聯勤保障中心,沈陽 110094;2.中國電子科技集團公司第四十七研究所,沈陽 110000)
通信電源及機房環境監控系統(簡稱動環監控系統),是對分布在各個機房的電源柜、UPS、空調、蓄電池等多種動力設備及門磁、紅外、水浸、溫濕度、煙感等機房環境的各個參數進行“遙測、遙控、遙調”,實時監測其運行參數,診斷和處理故障,記錄和分析相關數據,并對設備進行集中監控和集中維護[1-2]。隨著電信行業的高速發展,對設備監控和維護的工作量也急速增加,動環監控系統的發展也成為必然趨勢。在此設計一款動環監控板卡,作為動環監控系統的核心單元[4]。選用STM22F429[5-6]為核心控制芯片,通過多種總線實現對外部設備的監視和控制。
所設計動環監控系統需要監控的設備分為9 個類型,共計16 臺設備。其中RS485 總線設備5 類,包括:溫濕度傳感器、紅外空調控制器、艾默生空調、多功能電表、門禁傳感器等8 個設備;DI 設備4 類,包括:水浸傳感器、煙霧傳感器、門磁、紅外傳感器等8 個設備。
整個系統的數據采集、分析、傳輸是通過核心板卡處理的。板卡將采集的數據通過網絡發送給中央控制計算機,并接收中央控制計算機的指令控制外圍設備。此核心板卡需要支持多個RS485 總線接口,具有豐富的IO 資源,同時支持網絡通信,還要有低功耗、高可靠性的特點。通過上述分析,選擇ST公司的低功耗微控制器STM22F429,作為該板卡的核心芯片,配合外圍接口芯片,能夠滿足系統要求。
作為動環監控板卡硬件電路板[7-8]核心芯片的是STM22F429,該芯片使用基于ARM Cortex-M4 的22 位RISC 內核,片上集成了2MB FLASH 和256kB的系統SRAM、4kB 的備份SRAM、GPIO、數模/模數轉換器、定時器、RTC、DMA、看門狗等。除此之外片上還具有豐富的通信接口,包括:I2C、SPI、UART、USB、CAN、Ethernet 控制器,以及專門負責LCD 顯示的LTDC 模塊,并且集成了兩個存儲控制器FMC及FSMC,可以外擴FLASH、SDARM、LCD 等多種外設,完全滿足整個系統的資源需求。
所設計動環監控板卡功能框圖[9]如圖1 所示。程序代碼被存放在STM22F429 的內部FLASH 中,數據則被存放在片上的SRAM 中。SWD 調試接口負責STM22F429 芯片的調試下載;RS222 串口與PC機進行通信,并在串口終端顯示信息;LED 燈顯示系統的供電等狀態;W5500 是通過SPI 接口外擴的以太網卡芯片,負責網絡通信功能。

圖1 動環監控板卡功能框圖
由于STM22F429 只有4 個UART,而需RS485總線控制的設備多達8 個,為滿足使用需求,通過兩個SPI 接口外擴8 個RS485 總線接口。設備包括:溫濕度傳感器、紅外空調控制器、艾默生空調、多功能電表、門禁傳感器等。通過GPIO 接口監控8個DI 設備,包括水浸傳感器、煙霧傳感器、門磁、紅外傳感器。各部分硬件詳細設計方案如下:
(1) 電源電路
板卡外部供電電壓為12V,芯片STM22F429 供電電壓為2.2V,板上ATK 模塊接口供電電壓5V。因此板上需要兩級LDO 芯片進行電壓轉換。此處采用LM2956 芯片實現12 V 轉5 V,用AMS117 將5 V轉為2.2V。電源電路部分設計如圖2。

圖2 電源電路
(2) 復位電路
為保證板卡運行的穩定性,避免受到外部電、磁等干擾造成程序異常癱瘓系統,選用一款看門狗電路X5042,以實現上電保護和低電壓復位的功能。X5042 與STM22F429 之間通過SPI 接口連接,設計電路圖如圖2。

圖3 復位電路
(2) SWD 調試接口
為節省板卡面積,調試下載接口選擇SWD,設計電路如圖4 所示。通過SWD 接口,可實現對芯片STM22F429 的在線軟件調試及FLASH 編寫等功能。

圖4 SWD 調試接口
(4) RS222 串行通信接口
為便于程序調試,在此設計串口顯示功能,通過SP2222 芯片將UART 信號轉為RS222 總線信號,如圖5 所示。這一設計實現了板卡與PC 機的串口互聯。PC 機上通過串口助手可以打印一些信息,用于軟件設計過程中打印調試信息。

圖5 222 串行接口電路
(5) 以太網接口
所設計板卡需要實現網絡通信的功能,通過網絡將采集的數據發送給中央處理計算機,并接收中央處理計算機的指令,進行協議解析,發送給外圍設備。在設計中沒有選用STM22F429 芯片自帶的以太網接口模塊,是考慮到該芯片內部集成的網絡控制器只能實現以太網MAC 層的協議,若要實現所設計的功能還需外接PHY 芯片,而依靠軟件來實現TCP/IP 協議棧將占用更多CPU 資源。
故而在此選用W5500 芯片。該芯片集成MAC和PHY 的功能,支持硬件TCP/IP 協議,整個系統的開發更加簡單,系統運行穩定可靠。STM22F429 通過SPI 接口控制W5500 芯片,連接如圖6 所示。

圖6 W5500 以太網接口電路
(6) SPI 總線轉RS485 總線接口電路
板卡需要監控多款RS485 接口的外圍設備,因此選用WK2168 芯片,如圖7 所示,通過該芯片實現一路SPI 信號轉四路UART 接口信號;UART 信號再通過ADM2587 芯片轉為RS485 總線信號。

圖7 WK2168 電路
除以上所述,還為該系統設計多款DI 設備,需要通過STM22F429 的GPIO 控制DI 設備。板卡硬件系統的整體實物圖如圖8 所示。該板卡可以完全滿足整個動環監控系統的需要,支持JTAG 調試,支持UART 信息打印,支持多個RS485 設備及DI 設備監控,支持LCD 顯示,支持網絡通信。

圖8 硬件板卡實物圖
所設計板卡系統的軟件部分使用KEIL 集成開發環境,包括編輯軟件、編譯軟件、匯編軟件、鏈接軟件、調試軟件、工程管理及函數庫等,同時提供仿真調試等功能。整體軟件流程如圖9 所示。

圖9 動環監控系統軟件流程
為完成對各個外圍設備的控制,參照各外圍設備的使用手冊,進行協議解析,確定各設備的控制流程。通過軟件控制各個硬件接口,發送不同指令,實現對各外圍設備的初始化,并讀取各外圍設備的狀態信息。通過網絡將獲取的狀態信息反饋給中間控制計算機,并接收中間控制計算機發送的指令,去實時監控各個外圍設備。
板卡與中間控制計算機通過以太網進行數據通信,兩者之間需要制定通信協議,其通信幀格式如表1 所示。

表1 板卡與中間控制計算機之間通信幀格式
對其中各部分詳細功能描述如下:
幀頭:2 字節,由0X7D、0X7D、0X7D 組成,這三個字節代表這個設備是動環設備。
數據長度:2 字節,從動環設備地址至CRC22 所有數據的長度,低位在前,高位在后。
動環設備地址:4 字節,例如設備的IP 地址192.168.1.10 在此處對應為填寫0XC0、0XA8、0X01、0X0A。
設備通道號:1 個字節,表示該設備在該地址的通道號。
設備序號:1 個字節,表示該設備在該類型設備中的序號。
設備編號:1 個字節,如果是RS485 設備,此處為RS485 設備地址,如果是DI 設備,則默認為1。
在線狀態:1 個字節,1 代表在線,0 代表離線。
CRC22:CRC 校驗,4 個字節。
該通信協議以2 個0x7D 作為幀頭,后續所有數據中不會出現這種組合,確保通信過程中能夠準確識別幀頭。通信協議中有數據長度,通過數據長度信息能夠準確接收整幀數據,在通信協議的末尾添加了CRC 校驗,以此能夠有效地避免對錯誤幀做出的響應。
所介紹的動環監控板卡目前主要用于對各種單元終端(包括通信機房、基站、支局、模塊局等)的工作環境監控。該板卡已經應用于多家機場的通信電源及機房環境監控中。經長時間實際運行證明,該板卡運行穩定、數據傳輸可靠、告警信息準確,為通信設備的安全高效運行提供了堅實的保障。此外,該系統也可以進行改版和升級,可以加入藍牙、紅外、4G/5G 等其他功能,監控其他環境設備,應用于多種場景,具有靈活的可延展性和廣闊的市場前景。