前言
RS-485和CAN都是串行通信協議。它們允許在單個系統中布置多點設備,大大縮短了電纜長度,差分設計適用于強干擾的環境,兩者都使用120 Ω電阻端接,并配有內部過壓電路以進行故障保護。
RS-485和CAN有太多的共同點,但無疑是不一樣的。
RS-485更多的是應用在工業領域,CAN被廣泛設計用于汽車行業。但現在,不僅汽車行業廣泛使用CAN,而且航空航天等其他行業也開始轉向CAN。
但是要了解使這些協議與眾不同的差異,我們必須知道它們到底是什么。
先簡要介紹一下RS-485。
RS-485:自20世紀80年代中期以來一直存在的串行通信協議。最初是為工業市場的應用而定義的,或者更好的說,它是為工業應用而開發的。
RS-485由電信行業協會和電子工業聯盟聯合發布,因此它也被稱為TIA / EIA-485。但更能被業界接受的名字是RS-485,它的應用在:
運動控制設備
計算機自動化系統(鍵盤、鼠標、打印機等)
工業控制系統
劇院應用
雖然RS-485被應用到多種場合,但越來越多的行業似乎轉向CAN用于其工業機械。
為什么要“切換”到CAN總線?
RS-485未能成為通信協議。它只是被證明是一個電氣接口。它確實提供了多點通信功能,但僅適用于至少具有UART的設備。 01
一主多從系統
從技術上講,它是一個半雙工系統,一次只能有一個設備可以傳輸,其他設備必須監聽。因此,它只能為多個節點串行地進行數據交換提供基本的物理鏈路。即:一主多從。
與CAN不同,CAN總線的設備,每個節點都可以充當主節點,并確切地知道如何以及何時發送信號。
RS-485遵循典型的主從拓撲結構。當通信處于活動狀態時,所有從站/節點都接收主站單元發送的數據。如果一個“從機”必須回答“主機”的信息,它就必須切換為“主機”,這樣才能發送它的信息。
這種連接的一個特殊功能是,連接到線路的所有設備都會接收傳遞的所有內容。當設備必須發送時,它通過RTS信號(傳輸請求)激活其傳輸線。傳輸數據的元素也接收傳輸的數據。
當RS-485總線出現多個設備同時發送消息時,會導致過載或可能信號碰撞,進而使整個消息無效或導致數據錯誤。 02
容錯機制
對于RS-485,這還不是它唯一的缺點。在定義方面,沒有明確規定以下的內容:
尋址節點的過程
避免數據沖突的方法
框架結構
溝通程序
錯誤檢測等,
3個理由了解為什么CAN總線更好
CAN總線的顯著優勢在于它高度靈活并提供許多獨特的功能,從而導致其他行業的采用率大幅增加。
CAN總線是一種雙線、多點的串行通信標準協議。就像RS-485一樣,通過CAN的信號以CAN-H和CAN-L作為差分電壓流動。
差分信號的傳輸類似于RS-485,但事實差異很大。
CAN總線的優勢主要體現在以下三個方面:
01
消息傳輸
CAN指定了總線上的完整數據包,而不僅僅是物理層。 CAN硬件自動處理數據包的開始/結束檢測、沖突檢測、回退、重試、校驗和生成、驗證,以及與處理硬件故障相關的更多功能。用戶只需要傳輸消息標識符和有效負載,CAN硬件負責添加數據包的其他部分。
使用RS-485時,其實RS-485底層未進行任何定義:如數據來自何處、誰可以發送它、正在發送哪些數據、接收的數據是否損壞等。(除非在軟件中指定,否則什么都不知道)。
02
仲裁
RS-485的主要問題是信號擁塞。這通常是由于多個節點試圖在總線上同時發送數據,從而導致過載。
CAN遵循仲裁,其中消息按狀態順序排列和接收。失去仲裁的節點將重新發送其消息。 對于所有節點,這種情況將繼續進行,直到只剩下一個節點正在傳輸。
由于消息式仲裁,CAN無需采取額外的預防措施即可實現多主機操作。對于RS-485,這只能通過特定協議來實現。
03
協同和錯誤檢測及糾正
當CAN總線的一個節點將隱性狀態“寫入”總線并看到它實際上處于主導狀態時,它知道另一個節點正在驅動它。嘗試寫入隱性狀態的節點將后退并等待消息的結束。
寫入主導狀態的節點永遠不會知道發生了這種情況。它的消息通常由所有其他節點發送和接收。這種沖突檢測功能允許在沒有任何中央仲裁的情況下實現對等網絡架構。
節點發送消息,但在檢測到沖突時后退,然后在當前數據包完成后重試。 最終,總線可用時發送這些其他消息,并且發送先前碰撞的消息時不會發生沖突,包括 16 位 CRC 校驗和。
RS-485不能觸發任何消息沖突,系統的應用軟件必須保證避免碰撞。
綜述
雖然RS-485端口仍然被應用到到許多新開發的設備中中,但CAN功能的如仲裁、錯誤消息檢查、改進的帶寬和更大的數據場,加速了對CAN總線的需求。
審核編輯:劉清
-
編碼器
+關注
關注
45文章
3667瀏覽量
135236 -
通信協議
+關注
關注
28文章
915瀏覽量
40438 -
plc
+關注
關注
5016文章
13387瀏覽量
465378 -
CAN
+關注
關注
57文章
2769瀏覽量
464376 -
RS-485
+關注
關注
11文章
694瀏覽量
84408
原文標題:3個原因告訴你,CAN為什么比RS-485更好?
文章出處:【微信號:mcu168,微信公眾號:硬件攻城獅】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論