博客專欄

EEPW首頁(yè) > 博客 > CAN與CAN FD通信之間存在的問題

CAN與CAN FD通信之間存在的問題

發(fā)布人:美男子玩編程 時(shí)間:2022-10-18 來源:工程師 發(fā)布文章

因?yàn)槭苤朴诋a(chǎn)品的穩(wěn)定性考驗(yàn),改造成本等問題,沒法快速全面普及CAN FD。另外,在2012年底提出CAN FD到2015年中成為ISO CAN FD。


也就是說目前市場(chǎng)上大部分都還是在用傳統(tǒng)的CAN2.0,有一小部分用非ISO標(biāo)準(zhǔn)的CAN FD,一部分用ISO標(biāo)準(zhǔn)的CAN FD。


這樣會(huì)遇到一個(gè)問題:傳統(tǒng)CAN與CAN FD共存的網(wǎng)絡(luò)中,如何解決彼此通訊?

將可能存在的問題分成了4類。


1


通訊速率和數(shù)據(jù)長(zhǎng)度不同的問題

這個(gè)問題里面,又分成如下幾種情況:

  • 傳統(tǒng)CAN節(jié)點(diǎn)以1Mbit/s 傳輸數(shù)據(jù)到 CAN FD;

  • CAN FD設(shè)備以8Mbit/s傳輸數(shù)據(jù)到傳統(tǒng)CAN;

  • 傳統(tǒng)CAN節(jié)點(diǎn)向 CAN FD節(jié)點(diǎn)傳輸8字節(jié)的數(shù)據(jù);

  • CAN FD節(jié)點(diǎn)向傳統(tǒng)CAN 節(jié)點(diǎn)傳輸64字節(jié)的數(shù)據(jù)。


第1種情況和第3種情況是可以直接通過的,因?yàn)镃AN FD天然向下兼容CAN2.0。


CAN FD節(jié)點(diǎn)向傳統(tǒng)CAN 節(jié)點(diǎn)傳輸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的共同點(diǎn)在于:傳輸速率一致,數(shù)據(jù)長(zhǎng)度一致。區(qū)別在于:后者引入了一個(gè)3位的填充位計(jì)數(shù)器以及額外的校驗(yàn)位,另外,CRC計(jì)算值也不同。


所以兩者是不兼容的,因此CiA建議所有的CAN FD應(yīng)用需注明ISO CAN FD或non-ISO CAN FD。


2012年底到2015年中之前有很多廠家已經(jīng)開發(fā)了CAN FD產(chǎn)品,但是那個(gè)是非ISO標(biāo)準(zhǔn)的CAN FD產(chǎn)品,并且已經(jīng)有少部分產(chǎn)品已經(jīng)在市場(chǎng)流通。而這些非ISO產(chǎn)品的供應(yīng)商也沒法完全收回或者銷毀原有產(chǎn)品,所以這些供應(yīng)商仍然需要解決這個(gè)問題。


3


多設(shè)備切換的通訊問題

未來的CAN網(wǎng)絡(luò),較長(zhǎng)時(shí)間內(nèi)都會(huì)存在著傳統(tǒng)CAN與CAN FD并存的情況。


那么在一個(gè)共存網(wǎng)絡(luò)中,就需要解決某幾個(gè)設(shè)備之間交叉通訊的問題、多個(gè)切換的問題、以及一個(gè)設(shè)備需要同時(shí)與CAN FD節(jié)點(diǎn)和傳統(tǒng)CAN節(jié)點(diǎn)通訊的切換問題。


如下圖所示,一個(gè)網(wǎng)絡(luò)中只有EMS與ABS是用CAN FD的,如果是EMS和ABS通信,這個(gè)時(shí)候只要對(duì)CAN FD之間的數(shù)據(jù)1:1轉(zhuǎn)發(fā)即可。但是如果是EMS或者ABS與其他ECU通信,那么這時(shí)就需要將CAN FD數(shù)據(jù)切換為傳統(tǒng)CAN再轉(zhuǎn)發(fā)。


圖片

否則可能會(huì)遇到以下兩種問題:

