RS485和CAN 個人理解


CAN是控制網絡ControlAreaNetwork的簡稱,最早由德國BOSCH公司推出,用於汽車內部測量與執行部件之間的數據通信

一、CAN 現場總線

 

圖4 CAN在汽車網絡拓撲結構

 

 

 

CAN總線特點:

國際標准的工業級現場總線,傳輸可靠,實時性高;

傳輸距離遠(最遠10Km),傳輸速率快(最高1MHz bps);

單條總線最多可接110個節點,並可方便的擴充節點數;

多主結構,各節點的地位平等,方便區域組網,總線利用率高;

實時性高,非破壞總線仲裁技術,優先級高的節點無延時;

出錯的CAN節點會自動關閉並切斷和總線的聯系,不影響總線的通訊;

報文為短幀結構並有硬件CRC校驗,受干擾概率小,數據出錯率極低;

自動檢測報文發送成功與否,可硬件自動重發,傳輸可靠性很高;

硬件報文濾波功能,只接收必要信息,減輕cpu負擔,簡化軟件編制;

通訊介質可用普通的雙絞線,同軸電纜或光纖等;

CAN總線系統結構簡單,有極高的性價比。

二、RS485 總線

RS-485是從 RS-422基礎上發展而來的,可以采用二線與四線兩種不同的方式,二線制可實現真正的多點雙向通信。而采用四線連接時,只能實現點對多點的通信。即只能有一個主設備(Master),其余為從設備(Slave)。

RS485接口標准特點:

RS-485的電氣特性:兩線間的電壓差范圍為±(2-6)V表示,接口信號電平降低,不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便與TTL 電路連接;

RS-485的數據最高傳輸速率為10Mbps;

RS-485接口是采用平衡驅動器和差分接收器的組合,抗共模干能力增強,即抗噪聲干擾性好;

RS-485接口的最大傳輸距離標准值為4000英尺,實際上可達 3000米。RS-485接口在總線上是允許連接多達128個收發器。即具有多站能力,但RS-485總線上任何時候只能有一發送器發送;

RS-485接口具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等優點就使其成為首選的串行接口;

RS485接口組成的半雙工網絡,一般只需二根連線,接口均采用屏蔽雙絞線傳輸。

三、CAN 總線與RS485的比較

1、速度與距離:CAN與RS485以1Mbit/S的高速率傳輸的距離都不超過100M,可謂高速上的距離差不多。但是低速CAN以5Kbit/S時,距離可達10KM。而增強型RS485收發器在最低的速率時亦能傳輸超過10KM(都無中繼),兩者在長距離的傳輸上也難分伯仲。

2、總線利用率:RS485是單主從結構,就是一個總線上只能有一台主機,通訊都由它發起的,它沒有下命令,下面的節點不能發送,而且要發完即答,受到答復后,主機才向下一個節點詢問,這樣是為了防止多個節點向總線發送數據,而造成數據錯亂。而CAN-bus是多主從結構,每個節點都有CAN控制器,多個節點發送時,以發送的ID號自動進行仲裁,這樣就可以實現總線數據不錯亂,而且一個節點發完,另一個節點可以探測到總線空閑,而馬上發送,這樣省去了主機的詢問,提高了總線利用率,增強了快速性。所以在汽車等實性要求高的系統,都是用CAN總線,或者其他類似的總線。

3、錯誤檢測機制:RS485只規定了物理層,而沒有數據鏈路層,所以它對錯誤是無法識別的,除非一些短路等物理錯誤。這樣容易造成一個節點破壞了,拼命向總線發數據(一直發1),這樣造成整個總線癱瘓。所以RS485一旦壞一個節點,這個總線網絡都掛。而CAN總線有CAN控制器,可以對總線任何錯誤進行檢測,自動轉換錯誤狀態,適時關閉總線,進而保護總線。如果檢測到其他節點錯誤或者自身錯誤,都會向總線發送錯誤幀,來提示其他節點,這個數據是錯誤的,大家小心。這樣CAN總線一旦有一個節點程序跑飛了,它的控制器自動閉鎖,保護總線。所以在安全性要求高的網路,CAN是很強的。

4、器件價格:隨着CAN總線迅猛發展,目前CAN隔離收發器單價大有與RS485價格持平的趨勢,RS485收發器逐漸失去價格優勢。

5、開發難度:CAN具有完善的通信協議,底層機制由CAN控制器芯片及其接口芯片來實現,研發工程師只需要了解面向客戶的應用層,從而大大降低了系統的開發難度,縮短了開發周期。而RS-485協議僅僅只有電氣協議,客戶開發需要自己開發鏈路層和應用層,開發難度較大。

四、總結對比

 

 原文鏈接:https://blog.csdn.net/lanxiaoke123/article/details/92840243




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM