CAN總線學習系列之二——CAN總線與RS485的比較
CAN(Controller Area Network)屬于現場總線的范疇,它是一種有效支持分布式控制或實時控制的串行通信網絡。較之目前RS-485基于R線構建的分布式控制系統而言,基于CAN總線的分布式控制系統在以下方面具有明顯的優越性:
1)CAN控制器工作于多主方式,網絡中的各節點都可根據總線訪問優先權(取決于報文標識符)采用無損結構的逐位仲裁方式競爭向總線發送數據,且CAN協議廢除了站地址編碼,而代之以對通信數據進行編碼,這可使不同的節點同時接收到相同的數據,這些特點使得CAN總線構成的網絡各節點之間的數據通信實時性強,并且容易構成冗余結構,提高系統的可靠性和系統的靈活性。而利用RS-485只能構成主從式結構系統,通信方式也只能以主站輪詢的方式進行,系統的實時性、可靠性較差。
2)CAN總線通過CAN控制器接口芯片82C250的兩個輸出端CANH和CANL與物理總線相連,而CANH端的狀態只能是高電平或懸浮狀態,CANL端只能是低電平或懸浮狀態。這就保證不會出現象在RS-485網絡中,當系統有錯誤,出現多節點同時向總線發送數據時,導致總線呈現短路,從而損壞某些節點的現象。而且CAN節點在錯誤嚴重的情況下具有自動關閉輸出功能,以使總線上其他節點的操作不受影響,從而保證不會出現象在網絡中,因個別節點出現問題,使得總線處于“死鎖”狀態。
3)CAN具有完善的通信協議,可由CAN控制器芯片及其接口芯片來實現,從而大大降低了系統的開發難度,縮短了開發周期,這些是只僅僅有電氣協議的RS-485所無法比擬的。
特性 | RS-485 | CAN-bus |
單點成本 | 低廉 | 稍高 |
系統成本 | 高 | 較低 |
總線利用率 | 低 | 高 |
網絡特性 | 單主網絡 | 多主網絡 |
數據傳輸率 | 低 | 高 |
容錯機制 | 無 | 可靠的錯誤處理和檢錯機制 |
通訊失敗率 | 高 | 極低 |
節點錯誤的影響 | 導致整個網絡的癱瘓 | 無任何影響 |
通訊距離 | <1.5km | 可達10km(5kbps) |
網絡調試 | 困難 | 非常容易 |
開發難度 | 標準Modbus協議 | 標準CAN-bus協議 |
后期維護成本 | 高 | 低 |
我們總線學習板上CAN總線和RS485總線都有,您可以在學習中逐漸體會到這些區別,也會體會到CAN總線的優越性。
評論