王 征,羅寧昭,聶 冬
?
基于STM32F7的具有3CAN2以太功能的船用監(jiān)控屏的設計
王 征1,羅寧昭2,聶 冬3
(1. 海軍駐廣州某軍代室,廣州 51000;2. 海軍工程大學武漢 430033; 3. 海軍駐722所軍事代表室,武漢 430070)
本文結合船用電氣設備雙冗余通信的實際需要,以高性能的STM32F767單片機為硬件基礎,該單片機含有3個CAN接口和1個Ethernet接口,將一個UART接口用IPort-3轉換成Ethernet接口,用輕量級TCP/IP管理工具lwIP來管理Ethernet,顯示采用7寸RGB屏,最終達到預期設計要求。
雙冗余 STM32F767 CAN Ethernet
現(xiàn)代船舶為簡化系統(tǒng)結構,通常采用全船統(tǒng)一的平臺網完成設備之間的通信,設計要求電力系統(tǒng)設備對外通過雙冗余CAN網和雙冗余以太網進行數(shù)據通信。同時由于設備內部也是使用CAN總線進行通訊行,這就要求設備至少具備兩個CAN接口和兩個Ethernet接口,接口要求高。傳統(tǒng)MCU一般不具備多種接口,同時考慮到大流量數(shù)據的通信和穩(wěn)定性,選用高性能的STM32F767,用ZLG公司的IPort-3將一個UART接口轉換為Ethernet接口,實現(xiàn)3CAN2以太,顯示屏采用ATK-7’RGBLCD V1.3,分辨率800*480,系統(tǒng)硬件接口簡化圖如圖1所示。
CAN通信收發(fā)芯片采用ADM3053,進行完全隔離的CAN通信;Ethernet通信收發(fā)芯片采用LAN8720A,高性能低功耗,采用RMII接口,集成10/100 MBps自適應以太網速率;ATK公司的ATK7084屏幕可以跟STM32F767直接接駁,使用方便穩(wěn)定;設計四個按鈕進行監(jiān)控屏界面的功能控制;加裝紐扣電池,可以掉電保存數(shù)據;一路JTAG調試接口,制作好的電路板實物如圖2所示。
圖2 電路板實物
ST公司推出圖形化編程工具HALCOGEN,可以節(jié)約部分基礎代碼的開發(fā)時間,使用STM32CubeMX進行基礎代碼的配置,包括CAN、UART、IO口、時鐘等,配置完后可以直接使用三路CAN,在兩路CAN冗余通信方面進行修改;關于將UART通過IPort-3轉換成Ethernet的程序可以參考ZLG的官方程序進行修改;以太網部分較前兩部分比較復雜,因為HALCOGEN代碼生成器工具只能生成基礎的以太網配置代碼,這其中是不包含協(xié)議棧。TI提供的資源里已經有LwIP協(xié)議棧在該型芯片上的移植,所以采取LwIP協(xié)議棧實現(xiàn)以太網模塊。
LwIP部分:LwIP是一個小型開源的TCP/IP協(xié)議棧。完成移植之后的LwIP協(xié)議棧不需要了解底層的函數(shù)信息,只需要對LwIP協(xié)議棧中的需要的函數(shù)進行調用就可以完成以太網通信。由于只用到UDP通信的部分,因此只對該部分進行簡單地說明:
lwIPInit():對LwIP協(xié)議棧進行初始化。下面是初始化的程序說明:
u8 lwip_comm_init(void)
{ u8 retry=0;struct netif *Netif_Init_Flag; //調用netif_add()函數(shù)時的返回值, 用于判斷網絡初始化是否成功
struct ip_addr ipaddr; //ip地址
struct ip_addr netmask; //子網掩碼
struct ip_addr gw; //默認網關
……}
LCD部分:初始化對數(shù)值、長度、筆色顏色、背景色等進行設置。
IPort-3部分:由于IPort-3可以提供TCP Server, TCP Client, UDP 和 Real COM driver 等多種工作模式,因此需要對模塊進行一定的設置,使該模塊工作在UDP模式并將收到的數(shù)據發(fā)向指定的IP和端口。IPort-3可以通過網線與電腦相連,在電腦上安裝ZNetCom軟件就可以通過圖像化的交互完成對IPort-3的設置。
主程序將各部分功能組合在一起。
利用STM32的內部以太網MAC+外置PHY實現(xiàn)網絡連接。本設備開啟了LWIP的DHCP功能,可以自動從路由器獲取IP地址,也可以關閉DHCP,使用默認靜態(tài)IP地址,默認靜態(tài)IP地址為192.168.1.30,當聯(lián)網完成以后可以在電腦上向開發(fā)板發(fā)送Ping包來測試網絡是否通暢。使用ULINK2下載和調試程序,電腦端使用ZNetCom進行以太網通訊冗余通信測試,在屏幕上顯示通信連接結果。
圖3 通信連接結果
CAN部分的測試利用ZLG公司的CANAnalysII調試工具,電腦端使用CANTest測試軟件,速率500K,對每路CAN進行通信測試,軟件接收到的CAN數(shù)據幀如圖4。
序號傳輸方向時間標識幀ID幀格式幀類型數(shù)據長度數(shù)據(HEX) 250接收11:28:53.458.018數(shù)據幀標準幀0x0844 45 46 47 48 49 4a 4b 251接收11:28:53.692.018數(shù)據幀標準幀0x0845 46 47 48 49 4a 4b 4c 252接收11:28:53.911.018數(shù)據幀標準幀0x0846 47 48 49 4a 4b 4c 4d 253接收11:28:53.130.018數(shù)據幀標準幀0x0847 48 49 4a 4b 4c 4d 4e 254接收11:28:53.348.018數(shù)據幀標準幀0x0848 49 4a 4b 4c 4d 4e 4f 255接收11:28:53.567.018數(shù)據幀標準幀0x0849 4a 4b 4c 4d 4e 4f 50
使用這樣一套硬件和軟件解決方案可以很好的實現(xiàn)雙冗余的以太網通信和CAN通信,并保證有獨立的一個CAN網絡進行內部通信,同時可以設計多個按鍵進行操作,界面除了在程序上純畫圖之外還可以使用GUI進行圖形化界面構圖,豐富界面,達到新型船舶監(jiān)控屏的使用要求。
[1] 丁瑞等. DSP下CAN總線雙冗余通信機制的設計與實現(xiàn)[J]. 計算機工程與設計, 2014,(08_.
[2] 劉力軍等. 雙以太網冗余通信系統(tǒng)的設計與應用[J].工業(yè)控制計算機, 2005, (07).
[3] 王海平. 雙冗余CAN總線在船舶通信中的可靠性分析[J]. 中國新通信, 2015, (09).
Design of Marine Monitoring Screen with 3CAN2 Ethernet Function of Ship Based on STM32F7
Wang Zheng, Luo Ningzhao, Nie Dong
(1.Naval Representatives Office in Guangzhou, Guangzhou 510000, China; 2.Naval Univ. of Engineering, Wuhan430033, China; Naval Representatives Office in 722 Research Institute, Wuhan 430070, China)
TP39
A
1003-4862(2017)12-0027-02
2017-09-15
王征(1978-),博士,工程師,研究方向:電氣工程。E-mail: liyihs2013@163.com