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