在CAN、CANFD信號(hào)波形不穩(wěn)定或非理想環(huán)境下,采樣點(diǎn)不一致成為總線通信中的關(guān)鍵隱患,本文分析了采樣點(diǎn)偏移對(duì)總線的影響,并提出優(yōu)化同步策略以提高通信可靠性,為總線設(shè)計(jì)提供重要參考。
為什么采樣點(diǎn)如此重要?
在CAN、CANFD等總線通信中,采樣點(diǎn)(Sample Point)是節(jié)點(diǎn)讀取總線信號(hào)電平的關(guān)鍵時(shí)刻。如果各節(jié)點(diǎn)的采樣點(diǎn)不一致,就像一群人在不同節(jié)奏下跳舞,必然導(dǎo)致混亂——數(shù)據(jù)誤判、通信錯(cuò)誤,甚至系統(tǒng)癱瘓!作為總線通信的“心跳時(shí)刻”,采樣點(diǎn)的精準(zhǔn)度會(huì)影響到系統(tǒng)的穩(wěn)定性、可靠性。然而,許多工程師在調(diào)試時(shí)往往忽視這一點(diǎn),直到總線頻繁報(bào)錯(cuò)、數(shù)據(jù)丟失,才意識(shí)到問(wèn)題的嚴(yán)重性!
采樣點(diǎn):總線通信的“裁判員”
1、什么是采樣點(diǎn)?
采樣點(diǎn)是指節(jié)點(diǎn)在一個(gè)位時(shí)間(Bit Time)內(nèi)對(duì)總線電平進(jìn)行采樣的位置。通常用百分比表示,例如CAN、CANFD總線常見(jiàn)的采樣點(diǎn)為75%~90%。
過(guò)早采樣(如60%):信號(hào)可能尚未穩(wěn)定,易受噪聲干擾;
過(guò)晚采樣(如95%):可能錯(cuò)過(guò)信號(hào)跳變,導(dǎo)致誤碼。
2、采樣點(diǎn)的核心原理
總線通信依賴嚴(yán)格的時(shí)序同步,采樣點(diǎn)的位置由以下因素決定:
● 波特率(Baud Rate);
● 傳播段(Propagation Segment);
●相位緩沖段(Phase Buffer Segments)。
其中,傳播段、相位緩沖段以及同步段組成一個(gè)“位”,CAN控制器的最小時(shí)間周期稱作時(shí)間量子(Tq),一個(gè)位由若干個(gè)Tq組成,如圖1所示。

