前言:尋找寫作靈感?中文期刊網用心挑選的融合通信的嵌入式網關系統設計,希望能為您的閱讀和創作帶來靈感,歡迎大家閱讀并分享。
摘要:針對當前工業生產現場中通信系統的兼容性問題,設計了一種基于融合技術的嵌入式網關系統,選用STM32F207為核心控制器,移植了μCOS-III嵌入式操作系統,實現了CAN總線、以太網和LTE移動通信的融合通信,可以應用于各類工業控制現場,系統穩定性、可靠性、兼容性都有了很大的提高。
關鍵詞:CAN總線,以太網,STM32,LTE,μCOS-III
隨著工業現場控制系統自動化程度不斷加深,工業生產現場的各種傳感裝置不斷增多,控制復雜性增加,數據通信的容量需求不斷提高,單一的通信模式不斷遭受挑戰,越來越無法滿足系統擴容的需要,不能對工業現場進行有效的實時控制[1]。因此,如何滿足各種現場控制環境,對工業生產過程的大數據進行有效、實時地監控,實現最大程度自動化水平成為當前工業現代化發展的一個瓶頸。目前針對于工業控制系統中的很多現場設備都采用CAN總線進行通信,網絡節點負責采集現場的相關信息及進行相應的控制,上位機負責數據的存儲和人機交互控制,現場的網絡節點和上位機之間通過CAN總線交互數據,這種控制網絡可以滿足基本現場控制管理,但是隨著對工業現場控制的要求提高及多媒體技術的發展,單一控制數據的通信模式正逐漸改變,如何兼容現有控制設備同時滿足對大數據的需求是當前研究的熱點。為此,本文提出了一種基于STM32的嵌入式融合通信網關系統。
1工業控制系統結構設計
本系統結構圖如圖1所示,系統由網關節點、子節點和控制平臺等部分組成。網關節點采用雙機冗余設計,保證了關鍵通信的穩定性,融合了多種通信方式,實現了CAN總線、以太網和移動網絡的融合,提高了系統的可擴展性,主要完成對整個網絡監控系統進行監控、數據處理、管理決策等;子節點位于車間現場,主要完成現場參數的檢測、數據處理和執行,并將相應的數據實時傳輸給網關節點,同時接收并執行控制命令。節點之間通過CAN總線實現數據的交互,系統基于信息分級的FCS(Field-busControlSystem,FCS)分布式控制對現場進行管理。對采集的信息采用分級管理機制,信息分為三級:I級、II級和III級。I級為現場正常生產控制信息,例如定位傳感器采集正常值信息、CCD圖像信息、電機和氣缸的正常運轉信息,各子節點可以自行處理,網關節點不直接參與控制,由監控子節點直接進行處理;II級為異常信息處理,例如單位時間內不良產品信息超過容忍度了,需要控制中心進行處理,控制中心管理員根據現場的各種采集信息,綜合分析,發出控制命令,與現場操作人員協調,遠程管理現場;III級為緊急信息,主要是一些危及安全生產的信息,例如災難性故障,在傳輸給總控制平臺由值守管理員處理查找原因的同時,通過LTE通信傳輸給具有特殊權限用戶的移動控制平臺,以便能夠實時掌握現場信息,及時進行支持,排查原因,最大程度地保障了系統的安全運行。對現場采集到的各種信息設置相應的等級,在傳輸和處理過程中保證了高優先級的重要信息的能實時安全傳輸,并及時處理?,F場所有信息和處理結果都需要傳遞給控制平臺進行備案保存,以便掌握現場的工作情況,為安全生產提供信息依據。對信息進行分級處理,各子節點具有較強的獨立性,從而降低了系統的復雜性,提高了系統的開放性、可靠性、容錯性。
2硬件系統設計
2.1網關節點系統設計
網關節點的設計是工業控制系統的關鍵節點,網關節點通過CAN總線對各子節點進行參數設置,子節點采集現場信息,通過CAN總線傳遞給網關節點,當生產現場出現問題時,通過液晶顯示和聲光報警提示值班人員,值班人員可以從控制平臺詳細了解各節點的信息,通過控制平臺或者鍵盤給子節點發出控制命令。網關節點通過TCP/IP和LTE與控制平臺進行通信,保證了現場的有效控制。網關節點電路主要包括CAN收發電路、以太網接口電路、LTE通信電路、鍵盤電路、LCD顯示電路和聲光報警電路等,網關節點硬件電路結構如圖2所示??紤]到網關節點的數據處理能力要求較高,選用基于ARMCotex-M3核的32位處理器STM32F207VE,該芯片采用最新的90納米工藝生產新一代的STM32產品,120MHz高速運行時可達到150DMIPS的處理能力,高達512k字節的片上閃存和128k字節的SRAM,自適應實時閃存加速器使得片內閃存上以120MHz的高速零等待地執行代碼。芯片攜帶有1路10/100M以太網接口,2路CAN通道,6個UART接口;還含有ADC、DAC、USB、PWM等外設資源[2]??梢苑€定地進行TCP/IP和CAN總線通信,同時也能保證嵌入式操作系統μCOS-III的運行。
2.2CAN通信驅動電路設計
控制器STM32F207VE內部都集成了功能強大的CAN控制器,CAN通信模塊的設計僅需要設計微處理器與驅動器的接口電路。在本設計中,主控節點與子節點的采用相同的驅動電路,驅動器選用廣州致遠公司的芯片CTM1050T,CTM1050T芯片采用全灌封工藝,內部集成了電源隔離、電氣隔離和CAN收發電路,隔離電壓可達DC2500V,接口簡單,使用方便,可以很好實現CAN-BUS總線上各節點電氣、電源之間完全隔離和獨立[3]。該模塊TXD、RXD引腳與+3.3V和+5V的CAN控制器完全兼容,不需要外接其他元器件,相對于傳統的設計方案,簡化了DC-DC電源模塊、光耦模塊和ESD保護等電路,提高了節點的穩定性和安全性。CAN總線驅動電路如圖3所示,CTM1050T的收發引腳與CAN控制器的收發引腳直接相連,終端RT1為120Ω,屏蔽電纜線的屏蔽線接FGND引腳,CGNND為收發器地,RC1及CR1為耐高壓電阻、電容,具有濾波等作用。
2.3以太網通信模塊的設計
在網關節點系統中設計了以太網通信模塊,實現了數據的遠程傳輸,擴展了通信的帶寬,提升了通信的兼容性。STM32F207VE內部集成了專用DMA的MAC模塊,為以太網通信提供MII或者RMII兩種接口方式,PHY物理層控制芯片選用DP83848CW采用RMII規范,簡化了硬件的電路設計,電路圖的設計如圖4所示,STM32的PB11與TX_EN相連,使能發送引腳;PB12、PB13與TX_D0、TXD_1相連,發送數據;PD9、PD10與TX_D0、TXD_1相連,接收數據;X1為接收和發送數據提供時鐘信號[4]。DP83848CW與網絡變壓器網口插座J0011D21BNL相連,實現TCP/IP數字信號的差分傳輸。
2.4移動通信模塊設計
LTE移動通信模塊以USR-LTE-7S4為核心,可以輕松實現與LTE網絡的高速通信[5]。USR-LTE-7S4是一款體積小巧,功能豐富的M2M產品,可方便快速地集成于設計系統中,模塊軟件功能完善,能覆蓋絕大多數常規應用場景,支持自定義注冊包、心跳包功能,支持4路Socket連接,并支持透傳云接入,具有高速率、低延時的特點。USR-LTE-7S4的UART_TX、UART_RX引腳分別與STM32的PC11和PC10相連,實現串口到LTE網絡的雙向數據透明傳輸。模塊已集成SIM卡功能,設計時與SIM卡座對應引腳進行連線,SIM_CLK、SIM_RST、SIM_D引腳分別并聯47pF左右的電容,濾除射頻信號的干擾。模塊提供開關機RES和POW_KEY引腳,控制STM32的開關機。通過LED狀態顯示模塊工作狀態。模塊引出的指示燈引腳為LinkA、LED_W、LED_N,分別指示網路連接、模塊工作和具體網絡狀態情況,引腳電平為1.8V,驅動指示燈需要做電平匹配,需要通過三極管來驅動指示燈。
3軟件系統設計
軟件系統的設計包括總控制平臺和移動控制平臺的上位機軟件設計、主節點軟件系統設計和監控子節點的軟件系統設計??偪刂破脚_基于C#進行軟件開發設計,移動控制平臺基于E-clipseJava開發,選擇開放源代碼的安卓操作系統。子節點采用面向工作過程的前后臺程序設計方法,保證子節點能實時控制工作現場。在這里主要介紹主節點系統的開發,主節點系統采用自頂向下的設計方法,考慮到系統的性能和實時性的要求,移植了嵌入式操作系統μCOS-III。μCOS-III是JeanJLabrosse先生編寫的免費公開源代碼的實時操作系統,是μCOS的第三代系統內核,被設計用于32位處理器,也能在16位或8位處理器中很好地工作,其實時性、穩定性、可靠性得到了廣泛的認可,相對于μCOS-II,μCOS-III允許多個任務運行在同一優先級上,相同優先級的任務按時間片輪轉調度,任務的數量不受限制[6]。在Keil4下對μCOS-III移植進行了移植,修改3個內核文件:os_cpu.h、os_cpu_a.asm、os_cpu_c.c;3個CPU文件:cpu.h、cpu_a.asm、cpu_c.c。為了實現以太網通信的功能,移植了LwIP,編寫相關的驅動程序。LwIP是瑞士計算機科學院(SCICS)的AdamDunkels等開發的用于嵌入式系統的開發源代碼的TCP/IP協議棧,實現了ARP、IP、ICMP和TCP四個基本協議,適合與μCOS-III等嵌入式操作系統相配合使用[7]。對LwIP的移植,主要是修改與STM32、編譯器、操作系統相關的文件,編寫了IPReceive()和IPSend()兩個驅動函數,完成了與底層硬件的數據交換,保證了IP數據的發送和接收。根據主節點具體的功能應用需求,考慮到任務的實時性和資源的利用率,劃分十個任務:三個通信任務、三個監測任務、一個數據處理任務、一個存儲任務、一個顯示任務和一個初始化任務。三個通信任務分別為串口通信任務(負責LTE通信)、CAN通信任務和以太網通信任務,負責與上位機控制平臺通信和監測子節點通信;三個檢測任務分別為主節點定時監測任務、子節點定時監測任務和鍵盤監測任務,負責檢測主節點、子節點的工作狀態以及人機交互。數據存儲任務負責對通信任務接收過來的數據進行解包處理、分類;存儲任務負責在發送故障的情況,將數據存儲在SD卡中;顯示報警任務負責必要的顯示和故障發生時的聲光報警;系統初始化任務負責實現系統軟硬件初始化工作、系統時鐘配置以及其它配置、其它任務的創建和任務間通信使用的變量的定義及初始化。在內核啟動后,該任務自動掛起,不再運行。系統通過消息隊列、信號量對任務進行同步、互斥調度,協調各任務的運行,任務的調度關系如圖6所示。
4結束語
這種融合通信方式保證綜合控制系統的可靠性,在主節點中移植了嵌入式操作系統μCOS-III,為系統的可擴展性和穩定性提供了可靠的保證,為相關的工業現場控制提供了一種新的解決方案。
作者:凌啟東 單位:徐州工業職業技術學院