歡迎您光臨本站 登入註冊首頁

概述

摘要:本文介紹了CAN匯流排的主要性能及特點,並結合自行開發設計的現場匯流排智能模塊和通信控制器提出了CAN匯流排在實際工業應用中的總體結構,同時給出了CAN匯流排協議轉換器的硬體設計方法和通信協議。……

摘 要:本文介紹了CAN匯流排的主要性能及特點,並結合自行開發設計的現場匯流排智能模塊和通信控制器提出了CAN匯流排在實際工業應用中的總體結構,同時給出了CAN匯流排協議轉換器的硬體設計方法和通信協議。

0 引言
    現場匯流排是連接智能設備和自動化控制設備的雙向串列、數字化、多節點通信網路,它也稱為現場底層設備控制網路(Infranet)。現場匯流排技術因其集多種優勢於一體的優點很快獲得控制界的認同,引起了世界性的控制技術變革浪潮。現場匯流排控制系統FCS(Fieldbus Control System),它在現場級採用現場匯流排技術,從而可將各種工業現場設備通過匯流排與控制系統連接起來,實現雙向、多節點的數字通信。與傳統的過程式控制制系統相比,它具有如下優點:

  1. 多點通信結構:現場設備採用一對傳輸線連接起來;結構簡單,擴展、維護方便。
  2. 可靠性高:由於數字信號在傳輸、處理過程中與模擬信號相比,具有抗干擾能力強,精度高等特點。
  3. 網路開放性:現場匯流排是開放互連網路,用戶可將其與其它網路互連,以實現信息共享。
  4. 互換性和互操作性:用戶可根據具體應用情況,靈活選用不同廠家的設備,統一組態。

    應用於工業過程式控制制系統的現場匯流排技術主要有:基金會現場匯流排FF(Foundation Fieldbus)、控制器區域網CAN(Controller Area Network)、局部操作網路LON Works、過程現場匯流排PROFIBUS和HART協議等。下面就CAN現場匯流排網路在工業過程中的實際應用情況給出CAN匯流排通信控制器設計方法。

1 CAN匯流排的特點
    CAN匯流排是一種有效支持分散式控制和實時控制的串列通信網路,早期為汽車的控制系統而設計,用於汽車內部測量與執行部件之間的數據通信協議。由於其卓越的信號傳輸性能及極高的可靠性, 目前在很多行業已得到廣泛的應用。它也是基於OSI模型,但進行了優化,採用了其中的物理層、數據鏈路層和應用層,提高了實時性。由於其採用了許多新技術及獨特的設計,與其它現場匯流排相比,CAN匯流排的數據通信具有突出的可靠性、實時性和靈活性。其特點可概括如下:

  •  多主方式工作,通信方式靈活。利用這一特點可方便地構多機備份系統。
  •  介質訪問控制子層採用非破壞匯流排仲裁技術,從而避免了網路癱瘓情況。
  •  通信距離最遠可達10km(速率5kbps以下),通信速率最高可達1Mbps。
  •  採用短幀結構,傳輸時間短,受干擾概率低,具有極好的檢錯效果。
  •  每幀信息都有CRC校驗及其他檢錯措施,保證了數據出錯率極低。
  •  節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使匯流排上其他節點的操作不受影響。

2 CAN匯流排的網路結構
 
圖1 CAN匯流排的網路結構圖
    CAN匯流排網路結構如圖1所示。圖中現場設備網(Device Network)採用CAN,位於現場的智能模塊(節點)和智能儀錶等以及位於控制室的顯示操作單元、聲光報警單元、智能儀錶等通過匯流排連接,完成數據採集和實時數據處理、調節、控制等任務。現場智能模塊接收來自感測器的被控參數信號,完成實時參數的變送、控制、執行功能。隔離型通信控制器完成CAN、數據操作站SCADA及RS485介面設備間的協議互轉換,在SCADA上實現集中顯示、管理,控制室內儀錶與現場智能模塊(儀錶)通過匯流排實現資源共享,實現控制徹底分散、管理集中的分散式控制系統。同時可方便地與工業乙太網(Ethernet)連接,提高工廠的信息化管理水平。

