新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > CAN總線技術及其應用

        CAN總線技術及其應用

        作者: 時間:2016-12-21 來源:網絡 收藏

        引言

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

        1986年德國最大的工業企業之一Rober Bosch公司首次提出了應用于汽車內各種傳感器和執行器之間相互通信的CAN總線(Controller AreaNetwork)技術以來,以其可靠性、實時性和靈活性強的特點,得到了諸多汽車開發商的青睞。本文介紹了CAN總線的通信協議,分析了CAN總線控制器SJA1000和驅動器PCA82C250的內部結構和工作原理,主要闡述了術在智能小區門禁控制系統中的應用。

        1 CAN總線的特點

        1.1 CAN總線的位數值表示與通信距離

        CAN總線協議是建立在國際標準組織的開放系統OSI 7層互連參考模型基礎之上的。其模型結構只有3層,即只取OSI底層的物理層、數據鏈層和應用層,保證了節點間無差錯的數據傳輸。

        CAN總線上用“顯性”(Dominant)和“隱性”(Recessive)兩個互補的邏輯值表示“0”和“1”。如圖1所示,VCNA-H和VCAN-L為CAN總線收發器與總線之間的兩接口引腳,信號是以兩線之間的“差分”電壓形式出現。在隱性狀態,VCNA—H和VCAN—L被固定在平均電壓電平附近,Vdiff近似于0。顯性位以大于最小閥值的差分電壓表示。CAN總線的通信距離最遠可達10Km(位速率為5 kbps),通信速率最快可達1Mbps(此時最長通信距離為40m)。

        圖1 CAN總線的位數值傳輸方式

        1.2報文傳輸

        CAN技術的報文傳輸為多主方式工作,網絡上任意節點均可在任意時刻主動地向網絡上其它節點發送信息,而不分主從。CAN節點只需通過對報文的標示符濾波即可實現點對點、一點對多點及全局廣播等幾種方式發送、接收數據。

        CAN總線的數據傳輸(報文傳輸)采用幀格式。按幀格式的不同,分為含有11位標識符的標準幀和含有29位標識符的擴展幀。CAN總線的幀類型分為數據幀、遠程幀、錯誤幀和過載幀。

        1.3仲裁(Arbitration)

        只要總線空閑,任何單元都可以開始發送報文。如果兩個或兩個以上節點同時開始傳送報文,那么就會有總線訪問沖突。通過使用標識符的逐位仲裁可以解決這個沖突。仲裁的機制確保了報文和時間均不損失。當具有相同標識符的數據幀和遠程幀同時發送時,數據幀優先于遠程幀。在仲裁期間,每一個發送器都對總線進行監測,如果發送和接收電平相同,則該節點可以繼續發送報文。比如發送的是一“隱性”電平,而監視到的是一“顯性”電平,那么這個節點就失去了仲裁,必須退出發送狀態。

        2 CAN總線控制器和驅動器

        2.1 CAN總線控制器SJA1000的內部結構

        CAN總線控制器主要保證數據鏈路層和物理層的通信質量。SJA1000是一種獨立的CAN總線控制器。SJA1000的內部結構如圖2所示。

        圖2 SJA1000內部結構圖

        各功能模塊的作用如下:

        接口管理邏輯(IML)負責解釋來自CPU的命令,控制CAN寄存器的尋址,向主控制器(CPU)提供中斷信息和狀態信息。發送緩沖器(TXB)是CPU和位流處理器(BSP)之間的接口,負責存儲發送到CAN總線上的一條完整的報文。發送緩沖器的長度為13個字節,由CPU寫入、位流處理器讀出。


        上一頁 1 2 3 下一頁

        關鍵詞: CAN總線技

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 西充县| 稷山县| 峡江县| 永平县| 贞丰县| 左云县| 威海市| 陆川县| 清涧县| 若羌县| 汉沽区| 涞源县| 应城市| 青州市| 赣州市| 永安市| 营口市| 湟中县| 八宿县| 随州市| 云和县| 肥乡县| 雅安市| 云梦县| 报价| 武胜县| 平阳县| 察雅县| 虹口区| 松潘县| 上栗县| 得荣县| 灯塔市| 惠安县| 康定县| 德格县| 聂拉木县| 正定县| 康平县| 大城县| 依兰县|