如果你想正常的實(shí)現(xiàn)串口數(shù)據(jù)與CAN總線數(shù)據(jù)之間的轉(zhuǎn)換,如果你不想在數(shù)據(jù)轉(zhuǎn)換的時(shí)候發(fā)生丟幀現(xiàn)象,那濾波設(shè)置是必須的,濾的是CAN總線端的波。因?yàn)椋鄬?duì)而言,CAN總線的通訊速率遠(yuǎn)高于串口總線,如果我們不進(jìn)行濾波,單位時(shí)間里大量的CAN端數(shù)據(jù)就沒辦法同時(shí)被轉(zhuǎn)換成串口端的數(shù)據(jù),比如說CAN端有10個(gè)數(shù)據(jù),但同一時(shí)間串口端只能接收一個(gè),那剩下的9個(gè)該怎么辦呢?只能丟失掉了,這當(dāng)然是我們不能接收的。

CAN總線上節(jié)點(diǎn)較多的時(shí)候,節(jié)點(diǎn)經(jīng)常會(huì)出現(xiàn)故障,這種情況要具體分析總線上的狀況了,因?yàn)橛卸喾N可能性導(dǎo)致這種情況。,比如接收節(jié)點(diǎn)將該節(jié)點(diǎn)的數(shù)據(jù)過濾掉了,或者總線上有幾個(gè)ID比該節(jié)點(diǎn)小的節(jié)點(diǎn)在發(fā)送數(shù)據(jù),由于仲裁導(dǎo)致數(shù)據(jù)發(fā)不出來。
如果你問我如何分析故障原因?其實(shí)這個(gè)很簡(jiǎn)單,你看看ZLG的,就知道了。
CAN 是Controller AreaNetwork 的縮寫,中文名為控制器局域網(wǎng)絡(luò),是ISO標(biāo)準(zhǔn)化的串行通信協(xié)議,是一種用于實(shí)時(shí)應(yīng)用的串行通訊協(xié)議總線,它可以使用雙絞線來傳輸信號(hào),是世界上應(yīng)用較廣泛的現(xiàn)場(chǎng)總線之一。
因其具有強(qiáng)性能、高可靠性的通信機(jī)制,目前已廣泛應(yīng)用在汽車電子領(lǐng)域,CAN協(xié)議用于汽車中各種不同元件之間的通信,以此取代昂貴而笨重的配電線束。因此CAN總線在整個(gè)自動(dòng)駕駛系統(tǒng)中也有著十分重要的作用,自動(dòng)駕駛汽車上的某些傳感器(如雷達(dá)、Mobileye)的信號(hào)傳遞也是通過CAN實(shí)現(xiàn)的。



