楊甜甜
(湖南省長沙縣第一中學(xué),湖南 長沙 410100)
TCP/IP網(wǎng)絡(luò)與CAN網(wǎng)絡(luò)網(wǎng)關(guān)的設(shè)計與實現(xiàn)
楊甜甜
(湖南省長沙縣第一中學(xué),湖南 長沙 410100)
本文通過針對TCP/IP網(wǎng)絡(luò)和CAN網(wǎng)絡(luò)網(wǎng)關(guān)的相關(guān)設(shè)計進行研究,以期為設(shè)計者提供借鑒。
TCP/IP;CAN網(wǎng)絡(luò)網(wǎng)關(guān);設(shè)計;實現(xiàn)
TCP/IP和CAN屬于兩種當前使用非常廣泛的網(wǎng)絡(luò)協(xié)議,其各具特色成為了當前Internet史上最為流行的協(xié)議。所有的TCP/IP協(xié)議網(wǎng)絡(luò)均可將其稱為TCP/IP網(wǎng)絡(luò),但是由于其輸出的方式和效率極低難以滿足當前工業(yè)場所的實時性和可靠性要求①。而CAN網(wǎng)絡(luò)則是一種現(xiàn)場總線控制網(wǎng)關(guān)在工業(yè)控制領(lǐng)域已經(jīng)得到了廣泛的應(yīng)用,其遠程的通信能力顯得非常薄弱,難以解決好TCP/IP的接入問題。本文所述的網(wǎng)關(guān)主要是采用計算機外掛CAN盒子來進行網(wǎng)關(guān)設(shè)計,另外還可以有效實現(xiàn)CAN總線和TCP/IP網(wǎng)絡(luò)協(xié)議直接互聯(lián)。
選用網(wǎng)關(guān)模型的時候,可以選取TCP/IP與CAN兩個網(wǎng)絡(luò)協(xié)議組成不同結(jié)構(gòu)網(wǎng)絡(luò)。二者網(wǎng)絡(luò)模型在實現(xiàn)的時候,必須要完成對信息的封裝,然后再完成對TCP/IP和CAN網(wǎng)絡(luò)數(shù)據(jù)解封,從而為完成以后的數(shù)據(jù)交換提供保障。TCP/IP與CAN在開展網(wǎng)絡(luò)模型構(gòu)建的時候,必須建立在OSI模型設(shè)計之下。OSI模型為互聯(lián)網(wǎng)建模的基礎(chǔ),其為各個計算機技術(shù)提供相應(yīng)的基礎(chǔ)和標準,且每個標準之間又保持著一致性和兼容。OSI模型分為7個層次,最底層為物理層,最頂層為應(yīng)用層,每個層次之間具有不同的定義和功能,其中在OSI建立的模型中,地酸曾為底層,4層到頂層高層;OSI底層其主要是完成數(shù)據(jù)傳輸功能,而高層則主要是通信功能的處理,不同的層次之間其定義也不一樣,同時對于網(wǎng)絡(luò)模型的認識也不一樣②。
TCP/IP在OSI模型之中沒有表示層和對話層,這些層次模型如圖1所示,其中數(shù)據(jù)鏈層次的定義與OSI的模型存在著很大的差異。TCP/IP網(wǎng)絡(luò)模型其主要的構(gòu)成由兩個LLC、MAC等構(gòu)成,這個模型的主要功能就是實現(xiàn)對數(shù)據(jù)的封裝和拆裝。而在此模型之中的MAC則主要起到控制功能作用,對于傳輸介質(zhì)完成訪問。具體來說,CAN控制總線僅僅支持OSI模型中最低兩層結(jié)構(gòu),同TCP/IP一樣,數(shù)據(jù)鏈路層也會控制子曾和介質(zhì)訪問控制子層2個部分。網(wǎng)關(guān)必須完成數(shù)據(jù)讀取和發(fā)送,其必須具備CAN能力,同時還必須以Ethernet定義出網(wǎng)絡(luò)的層次。
圖1 TCP/IP網(wǎng)絡(luò)模型
從網(wǎng)絡(luò)模型可以看出,不同的TCP/IP在應(yīng)用層中定義了一個管理協(xié)議,而這些管理協(xié)議將很好的調(diào)節(jié)TCP/IP和CAN網(wǎng)絡(luò)模型之間數(shù)據(jù)傳輸情況,而網(wǎng)關(guān)的管理協(xié)議則包含了TCP/IP的應(yīng)用層和CAN總線站點管理③。TCP/IP和CAN網(wǎng)絡(luò)連接部分,其在進行定義的時候,各自之間的網(wǎng)絡(luò)模型仍然保持著一致。
目前市場上所使用的CAN總線器件一共分為兩個大類,其中一種是CAN的控制器,另外一種就是帶有CAN微型控制器,例如,82C200、Intel82527、Intel8526等均為獨立的CAN控制器,本次實驗選取獨立CAN總線控制的Intel 82527作為實驗的控制器,選用的收發(fā)器為82C250。然后通過增強并口來提升數(shù)據(jù)傳輸速度,尤其是必須提升小數(shù)據(jù)塊的傳輸速度,針對經(jīng)常變換的數(shù)據(jù)傳輸設(shè)備,更需要對其傳輸?shù)乃俣纫蟾?。EPP模式在進行數(shù)據(jù)傳輸?shù)臅r候,其比較簡單,采用雙向并口的EPP模式建立起8位并行總線,使用該總線驅(qū)動EPP-CAN轉(zhuǎn)換卡,通過此轉(zhuǎn)換卡來實現(xiàn)對并行總線協(xié)議和CAN協(xié)議之間的互換,從而實現(xiàn)PC機子和CAN總線互連。
選用的EPP模型其端口數(shù)據(jù)傳輸?shù)乃俣饶軌蜻_到每秒500Kb到2兆之間,所以該系統(tǒng)對于端口的數(shù)據(jù)傳輸性能要求很高,若外設(shè)的響應(yīng)太慢,那么系統(tǒng)的整體性能將會受到嚴重影響。采用EPP-CAN硬件轉(zhuǎn)換卡的電路之中,使用LV161284總驅(qū)動器實現(xiàn)EPP和FPGA互連。CAN總線收發(fā)器為相應(yīng)的連接端口提供物理總線接口,其支撐的節(jié)點達到110多個,并且能夠以1Mbps的速度在劣勢環(huán)境下進行電氣工作。采用兩片CAN控制器A和B形成兩個通道的冗余方案,實際操作過程中必須進行通道收發(fā)。實驗時,將EPP-CAN轉(zhuǎn)換卡盒子密封其中,并且通過EPP口將其外掛在計算機上,通過TCP/IP網(wǎng)絡(luò)協(xié)議完成數(shù)據(jù)交換。
設(shè)置網(wǎng)關(guān)模型的時候,采用OSI作為參考模型,對于CAN網(wǎng)絡(luò),通常規(guī)定了相應(yīng)的物理層和數(shù)據(jù)鏈路層次,在完成數(shù)據(jù)傳輸?shù)臅r候,基本的應(yīng)用協(xié)議層根據(jù)其具體的情況來實現(xiàn)定義。對于TCP/IP網(wǎng)絡(luò)協(xié)議,數(shù)據(jù)傳輸層采用UDP或者是采用TCP完成數(shù)據(jù)轉(zhuǎn)換,互聯(lián)網(wǎng)則采用IP協(xié)議完成數(shù)據(jù)傳輸。
CAN網(wǎng)關(guān)接口進行設(shè)計的時候,必須要注意其具體的定義和功能差異,CAN網(wǎng)絡(luò)接口主要是實現(xiàn)設(shè)備之間的通信。CAN網(wǎng)絡(luò)接口模塊包含了CAN物理層、鏈路層、應(yīng)用層以及傳輸層等模塊,這些模塊之間具有獨立的協(xié)議,而且在相鄰的子模塊和調(diào)用下層協(xié)議模塊實現(xiàn)端口服務(wù)。
注釋:
①孫展.基于IPv6的無線傳感器網(wǎng)絡(luò)網(wǎng)關(guān)的設(shè)計與實現(xiàn)[D].解放軍信息工程大學(xué),2007.
②丁寧.車載MOST/CAN網(wǎng)關(guān)設(shè)計與實現(xiàn)[D].吉林大學(xué),2010.
③金峰.基于CAN總線的以太網(wǎng)互連系統(tǒng)設(shè)計 [D].合肥工業(yè)大學(xué), 2006.
TP393.05
A
1005-5312(2015)11-0287-01