CAN總線與RS485特點和比較
1、國際標準的工業級現場總線,傳輸可靠,實時性高;
2、傳輸距離遠(最遠10Km),傳輸速率快(最高1MHz bps);
3、單條總線最多可接110個節點,并可方便的擴充節點數;
4、多主結構,各節點的地位平等,方便區域組網,總線利用率高;
5、實時性高,非破壞總線仲裁技術,優先級高的節點無延時;
6、出錯的CAN節點會自動關閉并切斷和總線的聯系,不影響總線的通訊;
7、報文為短幀結構并有硬件CRC校驗,受干擾概率小,數據出錯率極低;
8、自動檢測報文發送成功與否,可硬件自動重發,傳輸可靠性很高;
9、硬件報文濾波功能,只接收必要信息,減輕cpu負擔,簡化軟件編制;
10、通訊介質可用普通的雙絞線,同軸電纜或光纖等;
11、CAN總線系統結構簡單,有極高的性價比。RS485接口標準特點:
(1) RS-485的電氣特性:邏輯"1"以兩線間的電壓差為+(2-6)V表示;邏輯"0"以兩線間的電壓差為-(2-6)V表示。接口信號電平比RS-232-C降低了,就不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便與TTL 電路連接。
(2) RS-485的數據最高傳輸速率為10Mbps
(3) RS-485接口是采用平衡驅動器和差分接收器的組合,抗共模干能力增強,即抗噪聲干擾性好。
(4) RS-485接口的最大傳輸距離標準值為4000英尺,實際上可達 3000米,另外RS-232-C接口在總線上只允許連接1個收發器,即單站能力。而RS-485接口在總線上是允許連接多達128個收發器。即具有多站能力,這樣用戶可以利用單一的RS-485接口方便地建立起設備網絡。但RS-485總線上任何時候只能有一發送器發送。
(5) 因RS-485接口具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等上述優點就使其成為首選的串行接口。
(6) 因為RS485接口組成的半雙工網絡,一般只需二根連線,所以RS485接口均采用屏蔽雙絞線傳輸。
CAN總線與RS485的比較:
1,速度與距離:CAN與RS485以1Mbit/S的高速率傳輸的距離都不超過100M,可謂高速上的距離差不多。但是在低速時CAN以5Kbit/S時,距離可達10KM,而485再低的速率也只能到1219米左右(都無中繼)??梢奀AN在長距離的傳輸上擁有絕對的優勢。
2,總線利用率:RS485是單主從結構,就是一個總線上只能有一臺主機,通訊都由它發起的,它沒有下命令,下面的節點不能發送,而且要發完即答,受到答復后,主機才向下一個節點詢問,這樣是為了防止多個節點向總線發送數據,而造成數據錯亂。而CAN-bus是多主從結構,每個節點都有CAN控制器,多個節點發送時,以發送的ID號自動進行仲裁,這樣就可以實現總線數據不錯亂,而且一個節點發完,另一個節點可以探測到總線空閑,而馬上發送,這樣省去了主機的詢問,提高了總線利用率,增強了快速性。所以在汽車等實性要求高的系統,都是用CAN總線,或者其他類似的總線。
3,錯誤檢測機制,RS485只規定了物理層,而沒有數據鏈路層,所以它對錯誤是無法識別的,除非一些短路等物理錯誤。這樣容易造成一個節點破壞了,拼命向總線發數據(一直發1),這樣造成整個總線癱瘓。所以RS485一旦壞一個節點,這個總線網絡都掛。而CAN總線有CAN控制器,可以對總線任何錯誤進行檢測,如果自身錯誤超過128個,就自動閉鎖。保護總線。如果檢測到其他節點錯誤或者自身錯誤,都會向總線發送錯誤幀,來提示其他節點,這個數據是錯誤的。大家小心。這樣CAN總線一旦有一個節點CPU程序跑飛了,它的控制器自動閉鎖。保護總線。所以在安全性要求高的網路,CAN是很強的。
4,價格與培訓成本:CAN器件的價格大約是485的2倍這樣,485的通訊從軟件上是很方便的,只要懂串行通訊,就可以編程,而CAN需要底層工程師了解CAN復雜的層,編寫上位機軟件也要了解CAN的協議??芍^培訓成本較高。
5,CAN總線通過CAN控制器接口芯片82C250的兩個輸出端CANH和CANL與物理總線相連,而CANH端的狀態只能是高電平或懸浮狀態,CANL端只能是低電平或懸浮狀態。這就保證不會出現象在RS-485網絡中,當系統有錯誤,出現多節點同時向總線發送數據時,導致總線呈現短路,從而損壞某些節點的現象。而且CAN節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節點的操作不受影響,從而保證不會出現象在網絡中,因個別節點出現問題,使得總線處于“死鎖”狀態。
6,CAN具有完善的通信協議,可由CAN控制器芯片及其接口芯片來實現,從而大大降低了系統的開發難度,縮短了開發周期,這些是只僅僅有電氣協議的RS-485所無法比擬的。