圖1 位時(shí)間結(jié)構(gòu)圖
3、位時(shí)間結(jié)構(gòu)介紹
用一個(gè)通俗的比喻來(lái)解釋CAN總線中的這幾個(gè)關(guān)鍵時(shí)間段:把CAN通信想象成一場(chǎng)"傳球比賽"。
假設(shè)你和隊(duì)友們?cè)谕嬉粋€(gè)蒙眼傳球游戲(因?yàn)镃AN總線看不到對(duì)方的信號(hào)),必須嚴(yán)格按節(jié)奏傳遞。這時(shí)候每個(gè)位時(shí)間(1bit的時(shí)間)被分成4個(gè)關(guān)鍵階段:
● 同步段(Sync Segment)—— "預(yù)備!"就像裁判吹哨示意"比賽開始"的時(shí)刻。所有節(jié)點(diǎn)在這里強(qiáng)制對(duì)齊時(shí)鐘,相當(dāng)于喊"1、2、3,開始!"。長(zhǎng)度固定為1個(gè)時(shí)間單位(Tq)。● 傳播段(Propagation Segment)—— "球在飛的時(shí)間"
球(信號(hào))從發(fā)送方到接收方需要飛行時(shí)間。
這段是用來(lái)補(bǔ)償物理延遲的(比如總線長(zhǎng)度導(dǎo)致的信號(hào)延遲)。
長(zhǎng)度可調(diào),長(zhǎng)距離總線需要設(shè)置更長(zhǎng)時(shí)間。
就像傳球距離遠(yuǎn)時(shí),要預(yù)留更多時(shí)間等球飛過(guò)去。● 相位緩沖段1(Phase Buffer Segment 1)—— "等慢隊(duì)友"
有些隊(duì)友(節(jié)點(diǎn))反應(yīng)慢,這個(gè)階段是主動(dòng)等待他們跟上節(jié)奏。
如果信號(hào)邊沿來(lái)得比預(yù)期晚,會(huì)延長(zhǎng)這個(gè)段來(lái)重新同步。
長(zhǎng)度可調(diào)。
相當(dāng)于你傳球后,發(fā)現(xiàn)接球人還沒(méi)準(zhǔn)備好,就多等一會(huì)兒。
● 相位緩沖段2(Phase Buffer Segment 2)—— "催快隊(duì)友"
有些隊(duì)友(節(jié)點(diǎn))反應(yīng)太快,這個(gè)階段是防止他們搶跑。
如果信號(hào)邊沿來(lái)得比預(yù)期早,會(huì)縮短這個(gè)段來(lái)重新同步。
長(zhǎng)度可調(diào)。
相當(dāng)于接球人如果提前伸手了,你就喊"別急!按節(jié)奏來(lái)!"
3、關(guān)鍵總結(jié):
表1 總結(jié)

采樣點(diǎn)不一致對(duì)總線的四大致命影響
1、數(shù)據(jù)"鬼影"——誤判0和1
問(wèn)題:節(jié)點(diǎn)A在信號(hào)穩(wěn)定時(shí)采樣(正確),節(jié)點(diǎn)B在信號(hào)跳變時(shí)采樣(誤判)。
案例:某新能源汽車CANFD總線出現(xiàn)無(wú)故剎車信號(hào),查因是某個(gè)ECU采樣點(diǎn)設(shè)置偏早,將噪聲誤判為制動(dòng)指令。
2、總線"堵車"——錯(cuò)誤幀暴增
問(wèn)題:錯(cuò)誤數(shù)據(jù)觸發(fā)重傳,占用帶寬。
案例:某工廠CAN網(wǎng)絡(luò)突然通信延遲,發(fā)現(xiàn)是新增設(shè)備采樣點(diǎn)與其他節(jié)點(diǎn)相差15%,導(dǎo)致30%的錯(cuò)誤幀重傳。
3、隊(duì)友"掉線"——節(jié)點(diǎn)Bus-Off
問(wèn)題:錯(cuò)誤累積超限,節(jié)點(diǎn)自動(dòng)退出通信。
案例:某工程機(jī)械儀表盤黑屏,因網(wǎng)關(guān)模塊采樣點(diǎn)不匹配,持續(xù)報(bào)錯(cuò)后進(jìn)入Bus-Off狀態(tài)。
4、玄學(xué)故障——時(shí)好時(shí)壞
問(wèn)題:高溫/振動(dòng)下故障加?。ㄐ盘?hào)抖動(dòng)放大采樣偏差)。
案例:某自動(dòng)駕駛測(cè)試車夜間頻繁報(bào)錯(cuò),白天正常,最終發(fā)現(xiàn)是低溫下采樣點(diǎn)偏移量超標(biāo)。
三步救命方案
測(cè):用專業(yè)儀器(比如我們ZPS-CANFD總線分析儀)檢查各節(jié)點(diǎn)采樣點(diǎn);
調(diào):統(tǒng)一設(shè)置為推薦值(CAN、CANFD總線通常75%~90%);
驗(yàn):模擬高溫/振動(dòng)環(huán)境復(fù)測(cè)。
血淚教訓(xùn):某車企召回事件,根源竟是供應(yīng)商A的ECU采樣點(diǎn)默認(rèn)85%,供應(yīng)商B的默認(rèn)78%!
ZPS-CANFD總線分析儀功能介紹-節(jié)點(diǎn)采樣點(diǎn)測(cè)量
1、測(cè)試原理
干擾測(cè)試:
ZPS設(shè)備發(fā)送帶干擾脈沖的報(bào)文,逐步從后往前干擾數(shù)據(jù)位,直到被測(cè)設(shè)備(DUT)因采樣錯(cuò)誤而發(fā)送錯(cuò)誤幀。如圖2所示。

