導(dǎo)讀
在工程應(yīng)用中,CAN通信的穩(wěn)定性至關(guān)重要,但丟幀和錯(cuò)誤幀現(xiàn)象卻時(shí)有發(fā)生。本文將簡(jiǎn)要分析導(dǎo)致這些問(wèn)題的常見(jiàn)原因,并給出針對(duì)性的解決方案。
一般來(lái)說(shuō),使用CAN通信的場(chǎng)合,對(duì)通信的穩(wěn)定性都有很高的要求。但在工程應(yīng)用現(xiàn)場(chǎng),經(jīng)常遇到各種原因引起的丟幀或者出現(xiàn)錯(cuò)誤幀的現(xiàn)象,下面對(duì)各種可能的原因進(jìn)行簡(jiǎn)要說(shuō)明。
?總線(xiàn)沖突
CAN(Controller Area Network)總線(xiàn)是一種常用于汽車(chē)和工業(yè)控制系統(tǒng)中的通信協(xié)議和總線(xiàn)系統(tǒng)。在CAN總線(xiàn)中,當(dāng)多個(gè)節(jié)點(diǎn)同時(shí)嘗試發(fā)送消息時(shí),可能會(huì)發(fā)生總線(xiàn)沖突。這種沖突可能會(huì)導(dǎo)致消息丟失,從而引發(fā)丟幀和通信錯(cuò)誤。
在CAN總線(xiàn)中,每個(gè)消息都具有一個(gè)唯一的標(biāo)識(shí)符(ID),用于確定消息的優(yōu)先級(jí)。當(dāng)多個(gè)節(jié)點(diǎn)嘗試發(fā)送消息時(shí),CAN總線(xiàn)使用一種基于非爭(zhēng)用的訪(fǎng)問(wèn)機(jī)制,即辨識(shí)出發(fā)消息的節(jié)點(diǎn)優(yōu)先級(jí),并將較低優(yōu)先級(jí)的消息掛起,以確保高優(yōu)先級(jí)消息能夠順利發(fā)送。這種機(jī)制使得CAN總線(xiàn)在大多數(shù)情況下能夠避免碰撞和沖突。

圖1 總線(xiàn)沖突
然而,當(dāng)多個(gè)節(jié)點(diǎn)具有相同優(yōu)先級(jí)并且同時(shí)嘗試發(fā)送消息時(shí),仍然有可能發(fā)生總線(xiàn)沖突。為了減少這種沖突的發(fā)生,CAN總線(xiàn)使用了非常快速的算法來(lái)檢測(cè)碰撞,并且具有重發(fā)機(jī)制,以確保消息能夠成功傳輸。
此外,CAN總線(xiàn)還使用了一種錯(cuò)誤檢測(cè)和糾正機(jī)制,以確保即使發(fā)生了沖突或丟幀,接收節(jié)點(diǎn)仍然能夠檢測(cè)到錯(cuò)誤并進(jìn)行糾正,從而提高了通信的可靠性。
?總線(xiàn)噪聲和抖動(dòng)
CAN總線(xiàn)上的噪聲和抖動(dòng)可能導(dǎo)致信號(hào)失真,使得節(jié)點(diǎn)無(wú)法正確接收到消息,這種信號(hào)失真可能會(huì)導(dǎo)致丟幀。

圖2 總線(xiàn)噪聲
首先,噪聲和抖動(dòng)可能來(lái)自于CAN總線(xiàn)上的電磁干擾或者節(jié)點(diǎn)之間的電氣連接問(wèn)題。為了減少這種影響,可以采取以下措施:
使用合適的屏蔽和濾波器:在CAN總線(xiàn)的連接線(xiàn)路上使用屏蔽電纜和濾波器可以有效地減少電磁干擾對(duì)信號(hào)的影響。
確保良好的接地和電氣連接:良好的接地和電氣連接可以減少抖動(dòng)和噪聲的產(chǎn)生,確保信號(hào)的穩(wěn)定傳輸。
優(yōu)化節(jié)點(diǎn)的布局和電氣設(shè)計(jì):合理安排CAN節(jié)點(diǎn)的布局和電氣設(shè)計(jì)可以減少節(jié)點(diǎn)之間的干擾,減少噪聲和抖動(dòng)的產(chǎn)生。
其次,針對(duì)已經(jīng)產(chǎn)生的噪聲和抖動(dòng),可以采取以下措施來(lái)減少其對(duì)信號(hào)的影響:
使用抗干擾的芯片和設(shè)備:選擇具有良好抗干擾性能的芯片和設(shè)備可以有效地減少噪聲和抖動(dòng)對(duì)信號(hào)的影響。
優(yōu)化信號(hào)調(diào)節(jié)和處理算法:通過(guò)優(yōu)化信號(hào)調(diào)節(jié)和處理算法,可以減少噪聲和抖動(dòng)對(duì)信號(hào)的影響,提高節(jié)點(diǎn)對(duì)消息的正確接收率。
總之,針對(duì)CAN總線(xiàn)上的噪聲和抖動(dòng)問(wèn)題,可以通過(guò)合理設(shè)計(jì)和布局、使用抗干擾的設(shè)備和優(yōu)化信號(hào)處理算法等措施來(lái)減少其對(duì)信號(hào)的影響,確保節(jié)點(diǎn)能夠正確接收消息,避免丟幀等問(wèn)題的發(fā)生。
?CAN總線(xiàn)負(fù)載過(guò)重

