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