摘 要:本文介紹了CAN匯流排的主要性能及特點,並結合自行開發設計的現場匯流排智能模塊和通信控制器提出了CAN匯流排在實際工業應用中的總體結構,同時給出了CAN匯流排協議轉換器的硬體設計方法和通信協議。
0 引言
現場匯流排是連接智能設備和自動化控制設備的雙向串列、數字化、多節點通信網路,它也稱為現場底層設備控制網路(Infranet)。現場匯流排技術因其集多種優勢於一體的優點很快獲得控制界的認同,引起了世界性的控制技術變革浪潮。現場匯流排控制系統FCS(Fieldbus Control System),它在現場級採用現場匯流排技術,從而可將各種工業現場設備通過匯流排與控制系統連接起來,實現雙向、多節點的數字通信。與傳統的過程式控制制系統相比,它具有如下優點:
應用於工業過程式控制制系統的現場匯流排技術主要有:基金會現場匯流排FF(Foundation Fieldbus)、控制器區域網CAN(Controller Area Network)、局部操作網路LON Works、過程現場匯流排PROFIBUS和HART協議等。下面就CAN現場匯流排網路在工業過程中的實際應用情況給出CAN匯流排通信控制器設計方法。
1 CAN匯流排的特點:
CAN匯流排是一種有效支持分散式控制和實時控制的串列通信網路,早期為汽車的控制系統而設計,用於汽車內部測量與執行部件之間的數據通信協議。由於其卓越的信號傳輸性能及極高的可靠性, 目前在很多行業已得到廣泛的應用。它也是基於OSI模型,但進行了優化,採用了其中的物理層、數據鏈路層和應用層,提高了實時性。由於其採用了許多新技術及獨特的設計,與其它現場匯流排相比,CAN匯流排的數據通信具有突出的可靠性、實時性和靈活性。其特點可概括如下:
2 CAN匯流排的網路結構
圖1 CAN匯流排的網路結構圖
CAN匯流排網路結構如圖1所示。圖中現場設備網(Device Network)採用CAN,位於現場的智能模塊(節點)和智能儀錶等以及位於控制室的顯示操作單元、聲光報警單元、智能儀錶等通過匯流排連接,完成數據採集和實時數據處理、調節、控制等任務。現場智能模塊接收來自感測器的被控參數信號,完成實時參數的變送、控制、執行功能。隔離型通信控制器完成CAN、數據操作站SCADA及RS485介面設備間的協議互轉換,在SCADA上實現集中顯示、管理,控制室內儀錶與現場智能模塊(儀錶)通過匯流排實現資源共享,實現控制徹底分散、管理集中的分散式控制系統。同時可方便地與工業乙太網(Ethernet)連接,提高工廠的信息化管理水平。
3 現場匯流排通信控制器設計
3.1功能描述
現場匯流排通信控制器包括RS232、RS485、CAN三個通信介面,實現功能如下:
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 | 幀結束 |
3.5T | 地址 | 功能代碼 | 數據數量 | 數據1 | …… | 數據N | CRC高位元組 | CRC低位元組 | 3.5T |
參考文獻
[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