栗克國,李志飛,倪文軍 ,孟祥杰
(1.交通運輸部天津水運工程科學研究院,天津 300456;2.天津水運工程勘察設計院,天津 300456)
在港口碼頭生產作業中,船舶靠離泊作業是最容易出現安全風險的時候,傳統上,這需要船長和引航員的經驗和技術以及港口調度人員的工作經驗[1]。但由于船舶大型化趨勢日益明顯,僅依靠傳統的經驗并不能直觀了解船舶的航速、航向、以及碼頭的水流、氣候狀況,這些給碼頭及船舶安全帶來了極大隱患。針對這一需求,設計了基于兆易創新GD32F103系統的多參數碼頭安全監控終端,可同時接入ADCP、雷達水位計、激光測距儀等設備,實現多參數的采集監測。
浪涌的存在給水位采集帶來了一定的誤差,通過采用按周期的移動平均算法對采集數據進行校正,提高了水位采集精度,保證了潮位監測數據的穩定可靠[2]。
該系統主要由GD32F103主控模塊、供電模塊、電流(電壓)采集模塊、串口采集模塊、FLASH存儲模塊、電源控制模塊、GPRS模塊、人機交互模塊組成。系統結構如圖1所示。

圖1 系統結構示意Fig.1 System structure diagram
監控終端支持4路電壓(電流)采集通道,可采集1路水位數據、預留3路用于采集溫濕度和大氣壓數據,設計一個UART傳感器接口,使用MAX485芯片將信號轉化為RS485格式,支持連接最多3種不同類型傳感器,可同時采集3路ADCP數據和2路激光測距數據。終端擁有可獨立控制的3路電源輸出控制通道,可對外提供干接點或12 V電源供電。
其主要工作流程如下:初始化后,讀取工作參數表,依據設置參數給對應的傳感器上電,等待傳感器工作穩定后,采集傳感器數據,對采集數據進行解析和分析處理,根據數據處理結果調整下次采集啟動時間和工作模式,通過GPRS模塊將數據發送給上位機,接收到上位機確認信號后依據設置將數據存入FLASH或拋棄。控制傳感器斷電,控制MCU進入低功耗模式,等待下次運行時刻到來[3]。
本系統采用北京兆易創新科技股份有限公司推出的全新GD32F103C8T6微控制器作為系統核心,其采用第二代Cortex-M3內核,主頻108 MHz,具備實時時鐘(RTC)、看門狗、上電復位、掉電復位、電壓監測等功能,擁有豐富的外設功能,80%的可用GPIO,具備極佳的靈活性滿足多種應用需求。其實現了內核對FLASH訪問的零等待,據Dhrystones和CoreMark測試結果,其代碼執行效率比市場同類產品提高30%~40%,適用于工業自動化、人機界面、電機控制、物聯網等應用[4]。
GD32F103C8T6擁有64 K的FLASH和20 K的SRAM,采用LQFP48封裝,擁有4個定時器,3路串口、2個看門狗、2路I2C、2路SPI和2路ADC單元,37個引腳可作為GPIO引腳,完全可滿足本設計電流采集、RS485信號采集及設備動態控制要求。
本系統應用在室外,掛載的設備需要的供電電壓各不相同,設備供電成了一個關鍵問題,其中諾泰克ADCP需要9~18 V供電,最大工作電流3 A,邦納LT30激光測距儀需要10~30 V供電,羅斯蒙特5400雷達水位計需要8~30V供電,氣象設備需要18~28 V供電;對于內部模塊來說,MCU需要3.3 V供電、GPRS模塊、MAX485芯片需要5 V供電,考慮到現場使用太陽能電池板或220 V市電供電的情況,設計12 V作為系統上輸入電源電壓,使用12轉24 V DCDC模塊獲得需要的24 V電源給激光測距儀、雷達水位計和氣象設備供電,12 V電源經濾波后給ADCP和控制系統供電。設計雙LM2575-5.0芯片將12 V電源轉換為穩定的5 V電源,一路5 V電源給GPRS模塊和MAX485芯片供電,一路5 V電源通過ASM1117-3.3芯片將5 V降為3.3 V給MCU供電。電路如圖2所示。
ADCP數據采集模塊使用諾泰克AWAC 2D浪龍,其采用窄帶技術減少了海表或航道底部的干擾,緊湊的傳感器使其能夠安裝在樁體或海堤上,測量范圍可達100 m,工作水深可到300 m。其使用RS232或RS422通信,支持300~115200的通信波特率。將其RS232通信口使用ATC105模塊轉換成RS485信號連接到MAX487芯片,MCU即可通過串口收發程序接收ADCP的采集數據。電路原理如圖3所示。
潮位采集使用羅斯蒙特公司5402雷達水位計,其支持4~20 mA輸出,首先要將其調理成滿足ADC輸入范圍的電壓信號以便進入ADC轉換為數字量。輸入到ADC模擬輸入通道的幅值范圍為0~3.3 V。

圖2 供電原理Fig.2 Power supply schematic diagram

