如果你想正常的實(shí)現(xiàn)串口數(shù)據(jù)與can總線數(shù)據(jù)之間的轉(zhuǎn)換,如果你不想在數(shù)據(jù)轉(zhuǎn)換的時(shí)候發(fā)生丟幀現(xiàn)象,那濾波設(shè)置是必須的,濾的是can總線端的波。因?yàn)椋鄬Χ裕琧an總線的通訊速率遠(yuǎn)高于串口總線,如果我們不進(jìn)行濾波,單位時(shí)間里大量的can端數(shù)據(jù)就沒辦法同時(shí)被轉(zhuǎn)換成串口端的數(shù)據(jù),比如說can端有10個(gè)數(shù)據(jù),但同一時(shí)間串口端只能接收一個(gè),那剩下的9個(gè)該怎么辦呢?只能丟失掉了,這當(dāng)然是我們不能接收的。
再回到開始,首先這樣的網(wǎng)絡(luò)規(guī)劃是非常不合理的,等于是網(wǎng)絡(luò)上出現(xiàn)了a和b兩個(gè)對某一幀功能相同的節(jié)點(diǎn),完全沒-,如果你要更新某個(gè)信號,只需讓a節(jié)點(diǎn)重新發(fā)送新的即可,如果更新的信號是通過b節(jié)點(diǎn)模塊更新的,也只需先通過b向a發(fā)送一個(gè)幀更新某個(gè)信號,然后a再重新發(fā)送更新的幀。
如果你兩個(gè)節(jié)點(diǎn)關(guān)聯(lián)同一個(gè)幀,以后加入新節(jié)點(diǎn)和升級改動網(wǎng)絡(luò)的時(shí)候會多一倍的工作量,而且再遠(yuǎn)程幀的響應(yīng)中,同id多響應(yīng)很容易出現(xiàn)問題。
總之一句話,我們要從總線的角度去看待can,can中繼器報(bào)價(jià),不要從節(jié)點(diǎn)的角度出發(fā)。
can光端機(jī)設(shè)備應(yīng)該指的是回can轉(zhuǎn)光纖設(shè)備,它是一答種典型的can數(shù)據(jù)轉(zhuǎn)換模塊。能夠?qū)崿F(xiàn)can數(shù)據(jù)和光纖信號的相互轉(zhuǎn)化,can中繼器,到達(dá)延長can總線數(shù)據(jù)通訊距離的目的。因?yàn)榈降滓彩且慌_can設(shè)備,所以它的運(yùn)行也要遵循can總線的規(guī)則。而說到can總線的運(yùn)行,就不得不提一下can總線的協(xié)議,它相當(dāng)于是can總線的運(yùn)行規(guī)則,-人類說話的語法一樣,一般來說,can中繼器,can光端機(jī)設(shè)備支持的can總線協(xié)議類型包括:canopen,can中繼器即插即用,sae j1939、devicenet、nmea2000等等。gcgd就有類似的東西,網(wǎng)上可以找的到。因?yàn)楝F(xiàn)在can總線的發(fā)展前景非常之好,所以這類設(shè)備以后還會有大作用。