樸正哲 宋曉燕
摘要:分析了CAN現場總線特點,提出了智能測控儀表系統的CAN總線通信方案,闡述了智能儀表中通用CAN通信接口的硬件設計與軟件實現框圖。
關鍵詞:智能測控儀表;CAN總線;單片機
智能儀表是自動化學科的重要組成部分,隨著科學技術的迅速發展及工業控制自動化程度的提高,尤其是微電子、計算機和通信技術日新月異的變化,對現場檢測控制儀表的智能化程度的要求也越來越高,同時,工業生產規模也在不斷擴大,對生產過程的集中監控要求也日趨迫切,這就要求儀表具備較強的遠距離通訊的功能,智能儀表逐漸向數字化、網絡化和智能化方向發展。智能儀表一方面可以進行人機對話及與外部儀器設備對話,通過現場總線接入自動測試系統;另一方面,使用者借助面板上的鍵盤和顯示屏,可用對話方式選擇測量功能,設置參數。現場總線的產生反映了儀器儀表自身發展的需要。而在計算機數據傳輸領域內,長期以來使用RS-232通信標準,盡管被廣泛的使用,但卻是一種低數據速率和點對點的數據傳輸標準,無能力支持更高層次的計算機之間的功能操作。同時,在復雜或大規模應用中,需要使用大量的傳感器、執行器和控制器等,它們通常分布在非常廣的范圍內,所以在底層,的確需要一種造價低廉而又能適應工收現場環境的通信系統,現場總線就是在這種背景下應運而生的。現場總線是當今自動化領域技術發展的熱點之一,被譽為自動化領域的計算機局域網,是應用在生產現場、在微機化測量控制設備之間實現雙向串行多節點數字通信的系統,也被稱為開放式、數字化、多點通信的低層控制網絡,是連接智能現場設備和自動化系統的數字式、雙向傳輸、多分支結構的通信網絡。由于它適應了工業控制系統向分散化、網絡化、智能化發展的方向,在減少系統線纜,簡化系統安裝、維護和管理,降低系統的投資和運行成本,增強系統性能等方面的優越性,它一經產生便成為全球工業自動化技術的熱點,受到全世界的普遍關注。
自20世紀80年代末以來,有幾種類型的現場總線技術己經發展成熱并且廣泛應用于特定的領域。這些現場總線技術各具特點,有的已經逐漸形成自己的產品系列,占有相當大的市場份額。幾種比較典型的現場總線有CAN總線、LonWorks總線、PROFIBUS總線等。CAN(ControlAreaNetwork)總線是山德國BOSCII公司為實現汽車內部測量與執行部件之間的數據通信而設計的現場總線。與一般的通信總線相比,CAN總線的數據通信具有突出的可靠性、實時性和靈活性,使其應用范圍不再局限于幾汽車工業,而向機械工業、過程工業等領域發展,更適合現場級工業監控設備的互聯。CAN總線規范已經成為國際標準,被公認為幾種最有發展前途的現場總線之一。具體來說,CAN具有以下特點:結構簡單,只有兩根線與外部相連;通信方式靈活,以多主方式下作而不分主從,可以點對點、點對多點及全局廣播方式發送和接收數據;廢除了傳統的站地址編碼,而代之以對通信數據塊進行編碼;采用短幀格式,每幀數據長度最多為8個字節,可滿足工業控制領域的一般要求。同時8個字節不會占用總線時間過長,從而保證了通信的實時性;采用非破壞性總線仲裁技術;采用CRC檢驗并提供相應的錯誤處理功能,保證了數據通信的可靠性;CAN節點具有自動關閉功能,在節點錯誤嚴重的情況時自動切斷與總線的聯系,這樣可不影響總線正常工作。
1智能測控儀表的系統結構
一個典型的基于CAN總線的智能測控儀表的系統結構,系統主要由兩部分組成:上位機和智能測控儀表,測控儀表的主要任務是接收來自上位機的命令完成工業現場的各種模擬量的采集和實現對各種生產設備的控制,而上位機則負責對整個智能測控系統進行監控和管理,其任務包括CAN節點狀態消息的顯示及報警、向CAN節點發送命令及控制參數、接收CAN節點數抓、曲線顯示、存儲打印等。這些功能可利用現代微機豐富的資源和強大的功能實現,除此之外,通過對采集數據的后臺處理,還可實現諸如數字濾波PFT變換等智能化功能,CAN通信采用兩線接口,要進行通信的各節點的控制器通過CAN驅動器連接到CAN總線上,各節點在CAN通信中沒有物理地址,而是采用軟件ID辨識的方式對在總線上廣播的信息進行過濾,以及當多個節點需要同時信息傳送時決定信息傳送的優先級。
芯片與CAN總線的通信通過CAN總線收發器進行,CAN總線收發器是CAN控制器和物理總線間的接口,提供對總線的差動放人和接收功能。要實現PC機與CAN總線的通信,必須借助于PC機的CAN通信卡,這種卡市場上有很多,可根據需要進行選擇,亦可自行設計智能測控儀表的接口設計
CAN總線是一種串行數據通信協議,在CAN總線通信接口中集成了CAN協議的物理層和數據鏈路層功能,可以完成對通信數據的成幀處理。
SJA1000是Philips公司PCA82C200型CAN控制器的后續產品,在軟件和引腳上均與PCA82C200兼容,井增加了許多新的功能,性能更佳,尤其適用于對系統優化、診斷和維護要求比較高的場合。SJA1000的功能由以下幾部分構成:接口管理邏輯;發送緩沖器,能夠存儲1個完整的報文事(擴展的或標準的);驗收濾波器;接收F1F0;CAN核心模塊。
SJA1000的一端與單片機相連,另一端與CAN總線相連。但是,為了提高單片機對CAN總線的驅動能力,可以把82C250作為CAN控制器和物理總線間的接口,以提供對總線的差動發送能力和對CAN控制器的差動接收能力。
若用SJA1000作為流量計的CAN控制器,與CPU(單片機)相連,再通過PCA82C250組成CAN總線。這種結構很容易實現CAN網絡節點中的信息收發,從而實現對現場的控制。
CAN通信協議主要由CAN控制器完成,SJA1000是適用于汽車和一般工收環境控制器局域網(CAN)的高集成度控制器,具有完成高性能通信協議所要求的全部特性,具有簡單總線連接的SJA1000可完成物理層和數據鏈路層的所有功能,應用層功能可由微控制器完成,SJA1000為其提供多用途的接口。
SJA1000操作期間,在上電之前必須配置控制線路(中斷、復位、片選等)建立與CAN控制器之間通信的硬件連接。初始化、CAN通信采用中斷方式數據發送和接收子程序。
如果在上電后獨立CAN控制器在引腳17得到1個復位脈沖(低電平),它就能夠進入復位模式。在對SJA1000寄存器設置前,CAN控制器通過讀復位模式請求標志來檢查是否己進入復位模式,因為要配置信息的寄存器只有在復位模式才能寫入,并涉及到對控制寄存器CR、驗收碼寄存器(ACR)驗收屏蔽寄存器(AMR)、總線定時寄存器(BTRO和BTR1)輸出控制寄存器(OCR)的初始化編程。時鐘分頻寄存器可以選擇BasicCAN或PeliCAN工作模式,設置CLKOUT引腳使能用來選擇頻率,設置是否使用旁路CAN輸入比較器和是否使用TX1輸出用為專門的接收中斷輸出。驗收代碼和驗收屏蔽寄存器的設置可以過濾信息,為收到的信息定義驗收代碼;為與驗收代碼相關位比較定義驗收屏蔽代碼。
總線定時寄存器定義總線上的位速率。輸出控制寄存器定義CAN總線輸出引腳TX0和TX1的輸出模式,定義TX0和TX1輸出引腳配置是懸空、下拉、上拉或推挽以及極性。中斷寄存器設置允許識別的中斷源。
2結語
多個智能儀表通過CAN接口與PC連成總線網,其系統運行良好。這種基于現場總線的智能儀表系統抗干擾性強、性能可靠,無論是測量速度、精確度和自動化程序還是性價比都是傳統儀表不能比擬的,是今后儀器儀表發展的方向。
參考文獻
[1]柯艷明.智能測控儀表系統的CAN總線通信方案[J].山西電子技術,2007,(2):29-31.
[2]王文華.智能儀表的CAN接口設計[J].國外電子元器件,2006,(3):9-11.
[3]劉小強,粟梅.基于CAN總線的數據采集處理系統的設計[J].儀表技術與傳感器,2006,(9).