圖3 通訊原理Fig.3 Principle of communication
系統采用125 Ω采樣電阻將電流信號轉換為0.5~2.5 V的電壓信號,經過OP747運放構成的電壓跟隨器進行信號隔離,然后再注入ADC通道。在采樣電阻后端,增加二極管進行端口保護,如圖4所示。

圖4 信號隔離Fig.4 Signal isolation
為了更好地控制系統功耗,GPRS模塊部分設計使用MCU連接西門子MC37i模塊,通過MCU控制模塊上電運行及工作狀態,通過AT指令和參數配置設計GPRS模塊支持實時在線模式和定時上傳模式。在實時在線模式下,GPRS模塊持續處于待機工作狀態,可隨時接收或發送數據,在定時上傳模式下,MCU根據程序設定啟動MC37i模塊進行數據傳輸,數據傳輸任務完成后再進入休眠狀態。電路原理如圖5所示。

圖5 系統功耗設計原理Fig.5 Schematic diagram of system power design
為了實現試驗過程數據采集存儲,系統擴展32 MB的NAND FLASH,選用GigaDevice公司的GD25Q32芯片,每頁 256 bytes,支持 SPI、Dual SPI、Quad SPI 3種工作模式,最大工作頻率104 MHz,頁編程時間0.7 ms,具有較低的工作功耗。本系統采用標準的SPI工作模式設置存儲芯片。存儲電路原理如圖6所示。

圖6 存儲原理Fig.6 Storage schematic diagram
顯示模塊作為人機交互的重要部分,要求具有耐高低溫、陽光下易讀等特點,據此,選用肇慶金鵬實業有限公司OCMJ2*8C-5液晶模塊,其分辨率128*32,操作溫度最低可達-20℃,內置中文字庫,支持并口和串口數據傳輸。為了節省端口資源,本系統設計使用串行數據傳輸方式,原理如圖7所示。

圖7 顯示模塊設計原理Fig.7 Schematic diagram of display module design
系統軟件在RVMDK5.0環境下使用C語言開發,為了方便系統的調試和修改,軟件程序的設計采用功能程序模塊化的設計思路。主要功能模塊包括MCU初始化模塊、端口初始化模塊、外圍設備初始化模塊、數據采集模塊、數據處理模塊、數據通信模塊。系統的主程序設計為休眠模式,通過定時器中斷或外部中斷喚醒主程序,根據中斷事件選擇執行不同的任務流程。
主要的任務流程包括3個部分:數據采集處理任務;數據存儲傳輸任務;系統工作參數設置任務。
數據采集任務中,雷達水位計采集潮位、ADCP采集流速任務為定時任務,根據定時時間進行雷達水位計的上電和數據采集工作,采集間隔從1 min~1 h連續可調。激光測距儀采集靠泊數據為可變參數定時采集任務,根據每次采集的數據判斷是否存在船舶靠近,當有船舶靠近時加密數據采集間隔到10 s一次,當判定船舶離岸后降低數據采集間隔到1 min一次,連續10 min無船舶作業,則降低數據采集頻率到5 min一次。
數據采集完成后,將數據按照特定格式存入FLASH存儲器,同時啟動GPRS模塊,將數據按照特定格式(幀頭、幀長、站點號、設備類型、時間戳、采集數據、幀尾)打包,控制GPRS模塊將數據上傳到服務器。上傳任務完成后,并不立即控制終端進入休眠狀態,而是保持GPRS設備在線3 min,等待服務器的返回信息,根據返回信息可配置或調整終端工作參數[5]。
選取2017年11月20日~30日的潮位數據,選取2017年12月1日~10日的ADCP流速數據。
基于本次研發的采集終端設備,于2017年3月在曹妃甸某碼頭安裝3套ADCP洋流監測系統和1套船舶靠離泊監測系統,如圖8所示,經近10個月的現場應用,設備工作穩定,達到了預期的設計指標。

圖8 現場應用Fig.8 Field application
文中通過軟硬件協同設計,研制了基于GD32F103的多參數碼頭安全監控終端,實現了碼頭現場潮位、氣象、ADCP流速、船舶靠離泊多參數的協同觀測,同時依據可變參數的靠離泊監測系統設計,解決了傳統監測參數單一、前端設備長期連續工作易出故障等問題,提高了系統的可靠性,進而提高了碼頭生產的安全保障水平[6]。
[1]柏杰.輔助靠系泊系統集成設計[J].中國水運,2011,11(9):61-62.
[2]姚曜,王清哲,王宇,等.離靠泊作業參數誤差因素分析[J].艦船電子工程,2016,36(4):49-53.
[3]閆曉飛,劉澤西,李穎,等.基于激光三維視覺的船舶靠泊動態監測技術[J].激光與紅外,2016,46(12):1452-1458
[4]劉忠超,殷華文,郭抒穎.基于MSP430單片機的智能儀表設計[J].自動化與儀表,2015,30(2):20-24.
[5]傅洪深.碼頭安全監控系統在港口工程中的應用[J].水運工程,2008(7):85-90.
[6]李寶玉,張鵬飛.針對靠泊輔助系統中幾種探測技術的分析[J].中國水運,2015,15(8):11-12.