CAN總線與以太網系統(tǒng)互連中網關的設計與實現
1 引言
科技和社會的發(fā)展,使20世紀末的全球化市場競爭空前激烈。競爭中的企業(yè)逐漸開始實施計算機集成制造系統(tǒng),采用系統(tǒng)集成、信息集成的觀點來組織工業(yè)生產。在這個系統(tǒng)中,為實現現場智能設備之間的多點數字通信,計算機測控技術與計算機網絡緊密地結合在一起,產生了能在工業(yè)現場環(huán)境運行、性能可靠、造價低廉的現場總線(FieldBus)技術。
現場總線是用于生產制造現場的最底層通信網絡,它實現了微機化的現場測量控制儀器或設備之間的雙向串行多節(jié)點數字通信?,F場總線技術的關鍵是使自動控制系統(tǒng)與現場設備具備通信能力,將它們連接成網絡系統(tǒng),實現現場通信網絡與控制系統(tǒng)的集成。作為網絡系統(tǒng),它具有開放統(tǒng)一的通信協(xié)議。
CAN總線就是現場總線技術在工業(yè)應用中形成的一個成熟技術標準。它的協(xié)議建立在ISO/OSI模型基礎之上,但只采用了該模型底層的物理層、數據鏈路層和頂層的應用層。在大型企業(yè)自動化系統(tǒng)中,上層企業(yè)管理層和生產監(jiān)控層一般采用的都是以太網和PC機,而在下層車間現場都是采用現場總線和單片機測控設備。上下兩層的溝通,通常采用工業(yè)控制機加以太網卡,再加上PC機插槽上的接口卡或并行打印口的EPP接口卡來實現。這種連接方式成本高,開發(fā)周期長。針對這種情況,我們設計一種單獨的CAN以太網網關互連系統(tǒng),成功地實現以太網和現有CAN總線網的直接數據互聯(lián)。
2 系統(tǒng)總體設計
CAN總線是一個設備互連總線型控制網絡。在CAN總線上可以掛接多達110個設備節(jié)點,各設備間可以自主相互通信,實現復雜網絡控制系統(tǒng)。但設備信息層無法直接到達信息管理層,要想設備信息進入信息管理層就要通過一種數據網關。
這里我們設計了一個SX52網關用于CAN總線與以太網的互連。系統(tǒng)總體分為三部分:現場測控網絡(CAN網絡)、嵌入式透明SX52網關、以太網信息管理終端(如監(jiān)控平臺和網絡數據庫等)。以太網信息管理終端與CAN總線上的CAN節(jié)點通過ETHERNET,SX52網關,CANBUS相互通信,其中SX52網關起到核心的異構網絡的互連作用。
協(xié)議轉換是異構網絡互連的技術關鍵和難點,協(xié)議轉換一般可采用分層轉換的方法,自低向上逐層進行。目前互連大都是在網際層或網絡層展開的,因而必須對互連層以下各層協(xié)議逐層向上轉換,這種轉換方法的依據是協(xié)議分層的基本原理:即低層支持高層,高層調用低層,低層斷開連接后,高層連接也隨之斷開,但高層斷開連接卻不會影響低層。從網絡的分層結構上來看,我們設計的互連系統(tǒng)具有如圖一所示的分層結構。以太網上運行TCP/IP協(xié)議,它具有應用層、傳輸層、網絡層、以太網數據鏈路層和物理層;CAN總線具有應用層、數據鏈路層和物理層,其中應用層由用戶自己定義,數據鏈路層和物理層由CAN協(xié)議所定義;SX52數據網關具有物理層、數據鏈路層和應用層,其應用層也就是ETHERNET與CAN的信息數據交換層,SX52微控制器在此層相互解釋并轉發(fā)這兩種不同協(xié)議的數據。
在本設計中,SX52網關被設計成了一個透明數據網關,也就是在以太網應用層構建和解析完整的CAN協(xié)議數據包,CAN協(xié)議數據包作為TCP/IP網絡應用層的數據進行傳輸,它對通信數據的具體實際意義不做任何解釋。之所以把數據網關設計成透明式,是基于以下三個方面的考慮:1)透明式網關設計相對不透明網關來說較簡單,在硬件上無須擴展大容量的數據存儲器用于緩存通信數據;軟件上也不用考慮數據的聚集和分發(fā)處理,降低了程序設計的復雜度、提高了通信的速度和實時性。2)透明式網關的適應性強,它可以應用于不同的項目要求,而不透明網關則要根據不同要求對網關程序作出不同的修改。3)因為協(xié)議轉換設計簡單,沒有較多復雜處理,從而提高了通信的可靠性。
CAN總線網絡的最大通信速率為1Mpbs,而以太網現在一般為10Mbps。這里就需考慮兩者之間的速度匹配問題,這里可以從兩個方面解決這個問題:一是在網關上使用較大的RAM,用來作為通信數據緩沖器,提高網路傳輸的效率。二是限制以太網向CAN總線傳輸的數據量,使它小于CAN總線的通信速率。
評論