圖2 干擾原理
計(jì)算采樣點(diǎn):
在錯(cuò)誤幀波形中,找到被干擾的位。測(cè)量該位未被干擾部分的脈寬(T_unaffected),除以整個(gè)位時(shí)間(T_bit),即可得到采樣點(diǎn)位置:采樣點(diǎn) = T_unaffected / T_bit2、測(cè)試方法
連接設(shè)備:
按照?qǐng)D3所示,連接CANH、CANL、CAN-GND,并將ZPS-CANFD的DSO口DUT的RX和地線相連(如果DUT無(wú)法引出RX可以用網(wǎng)絡(luò)采樣點(diǎn)評(píng)估功能)。

圖3 ZPS與DUT的接線方法
總線配置:
設(shè)置節(jié)點(diǎn)波特率、終端電阻、工作模式,并將采樣比調(diào)至最大,如圖4所示。

圖4 總線配置
參數(shù)設(shè)置
設(shè)置基本參數(shù)、硬件相關(guān)配置、測(cè)試算法等等,按照測(cè)試要求一步步設(shè)置好,大部分參數(shù)使用默認(rèn)參數(shù),設(shè)置好RX數(shù)據(jù)源即可,如圖5所示。

圖5 參數(shù)設(shè)置
結(jié)果展示
結(jié)果展示界面會(huì)展示仲裁域和數(shù)據(jù)域的測(cè)試過(guò)程,并在下方以圖標(biāo)的方式清晰地展示采樣點(diǎn)測(cè)試結(jié)果,如圖6所示。

圖6 采樣點(diǎn)測(cè)試結(jié)果
總結(jié)
CAN、CANFD總線節(jié)點(diǎn)采樣點(diǎn)不一致就像一場(chǎng)錯(cuò)拍的合唱,輕則數(shù)據(jù)誤碼、通信延遲,重則引發(fā)系統(tǒng)宕機(jī)甚至安全事故。無(wú)論是汽車電子還是工業(yè)控制,精準(zhǔn)的采樣點(diǎn)同步都是保障總線穩(wěn)定運(yùn)行的關(guān)鍵。通過(guò)專業(yè)測(cè)試設(shè)備及早發(fā)現(xiàn)并校準(zhǔn)采樣點(diǎn)偏差,才能讓您的通信網(wǎng)絡(luò)告別"數(shù)據(jù)車禍",真正做到高效可靠!
-
CAN
+關(guān)注
關(guān)注
57文章
2919瀏覽量
467763 -
數(shù)字信號(hào)電平
+關(guān)注
關(guān)注
0文章
10瀏覽量
7270 -
總線通信
+關(guān)注
關(guān)注
0文章
60瀏覽量
12036
發(fā)布評(píng)論請(qǐng)先 登錄
CAN總線采樣點(diǎn)不一致的危害
不一致IP設(shè)置
AD9910初始相位不一致
基于偏好不一致熵的偏好決策方法
不一致數(shù)據(jù)上精確決策樹生成算法

感興趣區(qū)域不一致性決策算法
分布式大數(shù)據(jù)不一致性檢測(cè)
鋰電池組不一致性的原因及危害是怎樣的
鋰電池組不一致性的原因是什么,它的危害有哪些
如何利用CAN采樣點(diǎn)測(cè)試方案提高CAN網(wǎng)絡(luò)通信成功率

評(píng)論