圖3 總線(xiàn)負(fù)載過(guò)重導(dǎo)致CAN總線(xiàn)負(fù)載過(guò)重的原因可能包括以下幾個(gè)方面:
消息頻率過(guò)高:CAN總線(xiàn)上的消息頻率過(guò)高會(huì)導(dǎo)致總線(xiàn)負(fù)載增加,從而可能導(dǎo)致丟幀的問(wèn)題。特別是在網(wǎng)絡(luò)中存在大量節(jié)點(diǎn)同時(shí)發(fā)送消息或者某些節(jié)點(diǎn)頻繁發(fā)送消息的情況下,會(huì)導(dǎo)致總線(xiàn)負(fù)載過(guò)重。
網(wǎng)絡(luò)中節(jié)點(diǎn)數(shù)量增加:當(dāng)CAN網(wǎng)絡(luò)中的節(jié)點(diǎn)數(shù)量增加時(shí),總線(xiàn)負(fù)載也會(huì)增加,因?yàn)楦嗟墓?jié)點(diǎn)需要共享總線(xiàn)帶寬,可能導(dǎo)致消息沖突和丟失。
消息長(zhǎng)度過(guò)長(zhǎng):過(guò)長(zhǎng)的消息長(zhǎng)度會(huì)占用更多的總線(xiàn)帶寬,導(dǎo)致總線(xiàn)負(fù)載過(guò)重。
針對(duì)上述可能的導(dǎo)致CAN總線(xiàn)負(fù)載過(guò)重的原因,給出的解決方法如下:
優(yōu)化消息設(shè)計(jì):對(duì)于頻率過(guò)高的消息,可以考慮優(yōu)化消息設(shè)計(jì),減少不必要的消息發(fā)送,或者將多個(gè)消息合并為一個(gè)更大的消息以降低總線(xiàn)負(fù)載。
考慮節(jié)點(diǎn)數(shù)量:在設(shè)計(jì)CAN網(wǎng)絡(luò)時(shí),需要考慮網(wǎng)絡(luò)中所需的節(jié)點(diǎn)數(shù)量,并合理規(guī)劃總線(xiàn)帶寬和消息發(fā)送頻率,以避免總線(xiàn)負(fù)載過(guò)重。
使用CAN FD協(xié)議:如果可能的話(huà),可以考慮使用CAN FD協(xié)議。CAN FD提供了更高的數(shù)據(jù)傳輸速率和更大的數(shù)據(jù)幀長(zhǎng)度,可以減輕總線(xiàn)負(fù)載過(guò)重的問(wèn)題。
消息過(guò)濾和優(yōu)先級(jí)設(shè)置:通過(guò)合理設(shè)置消息過(guò)濾和優(yōu)先級(jí),可以確保重要消息優(yōu)先傳輸,避免總線(xiàn)負(fù)載過(guò)重導(dǎo)致丟幀。
性能評(píng)估和調(diào)整:對(duì)CAN網(wǎng)絡(luò)的性能進(jìn)行評(píng)估,包括總線(xiàn)負(fù)載、消息沖突等情況,根據(jù)評(píng)估結(jié)果對(duì)網(wǎng)絡(luò)進(jìn)行調(diào)整和優(yōu)化。
通過(guò)以上解決方法,可以有效地解決CAN總線(xiàn)負(fù)載過(guò)重可能導(dǎo)致丟幀的問(wèn)題,確保CAN網(wǎng)絡(luò)的穩(wěn)定和可靠性。
您還想到哪些原因?下期我們接著分析。
-
通信協(xié)議
+關(guān)注
關(guān)注
28文章
1092瀏覽量
42162 -
CAN
+關(guān)注
關(guān)注
59文章
3067瀏覽量
472750 -
總線(xiàn)
+關(guān)注
關(guān)注
10文章
3040瀏覽量
91660 -
總線(xiàn)系統(tǒng)
+關(guān)注
關(guān)注
0文章
32瀏覽量
10340
發(fā)布評(píng)論請(qǐng)先 登錄
電纜故障的主要原因
形成貼片電感噪音大的三大主要原因
造成LED燈具損壞的主要原因有哪些?
積塵積垢是空調(diào)產(chǎn)生異味的主要原因 如何祛除空調(diào)異味你知道嗎
電氣線(xiàn)路起火的主要原因和預(yù)防措施
多層陶瓷電容MLCC的漏電主要原因分析
7種光纜故障的主要原因
諧波引起電纜損壞的主要原因
焊接質(zhì)量缺陷產(chǎn)生的主要原因
CAN丟幀很常見(jiàn),你知道有哪些主要原因嗎?(上)
CAN丟幀很常見(jiàn),你知道有哪些主要原因嗎?(下)
CAN丟幀很常見(jiàn),你知道有哪些主要原因嗎?(中)
評(píng)論