CAN-bus網(wǎng)絡(luò)在ADSL通信電桿檢測(cè)中的應(yīng)用
出處:liu3140 發(fā)布于:2011-08-28 10:11:33
CAN(Controller Area Network)即控制器局域網(wǎng)絡(luò)。是應(yīng)用在現(xiàn)場(chǎng)、在微機(jī)化測(cè)量設(shè)備之間實(shí)現(xiàn)雙向串行多節(jié)點(diǎn)數(shù)字通訊系統(tǒng),是一種開放式、數(shù)字化、多點(diǎn)通信的底層控制網(wǎng)絡(luò)。 CAN協(xié)議建立在ISO/OSI模型之上,其模型結(jié)構(gòu)有三層。協(xié)議分為Can2.0A, CAN2.0B,CANopen幾種。
隨著CAN-BUS的不斷完善和發(fā)展,作為一種技術(shù)先進(jìn)、可靠性高、功能完善、成本合理的遠(yuǎn)程網(wǎng)絡(luò)通訊控制方式,CAN-BUS 不再僅僅局限于汽車電子領(lǐng)域,還被廣泛應(yīng)用到其它各個(gè)自動(dòng)化控制系統(tǒng)中。在歐洲、美洲,亞洲CAN-bus總線技術(shù)在工程機(jī)械領(lǐng)域都已經(jīng)普遍應(yīng)用,國(guó)際上一些著名的工程機(jī)械大公司如CAT、VOLVO、利勃海爾等都在自己的產(chǎn)品上廣泛采用CAN-bus總線技術(shù),大大提高了整機(jī)的可靠性、可檢測(cè)和可維修性,同時(shí)提高了智能化水平。在國(guó)內(nèi),CAN-bus總線控制系統(tǒng)也開始在汽車的控制系統(tǒng)中廣泛應(yīng)用,在工程機(jī)械行業(yè)(如自動(dòng)控制、智能大廈、電力系統(tǒng)、安防監(jiān)控等領(lǐng)域)中也正在逐步推廣應(yīng)用。
但是,CAN-bus2.0規(guī)范并沒有定義應(yīng)用層。實(shí)際應(yīng)用中,用戶需要選擇一個(gè)合適的應(yīng)用層協(xié)議,比如DeviceNet協(xié)議、CANopen協(xié)議,或者自行制定一個(gè)應(yīng)用層協(xié)議。本文主要介紹另一個(gè)基于連接的可靠協(xié)議:iCAN協(xié)議的應(yīng)用。
基于CAN-bus的iCAN協(xié)議
iCAN協(xié)議詳細(xì)的定義了CAN-bus報(bào)文中幀標(biāo)識(shí)符以及數(shù)據(jù)的分配和應(yīng)用,建立了一個(gè)統(tǒng)一的設(shè)備模型,定義了設(shè)備的I/O資源和訪問規(guī)則,主要內(nèi)容如下:iCAN報(bào)文格式定義,規(guī)定了iCAN協(xié)議規(guī)范中使用的CAN幀類型、以及幀ID、報(bào)文數(shù)據(jù)的使用;報(bào)文傳輸協(xié)議,規(guī)定了基于iCAN協(xié)議的設(shè)備之間的通訊方式;設(shè)備的定義,設(shè)備標(biāo)識(shí)、設(shè)備應(yīng)用單元、設(shè)備通訊以及應(yīng)用參數(shù)以及定義標(biāo)準(zhǔn)設(shè)備類型,區(qū)分網(wǎng)絡(luò)上設(shè)備具有的不同功能或者產(chǎn)品類型;網(wǎng)絡(luò)管理,規(guī)定了設(shè)備通訊監(jiān)控以及錯(cuò)誤管理。
iCAN協(xié)議詳細(xì)地定義了CAN報(bào)文中ID以及數(shù)據(jù)的分配和應(yīng)用,并定義了設(shè)備的I/O資源和訪問規(guī)則。iCAN協(xié)議結(jié)構(gòu)如圖2所示。

圖1:現(xiàn)場(chǎng)總線CAN-bus與OSI模型的關(guān)系

