CAN總線因強(qiáng)大的抗干擾和糾錯重發(fā)機(jī)制,被廣泛應(yīng)用于新能源汽車、軌道交通、醫(yī)療、煤礦、電機(jī)驅(qū)動等行業(yè),但在CAN總線遇見不同程度的問題時,工程師該如何有效進(jìn)行CAN-bus總線的安全保障呢?
在紛雜的CAN總線現(xiàn)場應(yīng)用中,您是否遇到比如兩端總線不兼容、總線干擾大、負(fù)載率高、通信距離不夠、波特率不匹配等問題,這時你會怎么處理呢?那接下來就介紹一下今天的主角,看看它是怎么解決這些問題的吧!
“CAN-bus安全保鏢”——CAN/CANFD網(wǎng)橋簡介
CAN網(wǎng)橋類設(shè)備分為傳統(tǒng)高速CAN網(wǎng)橋(CANBridge+)和支持CANFD的網(wǎng)橋(CANFDBridge),如圖1所示。CANFDBridge是一款智能CANFD網(wǎng)橋,功能上覆蓋傳統(tǒng)高速CAN網(wǎng)橋,并且性能更好。CANFDBridge最低波特率僅支持 50Kbps,若CAN網(wǎng)絡(luò)波特率低于 50Kbps 則選擇 CANBridge+,接下來以CANFDBridge為例介紹一下它的技能吧。
圖1 CANFDBridge 和 CANBridge+
安全保障技能1——隔離干擾
隔離干擾是 CAN/CAN FD 網(wǎng)橋最重要的一個應(yīng)用,網(wǎng)橋從軟硬件兩方面提升了設(shè)備抗干擾能力,硬件上采用電源、通信雙隔離的CAN模塊,實(shí)現(xiàn)2500VDC電氣隔離的CAN/CAN FD接口,靜電等級接觸放電±8KV,軟件上增加了抗干擾算法,可以有效隔離總線干擾。
如在充電樁及新能源汽車行業(yè),強(qiáng)電流往往滋生復(fù)雜的電磁環(huán)境,導(dǎo)致通訊異常不斷,比如會出現(xiàn)數(shù)據(jù)上傳遲緩,儀表盤顯示異常,有ECU死機(jī)等問題。面對干擾,有兩種措施,消除干擾源或者隔離干擾。但有些應(yīng)用是無法消除干擾源,如在新能源車中,電機(jī)的啟停伴隨著強(qiáng)電磁干擾,簡單的做法是增加CANFDBridge將干擾隔離,如下圖2所示.
圖2 干擾隔離應(yīng)用示例
安全保障技能2——ID過濾及轉(zhuǎn)化降低負(fù)載率
在高負(fù)載的CAN網(wǎng)絡(luò)中,某些CAN節(jié)點(diǎn)MCU性能低,無法處理總線上的所有的數(shù)據(jù),導(dǎo)致自己需要的數(shù)據(jù)無法收到,出現(xiàn)這種情況只能過濾掉不需要的數(shù)據(jù)。CAN 網(wǎng)橋具有硬件執(zhí)行驗(yàn)收過濾的能力,每個CAN通道支持設(shè)置64組標(biāo)準(zhǔn)幀單ID/標(biāo)準(zhǔn)幀組ID/擴(kuò)展幀單ID/擴(kuò)展幀組ID的過濾配置,可有效過濾無需數(shù)據(jù),這樣能夠最大程度上減小網(wǎng)絡(luò)負(fù)載。
圖3 濾波功能
ID轉(zhuǎn)化功能使用的是CANFDBridge的幀映射功能,單路最大可設(shè)置64條。例如在電池檢測行業(yè),每組電池控制器使用相同的幀ID,無法安裝在同一個網(wǎng)絡(luò)整體測試,此時可以使用幀映射功能實(shí)現(xiàn)多組電池的檢測。除此之外,數(shù)據(jù)部分也可進(jìn)行轉(zhuǎn)換,如圖4所示。
圖4 ID與數(shù)據(jù)轉(zhuǎn)換映射功能
安全保障技能3——波特率轉(zhuǎn)化
在一個復(fù)雜的工程中往往會用到多種類型的CAN設(shè)備,他們來自不同公司不同的設(shè)計方案,可能使用不同的波特率卻不支持修改。圖5中所示,很顯然這些設(shè)備不能直接掛載到同一CAN網(wǎng)絡(luò)中,此時可通過CANFDBridge實(shí)現(xiàn)不同設(shè)備的波特率匹配及互相通信。此外,CANFDBridge支持自定義波特率配置,能輕松應(yīng)對各種特殊設(shè)備。
圖5 波特率轉(zhuǎn)化功能
安全保障技能4——延長通信距離
大家都知道,波特率越大傳輸距離就越短,但在實(shí)際應(yīng)用中經(jīng)常會遇到超出傳輸距離導(dǎo)致CAN報文丟幀的現(xiàn)象,如圖6所示,網(wǎng)絡(luò)波特率是1Mbps,當(dāng)總線超過40m,CAN 報文會丟幀,伴隨著通信距離越長,網(wǎng)絡(luò)丟幀現(xiàn)象越嚴(yán)重,因此整個網(wǎng)絡(luò)數(shù)據(jù)傳輸受到CAN 總線通信距離的限制。針對此情況可使用CANFDBridge,來延長總線通信距離。