1、使用CAN FD網(wǎng)絡(luò)時(shí),需要ECU和CAN控制器、收發(fā)器均支持CAN FD通訊。當(dāng)CAN網(wǎng)絡(luò)中某些節(jié)點(diǎn)升級(jí)為CAN FD時(shí),車輛上CAN與CAN FD處于共存的情況,因?yàn)槠胀ǖ腃AN節(jié)點(diǎn)無(wú)法正常解析CAN FD報(bào)文,節(jié)點(diǎn)就會(huì)一直報(bào)錯(cuò),出現(xiàn)大量錯(cuò)誤報(bào)文,導(dǎo)致總線通訊異常。

2、假設(shè)CAN FD的數(shù)據(jù)傳輸速率是5Mbit/s,而CAN的傳輸速率為500Kbit/s,平常使用上位機(jī)軟件解析CAN報(bào)文的時(shí)候需要設(shè)置對(duì)應(yīng)的波特率,否則報(bào)文無(wú)法解析??赡軙?huì)遇到波特率不匹配,不能被正常解析,節(jié)點(diǎn)報(bào)錯(cuò),導(dǎo)致CAN FD報(bào)文無(wú)法正常發(fā)送,干擾總線的正常運(yùn)行。


當(dāng)然也是有一些解決辦法的,如下:


1、CAN節(jié)點(diǎn)忽略CAN FD報(bào)文

支持CAN2.0的ECU忽略CAN FD報(bào)文不對(duì)其進(jìn)行識(shí)別,這樣雖然無(wú)法對(duì)CAN FD報(bào)文進(jìn)行解析處理,但是也不會(huì)將其識(shí)別為錯(cuò)誤幀,總線可以保證正常通訊。


因?yàn)镃AN FD是向下兼容CAN的,保證CAN FD節(jié)點(diǎn)可以正常接收所有類型的CAN報(bào)文,CAN節(jié)點(diǎn)無(wú)法接收解析CAN FD報(bào)文,該解決方案僅可作為臨時(shí)使用。


2、全部節(jié)點(diǎn)升級(jí)為CAN FD

將所有網(wǎng)絡(luò)上所有的節(jié)點(diǎn)都替換成CAN FD,由于CAN FD可以向下兼容CAN,此時(shí)的網(wǎng)絡(luò)既可以進(jìn)行CAN報(bào)文收發(fā)也可以進(jìn)行CAN FD報(bào)文收發(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é)點(diǎn)進(jìn)行連接,將傳統(tǒng)的CAN總線網(wǎng)絡(luò)通過協(xié)議轉(zhuǎn)換與CAN FD網(wǎng)絡(luò)進(jìn)行融合,快速實(shí)現(xiàn)CAN設(shè)備的升級(jí)。


當(dāng)接收到CAN FD報(bào)文的時(shí)候,CAN網(wǎng)橋會(huì)采用直轉(zhuǎn)、合并、拆分三種方式實(shí)現(xiàn)傳統(tǒng)CAN的8字節(jié)長(zhǎng)度和CAN FD的64字節(jié)長(zhǎng)度的互相轉(zhuǎn)換,無(wú)損還原原有數(shù)據(jù)。


4


測(cè)試平臺(tái)共用的問題

CAN FD節(jié)點(diǎn)在進(jìn)行環(huán)境測(cè)試、疲勞測(cè)試、壽命測(cè)試等的情況下,只需要測(cè)試設(shè)備本身的性能,而與通訊速率/字節(jié)數(shù)無(wú)關(guān),因此,這幾類測(cè)試可以沿用傳統(tǒng)CAN設(shè)備的測(cè)試平臺(tái)。


而CAN FD通訊性能的測(cè)試、兼容性測(cè)試等涉及到通訊機(jī)制本身,因此這類測(cè)試需要用新的CAN FD測(cè)試工具。


一個(gè)完整的測(cè)試需要同時(shí)滿足以上所有測(cè)試條件,因此存在兩種測(cè)試平臺(tái)的交互。



*博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: CAN

技術(shù)專區(qū)

關(guān)閉