3 現場匯流排通信控制器設計
3.1功能描述
    現場匯流排通信控制器包括RS232、RS485、CAN三個通信介面,實現功能如下:

  • RS232與CAN的通信協議適配
    帶有RS232介面的數據操作站可以通過RS232介面接入,實現與CAN智能模塊的信息通訊,完成操作命令的下發及智能模塊實時數據、運行狀態的採集。
  • RS232與擴展RS485的通信協議適配
    帶RS232介面的數據採集站通過RS232介面接入,實現與帶RS485介面的下位控制儀器、儀錶等設備的連接,完成現場數據的接收和命令的發送。
  • CAN與擴展RS485的通信協議適配
    連接到CAN上的智能模塊、儀錶通過通訊協議轉換器與RS485介面的控制儀器、儀錶等設備交換信息,實現信息共享。

3.2現場匯流排通信控制器硬體設計
    在設計中我們採用北京亞控公司的組態王作為操作站操作軟體,通信協議選用通用Modbus RTU串列通訊協議。該協議轉換器的主要功能是完成將操作站基於Modbus RTU串列通訊協議的命令及數據轉換成CAN2.0協議所要求的通信格式傳送給智能模塊、儀錶;同時將實時信息及狀態信息轉換為Modbus RTU串列通訊協議格式提供給SCADA。其硬體設計電路圖如圖
 
圖2 現場匯流排通信控制器(通信協議轉換器)硬體設計
    從圖中可以看出,該通信控制器的硬體電路包含了與數據操作站連接的RS232介面電路和CAN介面電路,均採用ATMEL公司的AT89C51單片機作為中央處理單元,在軟體的支持下實現命令、數據的收發。電路中採用了IMP813L作為單片機上電複位及看門狗監控電路,該電路與軟體陷阱、熱啟動判別等軟體技術配合使用確保匯流排協議轉換器安全、可靠地工作。雙口RAM存儲單元IDT7132將兩個互為獨立的通訊介面電路連接起來,用於存放網路配置和智能模塊、儀錶信息,同時作為通信接收和發送緩衝區實現兩個單片機實時數據和命令傳遞。CAN匯流排通信介面電路採用PHILIPS公司的SJA1000 CAN匯流排控制器和PCA82C250 CAN匯流排驅動器。SJA1000具有基本模式和增強型CAN模式,支持11位ID或29位ID,自動檢錯和糾錯能力高,多主仲裁結構,支持主從、點對點及廣播通信方式。PCA82C250為CAN匯流排收發器具有
匯流排保護能力和驅動能力強的特點。在電路中CAN匯流排收發部分與主控電路部分通過6N137進行光電隔離。RS232介面晶元採用Maxim公司的MAX232。
    該通信控制器電源的輸人為24VDC工業標準供電電源,採用DC/DC模塊電源提供兩路輸出相互隔離的5VDC電源,一路給主控電路提供電源,另一路供CAN匯流排驅動部分、以及擴展RS485匯流排驅動部分電路。

3.3擴展RS485介面
    EIA RS485是工業界廣泛使用的雙向、平衡傳輸標準,它支持多點通信。在設計CAN匯流排系統時,為了兼容工廠原有RS485介面的工控儀錶,設計了一個RS485擴展介面,它通過圖2中右側MCU 的非同步串列口RXD、TXD 經6N137光電隔離后與RS485匯流排驅動器MAX1487連接,其接收發送控制端由P1.2(RP12)經4N35光電隔離完成接收與發送選擇。由該部分的電路圖如圖3所示。
 

4 通信協議
4.1 CAN的數據(信息)幀結構
    報文中的位流採用NRZ(Non-Return to Zero)編碼,這意味著一個完整的位的位電平要麼是顯性要麼是隱性。CAN2.0A標準據幀結構如下所示:

SOF 仲裁場 控制場 數據場 CRC場 ACK 幀結束
SOF:幀起始表示數據幀的起始,它由一個顯性位構成。
仲裁場:由11位標識符與一個代表數據幀的顯性位(RTR)組成,11位標識符由CAN通信控制器SJA1000發送緩衝器第一個位元組(地址10H)和第二個位元組高三位組成。
控制場:由兩個保留位(發送時為顯性位)和四位數據長度碼組成,對應定義數據長度為0 8。
數據場:由數據幀中被發送的數據組成,數據長度由控制場定義。
CRC場:由CRC序列和CRC界定符組成,CRC序列由CAN通信控制器SJA1000根據SOF、仲裁場、控制場、數據場採用多項式X15 +X14 +X10+X7+X4+X3 +X1而自動產生的十六位循環冗餘碼組成。CRC界定符由一個隱性位組成。
ACK:由應答間隙位和應答界定位組成。發送數據幀設備一個隱性位表示ACK間隙位和一個隱性位表示ACK界定位;接收數據幀設備在成功接收有效報文,在ACK間隙發送一個顯性位報告給發送設備。
幀結束:由7個隱性位組成幀結束標誌序列界定。
有關遠程幀、出錯幀結構請參見文獻6。

4.2隔離型匯流排通信控制器與操作站的通信協議
    採用北京亞控公司的組態王啡為操作站組態和運行軟體,選用Modbus RTU串列通信協議做為通信控制器與操作站之間的通信協議,信息幀結構如下所示:
3.5T 地址 功能代碼 數據數量 數據1 …… 數據N CRC高位元組 CRC低位元組 3.5T
使用RTU模式,通信數據之間發送至少有3.5個字元時間間隔(3.5T),整個消息幀必須連續傳輸。如果在幀完成之前有超過3.5T停頓時間,接收設備將刷新不完整的消息。地址範圍為00H-0F7H,在CAN中通信控制器的地址默認為00H,所以在CAN中智能模塊(儀錶)等節點地址及RS485地址為01H~0F7H。

4.2.1 操作站讀CAN的智能模塊(儀錶)節點定義,如讀4號現場採集模塊的四路採集數據:
操作站信息幀:
 
CAN匯流排控制器SJA1000發送緩衝區(存儲地址為10H~1AH)
 
4號現場智能模塊應答(例四路採集數據均為3E8H)CAN匯流排控制器SJA1000接收緩衝區:
 
轉化為回復操作站信息幀:
 
4.2.2 操作站向CAN的智能模塊(儀錶)節點寫一個數據,如寫5號地址現場智能模塊PID給定值#3E8H):
操作站信息幀(現場智能模塊調節給定值參數寄存器0010H):
 
CAN匯流排控制器SJA1000發送緩衝區:
 
4號現場智能模塊應答(例四路採集數據均為3E8H)CAN匯流排控制器SJA1000接收緩衝區:
 
轉化為回復操作站信息幀
 
通信控制器CAN匯流排控制器SJA1000驗收碼設定為#00H,驗收屏蔽碼設定為#0FFH,表示可接收任何地址的信息幀。在現場智能模塊中驗收碼設定對應其地址碼,驗收屏蔽碼設定為#00H,表示只能接收地址為該地址碼的信息幀。擴展RS485介面通信協議在應用時以上潤儀錶廠的通信協議進行的設計,在設計中RS485介面儀錶地址範圍為0C8H~0FTH,CAN智能模塊地址範圍為01~0C7H。

參考文獻
[1]PHILIPS SJA1000 Data Handbook[M].PHILIPS Semiconductors Corpoation,1999.
[2]PHILIPS PCA82C250 Data Handbook[M].PHILIPS Semiconductors Corporation,1999.
[3]IDT 71 32SA/LA High-Speed Dual-Port Static SRAM Datasheet[M],The IDT Product&Company Information CD,1999.
[4]干樹川.基於CAN的現場匯流排網路實現.工業自動化應用實踐[C].北京:電子工業出版社,2002.
[5]陽憲惠.現場匯流排技術及其應用[M].北京:清華大學出版社,1999.
[6]組態王6.02用戶手冊[M].北京:北京亞控公司,1999.


[admin via 研發互助社區 ] 基於CAN的現場匯流排通信控制器研究已經有2175次圍觀

http://cocdig.com/docs/show-post-44817.html