485、can和標準以太網(wǎng)總線(xiàn)比較
但是從應用層考慮則不一樣了,一般應用層傳輸都是基于大于1個(gè)字節的數據包來(lái)傳輸的,所以這個(gè)時(shí)候485本身不能直接完成這個(gè)任務(wù),而必須依賴(lài)用戶(hù)組織485數據幀,并做數據校驗、重發(fā)之類(lèi)的工作;can和以太網(wǎng)就基本依賴(lài)原始幀即可完成應用層任務(wù),can最多可以傳輸8個(gè)字節的數據幀,以太網(wǎng)最多可以傳輸1500字節的數據幀??梢?jiàn)can比較適合傳輸短的數據命令和狀態(tài),而以太網(wǎng)基本沒(méi)有什么應用短板,什么數據都可以方便的傳輸。
總線(xiàn)占用沖突處理,485沒(méi)有總線(xiàn)占用沖突處理方案,一般都是采用一主多從來(lái)保證沒(méi)有兩個(gè)節點(diǎn)同時(shí)占用總線(xiàn),主節點(diǎn)定時(shí)輪詢(xún)從節點(diǎn)從而更新各個(gè)從節點(diǎn)的數據狀態(tài)。
can和以太網(wǎng)都采用總線(xiàn)載波偵聽(tīng)多路訪(fǎng)問(wèn)沖突避免方式來(lái)做總線(xiàn)占用沖突處理,但是can和以太網(wǎng)的區別在于can有優(yōu)先級概念,如果兩個(gè)節點(diǎn)同時(shí)發(fā)數據,高優(yōu)先級的首先發(fā),低優(yōu)先級的后發(fā),而以太網(wǎng)則不一樣,如果有兩個(gè)節點(diǎn)同時(shí)發(fā)數據,則兩個(gè)節點(diǎn)都會(huì )暫停發(fā)送,等待一段隨機時(shí)間后,兩個(gè)節點(diǎn)再發(fā)數據,這樣開(kāi)來(lái),can的數據發(fā)送是確定性的,而以太網(wǎng)本身不能保證發(fā)送時(shí)間的確定性,所以工業(yè)上對于小數據量節點(diǎn)控制是更喜歡用can來(lái)互聯(lián);如果多節點(diǎn)互聯(lián)且傳輸數據量很大,最好還是采用以太網(wǎng)來(lái)傳輸,當然為了保證傳輸的確定性,一般會(huì )在應用層做個(gè)約定,避免總線(xiàn)沖突。
節點(diǎn)刷新時(shí)間,485可以做到10ms左右的單節點(diǎn)刷新時(shí)間,can和以太網(wǎng)都一樣可以做到1ms級別的單節點(diǎn)刷新時(shí)間。
工業(yè)上的流行程度,485使用最為廣泛,因為大部分的使用場(chǎng)合并不是非常在乎刷新周期,幾秒刷新一次都可以接受,而且對成本比較敏感,這個(gè)時(shí)候485就非常合適,485可以傳輸大的數據幀,例如100字節以上數據幀,應用層很簡(jiǎn)單實(shí)現的協(xié)議即可完成這個(gè)工作。
can主要用在汽車(chē)和工業(yè)模塊上,由于can存在優(yōu)先級的概念,而且短數據幀,保證數據幀的傳輸時(shí)間的確定性,一般用在實(shí)時(shí)性要求很高的場(chǎng)合,但是由于數據幀太小,而且can的速率才1M,所以還是很大的限制了其應用場(chǎng)合。
而以太網(wǎng)則由于高速交換機和高速以太網(wǎng)芯片被越來(lái)越多的用于控制器和擴展模塊,性能越來(lái)越好,成本越來(lái)越低,容易實(shí)現一網(wǎng)到底的架構,所以被越來(lái)越多的使用。
將來(lái)應該是多種網(wǎng)絡(luò )并存,成本敏感的地方485會(huì )用的多謝,對實(shí)時(shí)性要求高,而且數據量不大的地方,can會(huì )多見(jiàn),要擴展性高、性能好,則是以太網(wǎng),當然以太網(wǎng)會(huì )慢慢占領(lǐng)485和can的應用領(lǐng)域。
評論