CAN總線與RS485的比較
文章出處:http://www.fang1.net 作者:佚名 人氣: 發(fā)表時間:2009年05月27日
現(xiàn)在的總線格式很多,CAN相對于其他的總線有什么特點???首先呢,就比較一下大家耳熟能詳?shù)?85總線,其實485總線只是一種電平標準,并不是什么新的協(xié)議,與232差不多,當然這么說不是很恰當,但是有助于大家理解。
CAN(Controller Area Network)屬于現(xiàn)場總線的范疇,它是一種有效支持分布式控制或?qū)崟r控制的串行通信網(wǎng)絡。較之目前RS-485基于線構(gòu)建的分布式控制系統(tǒng)而言,基于CAN總線的分布式控制系統(tǒng)在以下方面具有明顯的優(yōu)越性:
1)CAN控制器工作于多主方式,網(wǎng)絡中的各節(jié)點都可根據(jù)總線訪問優(yōu)先權(quán)(取決于報文標識符)采用無損結(jié)構(gòu)的逐位仲裁方式競爭向總線發(fā)送數(shù)據(jù),且CAN協(xié)議廢除了站地址編碼,而代之以對通信數(shù)據(jù)進行編碼,這可使不同的節(jié)點同時接收到相同的數(shù)據(jù),這些特點使得CAN總線構(gòu)成的網(wǎng)絡各節(jié)點之間的數(shù)據(jù)通信實時性強,并且容易構(gòu)成冗余結(jié)構(gòu),提高系統(tǒng)的可靠性和系統(tǒng)的靈活性。而利用RS-485只能構(gòu)成主從式結(jié)構(gòu)系統(tǒng),通信方式也只能以主站輪詢的方式進行,系統(tǒng)的實時性、可靠性較差。
2)CAN總線通過CAN控制器接口芯片82C250的兩個輸出端CANH和CANL與物理總線相連,而CANH端的狀態(tài)只能是高電平或懸浮狀態(tài),CANL端只能是低電平或懸浮狀態(tài)。這就保證不會出現(xiàn)象RS-485網(wǎng)絡中,當系統(tǒng)有錯誤,出現(xiàn)多節(jié)點同時向總線發(fā)送數(shù)據(jù)時,導致總線呈現(xiàn)短路,從而損壞某些節(jié)點的現(xiàn)象。而且CAN節(jié)點在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節(jié)點的操作不受影響,從而保證不會出現(xiàn)象在網(wǎng)絡中,因個別節(jié)點出現(xiàn)問題,使得總線處于“死鎖”狀態(tài)。
3)CAN具有完善的通信協(xié)議,可由CAN控制器芯片及其接口芯片來實現(xiàn),從而大大降低了系統(tǒng)的開發(fā)難度,縮短了開發(fā)周期,這些是只僅僅有電氣協(xié)議的RS-485所無法比擬的。
特性 |
RS-485 |
CAN-bus |
單點成本 |
低廉 |
稍高 |
系統(tǒng)成本 |
高 |
較低 |
總線利用率 |
低 |
高 |
網(wǎng)絡特性 |
單主網(wǎng)絡 |
多主網(wǎng)絡 |
數(shù)據(jù)傳輸率 |
低 |
高 |
容錯機制 |
無 |
可靠的錯誤處理和檢錯機制 |
通訊失敗率 |
高 |
極低 |
節(jié)點錯誤的影響 |
導致整個網(wǎng)絡的癱瘓 |
無任何影響 |
通訊距離 |
< |
可達 |
網(wǎng)絡調(diào)試 |
困難 |
非常容易 |
開發(fā)難度 |
標準Modbus協(xié)議 |
標準CAN-bus協(xié)議 |
后期維護成本 |
高 |
低 |
|
|
|