基于ARM的工業(yè)以太網(wǎng)智能網(wǎng)關研制
1. 概述
本文引用地址:http://www.j9360.com/article/264151.htm當前,在工業(yè)控制中廣泛采用總線技術,它把系統(tǒng)中的各個設備連接起來,形成一個工業(yè)網(wǎng)絡系統(tǒng)。在這個系統(tǒng)上面的節(jié)點有:具備智能和通信特點的傳感器、控制器、各類通信設備和計算機等。然而,由于各集團之間的利益競爭,目前的工業(yè)現(xiàn)場儀表總線方式非常多,有的儀表采用串口通訊方式,有的采用USB總線方式,有的采用CAN總線方式,有的采用以太網(wǎng)方式。這些儀表各自獨立,難以統(tǒng)一集中監(jiān)控或管理,顯然,這些總線控制系統(tǒng)的發(fā)展趨勢應該是共同遵從統(tǒng)一的技術規(guī)范,真正形成一套開放式互聯(lián)系統(tǒng),并與目前已廣泛使用的信息網(wǎng)絡——以太網(wǎng)無縫連接。因此,構建工業(yè)以太網(wǎng)將是工業(yè)控制網(wǎng)絡的主要發(fā)展方向。
但是,在處理器方面,目前在8位和16 位微控制器平臺上運行的TCP/IP 協(xié)議棧可以將智能控制設備、儀器儀表等接入以太網(wǎng),但它僅可完成簡單、低速的數(shù)據(jù)傳輸,無法滿足工業(yè)現(xiàn)場的實時性和可靠性要求,尤其是在連接請求較多或控制任務較復雜時,幾乎沒有實時性可言。因此,必須采用功能更強、處理速度更快的32 位微處理器,并且運行基于特定應用的嵌入式實時操作系統(tǒng)進行合理的任務調度,才能滿足工業(yè)現(xiàn)場對實時性和可靠性的要求。本文以基于ARM內核的32位微控制器LPC2210研制工業(yè)以太網(wǎng)智能網(wǎng)關。
2. 基于ARM的智能網(wǎng)關硬件系統(tǒng)結構
PHILIP公司的LPC2210是基于一個支持實時仿真和跟蹤的32位ARM7TDMI-S核結構的微控制器。ARM結構是基于精簡指令集計算機(RISC)原理設計的,由于使用了流水線技術,處理和存儲系統(tǒng)的所有部分都可連續(xù)工作,通常在執(zhí)行一條指令的同時對下一條指令進行譯碼,并將第3條指令從存儲器中取出。同時LPC2210具有多個32位定時器、4路10位ADC或8路lO位ADC以及多達9個外部,因而它具有較高的性能,非常適合于通信網(wǎng)關、協(xié)議轉換器、嵌入式軟modem以及其它各種類型的應用。目前,常用的通信接口有RS232、USB、CAN、以太網(wǎng)等接口。本智能網(wǎng)關以LPC2210的控制核心,設計其相應的數(shù)據(jù)傳輸硬件電路,實現(xiàn)幾種常用的總線形式的數(shù)據(jù)向以太網(wǎng)的傳輸,如圖1所示。

圖1 系統(tǒng)設計架構
3. 硬件電路設計
圖2為USB和CAN總線接口電路設計,CAN總線電路主要由五部分構成:微控制器LPC2210,獨立的CAN控制器SJA1000,CAN總線驅動器PCA82C250 ,高速光電耦合器6N137,電源隔離模塊。微控制器LPC2210通過控制SJA1000實現(xiàn)數(shù)據(jù)的發(fā)送、接收。SJA1000負責數(shù)據(jù)鏈路層的工作, 它把發(fā)送緩沖器的數(shù)據(jù)經(jīng)過處理后送到82C250,把要接收的數(shù)據(jù)經(jīng)過處理后放到接收緩沖器等待微處理器的讀取。82C250提供SJA1000與物理總線之間的接口。6N137和電源隔離模塊用于實現(xiàn)總線上各個CAN節(jié)點的電氣隔離,增強系統(tǒng)的抗干擾能力。CH372 是一個USB 總線的通用設備接口芯片,具有8位數(shù)據(jù)總線和讀、寫、片選控制線以及中斷輸出,可以方便的掛接到單片機或DSP等控制器的系統(tǒng)總線上。CH372內置了USB通信中的底層協(xié)議,具有內置固件模式和外置固件模式。在內置固件模式下, CH372自動處理默認端點0的所有事務,本地端單片機只要負責數(shù)據(jù)交換,在外置固件模式下,由外部MCU根據(jù)需要自行處理各種USB 請求,從而可以實現(xiàn)符合各種USB 類規(guī)范的設備。
LPC2210的P3.23連接到SJA1000 的CS引腳,當為低電平時選中SJA1000,P0.30與SJA1000的INT引腳相連,用于USB中斷響應。P2.22和P3.21分別連接到CH372的CS和A0引腳,當P3.21為低電平、P2.22為高電平時選中CH372的命令端口;當P3.21為低電平、P2.22為低電平時選中CH372 的數(shù)據(jù)端口。

圖2 USB和CAN總線接口電路設計
圖3為RTL8019以太網(wǎng)接口電路,以太網(wǎng)接口電路分為三部分組成:微控制器LPC2210和以太網(wǎng)接口芯片RTL8019以及網(wǎng)絡接口HR901170A。微控制器LPC2210通過控制RTL8019實現(xiàn)數(shù)據(jù)的發(fā)送、接收。RTL8019集成以太網(wǎng)控制器、介質訪問控制子層(MAC) 和物理層, 可以方便地設計成ISA總線的系統(tǒng)。另外, 它提供給微控制器簡單接口, 使微控制器只需要對其相關寄存器進行相應讀寫即可完成對以太網(wǎng)的操作,同時,它還具有與NE2000 兼容、軟件移植性好以及價格低廉等優(yōu)點。

