新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > CAN總線與以太網系統互連中網關的設計與實現

        CAN總線與以太網系統互連中網關的設計與實現

        作者: 時間:2012-05-05 來源:網絡 收藏

        1 引言

        科技和社會的發展,使20世紀末的全球化市場競爭空前激烈。競爭中的企業逐漸開始實施計算機集成制造系統,采用系統集成、信息集成的觀點來組織工業生產。在這個系統中,為實現現場智能設備之間的多點數字通信,計算機測控技術與計算機網絡緊密地結合在一起,產生了能在工業現場環境運行、性能可靠、造價低廉的現場總線(FieldBus)技術。

        現場總線是用于生產制造現場的最底層通信網絡,它實現了微機化的現場測量控制儀器或設備之間的雙向串行多節點數字通信。現場總線技術的關鍵是使自動控制系統與現場設備具備通信能力,將它們連接成網絡系統,實現現場通信網絡與控制系統的集成。作為網絡系統,它具有開放統一的通信協議。

        就是現場總線技術在工業應用中形成的一個成熟技術標準。它的協議建立在ISO/OSI模型基礎之上,但只采用了該模型底層的物理層、數據鏈路層和頂層的應用層。在大型企業自動化系統中,上層企業管理層和生產監控層一般采用的都是以太網和PC機,而在下層車間現場都是采用現場總線和單片機測控設備。上下兩層的溝通,通常采用工業控制機加以太網卡,再加上PC機插槽上的接口卡或并行打印口的EPP接口卡來實現。這種連接方式成本高,開發周期長。針對這種情況,我們設計一種單獨的CAN以太網互連系統,成功地實現以太網和現有網的直接數據互聯。

        2 系統總體設計

        是一個設備互連總線型控制網絡。在CAN總線上可以掛接多達110個設備節點,各設備間可以自主相互通信,實現復雜網絡控制系統。但設備信息層無法直接到達信息管理層,要想設備信息進入信息管理層就要通過一種數據

        這里我們設計了一個SX52用于CAN總線與以太網的互連。系統總體分為三部分:現場測控網絡(CAN網絡)、嵌入式透明SX52網關、以太網信息管理終端(如監控平臺和網絡數據庫等)。以太網信息管理終端與CAN總線上的CAN節點通過ETHERNET,SX52網關,CANBUS相互通信,其中SX52網關起到核心的異構網絡的互連作用。

        協議轉換是異構網絡互連的技術關鍵和難點,協議轉換一般可采用分層轉換的方法,自低向上逐層進行。目前互連大都是在網際層或網絡層展開的,因而必須對互連層以下各層協議逐層向上轉換,這種轉換方法的依據是協議分層的基本原理:即低層支持高層,高層調用低層,低層斷開連接后,高層連接也隨之斷開,但高層斷開連接卻不會影響低層。從網絡的分層結構上來看,我們設計的互連系統具有如圖一所示的分層結構。以太網上運行TCP/IP協議,它具有應用層、傳輸層、網絡層、以太網數據鏈路層和物理層;CAN總線具有應用層、數據鏈路層和物理層,其中應用層由用戶自己定義,數據鏈路層和物理層由CAN協議所定義;SX52數據網關具有物理層、數據鏈路層和應用層,其應用層也就是ETHERNET與CAN的信息數據交換層,SX52微控制器在此層相互解釋并轉發這兩種不同協議的數據。

        在本設計中,SX52網關被設計成了一個透明數據網關,也就是在以太網應用層構建和解析完整的CAN協議數據包,CAN協議數據包作為TCP/IP網絡應用層的數據進行傳輸,它對通信數據的具體實際意義不做任何解釋。之所以把數據網關設計成透明式,是基于以下三個方面的考慮:1)透明式網關設計相對不透明網關來說較簡單,在硬件上無須擴展大容量的數據存儲器用于緩存通信數據;軟件上也不用考慮數據的聚集和分發處理,降低了程序設計的復雜度、提高了通信的速度和實時性。2)透明式網關的適應性強,它可以應用于不同的項目要求,而不透明網關則要根據不同要求對網關程序作出不同的修改。3)因為協議轉換設計簡單,沒有較多復雜處理,從而提高了通信的可靠性。

        CAN總線網絡的最大通信速率為1Mpbs,而以太網現在一般為10Mbps。這里就需考慮兩者之間的速度匹配問題,這里可以從兩個方面解決這個問題:一是在網關上使用較大的RAM,用來作為通信數據緩沖器,提高網路傳輸的效率。二是限制以太網向CAN總線傳輸的數據量,使它小于CAN總線的通信速率。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 密山市| 黄陵县| 泸溪县| 大城县| 涿鹿县| 石门县| 枣强县| 灌阳县| 长白| 宁国市| 郧西县| 香格里拉县| 海宁市| 福贡县| 会宁县| 崇阳县| 枣庄市| 伊川县| 平湖市| 徐汇区| 平顺县| 都江堰市| 印江| 广东省| 射阳县| 新竹县| 汕头市| 遵化市| 南丹县| 泰来县| 德格县| 长海县| 金堂县| 盐山县| 霞浦县| 郓城县| 剑阁县| 开江县| 嘉黎县| 柯坪县| 大同县|