CAN與CAN FD通信之間存在的問題
因為受制于產(chǎn)品的穩(wěn)定性考驗,改造成本等問題,沒法快速全面普及CAN FD。另外,在2012年底提出CAN FD到2015年中成為ISO CAN FD。
也就是說目前市場上大部分都還是在用傳統(tǒng)的CAN2.0,有一小部分用非ISO標(biāo)準(zhǔn)的CAN FD,一部分用ISO標(biāo)準(zhǔn)的CAN FD。
這樣會遇到一個問題:傳統(tǒng)CAN與CAN FD共存的網(wǎng)絡(luò)中,如何解決彼此通訊?
將可能存在的問題分成了4類。
1
通訊速率和數(shù)據(jù)長度不同的問題
這個問題里面,又分成如下幾種情況:
傳統(tǒng)CAN節(jié)點以1Mbit/s 傳輸數(shù)據(jù)到 CAN FD;
CAN FD設(shè)備以8Mbit/s傳輸數(shù)據(jù)到傳統(tǒng)CAN;
傳統(tǒng)CAN節(jié)點向 CAN FD節(jié)點傳輸8字節(jié)的數(shù)據(jù);
CAN FD節(jié)點向傳統(tǒng)CAN 節(jié)點傳輸64字節(jié)的數(shù)據(jù)。
第1種情況和第3種情況是可以直接通過的,因為CAN FD天然向下兼容CAN2.0。
CAN FD節(jié)點向傳統(tǒng)CAN 節(jié)點傳輸64字節(jié)的數(shù)據(jù),需要采用可編程CAN FD路由器。預(yù)先編程并下載到路由器,CAN FD數(shù)據(jù)通過路由器后可以按照預(yù)先設(shè)置的程序?qū)?shù)據(jù)做拆包等處理再轉(zhuǎn)成8字節(jié)轉(zhuǎn)發(fā)出去給傳統(tǒng)CAN設(shè)備。
2
非ISO CAN FD與ISO CAN FD設(shè)備的通訊問題
非ISO CAN FD與 ISO CAN FD的共同點在于:傳輸速率一致,數(shù)據(jù)長度一致。區(qū)別在于:后者引入了一個3位的填充位計數(shù)器以及額外的校驗位,另外,CRC計算值也不同。
所以兩者是不兼容的,因此CiA建議所有的CAN FD應(yīng)用需注明ISO CAN FD或non-ISO CAN FD。
2012年底到2015年中之前有很多廠家已經(jīng)開發(fā)了CAN FD產(chǎn)品,但是那個是非ISO標(biāo)準(zhǔn)的CAN FD產(chǎn)品,并且已經(jīng)有少部分產(chǎn)品已經(jīng)在市場流通。而這些非ISO產(chǎn)品的供應(yīng)商也沒法完全收回或者銷毀原有產(chǎn)品,所以這些供應(yīng)商仍然需要解決這個問題。
3
多設(shè)備切換的通訊問題
未來的CAN網(wǎng)絡(luò),較長時間內(nèi)都會存在著傳統(tǒng)CAN與CAN FD并存的情況。
那么在一個共存網(wǎng)絡(luò)中,就需要解決某幾個設(shè)備之間交叉通訊的問題、多個切換的問題、以及一個設(shè)備需要同時與CAN FD節(jié)點和傳統(tǒng)CAN節(jié)點通訊的切換問題。
如下圖所示,一個網(wǎng)絡(luò)中只有EMS與ABS是用CAN FD的,如果是EMS和ABS通信,這個時候只要對CAN FD之間的數(shù)據(jù)1:1轉(zhuǎn)發(fā)即可。但是如果是EMS或者ABS與其他ECU通信,那么這時就需要將CAN FD數(shù)據(jù)切換為傳統(tǒng)CAN再轉(zhuǎn)發(fā)。
否則可能會遇到以下兩種問題:
1、使用CAN FD網(wǎng)絡(luò)時,需要ECU和CAN控制器、收發(fā)器均支持CAN FD通訊。當(dāng)CAN網(wǎng)絡(luò)中某些節(jié)點升級為CAN FD時,車輛上CAN與CAN FD處于共存的情況,因為普通的CAN節(jié)點無法正常解析CAN FD報文,節(jié)點就會一直報錯,出現(xiàn)大量錯誤報文,導(dǎo)致總線通訊異常。
2、假設(shè)CAN FD的數(shù)據(jù)傳輸速率是5Mbit/s,而CAN的傳輸速率為500Kbit/s,平常使用上位機軟件解析CAN報文的時候需要設(shè)置對應(yīng)的波特率,否則報文無法解析。可能會遇到波特率不匹配,不能被正常解析,節(jié)點報錯,導(dǎo)致CAN FD報文無法正常發(fā)送,干擾總線的正常運行。
當(dāng)然也是有一些解決辦法的,如下:
1、CAN節(jié)點忽略CAN FD報文
支持CAN2.0的ECU忽略CAN FD報文不對其進(jìn)行識別,這樣雖然無法對CAN FD報文進(jìn)行解析處理,但是也不會將其識別為錯誤幀,總線可以保證正常通訊。
因為CAN FD是向下兼容CAN的,保證CAN FD節(jié)點可以正常接收所有類型的CAN報文,CAN節(jié)點無法接收解析CAN FD報文,該解決方案僅可作為臨時使用。
2、全部節(jié)點升級為CAN FD
將所有網(wǎng)絡(luò)上所有的節(jié)點都替換成CAN FD,由于CAN FD可以向下兼容CAN,此時的網(wǎng)絡(luò)既可以進(jìn)行CAN報文收發(fā)也可以進(jìn)行CAN FD報文收發(fā)。
但是由于整體網(wǎng)絡(luò)全部更新替換,成本較高,所以使用率很低。
3、利用CAN網(wǎng)橋進(jìn)行CAN FD與CAN的轉(zhuǎn)換
在原有的CAN網(wǎng)絡(luò)上通過CAN網(wǎng)橋與新的CAN FD節(jié)點進(jìn)行連接,將傳統(tǒng)的CAN總線網(wǎng)絡(luò)通過協(xié)議轉(zhuǎn)換與CAN FD網(wǎng)絡(luò)進(jìn)行融合,快速實現(xiàn)CAN設(shè)備的升級。
當(dāng)接收到CAN FD報文的時候,CAN網(wǎng)橋會采用直轉(zhuǎn)、合并、拆分三種方式實現(xiàn)傳統(tǒng)CAN的8字節(jié)長度和CAN FD的64字節(jié)長度的互相轉(zhuǎn)換,無損還原原有數(shù)據(jù)。
4
測試平臺共用的問題
CAN FD節(jié)點在進(jìn)行環(huán)境測試、疲勞測試、壽命測試等的情況下,只需要測試設(shè)備本身的性能,而與通訊速率/字節(jié)數(shù)無關(guān),因此,這幾類測試可以沿用傳統(tǒng)CAN設(shè)備的測試平臺。
而CAN FD通訊性能的測試、兼容性測試等涉及到通訊機制本身,因此這類測試需要用新的CAN FD測試工具。
一個完整的測試需要同時滿足以上所有測試條件,因此存在兩種測試平臺的交互。
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。