李健偉
(新恒基(沈陽)置業(yè)有限公司,遼寧 沈陽 110013)
隨著現(xiàn)代工業(yè)技術(shù)的發(fā)展,對控制網(wǎng)絡中信息傳輸與反饋的安全性和及時性都有了更高的要求。CAN技術(shù)以其安全性和及時性首先被應用于對于設備控制較高的汽車領(lǐng)域,并得到更廣泛的發(fā)展。以太網(wǎng)技術(shù)現(xiàn)在以成熟的應用于信息傳遞方向。將這兩種互聯(lián)技術(shù)相結(jié)合是滿足現(xiàn)代工業(yè)對網(wǎng)絡信息傳輸?shù)姆绞街唬旅嫖覀兙歪槍AN和以太網(wǎng)各自的特點及將其結(jié)合所用的網(wǎng)關(guān)進行簡要的介紹。
CAN(Controller Area Network)網(wǎng)絡稱為控制器局域網(wǎng),是一種可以有效分布控制或?qū)崟r控制的串行通訊網(wǎng)絡,屬于現(xiàn)場總線的范疇并被制定成了國際標準,它在可靠性、實時性和靈活性方面具有突出的優(yōu)勢,下面我們就對其特點做以簡介。
CAN總線中可以存在多個主控的信息發(fā)送方式,在總線空閑時,所有單元都可以主動向網(wǎng)絡發(fā)送信息,最先訪問總線的單元可以獲得發(fā)送權(quán)以進行信息發(fā)送。在CAN協(xié)議中,會為每條發(fā)送的信息分配ID,這里的ID是Identifier是優(yōu)先級而非發(fā)送地址。
CAN采用非破壞總線仲裁技術(shù),當有多個單元同時向總線發(fā)送信息時,發(fā)送優(yōu)先級高的ID獲得發(fā)送權(quán)繼續(xù)發(fā)送數(shù)據(jù),而優(yōu)先級低的單元則會主動地退出發(fā)送。這可以減小總線沖突的仲裁時間,使得即使在網(wǎng)絡負載很重的情況下也不會像以太網(wǎng)那樣出現(xiàn)網(wǎng)絡癱瘓情況。
除此之外,CAN還具有檢錯效果好、通訊介質(zhì)選擇靈活等優(yōu)點。
以太網(wǎng)(Ethernet)是一種局域網(wǎng)技術(shù),它一般使用同軸電纜或特種雙絞線為載體,并采用載波多路訪問和沖突檢測機制。它的傳輸速率可達10Mbps,并具備簡單方便、價格低、速度高等特點,在現(xiàn)代網(wǎng)絡中被普遍使用,下面就將其特點進行簡要介紹。
(1)以太網(wǎng)的互聯(lián)性較強
以太網(wǎng)是全開放性的、全數(shù)字化的網(wǎng)絡,這使得使用不同網(wǎng)絡協(xié)議的不同廠商設備可以實現(xiàn)互聯(lián)。在實現(xiàn)互聯(lián)的同時還可以實現(xiàn)工業(yè)控制網(wǎng)絡與信息網(wǎng)絡的無縫拼接,便于企業(yè)組建管控一體化的網(wǎng)絡。[1]這種網(wǎng)絡一般采用TCP/IP協(xié)議并可通過Visual C++編寫用戶層程序。
(2)以太網(wǎng)具有較高的通信速率
隨著技術(shù)的進步,10M/100M的快速以太網(wǎng)已經(jīng)有了很成熟的技術(shù),1000M的以太網(wǎng)也趨于成熟,逐漸還會出現(xiàn)10G甚至更快速的以太網(wǎng)。這樣高速的數(shù)據(jù)傳輸方式為工業(yè)中有時需要的聲音、視頻資料的傳輸成為可能。
(1)以太網(wǎng)的信息實時性有著明顯的不足
實時性是指工業(yè)控制系統(tǒng)對某事件發(fā)生時間的可測性,它要求在事件發(fā)生后系統(tǒng)做出的反應必須在可以準確預測的時間內(nèi)。由于以太網(wǎng)是采用CSMA/CD的介質(zhì)訪問控制方式,其在出現(xiàn)多個數(shù)據(jù)同時傳輸時會平等競爭總線,網(wǎng)絡繁忙時有掉線的可能,這就導至了其數(shù)據(jù)傳輸?shù)姆菍崟r性。
(2)以太網(wǎng)的可靠性存在局限
由于以太網(wǎng)是為辦公環(huán)境而設計的,所以當用于工業(yè)環(huán)境的惡劣環(huán)境中,可能會出現(xiàn)嚴重的線間干擾,嚴重時可能會導致網(wǎng)絡系統(tǒng)的崩潰和癱瘓,所以要想利用其優(yōu)勢還要解決其可靠性的問題。[2]
在這種新的網(wǎng)絡互聯(lián)技術(shù)在工業(yè)控制網(wǎng)絡中,以太網(wǎng)不僅需要起到主干網(wǎng)絡的作用,還要實現(xiàn)與現(xiàn)場總線互換數(shù)據(jù)的功能。下面我們就從其原理和實現(xiàn)方法對這類網(wǎng)關(guān)加以介紹。
CAN總線和以太網(wǎng)使用的是兩個通信協(xié)議,是結(jié)構(gòu)完全不同的兩個網(wǎng)絡,因此對于Ethernet/CAN網(wǎng)關(guān)來說,其工作實質(zhì)就是對信息重新封裝以使其可以相互讀取。[3]這就要求網(wǎng)關(guān)應可運行在OSI模型上。OSI模型是為異種計算機間的互聯(lián)提供統(tǒng)一的基礎和標準框架。OSI模型共有7層,且各層功能獨立,下一層所提供的功能為上一層服務,其層次由1層開始分別為:物理層、數(shù)據(jù)鏈路層、網(wǎng)絡層、傳輸層、會話層、表示層、應用層共7層。1~3層為底層,用以實現(xiàn)傳輸功能;4~7層為高層,用以通過網(wǎng)絡終端來實現(xiàn)通信處理功能。CAN和以太網(wǎng)都只支持OSI所定義的7層結(jié)構(gòu)中的一部分,故為其互聯(lián)提供了可能。
為了實現(xiàn)CAN總線與以太網(wǎng)的互聯(lián),較為常用的一種方法就是采用通用型微處理,同時配備一定的外圍電路來構(gòu)造硬件平臺通,通過在該平臺上運行的程序來實現(xiàn)網(wǎng)關(guān)的功能。下面我們就分硬軟件來對其進行介紹。
網(wǎng)關(guān)硬件方面,CAN總線物理層和數(shù)據(jù)鏈路層與CAN物理接口電路和CAN控制器相對應。而以太網(wǎng)的物理層和數(shù)據(jù)鏈路層與以太網(wǎng)控制器相對應。其他部分由ARM處理器件中所運行的軟件來實現(xiàn)。
網(wǎng)關(guān)軟件方面,當連接在CAN總線上的現(xiàn)場設備向連接在以太網(wǎng)上的監(jiān)控計算機發(fā)送數(shù)據(jù)時,數(shù)據(jù)會先通過網(wǎng)關(guān)的CAN總線接口電路送到CAN控制器中。由CAN控制器向ARM處理器發(fā)出中斷請求。當ARM處理器正在執(zhí)行優(yōu)先級較高的任務時,數(shù)據(jù)就暫存于CAN控制器的緩存中,待處理器任務結(jié)束后,從緩存中將數(shù)據(jù)取出。通過管理協(xié)議層中所對應程序的處理,為需要傳送的數(shù)據(jù)分別添加TCP/IP層所需的信息,由ARM處理器將處理過的數(shù)據(jù)封裝并發(fā)送給以太網(wǎng)控制芯,以此實現(xiàn)數(shù)據(jù)的互聯(lián)。
通過以上對CAN總線、以太網(wǎng)在工業(yè)領(lǐng)域的應用以及CAN與以太網(wǎng)的互聯(lián)技術(shù)的簡要介紹和優(yōu)缺點對比,使得我們對工業(yè)環(huán)境下的網(wǎng)絡應用有了初步的認識,希望可以對初學者們在CAN總線與以太網(wǎng)技術(shù)的深入研究的道路上起到引導作用。
[1]陽憲惠.《現(xiàn)場總線技術(shù)及其應用[M]》.北京.清華大學出版社,1999
[2]徐皚冬,王宏,楊志家.《基于以太網(wǎng)的工業(yè)控制網(wǎng)絡[J]》.信息與控制,2000
[3]鄭建彬.《以太網(wǎng)和CAN現(xiàn)場總線網(wǎng)間的嵌入式網(wǎng)關(guān)設計》.信息技術(shù),2002