圖3 RTL8019以太網(wǎng)接口電路
電路設計為16位總線方式對RTL8019進行訪問,RTL8019的數(shù)據(jù)線SD0- SD15 與CPU 的P2.0- P2.15 連接, RTL8019工作在跳線模式,它選擇的端口I/O 基地址為300H,電路上SA6、SA7、SA10~SA19均接地,SA8、SA9接高電平,SA5與片選P3.23連接,當SA5為低電平,即選中芯片。讀寫信號線IORB、IOWB 分別接微處理器的讀寫信號線, RSTDRV為芯片復位引腳,接LPC2210的P0.6。RTL8019內置10BASE- T收發(fā)器, 所以網(wǎng)絡接口電路比較簡單,通過一個濾波器之后, 連接到HR90117A, 這是一個集成網(wǎng)絡變壓器的RJ45 接口, 使用該接口既節(jié)省了空間, 又增加了可靠性。
其他部分的設計電路有DS1232的看門狗電路,用于對LPC2210的上電復位,MAX232串口電平轉換電路,用于串口通訊,還有系統(tǒng)所用到的電源電路等。
4. 基于μC /OSII的實時多任務軟件設計
嵌入式實時操作系統(tǒng)μC /OSII是專為微控制器系統(tǒng)和軟件開發(fā)而設計的公開源代碼的搶占式實時多任務操作系統(tǒng)內核,是一段在嵌入式系統(tǒng)啟動后首先執(zhí)行的背景程序,用戶的應用程序是運行于實時操作系統(tǒng)之上的各個任務,實時操作系統(tǒng)根據(jù)各個任務的要求,進行資源管理、消息管理、任務調度及異常處理等工作。對于對實時性和穩(wěn)定性要求很高的數(shù)據(jù)采集系統(tǒng)來說,引入μC /OSII無疑將大大改善其性能。在實時系統(tǒng)中,每個任務均有一個優(yōu)先級,實時系統(tǒng)根據(jù)各個任務的優(yōu)先級,動態(tài)地切換各個任務,保證對實時性的要求。
智能網(wǎng)關軟件系統(tǒng)主程序流程圖如圖4,各個功能模塊可分為8個子任務,分別為串口發(fā)送、接收子任務,CAN總線數(shù)據(jù)發(fā)送、接收子任務,USB數(shù)據(jù)發(fā)送、接收子任務,以太網(wǎng)數(shù)據(jù)發(fā)送、接收子任務,設置其任務優(yōu)先級串口發(fā)送子任務最低,以太網(wǎng)數(shù)據(jù)接收子任務最高,以信號量建立各個任務之間的聯(lián)系。主程序啟動后,初始化各個模塊,然后啟動各個子任務,以太網(wǎng)接收子任務實時等待上位機是否有數(shù)據(jù)發(fā)送給下位機,接收數(shù)據(jù)后根據(jù)收到的上位機指令設置相應信號量。USB發(fā)送子任務、CAN總線數(shù)據(jù)發(fā)送子任務以及串口通訊發(fā)送子任務實時接收設定的信號量,根據(jù)信號量的值確定是否將當前以太網(wǎng)接收到的數(shù)據(jù)發(fā)送到相應的下位機。USB接收子任務、CAN總線數(shù)據(jù)接收子任務以及串口通訊接收子任務實時等待下位機發(fā)送數(shù)據(jù)給上位機,當接收到數(shù)據(jù)時,設置相應信號量。以太網(wǎng)發(fā)送子任務實時判斷信號量,根據(jù)信號量的值將數(shù)據(jù)發(fā)送給上位機。通過本智能網(wǎng)關,確保將不同總線形式的數(shù)據(jù)與以太網(wǎng)之間實現(xiàn)轉換。

圖4 軟件系統(tǒng)主程序流程圖
基于實時多任務的用戶應用程序設計,不必同時考慮所有任務運行的各種可能交叉的情況,分別編寫各個子任務,不但大大減小程序編寫的工作量,而且減小出錯的可能性,保證最終程序具有高可靠性。
5. 結束語
本文的創(chuàng)新之處是:總結了前人工業(yè)網(wǎng)關的設計思想,提出了基于Arm的工業(yè)以太網(wǎng)智能網(wǎng)關的軟硬件設計,通過將儀器儀表與計算機網(wǎng)絡連接起來, 實現(xiàn)對儀表儀器的遠程采集和控制,有利于復雜工業(yè)現(xiàn)場多參數(shù)的集中監(jiān)測。我們以5只油品帶CAN總線形式的含水儀以及10只串口通訊的流量儀表作為下位機,通過本文研制的工業(yè)以太網(wǎng)智能網(wǎng)關,系統(tǒng)間隔發(fā)送指令請求讀取下位機數(shù)據(jù),然后將讀取的數(shù)據(jù)以TCP/IP方式發(fā)送到以太網(wǎng)上,在局域網(wǎng)的任何一臺PC機,鍵入智能網(wǎng)關的IP地址,即可觀察下位機的數(shù)據(jù)。該設計成本低、使用靈活, 將會有廣闊的市場前景。
參考文獻
[1] 周立功.ARM嵌入式系統(tǒng)基礎教程[M ].北京:北京航空航天大學出版社,2005.
[2] 呂昌泰,羅永剛.嵌入式以太網(wǎng)接口的研究與設計[J],微計算機信息,2006 年第22 卷第8-2 期,pp:68-30.
[3] 王軍波,鄒繼軍. USB總線與CAN總線協(xié)議轉換器設計[J]. 東華理工學院學報. 2006年9月第29卷第3期.pp:273-276.
交換機相關文章:交換機工作原理
評論