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