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