圖2:iCAN協(xié)議通信層結(jié)構(gòu)
1.iCAN協(xié)議的通訊模式
在任何一個(gè)iCAN的報(bào)文標(biāo)識(shí)符中,指定了源節(jié)點(diǎn)地址(發(fā)送報(bào)文的節(jié)點(diǎn)編號(hào))以及目的地址(接收?qǐng)?bào)文的節(jié)點(diǎn)編號(hào)),即對(duì)于任何一個(gè)報(bào)文參與通訊的雙方是確定的。因此iCAN協(xié)議中報(bào)文是面向節(jié)點(diǎn)的。
iCAN網(wǎng)絡(luò)中設(shè)備之間的通訊是基于連接的,在網(wǎng)絡(luò)中任何一個(gè)參與通訊的從站設(shè)備都必須和主站設(shè)備之間建立一個(gè)獨(dú)立的通訊連接。正由于iCAN網(wǎng)絡(luò)中設(shè)備之間的通訊是基于連接的,這樣也為對(duì)任何一個(gè)設(shè)備的通訊進(jìn)行監(jiān)控提供了可能。在iCAN網(wǎng)絡(luò)中,主控設(shè)備和從設(shè)備之間的通訊并不能夠隨機(jī)進(jìn)行,主控設(shè)備和從設(shè)備之間必須首先建立一個(gè)連接。建立連接后,主控設(shè)備才能夠與從設(shè)備進(jìn)行通訊。
基于iCAN協(xié)議的CAN網(wǎng)絡(luò)中,常用的通訊方式是主從雙向通訊方式,通訊由網(wǎng)絡(luò)中的主控設(shè)備發(fā)起,接收到命令幀的設(shè)備返回響應(yīng)幀。在主從通訊分為點(diǎn)對(duì)點(diǎn)方式和廣播方式兩種情況。為提高通信效率,充分利用CAN-bus多主和無(wú)損仲裁機(jī)制,在iCAN協(xié)議中也采用事件觸發(fā)的通訊模式,包括定時(shí)循環(huán)發(fā)送和狀態(tài)觸發(fā)發(fā)送。
2.iCAN的網(wǎng)絡(luò)管理
iCAN網(wǎng)絡(luò)管理的主要任務(wù)是檢測(cè)和顯示網(wǎng)絡(luò)中的錯(cuò)誤,并通過服務(wù)以協(xié)調(diào)控制各個(gè)從站設(shè)備的通訊狀態(tài)。
為保證通訊的正常,網(wǎng)絡(luò)中的每一個(gè)通訊都需要進(jìn)行監(jiān)控,并在通訊出現(xiàn)異常時(shí),采用適當(dāng)?shù)姆绞交謴?fù)通訊。例如對(duì)每個(gè)通訊均可通過監(jiān)控其信息到達(dá)節(jié)點(diǎn)的時(shí)間,通過判斷是否超時(shí)決定通訊是否異常,并采取相應(yīng)的行動(dòng)。在iCAN網(wǎng)絡(luò)中通訊的監(jiān)控是基于對(duì)連接的監(jiān)控實(shí)現(xiàn)的。iCAN網(wǎng)絡(luò)管理可以包括節(jié)點(diǎn)控制和通訊控制,節(jié)點(diǎn)控制用于控制想要參與分布式應(yīng)用的節(jié)點(diǎn)的初始化,這樣就可以對(duì)單個(gè)或所有節(jié)點(diǎn)的通信狀態(tài)進(jìn)行同步控制。iCAN網(wǎng)絡(luò)中的節(jié)點(diǎn)控制通過定義iCAN設(shè)備的網(wǎng)絡(luò)訪問狀態(tài)機(jī)制而實(shí)現(xiàn),iCAN網(wǎng)絡(luò)訪問狀態(tài)機(jī)制規(guī)定了節(jié)點(diǎn)在網(wǎng)絡(luò)中啟動(dòng)時(shí)必須執(zhí)行的狀態(tài)圖,詳細(xì)規(guī)定了節(jié)點(diǎn)各狀態(tài)之間切換的規(guī)則,并可以通過特定的報(bào)文對(duì)節(jié)點(diǎn)進(jìn)行控制。

