CAN(Controller Area Network——控制器局域網(wǎng))是一種由CAN控制器組成的高性能串行數(shù)據(jù)局域通信網(wǎng)絡(luò),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。它最早由德國(guó)Bosch公司于1984年推出,最初用于汽車(chē)內(nèi)部測(cè)量與執(zhí)行部件之間的數(shù)據(jù)通信。CAN-bus總線模型符合OSI的7層結(jié)構(gòu);CAN-bus規(guī)范已被ISO估計(jì)標(biāo)準(zhǔn)組織制定為國(guó)際標(biāo)準(zhǔn)。由于其具有多主機(jī)方式、傳輸距離遠(yuǎn)(最遠(yuǎn)可達(dá)10km)、傳輸速度快(最快可達(dá)1Mbps)、抗干擾能力強(qiáng)、應(yīng)用靈活等諸多優(yōu)點(diǎn),所以被認(rèn)為是最有發(fā)展前途的現(xiàn)場(chǎng)總線之一。目前,除了應(yīng)用于汽車(chē)電子領(lǐng)域中,CAN-bus總線現(xiàn)還被廣泛應(yīng)用于工業(yè)現(xiàn)場(chǎng)控制、電力通訊、小區(qū)安防、環(huán)境監(jiān)控、航天航海等眾多領(lǐng)域中。
以太網(wǎng)則是當(dāng)前主流的網(wǎng)絡(luò)信息傳輸媒體,也是TCP/IP使用最普遍的物理網(wǎng)絡(luò)。TCP/IP(Transmission Control Protocol/Internet Protocol——傳輸控制協(xié)議/網(wǎng)絡(luò)協(xié)議)是一個(gè)工業(yè)標(biāo)準(zhǔn)的協(xié)議集,包括IP、TCP、UDP等子協(xié)議,保證數(shù)據(jù)在網(wǎng)絡(luò)上的正確傳輸。TCP/IP協(xié)議為四層模型:應(yīng)用層、傳輸層、網(wǎng)絡(luò)層和數(shù)據(jù)鏈路層。每層都有不同的功能,而且層和層之間在邏輯上是相互獨(dú)立的。由于TCP/IP是世界上最大的Internet采用的協(xié)議組,而TCP/IP底層物理網(wǎng)絡(luò)多數(shù)使用以太網(wǎng)協(xié)議,因此,“以太網(wǎng)+TCP/IP”成為互連網(wǎng)技術(shù)中應(yīng)用最普遍的技術(shù)。以太網(wǎng)在工廠管理層、車(chē)間監(jiān)控層將成為主流技術(shù),與互連網(wǎng)技術(shù)結(jié)合是未來(lái)工廠網(wǎng)絡(luò)通訊技術(shù)基礎(chǔ);但對(duì)一般工業(yè)網(wǎng)絡(luò)要求實(shí)時(shí)性、確定性通信場(chǎng)合,現(xiàn)場(chǎng)總線技術(shù)還將處于主導(dǎo)地位,因此在今后一段時(shí)間內(nèi)多種網(wǎng)絡(luò)技術(shù)還會(huì)繼續(xù)并存,我們必須根據(jù)實(shí)際需要采用合適的網(wǎng)絡(luò)技術(shù)。
本文即介紹一種由CAN-bus網(wǎng)絡(luò)構(gòu)建設(shè)備網(wǎng),由以太網(wǎng)構(gòu)建信息網(wǎng),通過(guò)兩者的有機(jī)聯(lián)接,從而構(gòu)成一個(gè)中型/大型的遠(yuǎn)程監(jiān)控/數(shù)據(jù)傳輸網(wǎng)絡(luò)。
一、概述
某一個(gè)設(shè)計(jì)項(xiàng)目,需要考慮連接大約30,000個(gè)網(wǎng)絡(luò)節(jié)點(diǎn),并可以對(duì)每個(gè)節(jié)點(diǎn)實(shí)時(shí)地采樣數(shù)據(jù)、輸出控制;這些網(wǎng)絡(luò)節(jié)點(diǎn)分布在不同的區(qū)域,每個(gè)區(qū)域(直徑在1公里范圍內(nèi))最多有近百個(gè)節(jié)點(diǎn)。而且該網(wǎng)絡(luò)有一點(diǎn)比較重要的要求:?jiǎn)蝹€(gè)區(qū)域內(nèi)的網(wǎng)絡(luò)節(jié)點(diǎn)對(duì)數(shù)據(jù)的實(shí)時(shí)性具有較高的要求。
按項(xiàng)目的以上要求,綜合考慮設(shè)計(jì)成本、生產(chǎn)成本、可靠性、可維護(hù)性等多方面因素,我們考慮采用“設(shè)備網(wǎng)——信息網(wǎng)”的方式構(gòu)建整個(gè)網(wǎng)絡(luò)。
在單個(gè)區(qū)域內(nèi),由CAN-bus網(wǎng)絡(luò)構(gòu)建設(shè)備網(wǎng),總體成本較低,滿足實(shí)時(shí)性的要求,且應(yīng)用可靠,維護(hù)方便;設(shè)備網(wǎng)的固定節(jié)點(diǎn)(地址為00號(hào))同時(shí)作為網(wǎng)關(guān),將CAN-bus網(wǎng)絡(luò)連接至以太網(wǎng),從而形成可以遍布全球的信息網(wǎng),可以通過(guò)組態(tài)環(huán)境統(tǒng)一監(jiān)控設(shè)備信息。
基于CAN-bus和以太網(wǎng)的區(qū)域信息管理系統(tǒng)的網(wǎng)絡(luò)連接如圖1所示。
圖例 基于CAN-bus和以太網(wǎng)的區(qū)域信息管理系統(tǒng)
二、現(xiàn)場(chǎng)設(shè)備網(wǎng)的選擇
現(xiàn)場(chǎng)設(shè)備網(wǎng)組網(wǎng)方式有多種選擇,比如RS-485、CAN-bus、Lonworks、TCP/IP等;下面將各種方式進(jìn)行比較,以考慮選擇最合適的方式。
2.1 RS-485 總線
RS-485總線是采用差分傳輸方式的一種串行網(wǎng)絡(luò),也是目前國(guó)內(nèi)應(yīng)用較多的一種遠(yuǎn)距離串行數(shù)據(jù)方式。RS-485總線使用普通雙絞線作為傳輸介質(zhì),采用直線拓樸結(jié)構(gòu),單條網(wǎng)絡(luò)線路可連接32個(gè)節(jié)點(diǎn)(數(shù)據(jù)來(lái)自于MAXIM公司的MAX485數(shù)據(jù)手冊(cè)),網(wǎng)絡(luò)總長(zhǎng)度最大可達(dá)1200米。
優(yōu)點(diǎn):對(duì)于單個(gè)節(jié)點(diǎn),電路成本較低,設(shè)計(jì)容易,實(shí)現(xiàn)方便。
缺點(diǎn):可靠性差,單個(gè)節(jié)點(diǎn)的故障有可能導(dǎo)致整個(gè)網(wǎng)絡(luò)癱瘓;RS-485器件容易損壞;且不易界定網(wǎng)絡(luò)中的故障節(jié)點(diǎn),維護(hù)成本相對(duì)較高。
適用范圍:節(jié)點(diǎn)數(shù)目較少,傳輸距離在1公里左右,安全性要求不高的場(chǎng)合。
2.2 CAN-bus方案
CAN-bus是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一,被廣泛應(yīng)用于歐洲的中高檔汽車(chē)中,用作ECU單元的串行數(shù)據(jù)控制網(wǎng)絡(luò);近幾年來(lái),CAN-bus開(kāi)始進(jìn)入中國(guó)各個(gè)行業(yè)的實(shí)際應(yīng)用,并于2002年被確定為電力通訊領(lǐng)域的國(guó)家標(biāo)準(zhǔn),正被大家逐漸重視。與RS-485類(lèi)似,CAN-bus網(wǎng)絡(luò)使用普通雙絞線作為傳輸介質(zhì),采用直線拓樸結(jié)構(gòu),單條網(wǎng)絡(luò)線路至少可連接110個(gè)節(jié)點(diǎn),網(wǎng)絡(luò)總長(zhǎng)度最大可達(dá)10公里(使用標(biāo)準(zhǔn)CAN收發(fā)器PCA82C250/251芯片)。在CAN-bus網(wǎng)絡(luò)中,數(shù)據(jù)收發(fā)、硬件檢錯(cuò)均由CAN控制器硬件完成,大大增強(qiáng)了CAN-bus網(wǎng)絡(luò)的抗電磁干擾能力,即由硬件來(lái)保證CAN-bus網(wǎng)絡(luò)運(yùn)行的可靠性。
優(yōu)點(diǎn):可靠性高,可以支持硬件節(jié)點(diǎn)的即插即用;故障節(jié)點(diǎn)可自動(dòng)關(guān)閉,不影響其他網(wǎng)絡(luò)節(jié)點(diǎn);采用芯片硬件ID方式管理網(wǎng)絡(luò),故障節(jié)點(diǎn)界定十分方便,網(wǎng)絡(luò)維護(hù)成本比較低。而且,ZLG提供一系列開(kāi)發(fā)CAN-bus網(wǎng)絡(luò)的硬件、軟件資源,設(shè)計(jì)工作的難度也降低了許多。
缺點(diǎn):對(duì)于單個(gè)CAN-bus節(jié)點(diǎn),硬件成本比RS-485節(jié)點(diǎn)要高大約20元;對(duì)于CAN控制芯片的編程比較復(fù)雜,但可以采用ZLG提供的BasicCAN模塊或PeliCAN模塊。
適用范圍:可適用于節(jié)點(diǎn)數(shù)目很多,傳輸距離在10公里以?xún)?nèi),安全性要求高的場(chǎng)合;也可適用于對(duì)實(shí)時(shí)性、安全性要求十分嚴(yán)格的機(jī)械控制網(wǎng)絡(luò)。不適合于有大量數(shù)據(jù)需要傳輸(比如視頻/音頻信號(hào))的場(chǎng)合。
下表列出了RS-485網(wǎng)絡(luò)與CAN-bus網(wǎng)絡(luò)的性能比較。
2.3 Lonworks方案
Lonworks總線由美國(guó)Echelon公司于1993年推出的一種現(xiàn)場(chǎng)總線,也是國(guó)內(nèi)90年代末期比較流行的一種現(xiàn)場(chǎng)總線。Lonworks總線采用神經(jīng)元芯片為核心技術(shù)設(shè)計(jì)基本節(jié)點(diǎn),LonTalk通信協(xié)議支持7層網(wǎng)絡(luò)協(xié)議,提供一個(gè)固化在神經(jīng)元的網(wǎng)絡(luò)操作系統(tǒng)。
Lonworks總線的規(guī)范、設(shè)計(jì)資料并不公開(kāi),決定其不是一個(gè)開(kāi)放的總線系統(tǒng);Lonworks總線采用的仲裁方式方式?jīng)Q定了可能會(huì)出現(xiàn)產(chǎn)生總線數(shù)據(jù)“死鎖”現(xiàn)象,數(shù)據(jù)傳輸?shù)膶?shí)時(shí)性并不能夠完全保證;Lonwork硬件成本相對(duì)較高,單個(gè)基本節(jié)點(diǎn)電路的硬件成本超過(guò)100元。國(guó)內(nèi)的Lonworks總線應(yīng)用也普遍集中于早先的智能樓宇領(lǐng)域。因此,基本上不予考慮Lonworks總線。
2.4 以太網(wǎng)方案
基于802.3規(guī)范的“以太網(wǎng)+TCP/IP”已成為互連網(wǎng)技術(shù)中應(yīng)用最普遍的技術(shù),可以實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸。但以太網(wǎng)的本質(zhì)特點(diǎn)是采用CSMA/CD 的介質(zhì)訪問(wèn)控制技術(shù),容易產(chǎn)生“節(jié)點(diǎn)”碰撞,無(wú)法保證數(shù)據(jù)的實(shí)時(shí)性/有效性;而且,實(shí)現(xiàn)以太網(wǎng)節(jié)點(diǎn)的硬件成本、軟件開(kāi)發(fā)費(fèi)用也大大高于其他各種方式。
國(guó)外正在研究與CAN-bus網(wǎng)絡(luò)結(jié)合的以太網(wǎng)方案(EtherNET/IP,簡(jiǎn)稱(chēng)CIP),稱(chēng)為工業(yè)以太網(wǎng),構(gòu)建可以保證實(shí)時(shí)性能的網(wǎng)絡(luò)傳輸方案。與底層的CAN-bus網(wǎng)絡(luò)(設(shè)備網(wǎng))結(jié)合,也是未來(lái)以太網(wǎng)發(fā)展的必然趨勢(shì)。
2.5 方案選定
根據(jù)以上分析、比較,CAN-bus網(wǎng)絡(luò)方案比較合理,具有較多的優(yōu)勢(shì);另外,考慮系統(tǒng)將來(lái)的升級(jí)擴(kuò)展能力、維護(hù)管理方式,CAN-bus的優(yōu)勢(shì)更加明顯,可以?xún)?yōu)先考慮。
三、設(shè)備網(wǎng)與信息網(wǎng)的網(wǎng)關(guān)
連接設(shè)備網(wǎng)與信息網(wǎng)的網(wǎng)關(guān)可以采用2種方式實(shí)現(xiàn):通用PC終端或嵌入式網(wǎng)關(guān)。
3.1 通用PC終端
在通用PC終端中安裝1個(gè)標(biāo)準(zhǔn)以太網(wǎng)接口卡和1個(gè)PCI-5110接口卡(或USBCAN-I接口卡),即可以方便地實(shí)現(xiàn)一個(gè)連接設(shè)備網(wǎng)(CAN-bus網(wǎng)絡(luò))與信息網(wǎng)(以太網(wǎng))的網(wǎng)關(guān)。
所有的程序開(kāi)發(fā)工作可以在PC平臺(tái)上完成,使用VC++、VB、Delphi、C++Builder等高級(jí)語(yǔ)言來(lái)實(shí)現(xiàn)。所有ZLGCAN接口卡均可以工作在Win98 /Win2K /WinXP /Linux 操作系統(tǒng)下,提供有OPC接口庫(kù)、開(kāi)發(fā)示范,支持在各種當(dāng)前流行組態(tài)軟件下直接運(yùn)行。
應(yīng)用程序是一個(gè)根據(jù)用戶的具體要求而設(shè)計(jì)的用戶層應(yīng)用軟件。它可以是一個(gè)Win32監(jiān)控程序或網(wǎng)絡(luò)數(shù)據(jù)庫(kù)(記錄CAN節(jié)點(diǎn)設(shè)備數(shù)據(jù))軟件等;甚至可能是CAN節(jié)點(diǎn)設(shè)備的服務(wù)器軟件,為設(shè)備提供較復(fù)雜的數(shù)據(jù)處理工作。
所有的CAN-bus節(jié)點(diǎn)組成一個(gè)虛擬網(wǎng)段,CAN設(shè)備管理服務(wù)器是企業(yè)以太網(wǎng)中的任一控制節(jié)點(diǎn)。連在以太網(wǎng)上的WinNT 服務(wù)器安裝專(zhuān)用網(wǎng)絡(luò)管理軟件,就可讓合法的工程技術(shù)人員遠(yuǎn)程管理CAN-bus節(jié)點(diǎn)設(shè)備;通過(guò)以太網(wǎng),可同CAN-bus節(jié)點(diǎn)設(shè)備進(jìn)行數(shù)據(jù)通信。這樣,服務(wù)器就可以使用WEB 發(fā)布方式,向網(wǎng)絡(luò)客戶提供動(dòng)態(tài)交互式瀏覽網(wǎng)頁(yè)等功能。
3.2 嵌入式網(wǎng)關(guān)
如果系統(tǒng)具有不斷電運(yùn)行或功耗等其他指標(biāo)方面的要求,則使用嵌入式網(wǎng)關(guān)(CAN轉(zhuǎn)以太網(wǎng))將令系統(tǒng)具有更好的靈活性,不僅硬件成本低、而且運(yùn)行更可靠。
嵌入式網(wǎng)關(guān)可以通過(guò)一個(gè)基于8bit/32bit MCU的平臺(tái)實(shí)現(xiàn)。其基本硬件由基本CPU部分、CAN-bus接口、以太網(wǎng)接口組成,可以采用集成TCP/IP協(xié)議的單片機(jī)外加CAN收發(fā)器和控制器,也可采用集成CAN控制器的單片機(jī)外加CAN收發(fā)器和網(wǎng)絡(luò)芯片。軟件模塊由CAN控制器協(xié)議轉(zhuǎn)換模塊、以太網(wǎng)控制器協(xié)議轉(zhuǎn)換模塊組成。
嵌入式網(wǎng)關(guān)的組成框圖如下圖所示。
四、基本功能的設(shè)備節(jié)點(diǎn)
一個(gè)CAN-bus網(wǎng)絡(luò)中的節(jié)點(diǎn)由具體應(yīng)用電路與CAN-bus接口組成。
CAN-bus接口將所有節(jié)點(diǎn)連接成一個(gè)完整的通訊網(wǎng)絡(luò),實(shí)時(shí)傳輸各運(yùn)行參數(shù)、控制命令。設(shè)計(jì)CAN-bus通訊接口是很重要的一個(gè)環(huán)節(jié),應(yīng)用設(shè)備的正確運(yùn)行與其密切相關(guān)。下面的圖給出了一個(gè)實(shí)際系統(tǒng)的CAN-bus通訊單元電路圖。電路結(jié)構(gòu)為:
MCU(*P87C52X2)+CAN控制器(SJA1000)+CAN收發(fā)器(PCA82C250)
采用以上的電路結(jié)構(gòu),可使應(yīng)用系統(tǒng)具有成本更低、配置靈活、工作可靠等優(yōu)點(diǎn)。P87C52X2芯片是PHILIPS公司生產(chǎn)的標(biāo)準(zhǔn)80C51內(nèi)核單片機(jī),包含8KB OTPROM、256B RAM、32個(gè)I/O口、3個(gè)16位定時(shí)/計(jì)數(shù)器、雙DPTR、1個(gè)UART口,可以工作在6CLK模式下,運(yùn)行速度可以是標(biāo)準(zhǔn)80C51的2倍。另外,在部分特定的單元控制電路中,設(shè)計(jì)要求占用資源較多,則可以選擇具有更多資源的MCU芯片,比如:P89C51RX2系列、P89C6xX2系列、P87C51MX系列,或選擇適應(yīng)度更高的其他元器件。
SJA1000芯片是一款獨(dú)立CAN控制器,由PHILIPS公司設(shè)計(jì)并生產(chǎn),具有優(yōu)秀的EMI、EMC性能,適合用于汽車(chē)電子和工業(yè)環(huán)境中的控制器局域網(wǎng)絡(luò)。而且,SJA1000是PCA82C200獨(dú)立CAN控制器的升級(jí)產(chǎn)品,在引腳、電氣上與PCA82C200控制器完全兼容,并具有更強(qiáng)功能的PeliCAN工作模式,完全支持具有很多新特性的CAN 2.0B協(xié)議。目前,已有數(shù)億個(gè)CAN-bus節(jié)點(diǎn)正在使用SJA1000作為CAN控制器。
PCA82C250芯片是PHILIPS公司生產(chǎn)的標(biāo)準(zhǔn)CAN收發(fā)器,通訊速率可以設(shè)定在5kbps~1Mbps之間;在不需要CAN中繼器的場(chǎng)合,支持長(zhǎng)達(dá)10公里的遠(yuǎn)距離通訊,通訊節(jié)點(diǎn)數(shù)目可達(dá)110個(gè)節(jié)點(diǎn)。PCA82C250芯片具有良好的EMC性能,在不上電狀態(tài)下有理想的無(wú)源性能,并集成有完善的總線保護(hù)功能。
在CAN-bus節(jié)點(diǎn)電路中,增加保護(hù)電路是必要的。另外,收發(fā)器板應(yīng)盡可能放在接近PCB邊沿連接器的位置。邊沿連接器和收發(fā)器之間不允許有其他EC元件。CAN_H/L或Tx/Rx電路不應(yīng)穿越總線或跳線。
將產(chǎn)品設(shè)計(jì)為分離終端的形式,這樣可以使CAN總線實(shí)現(xiàn)要求更高的抗干擾/幅射性能。當(dāng)然,在網(wǎng)絡(luò)中允許混合單終端和分離終端。
依據(jù)應(yīng)用的不同,具體應(yīng)用電路的實(shí)現(xiàn)也不盡相同;但方法大致相同,可以考慮各種成熟的設(shè)計(jì)方法。
五、系統(tǒng)擴(kuò)展能力
本系統(tǒng)的框架略作改動(dòng),即可適用于各種不同的應(yīng)用領(lǐng)域。
比如,電表、水表、煤氣表即“三表”,是居民日常家居生活的必需設(shè)備;在 “三表”領(lǐng)域的遠(yuǎn)程集抄系統(tǒng)中,將“三表”通過(guò)CAN-bus總線和以太網(wǎng)連接,可以提高工作效率,體現(xiàn)高科技的優(yōu)勢(shì)。讓高新技術(shù)服務(wù)于人類(lèi),真正為大家造福,這也是“智能家居”的發(fā)展趨勢(shì)。
責(zé)任編輯:gt
評(píng)論
查看更多