新聞中心

        EEPW首頁 > 消費電子 > 設計應用 > 智能儀表的CAN接口設計

        智能儀表的CAN接口設計

        ——
        作者:王文華 (遼寧機電職業技術學院 機械系,遼寧 丹東 118002) 時間:2007-01-26 來源:《國外電子元器件》 收藏

        1 前沿

        在計算機數據傳輸領域內,長期以來使用rs-232通信標準,盡管被廣泛的使用,但卻是一種低數據率和點對點的數據傳輸標準,無能力支持更高層次的計算機之間的功能操作。同時,在復雜或大規模應用中(如工業現場控制或生產自動化領域),需要使用大量的傳感器、執行器和控制器等,它們通常分布在非常廣的范圍內,所以,在最底層的確需要一種造價低廉而又能適應工業現場環境的通信系統,現場總線(field bus)就是在這種背景下應運而生的。

        現場總線是連接智能現場設備和自動化系統的數字式、雙向傳輸、多分支結構的通信網絡,現場總線技術自上世紀70年代誕生至今,由于它在減少系統線纜,簡化系統安裝、維護和管理,降低系統的投資和運行成本,增強系統性能等方面的優越性,引起人們的廣泛注意,得到大范圍的推廣。

        can是一種有效支持分布式控制或實時控制的串行通信網絡,最初是由德國bosch公司為汽車監控、控制系統設計的。由于can總線本身的特點,其應用范圍目前已不再局限于汽車行業,而向過程工業、機械工業、紡織機械、農用機械、機器人、數控機床、醫療器械、傳感器及智能儀表等領域發展。

        智能儀表是自動化學科的重要組成部分。隨著科學技術的迅速發展,尤其是微電子、計算機和通信技術日新月異的變化,智能儀表逐漸向數字化、網絡化和智能化方向發展。智能儀表一方面可以進行人機對話及與外部儀器設備對話,通過現場總線接入自動測試系統;另一方面,使用者借助面板上的鍵盤和顯示屏,可用對話方式選擇測量功能,設置參數。當然,通過總線中的工業計算機也可獲得測量節點的數據。

        2 can的接口設計

        can總線是一種串行數據通信協議,在can總線通信接口中集成了can協議的物理層和數據鏈路層功能,可以完成對通信數據的成幀處理。can總線接口的具體電路如圖1所示。

        本文引用地址:http://www.104case.com/article/20837.htm

        筆者用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分別通過2個cnw137型高速光耦與pca82c250相連后,再連到can總線上。

        pca82c250為can總線收發器,是can控制器與can總線的接口器件,對can總線以差分方式發送,其rs引腳用于選擇pca82c250的工作方式:高速方式和斜率方式。rs接地為高速,rs引腳串接1只電阻器后再接地,用于控制上升和下降斜率,從而減小射頻干擾。rs引腳接高電平,pca82c250處于等待狀態。此時發送器關閉,接收器處于低電流工作,可以對can總線上的顯性位做出反應來通知cpu。實驗數據表明15kω-200kω為串聯電阻器較理想的取值范圍,在這種情況下,可以用平行線或雙絞線作為總線,本設計中pca82c250的斜率電阻為30kω。

        cnw137為高速光耦,最高速度為10mb/s,用于保護sja1000型can總線控制器。can總線的終端匹配電阻器起相當重要的作用,不合適的電阻器會使數據通信的抗干擾性及可靠性大大降低甚至無法通信,理想的阻值范圍為108ω-132ω,該設計使用的阻值為124ω。

        2.1 sja1000的功能

        can通信協議主要由can控制器完成。sja1000是適用于汽車和一般工業環境控制器局域網(can)的高集成度控制器,具有完成高性能通信協議所要求的全部特性,具有簡單總線連接的sja1000可完成物理層和數據鏈路層的所有功能,應用層功能可由微控制器完成,sja1000為其提供了多用途的接口。

        sja1000是philips公司pca82c200型can控制器的后續產品,在軟件和引腳上均與pca82c200兼容,并增加了許多新的功能,性能更佳。尤其適用于對系統優化、診斷和維護要求比較高的場合。

        sja1000的功能框圖如圖2所示,由以下幾部分構成:接口管理邏輯;發送緩沖器,能夠存儲1個完整的報文(擴展的或標準的);驗收濾波器;接收fifo;can核心模塊。

        2.2 82c250
        sja1000的一端與單片機相連,另一端與can總線相連。但是,為了提高單片機對can總線的驅動能力,可以把82c250作為can控制器和物理總線間的接口,以提供對總線的差動發送能力和對can控制器的差動接收能力。82c250的主要特性如下:
        與iso/dis11898標準兼容;
        高速(最高可達1mb/s);
        具有抗汽車環境下的瞬間干擾和保護總線的能力;
        降低射頻干擾的斜率控制;
        熱保護功能;
        防止電池與地之間發生短路;
        低電流待機方式;
        某個節點掉電不會影響總線;
        可有110個節點相連接。
        3 can通信程序
        sja1000操作期間,在上電之前必須配置控制線路(中斷、復位、片選等)建立與can控制器之間通信的硬件連接。初始化、can通信采用中斷方式數據發送和接收子程序,其流程如圖3、圖4和圖5所示。



        如果在上電后獨立can控制器在引腳17得到1個復位脈沖(低電平),它就能夠進入復位模式。在對sja1000寄存器設計前,can控制器通過讀復位模式/請求標志來檢查是否已進入復位模式,因為要配置信息的寄存器只有在復位模式才能寫入,并涉及到對控制寄存器(cr)、驗收碼寄存器(acr)、驗收屏蔽寄存器(amr)、總線定時寄存器(btro和btr1)和輸出控制寄存器(ocr)的初始化編程。

        時鐘分頻寄存器可以選擇basiccan或pelican工作模式,設置clkout因該使能用來選擇頻率,設置是否使用旁路can輸入比較器和是否使用tx1輸出用為專門的接收中斷輸出。

        驗收代碼和驗收屏蔽寄存器的設置可以過濾信息,為收到的信息定義驗收代碼;為與驗收代碼相關位比較定義驗收屏蔽代碼。

        總線定時寄存器定義總線上的位速率。輸出控制寄存器定義can總線輸出引腳tx0和tx1的輸出模式,定義tx0和tx1輸出引腳配置是懸空、下拉、上拉或推挽以及極性。中斷寄存器設置允許識別的中斷源。

        4 結束語

        多個智能儀表通過can接口與pc連成總線網,其系統運行良好。這種基于現場總線的智能儀表系統抗干擾性強,性能可靠,無論是測量速度、精確度和自動化程序還是性價比都是傳統儀表不能比擬的,是今后儀器儀表發展的方向。



        關鍵詞:

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 杭锦旗| 宜兴市| 绥江县| 依兰县| 汽车| 绩溪县| 河南省| 独山县| 嵩明县| 安仁县| 合肥市| 图片| 兴义市| 二连浩特市| 巴林右旗| 玛纳斯县| 西平县| 阜南县| 游戏| 上犹县| 盐源县| 安远县| 罗城| 海阳市| 澄城县| 淮南市| 获嘉县| 玛多县| 峨边| 沾益县| 改则县| 扎兰屯市| 抚州市| 永顺县| 九龙坡区| 仁寿县| 广汉市| 南澳县| 万盛区| 罗山县| 额尔古纳市|