圖3:iCAN設(shè)備網(wǎng)絡(luò)初始化過程
iCAN協(xié)議的通訊控制用于對(duì)網(wǎng)絡(luò)通訊報(bào)文進(jìn)行監(jiān)控,保證在通訊異常時(shí),通過適當(dāng)?shù)姆绞侥軌蚧謴?fù)通訊。通訊的控制是以主站設(shè)備和從站設(shè)備之間的通訊時(shí)間間隔作為依據(jù)的。因此在iCAN網(wǎng)絡(luò)中,通訊是否異常是通過"超時(shí)機(jī)制"判斷的。為實(shí)現(xiàn)通訊控制,在iCAN協(xié)議中定義了MACID檢測(cè)定時(shí)器、連接定時(shí)器、循環(huán)傳送定時(shí)器。
在MACID檢測(cè)中會(huì)使用到一個(gè)固定時(shí)間長(zhǎng)度的MACID檢測(cè)定時(shí)器,通常設(shè)定為1秒。iCAN設(shè)備在成功發(fā)送MACID檢測(cè)報(bào)文后,會(huì)啟動(dòng)MAC ID檢測(cè)定時(shí)器,如果定時(shí)器計(jì)時(shí)到達(dá)1秒時(shí),設(shè)備還沒有接收到MAC ID檢測(cè)報(bào)文,則進(jìn)入可操作狀態(tài)。
在一個(gè)連接中,通過連接定時(shí)器實(shí)現(xiàn)連接通訊響應(yīng)的超時(shí)機(jī)制。該連接定時(shí)器通過主站通訊定時(shí)參數(shù)進(jìn)行設(shè)定,如果在通訊過程中,連接定時(shí)器計(jì)數(shù)滿則意味通訊超時(shí),此時(shí)從站設(shè)備會(huì)自動(dòng)刪除連接。
循環(huán)傳送定時(shí)器用于觸發(fā)傳送。在一個(gè)連接中當(dāng)循環(huán)傳送定時(shí)器超時(shí)后,從站設(shè)備發(fā)送報(bào)文。循環(huán)傳送定時(shí)器通過定時(shí)循環(huán)參數(shù)進(jìn)行設(shè)定。當(dāng)連接建立時(shí),并設(shè)置了循環(huán)定時(shí)參數(shù)后,從站設(shè)備的循環(huán)傳送定時(shí)器被激活。當(dāng)從站設(shè)備的循環(huán)傳送定時(shí)器超時(shí)后,主動(dòng)發(fā)送報(bào)文到主控節(jié)點(diǎn)。
iCAN在ADSL通信電桿檢測(cè)中的應(yīng)用
ADSL是一種異步傳輸模式(ATM)。在電信服務(wù)提供商端,需要將每條開通ADSL業(yè)務(wù)的電話線路連接在數(shù)字用戶線路訪問多路復(fù)用器(DSLAM)上。而在用戶端,用戶需要使用一個(gè)ADSL終端(因?yàn)楹蛡鹘y(tǒng)的調(diào)制解調(diào)器(Modem)類似,所以也被稱為"貓")來連接電話線路。由于ADSL使用高頻信號(hào),所以在兩端還都要使用ADSL信號(hào)分離器將ADSL數(shù)據(jù)信號(hào)和普通音頻電話信號(hào)分離出來,避免打電話的時(shí)候出現(xiàn)噪音干擾。通常的ADSL終端有一個(gè)電話Line-In,一個(gè)以太網(wǎng)口,有些終端集成了ADSL信號(hào)分離器,還提供一個(gè)連接的Phone接口。某些ADSL調(diào)制解調(diào)器使用USB接口與電腦相連,需要在電腦上安裝指定的軟件以添加虛擬網(wǎng)卡來進(jìn)行通信。
ADSL每隔3000m~5000m有一個(gè)中繼局,中繼局中有互聯(lián)網(wǎng)網(wǎng)絡(luò)接口,通過ADSL可直接上互聯(lián)網(wǎng)。中繼局之間每隔20m~30m架設(shè)一個(gè)通信電桿,每個(gè)中繼局之間大概有150個(gè)通信電桿。
網(wǎng)絡(luò)拓?fù)?/STRONG>
ADSL通信電桿檢測(cè)網(wǎng)絡(luò)可采用CAN-bus和以太網(wǎng)構(gòu)成的兩級(jí)結(jié)構(gòu),每個(gè)通信電桿上都有集成iCAN協(xié)議的8路開關(guān)量檢測(cè)AnyCAN模塊。將兩個(gè)中繼局之間的所有AnyCAN模塊和CANET-100/200都連接到CAN總線上,并在總線的兩端串接120歐姆的終端匹配電阻,CANET-100/200的以太網(wǎng)接口在ADSL中繼局中連入互聯(lián)網(wǎng)。
ADSL總監(jiān)控站的主控PC可以通過一系列固定IP地址,訪問多個(gè)ADSL中繼局的CANET-100/200設(shè)備。設(shè)備使用不同的端口號(hào)區(qū)分不同的iCAN網(wǎng)絡(luò)。由于CANET-100/200設(shè)備的以太網(wǎng)速率可達(dá)10Mbps,而CAN-bus工作在10Kbps的通訊速率,主控PC可連接多個(gè)iCAN網(wǎng)絡(luò),同時(shí)需要注意iCAN網(wǎng)絡(luò)的通訊數(shù)據(jù)流量管理。
網(wǎng)絡(luò)參數(shù)和性能分析
ADSL通信電桿檢測(cè)網(wǎng)絡(luò)不需要實(shí)時(shí)響應(yīng)。單個(gè)iCAN網(wǎng)絡(luò)長(zhǎng)達(dá)5000m,選用10Kpbs通信波特率,采用2mm2的非屏蔽雙絞線作為通信電纜,所有節(jié)點(diǎn)設(shè)定在輪循方式下工作??稍O(shè)置主站通訊定時(shí)參數(shù)(CyclicMaster)為0,從站設(shè)備的連接定時(shí)器不裝載,不存在超時(shí)判斷,建立連接后可隨時(shí)進(jìn)行通訊。輪循時(shí)iCAN幀的數(shù)據(jù)長(zhǎng)度為2個(gè)字節(jié),對(duì)應(yīng)的iCAN報(bào)文長(zhǎng)度為83個(gè)位(忽略位填充時(shí)間),所以iCAN網(wǎng)絡(luò)輪循一周的時(shí)間為:
83位 * 0.1ms * 2 * 150節(jié)點(diǎn) / 1000 = 2.49 s
要使網(wǎng)絡(luò)可靠工作,應(yīng)保證網(wǎng)絡(luò)工作在60%的總線負(fù)載率下,控制iCAN網(wǎng)絡(luò)輪循時(shí)間為:
2.49s / 60% = 4.15s
因?yàn)榛ヂ?lián)網(wǎng)網(wǎng)絡(luò)環(huán)境復(fù)雜,PC軟件必須保證數(shù)據(jù)的可靠性,PC軟件為每個(gè)IP端口組合分配一個(gè)定時(shí)器并設(shè)定初值。當(dāng)發(fā)出一個(gè)報(bào)文時(shí),啟動(dòng)定時(shí)器,當(dāng)收到報(bào)文后,復(fù)位定時(shí)器并停止計(jì)時(shí)。如定時(shí)器超時(shí),說明在規(guī)定的時(shí)間內(nèi)沒有收到應(yīng)答報(bào)文,查詢報(bào)文或應(yīng)答報(bào)文可能在互聯(lián)網(wǎng)通訊的時(shí)候丟失。此時(shí),PC軟件自動(dòng)重發(fā)查詢報(bào)文,重新啟動(dòng)定時(shí)器。
主站軟件的編寫
CANET-100/200設(shè)備提供有iCAN協(xié)議API驅(qū)動(dòng)函數(shù),支持VC++、VB、Delphi、C++ Builder、LabView等軟件開發(fā)環(huán)境。PC軟件開發(fā)的主要流程如下圖4所示。
圖4:PC軟件開發(fā)的主要流程
通過使用ZOPC-Server服務(wù)器軟件,可以在工業(yè)標(biāo)準(zhǔn)的組態(tài)環(huán)境中開發(fā)ADSL通信電桿檢測(cè)網(wǎng)絡(luò)的PC監(jiān)控軟件。常用的組態(tài)環(huán)境都支持OPC協(xié)議,比如組態(tài)王KingView、昆侖通態(tài)MCGS、三維力控,國(guó)外的如Intouch、iFix等。由于ZOPC-Server服務(wù)器軟件在內(nèi)部已有超時(shí)和重發(fā)機(jī)制,可以保證CANET-100/200設(shè)備管理iCAN網(wǎng)絡(luò)的實(shí)時(shí)性與可靠性。
本文小結(jié)
ADSL通信電桿分散度大、距離遠(yuǎn)的特點(diǎn)使得CAN網(wǎng)絡(luò)是其的解決方案。iCAN協(xié)議的高可靠性和易使用性可以快速建立一個(gè)可靠的CAN網(wǎng)絡(luò)。我國(guó)ADSL電桿架設(shè)數(shù)量巨大,采用網(wǎng)絡(luò)化的數(shù)據(jù)采集控制將大大降低人力投入并提高ADSL服務(wù)質(zhì)量。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫(kù)電子市場(chǎng)網(wǎng)”的所有作品,版權(quán)均屬于維庫(kù)電子市場(chǎng)網(wǎng),轉(zhuǎn)載請(qǐng)必須注明維庫(kù)電子市場(chǎng)網(wǎng),http://m.58mhw.cn,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請(qǐng)?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識(shí)介紹2025/8/29 16:58:56
- SQL核心知識(shí)點(diǎn)總結(jié)2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復(fù)控制的復(fù)合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎(chǔ)知識(shí)2025/6/18 16:30:52









