新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > can總線與485總線有什么區別

        can總線與485總線有什么區別

        作者: 時間:2016-12-12 來源:網絡 收藏
        以往,PC與智能設備通訊多借助RS232、RS485以太網等方式,主要取決于設備的接口規范。但RS232、RS485只能代表通訊的物理介質層和鏈路層,如果要實現數據的雙向訪問,就必須自己編寫通訊應用程序,但這種程序多數都不能符合ISO/OSI的規范,只能實現較單一的功能,適用于單一設備類型,程序不具備通用性。在RS232或RS485設備聯成的設備網中,如果設備數量超過2臺,就必須使用RS485做通訊介質,RS485網的設備間要想互通信息只有通過“主(Master)”設備中轉才能實現,這個主設備通常是PC,而這種設備網中只允許存在一個主設備,其余全部是從(Slave)設備。而現場總線技術是以ISO/OSI模型為基礎的,具有完整的軟件支持系統,能夠解決總線控制、沖突檢測、鏈路維護等問題。現場總線設備自動成網,無主/從設備之分或允許多主存在。在同一個層次上不同廠家的產品可以互換,設備之間具有互操作性。

        CAN-bus(Controller Area Network)即控制器局域網,是國際上應用最廣泛的現場總線之一。起先,CAN-bus被設計作為汽車環境中的微控制器之間通訊,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網絡。它是一種多主方式的串行通訊總線,基本設計規范要求有較高的位速率,高抗干擾性,而且能夠檢測出產生的任何錯誤。信號傳輸距離達到10Km時,仍然可提供高達5Kbps的數據傳輸速率。由于CAN串行通訊總線具有這些特性,它很自然的在汽車、制造業以及航空工業中受到廣泛應用。
        我們致力于發展中國的CAN-bus產品與應用事業。到目前為止,我們已成功開發出一系列CAN-bus教學、接口、工具、應用等產品,能夠為客戶提供從芯片、工具、模塊、軟件、方案、教學等各個方面的專業服務,涉及CAN-bus多個行業與應用領域。我們自主開發的多個CAN-bus型號產品已經領先于國外技術水平,并已投入廣泛的實際應用。

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

        產品分類

        類別

        產品分類

        描述

        CAN控制器

        獨立CAN控制器

        SJA1000是一款獨立的CAN控制器,廣泛應用于汽車和一般工業環境中的控制器局域網絡

        集成CAN控制器的單片機

        P87C591是一個單片8位高性能微控制器,具有片內CAN控制器。它采用了強大的80C51指令集并成功地包含了SJA1000 CAN控制器強大的PeliCAN功能

        NXP集成CAN控制器的ARM芯片

        隨著CAN-bus的廣泛應用,NXP推出的很多32位的ARM7芯片都集成有CAN控制器,方便開發、設計,而且節約了系統設計的成本

        TI集成CAN控制器的ARM芯片

        TI S2000系列和S8000系列ARM芯片都集成了CAN的控制器。廣泛應用于汽車電子,運動控制,過程控制,以及醫療設備等要求低成本的嵌入式微控制器領域

        CAN收發器

        CAN收發器

        CAN收發器是CAN協議控制器和物理總線之間的接口。它可以為總線提供差動的發送功能,為控制器提供差動的接收功能,是CAN-Bus網絡中的必須設備

        隔離CAN收發器

        隔離CAN收發器是由廣州致遠電子有限公司研發的集成高速電氣隔離、電源隔離、CAN收發器、總線保護器件于一身的收發器模塊。是設計簡單、穩定、可靠CAN-bus節點的理想選擇

        RS-232串口標準是種在低速率串行通訊種增加通訊距離的單端標準。RS-232采取不平衡傳輸方式,即單端通訊。其收發端的數據信號都是相對于地信號的。所以其共模抑制能力差,再加上雙絞線的分布電容,其傳輸距離最大約為15M,最高速率為20KBPS,且其只能支持點對點通信。

        針對RS-232串口標準的局限性,人們又提出了RS-422,RS-485接口標準。RS-485/422采用平衡發送和差分接收方式實現通信:發送端將串行口的TTL電平信號轉換成差分信號A, B兩路輸出,經過線纜傳輸之后在接收端將差分信號還原成TTL電平信號。由于傳輸線通常使用雙絞線,又是差分傳輸,所以又極強的抗共模干擾的能力,總線收發器靈敏度很高,可以檢測到低至200mV電壓。故傳輸信號在千米之外都是可以恢復。RS-485/422最大的通信距離約為1219M,最大傳輸速率為10Mb/S,傳輸速率與傳輸距離成反比,在100Kb/S的傳輸速率下,才可以達到最大的通信距離,如果需傳輸更長的距離,需要加485中繼器。RS-485采用半雙工工作方式,支持多點數據通信。RS-485總線網絡拓撲一般采用終端匹配的總線型結構。即采用一條總線將各個節點串接起來,不支持環形或星型網絡。如果需要使用星型結構,就必須使用485中繼器或者485集線器才可以。RS-485/422總線一般最大支持32個節點,如果使用特制的485芯片,可以達到128個或者256個節點,最大的可以支持到400個節點。

        485與232沒什么大的區別,就是電平信號的區別,加個轉換器OK搞定
        CAN嘛,理論上也只是電平的區別,不過要復雜一些,但可靠一些,主要應該是協議上的復雜 

        CAN總線學習系列之二——CAN總線與RS485的比較

        上一節介紹了一下CAN總線的基本知識,那么有人會問,現在的總線格式很多,CAN相對于其他的總線有什么特點啊?這個問題問的好,所以我想與其它總線做一下比較,首先呢,就比較一下大家耳熟能詳的485總線,其實485總線只是一種電平標準,并不是什么新的協議,與232差不多,當然這么說不是很恰當,但是有助于大家理解。

        下面開始比較了:

        CAN(Controller Area Network)屬于現場總線的范疇,它是一種有效支持分布式控制或實時控制的串行通信網絡。較之目前RS-485基于R線構建的分布式控制系統而言,基于CAN總線的分布式控制系統在以下方面具有明顯的優越性:

        1)CAN控制器工作于多主方式,網絡中的各節點都可根據總線訪問優先權(取決于報文標識符)采用無損結構的逐位仲裁方式競爭向總線發送數據,且CAN協議廢除了站地址編碼,而代之以對通信數據進行編碼,這可使不同的節點同時接收到相同的數據,這些特點使得CAN總線構成的網絡各節點之間的數據通信實時性強,并且容易構成冗余結構,提高系統的可靠性和系統的靈活性。而利用RS-485只能構成主從式結構系統,通信方式也只能以主站輪詢的方式進行,系統的實時性、可靠性較差。

        2)CAN總線通過CAN控制器接口芯片82C250的兩個輸出端CANH和CANL與物理總線相連,而CANH端的狀態只能是高電平或懸浮狀態,CANL端只能是低電平或懸浮狀態。這就保證不會出現象在RS-485網絡中,當系統有錯誤,出現多節點同時向總線發送數據時,導致總線呈現短路,從而損壞某些節點的現象。而且CAN節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節點的操作不受影響,從而保證不會出現象在網絡中,因個別節點出現問題,使得總線處于“死鎖”狀態。

        3)CAN具有完善的通信協議,可由CAN控制器芯片及其接口芯片來實現,從而大大降低了系統的開發難度,縮短了開發周期,這些是只僅僅有電氣協議的RS-485所無法比擬的。

        特性

        RS-485

        CAN-bus

        單點成本

        低廉

        稍高

        系統成本

        較低

        總線利用率

        網絡特性

        單主網絡

        多主網絡

        數據傳輸率

        容錯機制

        可靠的錯誤處理和檢錯機制

        通訊失敗率

        極低

        節點錯誤的影響

        導致整個網絡的癱瘓

        無任何影響

        通訊距離

        <1.5km

        可達10km(5kbps)

        網絡調試

        困難

        非常容易

        開發難度

        標準Modbus協議

        標準CAN-bus協議

        后期維護成本

        我們總線學習板上CAN總線和RS485總線都有,您可以在學習中逐漸體會到這些區別,也會體會到CAN總線的優越性。



        關鍵詞: CAN總線485總

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 宝坻区| 商城县| 怀来县| 弥勒县| 博白县| 观塘区| 龙州县| 孝昌县| 桦南县| 福贡县| 博爱县| 岑巩县| 二连浩特市| 雅安市| 平果县| 莒南县| 弥渡县| 天等县| 禹州市| 密山市| 射阳县| 行唐县| 玉树县| 延安市| 浏阳市| 荥阳市| 辛集市| 忻城县| 新乡县| 达拉特旗| 航空| 定边县| 南靖县| 伊宁市| 尤溪县| 临沧市| 海兴县| 平南县| 玛沁县| 崇文区| 温泉县|