新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于SJA1000的CAN總線接口電路的設計與實現

        基于SJA1000的CAN總線接口電路的設計與實現

        作者: 時間:2016-11-28 來源:網絡 收藏
        0 引 言
        控制器局部網( CAN——Controller Area Network)屬于現場總線的范疇,它是一種有效支持分布式控制或實時控制的串行通訊網絡,其總線規范已被ISO國際標準化組織制定為國際標準,并被公認為是最有前途的現場總線之一。CAN總線的應用范圍遍及從高速網絡到低成本的多線路網絡,廣泛應用于控制系統中的各檢測和執行機構之間的數據通信。
        現場總線領域中, CAN總線得到了計算機芯片商的廣泛支持,他們紛紛推出直接帶有CAN接口的微處理器(MCU)芯片。帶有CAN的MCU芯片總量已經達到1億3千萬片(不一定全部用于CAN總線);因此在接口芯片技術方面,CAN已經遙遙領先于FF、PROFIBUS、LONWORKS等其它所有現場總線。
        現場總線標準及其技術日益成為國際自動控制領域關注的一大焦點,其原因是它改變了傳統控制系統的結構,形成了全新的網絡集成分布式控制系統。在我國,現場總線已經發展到推廣應用階段,中國已經成為各種現場總線激烈爭奪的重要戰場。因此研究現場總線技術及其產品就顯得尤為重要。
        1 CAN總線技術的特點
        CAN總線與其它通信網的不同之處有二:一是報文傳送中不包含目標地址,它是以全網廣播為基礎,各接收站根據報文中反映數據性質的標識符過濾報文,該收的收下,不該收的棄而不用。其好處是可在線上網下網、即插即用和多站接收;二是特別強化了對數據安全性的關注,滿足控制系統及其它較高數據要求的系統需求。CAN具有以下主要技術特性:
        ( 1)CAN遵從ISO/OSI模型,采用了其中的物理層、數據鏈路層與應用層。采用雙絞線,通信速率最高可達到1Mbps/40m,直接傳輸距離最遠可達10km/5kbps.同一段總線內最多可掛接110個設備。
        ( 2)CAN的信號傳輸采用短幀結構,每一幀有效字節數為8個。因而傳輸時間短,受干擾的概率低。當節點發生嚴重錯誤時,具有自動關閉的功能,切斷該節點與總線的聯系,使總線上其它節點不受影響,具有很強的抗干擾能力。
        ( 3)CAN支持多主工作方式,網絡上任一節點均可在任何時候主動向其它節點發送信息,支持點對點、一點對多點和全局廣播方式接收/發送數據,而優先級低的節點則主動停止發送,從而避免了總線沖突。
        2 CAN總線接口硬件電路的設計
        硬件電路的設計主要是 CAN通信控制器與微處理器之間和CAN總線收發器與物理總線之間的接口電路的設計。CAN通信控制器是CAN總線接口電路的核心,主要完成CAN的通信協議,而CAN總線收發器的主要功能是增大通信距離,提高系統的瞬間抗干擾能力,保護總線,降低射頻干擾(RFI),實現熱防護等。
        2.1 CAN節點核心器件及其選擇
        目前廣泛流行的 CAN總線器件有兩大類:一類是獨立的CAN控制器,如82C200、SJA1000及Intel82526/82527等,另一類是帶有在片CAN的微控制器,如P8XC582及16位微控制器87C196CA/CB等。本課題選取PHILIPS公司的SJA1000 CAN控制器以及82C250總線收發器,主要是考慮到SJA1000支持CAN 2.0A/B規約。而82C250可以支持110個CAN節點,并且國內市場上PHILIPS的產品型號比較多,購買比較方便。
        2.2 CAN總線接口電路
        SJA1000在電路中是一個總線接口芯片,通過它實現上位機與現場微處理器之間的數據通信。該電路的主要功能是通過CAN總線接收來自上位機的數據進行分析組態然后下傳給下位機的控制電路實現控制功能,當CAN總線接口接收到下位機的上傳數據,SJA1000就產生一個中斷,引發微處理器產生中斷,通過中斷處理程序接收每一幀信息并通過CAN總線上傳給上位機進行分析。AT89C51是CAN總線接口電路的核心,其承擔CAN控制器的初始化、CAN的收發控制等任務。CAN總線接口框圖見圖1.

        2.3 節點主要元件電路原理
        接口主要元件電路原理圖見圖 2,在進行電路設計時應注意以下幾點,否則達不到預期的效果。
        ( 1)總線兩端必須接兩個終端匹配電阻R T ,忽略掉它們,會使數據通信的抗干擾性及可靠性大大降低。
        ( 2)PCA82C250為CAN控制器和物理總線之間的接口,它可以提供向總線的差動發送能力和CAN控制器的差動接收能力,TXD和RXD引腳分別發送經過驅動后的發送和接收信號。其引腳8(R S )可以選擇2種不同的工作方式:把該引腳直接與地相連,系統將處于高速工作方式,在這種方式下,為避免射頻干擾,建議使用屏蔽電纜作總線;而在波特率較低,總線較短時,一般采用斜率控制方式,上升及下降的斜率取決于R S 的阻值,實踐表明15-200k為R S 較理想的取值范圍,在這種方式下,可以使用雙絞線作總線(本系統采用該工作方式)。

        圖 2 接口主要元件電路原理圖
        ( 3)SJA1000的TX1腳懸空,RX1引腳的電位必須維持在約0.5V CC 上,否則,將不能形成CAN協議要求的電平邏輯。因本系統傳輸距離近,環境干擾小,可以不用電流隔離,這樣可以直接把82C250的V REF 端(約為0.5V CC )與SJA1000的RX1相連,從而簡化了電路。
        ( 4)設計時將SJA1000的CLOCKOUT的時鐘信號接至AT89C51的時鐘電路輸入端,作為AT89C51的外部時鐘輸入,解決了時鐘同步問題;SJA1000中斷輸出信號/INT接至AT89C51的/INT0端,通過中斷方式與AT89C51通信。

        上一頁 1 2 下一頁

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 新疆| 隆尧县| 邵武市| 定兴县| 瑞金市| 长乐市| 汨罗市| 佛冈县| 鹤山市| 六盘水市| 曲麻莱县| 四川省| 安仁县| 宁海县| 库尔勒市| 稷山县| 玉溪市| 靖江市| 贞丰县| 来安县| 大关县| 阿尔山市| 平江县| 澄城县| 霸州市| 芦溪县| 民权县| 伊吾县| 体育| 介休市| 开原市| 邳州市| 西平县| 滁州市| 辽阳市| 隆林| 奎屯市| 聂拉木县| 若尔盖县| 全南县| 定西市|