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