智能儀表的CAN接口設計
時間:2007-07-16 13:16:00來源:hanjuan
導語:?CAN (Controller Area Network)總線以其高性能、高可靠性及更獨特的設計越來越受到人們的重視
摘 要:目前現場總線有以下十幾種,各總線之間規范不一樣,都有自己的適用范圍,其中CAN (Controller Area Network)總線以其高性能、高可靠性及更獨特的設計越來越受到人們的重視,并已被公認為幾種最有前途的現場總線之一。
關鍵詞:單片機;智能儀表;CAN
1 前言
在計算機數據傳輸領域內,長期以來使用RS-232通信標準,盡管它們被廣泛的使用,但卻是一種低數據速率和點對點的數據傳輸標準,無能力支持更高層次的計算機之間的功能操作。同時,在復雜或大規模應用中(如工業現場控制或生產自動化領域),需要使用大量的傳感器、執行器和控制器等,它們通常分布在非常廣的范圍內,所以,在最底層上的確需要設計出一種造價低廉而又能經受工業現場環境的通信系統,現場總線(Field Bus)在這種背景下產生了。
現場總線是連接智能現場設備和自動化系統的數字式、雙向傳輸、多分支結構的通信網絡。現場總線技術自70年代誕生至今,由于它在減少系統線纜,簡化系統安裝、維護和管理,降低系統的投資和運行成本,增強系統性能等方面的優越性,引起人們的廣泛注意,得到大范圍的推。
CAN是一種有效支持分布式控制或實時控制的串行通信網絡,最初是由德國BOSCH公司為汽車監測、控制系統而設計的。由于CAN總線本身的特點,其應用范圍目前己不再局限于汽車行業,而向過程工業、機械工業、紡織機械、農用機械、機器人、數控機床、醫療器械、傳感器及智能儀表等領域發展。
智能儀表是自動化學科的重要組成部分。隨著科學技術的迅速發展,尤其是微電子、計算機和通信技術日新月異的變化,智能儀表向著數字化、網絡化和智能化方向發展,智能儀表一方面可以進行人機對話及與外部儀器設備對話,通過現場總線接連入自動測試系統。另一方面,使用者借助面板上的鍵盤和顯示屏,可用對話方式選擇測量功能、設置參數。當然,通過總線中的工業計算機也可獲得測量節點的數據。
2 CAN的接口設計
CAN總線是一種串行數據通信協議,在CAN總線通信接口中集成了CAN協議的物理層和數據鏈路層功能,可以完成對通信數據成幀處理。
用SJA1000作為流量計的CAN控制器,與CPU(單片機)的I/O口直接相連,再通過PCA82C250組成CAN總線。這種結構很容易實現CAN網絡節點中的信息收發,從而實現對現場的控制。
SJA1000的AD0~AD7連接到MSP420F149的P0口,INT接到P1.0,/CS接到P1.1,/RD連接到P1.2,/WR連到P1.3,ALE連到P1.4,SJA1000的RX0與TX0分別通過兩個高速光耦CNW137與PCA82C250相連后,連到CAN總線上。
PCA82C250為CAN總線收發器,是CAN控制器與CAN總線的接口器件,對CAN總線差分方式發送,其RS引腳用于選擇PCA82C250的工作方式:高速方式、斜率方式。RS接地為高速,RS引腳串接一個電阻后再接地,用于控制上升和下降斜率,從而減小射頻干擾。RS引腳接高電平,PCA82C250處于等待狀態。此時,發送器關閉,接收器處于低電流工作,可以對CAN總線上的顯性位做出反應,通知CPU。實驗數據表明15~200K為較理想的取值范圍,在這種情況下,可以使用平行線或雙絞線作總線,本文中PCA82C250的斜率電阻為取30K。
CNW137為高速光耦,最高速度為10Mbps,用于保護CAN總控制器SJA1000。CAN總線的終端匹配電阻起相當重要的作用,不合適的電阻會使數據通信的抗干擾性及可靠性大大降低,甚至無法通信,范圍為108~132Ω,本文使用的電阻為124Ω。
2.1 SJA1000的功能
CAN通信協議主要由CAN控制器完成。SJA1000是適用于汽車和一般工業環境控制器局域網(CAN)的高集成度獨立控制器,具有完成高性能通信協議所要求的全部必要特性,具有簡單總線連接的SJA1000可完成物理層和數據鏈路層的所有功能,應用層功能可由微控制器完成,SJA1000為其提供了一個多用途的接口。
SJA1000是一個獨立的CAN控制器,它是Philips公司另一個CAN控制器PCA82C200的后繼產品,在軟件和引腳上均與PCA82C200兼容。但它不僅僅是PCA82C200的一個簡單替代產品,它增加了許多新的功能,使得其性能更佳,尤其適用于對系統優化、診斷和維護要求比較高的場合。
SJA1000的功能框圖如圖2所示,由以下幾部分構成:接口管理邏輯;發送緩沖器,能夠存儲1個完整的報文(擴展的或標準的);驗收濾波器;接收FIFO;CAN核心模塊。
2.2 82C250
SJA1000的一端與單片機相連,另一端與CAN總線相連。但是,為了提高單片機對CAN總線的驅動能力,可以把82C250作為CAN控制器和物理總線間的接口,以提供對總線的差動發送能力和對CAN控制器的差動接收能力。82C250的主要特性如下:
·與ISO/DIS11898標準兼容;
·高速(最高可達1 Mb/s );
·具有抗汽車環境下的瞬間干擾和保護總線能力;
·降低射頻干擾的斜率控制 ;
·熱保護;
·防護電池與地之間發生短路 ;
·低電流待機方式;
·某個節點掉電不會影響總線 ;
·可有110個節點相連接。
3 CAN通信程序框圖
SJA1000操作期間,在上電之前必須配置控制線路(中斷、復位、片選等)用于建立與CAN控制器之間進行通信的硬件連接。初始化、CAN通信采用中斷方式數據發送和接收子程序.
如果在上電后獨立CAN控制器在引腳17得到1個復位脈沖(低電平),它能夠進入復位模式。在對SJA1000寄存器設置前,CAN控制器通過讀復位模式/請求標志來檢查是否已達到復位模式,因為要配置信息的寄存器僅在復位模式才能寫入,涉及對控制寄存器(CR),驗收碼寄存器(ACR ),驗收屏蔽寄存器(AMR ),總線定時寄存器(BTRO和BTR1)和輸出控制寄存器(OCR)的初始化編程。
時鐘分頻寄存器,可以選擇BasicCAN或PeliCAN工作模式,設置CLKOUT管腳使能用來選擇頻率,設置是否使用旁路CAN輸入比較器和是否使用TX 1輸出被用作專門的接收中斷輸出。
驗收代碼和驗收屏蔽寄存器的設置可以過濾信息,為收到的信息定義驗收代碼為和驗收代碼相關位比較定義驗收屏蔽代碼。
總線定時寄存器,定義總線上的位速率。輸出控制寄存器定義CAN總線輸出管腳TX0和TX1的輸出模式,定義TX0和TX1輸出管腳配置是懸空、下拉、上拉或推挽以及極性。中斷寄存器設置允許識別的中斷源。
4 結論
多個智能儀表與通過CAN接口與PC聯系成總線網,系統運行良好。這種基于現場總線的智能儀表系統抗干擾性強、性能可靠,無論是測量速度、精確度、自動化程序還是性價比都是傳統儀表不能比擬的,是今后儀器儀表發展的方向。
標簽:
中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.hysjfh.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。
本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。