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