眾所周知,CAN FD是基于CAN 2.0的升級(jí)版協(xié)議,為了滿足汽車電子日益增長(zhǎng)的高帶寬和高傳輸速率的要求,CAN FD主要升級(jí)了以下幾個(gè)方面:
1、更高的傳輸波特率
圖1 可變數(shù)據(jù)段波特率結(jié)構(gòu)
CAN FD速率包含兩個(gè)段的速率,其中仲裁段和ACK段沿用CAN2.0的規(guī)范,最高速率為1Mbit/s,中間的數(shù)據(jù)段是可以加速的,標(biāo)稱可以達(dá)到5Mbit/s,甚至更高。
2、更高效的數(shù)據(jù)段
對(duì)于汽車電子來(lái)說(shuō),對(duì)車輛動(dòng)力系統(tǒng)、底盤以及主被動(dòng)系統(tǒng)來(lái)說(shuō),加長(zhǎng)的數(shù)據(jù)段避免了數(shù)據(jù)非必要的拆分,大大提升了CAN幀的傳輸效率。
圖2 CAN FD高效的數(shù)據(jù)段
3、更可靠的CRC校驗(yàn)和額外的控制位
在傳統(tǒng)的CAN 2.0中,由于填充規(guī)則會(huì)對(duì)CRC產(chǎn)生干擾,在CAN FD中升級(jí)了算法,將填充位加入多項(xiàng)式的運(yùn)算,主要作為格式檢查,考慮數(shù)據(jù)長(zhǎng)度變化的區(qū)間很大,CRC也根據(jù)區(qū)間會(huì)生成兩種校驗(yàn)算法,當(dāng)幀長(zhǎng)小于210位,使用CRC_17,當(dāng)幀長(zhǎng)小于1023位,使用CRC_21位算法。
圖3 可靠的CRC校驗(yàn)
另外在CAN FD中利用了部分保留標(biāo)志位,新增三種控制位,包括EDL(是否是CAN FD幀)、BRS(是否可變速率)以及ESI(錯(cuò)誤狀態(tài)),豐富幀內(nèi)的有用信息。
圖4 新增控制位
接下來(lái)我們回到正題,升級(jí)后的CAN FD到底能跑多快呢?那就用一個(gè)問題開始,大家都知道CAN 2.0最高速率可以到1M,但是為什么汽車電子高速CAN只跑到500K呢?
對(duì)于CAN總線的傳輸速率來(lái)講,傳輸距離和傳輸速率是成反比的,一般來(lái)說(shuō)傳輸距離(m)=(50000/波特率kbps)*0.8,如圖5所示。
圖5 傳輸距離和傳輸速率的關(guān)系
實(shí)際在總線傳輸?shù)倪^(guò)程中,只有在實(shí)際應(yīng)用環(huán)境下穩(wěn)定傳輸才是重中之重,所以1M波特率在汽車電子會(huì)很難,接下來(lái)就如何實(shí)現(xiàn)高速率的穩(wěn)定傳輸因素做以下淺析。
首先是CAN收發(fā)器,收發(fā)器的功能是將邏輯值轉(zhuǎn)換為電平值,但電平在傳輸?shù)倪^(guò)程中難免衰減,傳輸線纜本身的阻抗和容抗無(wú)法避免,尤其是首位終端電阻(基于手牽手拓?fù)洌?,主要有兩個(gè)功能:
首尾120歐姆終端電阻,保證阻抗連續(xù)性(防止電信號(hào)反射);
放電作用。
針對(duì)終端電阻放電作用,我們下面從兩個(gè)層面分析:
一、電平傳輸層面分析
圖6 CAN FD波形