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