最近一個項目總體方案設(shè)計為分布式系統(tǒng),于是在通訊上糾結(jié)于CAN總線還是RS485。因此在網(wǎng)上搜索一些了一些關(guān)于RS485和CAN總線的資料,除進一步認識RS485通訊特點外,認識了CAN總線的特點及其與RS485的比較,總結(jié)如下:
注:以下是從網(wǎng)上搜索總結(jié)的。
CAN總線特點: 1、國際標準的工業(yè)級現(xiàn)場總線,傳輸可靠,實時性高;
RS485接口標準特點: (1) RS-485的電氣特性:邏輯"1"以兩線間的電壓差為+(2-6)V表示;邏輯"0"以兩線間的電壓差為-(2-6)V表示。接口信號電平比RS-232-C降低了,就不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便與TTL 電路連接。
CAN總線與RS485的比較: 1,速度與距離:CAN與RS485以1Mbit/S的高速率傳輸?shù)木嚯x都不超過100M,可謂高速上的距離差不多。但是在低速時CAN以5Kbit/S時,距離可達10KM,而485再低的速率也只能到1219米左右(都無中繼)??梢奀AN在長距離的傳輸上擁有絕對的優(yōu)勢。 2,總線利用率:RS485是單主從結(jié)構(gòu),就是一個總線上只能有一臺主機,通訊都由它發(fā)起的,它沒有下命令,下面的節(jié)點不能發(fā)送,而且要發(fā)完即答,受到答復(fù)后,主機才向下一個節(jié)點詢問,這樣是為了防止多個節(jié)點向總線發(fā)送數(shù)據(jù),而造成數(shù)據(jù)錯亂。而CAN-bus是多主從結(jié)構(gòu),每個節(jié)點都有CAN控制器,多個節(jié)點發(fā)送時,以發(fā)送的ID號自動進行仲裁,這樣就可以實現(xiàn)總線數(shù)據(jù)不錯亂,而且一個節(jié)點發(fā)完,另一個節(jié)點可以探測到總線空閑,而馬上發(fā)送,這樣省去了主機的詢問,提高了總線利用率,增強了快速性。所以在汽車等實性要求高的系統(tǒng),都是用CAN總線,或者其他類似的總線。 3,錯誤檢測機制,RS485只規(guī)定了物理層,而沒有數(shù)據(jù)鏈路層,所以它對錯誤是無法識別的,除非一些短路等物理錯誤。這樣容易造成一個節(jié)點破壞了,拼命向總線發(fā)數(shù)據(jù)(一直發(fā)1),這樣造成整個總線癱瘓。所以RS485一旦壞一個節(jié)點,這個總線網(wǎng)絡(luò)都掛。而CAN總線有CAN控制器,可以對總線任何錯誤進行檢測,如果自身錯誤超過128個,就自動閉鎖。保護總線。如果檢測到其他節(jié)點錯誤或者自身錯誤,都會向總線發(fā)送錯誤幀,來提示其他節(jié)點,這個數(shù)據(jù)是錯誤的。大家小心。這樣CAN總線一旦有一個節(jié)點CPU程序跑飛了,它的控制器自動閉鎖。保護總線。所以在安全性要求高的網(wǎng)路,CAN是很強的。 4,價格與培訓(xùn)成本:CAN器件的價格大約是485的2倍這樣,485的通訊從軟件上是很方便的,只要懂串行通訊,就可以編程,而CAN需要底層工程師了解CAN復(fù)雜的層,編寫上位機軟件也要了解CAN的協(xié)議??芍^培訓(xùn)成本較高。 5,CAN總線通過CAN控制器接口芯片82C250的兩個輸出端CANH和CANL與物理總線相連,而CANH端的狀態(tài)只能是高電平或懸浮狀態(tài),CANL端只能是低電平或懸浮狀態(tài)。這就保證不會出現(xiàn)象在RS-485網(wǎng)絡(luò)中,當系統(tǒng)有錯誤,出現(xiàn)多節(jié)點同時向總線發(fā)送數(shù)據(jù)時,導(dǎo)致總線呈現(xiàn)短路,從而損壞某些節(jié)點的現(xiàn)象。而且CAN節(jié)點在錯誤嚴重的情況下具有自動關(guān)閉輸出功能,以使總線上其他節(jié)點的操作不受影響,從而保證不會出現(xiàn)象在網(wǎng)絡(luò)中,因個別節(jié)點出現(xiàn)問題,使得總線處于“死鎖”狀態(tài)。 6,CAN具有完善的通信協(xié)議,可由CAN控制器芯片及其接口芯片來實現(xiàn),從而大大降低了系統(tǒng)的開發(fā)難度,縮短了開發(fā)周期,這些是只僅僅有電氣協(xié)議的RS-485所無法比擬的。
|
|
來自: yng326309158 > 《接口》