本文導(dǎo)讀
眾所周知CAN FD是CAN 2.0的升級(jí)協(xié)議,也是汽車(chē)電子行業(yè)未來(lái)發(fā)展的主要趨勢(shì),那CAN FD到底能跑多快呢?眾所周知,CAN FD是基于CAN 2.0的升級(jí)版協(xié)議,為了滿(mǎn)足汽車(chē)電子日益增長(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)稱(chēng)可以達(dá)到5Mbit/s,甚至更高。
2、更高效的數(shù)據(jù)段
對(duì)于汽車(chē)電子來(lái)說(shuō),對(duì)車(chē)輛動(dòng)力系統(tǒng)、底盤(pán)以及主被動(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è)問(wèn)題開(kāi)始,大家都知道CAN 2.0最高速率可以到1M,但是為什么汽車(chē)電子高速CAN只跑到500K呢?
對(duì)于CAN總線(xiàn)的傳輸速率來(lái)講,傳輸距離和傳輸速率是成反比的,一般來(lái)說(shuō)傳輸距離(m)=(50000/波特率kbps)*0.8,如圖5所示。
圖5 傳輸距離和傳輸速率的關(guān)系
實(shí)際在總線(xiàn)傳輸?shù)倪^(guò)程中,只有在實(shí)際應(yīng)用環(huán)境下穩(wěn)定傳輸才是重中之重,所以1M波特率在汽車(chē)電子會(huì)很難,接下來(lái)就如何實(shí)現(xiàn)高速率的穩(wěn)定傳輸因素做以下淺析。
首先是CAN收發(fā)器,收發(fā)器的功能是將邏輯值轉(zhuǎn)換為電平值,但電平在傳輸?shù)倪^(guò)程中難免衰減,傳輸線(xiàn)纜本身的阻抗和容抗無(wú)法避免,尤其是首位終端電阻(基于手牽手拓?fù)洌饕袃蓚€(gè)功能:
-
首尾120歐姆終端電阻,保證阻抗連續(xù)性(防止電信號(hào)反射);
-
放電作用。
針對(duì)終端電阻放電作用,我們下面從兩個(gè)層面分析:
一、電平傳輸層面分析
圖6 CAN FD波形
我們先來(lái)看一個(gè)CAN FD分解波形,其中是由顯隱性電平構(gòu)成的,其中上升沿是由CAN收發(fā)器芯片本身驅(qū)動(dòng)的。當(dāng)顯性電平轉(zhuǎn)變?yōu)殡[形電平的時(shí)候,需要終端電阻放電,所以下降沿是我們的終端電阻放電的造成的。
圖7 負(fù)載電阻與差分幅值的關(guān)系
如果下降沿緩慢是什么原因?qū)е拢?/strong>
1、檢查收發(fā)器外圍電路是否存在容性較大的器件(不影響電路正常工作的情況下拆除),重新測(cè)試波形是否正常;
2、檢查線(xiàn)纜的參數(shù),每米容抗是否在正常范圍內(nèi),正常線(xiàn)纜電容在40-70pF/m,容抗太大,建議更換線(xiàn)纜;
3、增加終端電阻放電,建議采用專(zhuān)業(yè)設(shè)備測(cè)試網(wǎng)絡(luò)阻抗容抗做正確匹配。
圖8 CANscope總線(xiàn)阻抗容抗測(cè)試
二、總線(xiàn)網(wǎng)絡(luò)數(shù)據(jù)能否正確傳輸層面
阻抗太大,電壓幅值壓降太大,傳輸距離大大降低。現(xiàn)象就是在手牽手的網(wǎng)絡(luò)拓?fù)渲校?dāng)然差分幅值最好不要低于1.3V,防止在強(qiáng)干擾的環(huán)境下,導(dǎo)致收發(fā)器無(wú)法識(shí)別或誤識(shí)別總線(xiàn)信號(hào)。
容抗也是影響下降沿的重要因素,如果下降沿太緩慢會(huì)導(dǎo)致位寬拉長(zhǎng),導(dǎo)致收發(fā)器錯(cuò)誤識(shí)別,導(dǎo)致0/1的翻轉(zhuǎn),CAN總線(xiàn)是錯(cuò)誤重發(fā)的機(jī)制,會(huì)一直重發(fā),直到這一幀被正確接收。
圖9 電容對(duì)下降沿的影響
同樣的我們回到阻抗和容抗的匹配是如何影響CAN FD的傳輸速率的呢,接下來(lái)我們用實(shí)測(cè)證明:
圖10 穩(wěn)定時(shí)間140ns
前面我也提到5M數(shù)據(jù)速率時(shí),位時(shí)間是200ns,實(shí)際傳輸過(guò)程中,一位時(shí)間包含了上升沿、下降沿以及數(shù)據(jù)穩(wěn)定時(shí)間,如圖10所示,數(shù)據(jù)穩(wěn)定時(shí)間按是140ns,那其中上升沿和下降沿占了60ns,理想情況下,上升沿和下降沿完全對(duì)稱(chēng),其中上升沿時(shí)間是30ns,按照邊沿極限值12%計(jì)算,實(shí)際算出來(lái)的位時(shí)間=30/(12/100)=250ns,那么相對(duì)應(yīng)的傳輸波特率就=1/250ns=4M波特率,所以實(shí)際5M波特率也就是在測(cè)試使用,如果按照7%的邊沿時(shí)間為安全值來(lái)計(jì)算,實(shí)際的位時(shí)間=30/(7/100)約等于42ns,相對(duì)應(yīng)的傳輸波特率=1/42ns約等于2.3M,所以想要實(shí)際在工況下穩(wěn)定可靠傳輸,數(shù)據(jù)端波特率在2M左右比較合理。
綜上所述,影響CAN FD到底能傳輸多快影響的因素非常多,也是我們大多數(shù)工程師在實(shí)際CAN總線(xiàn)開(kāi)發(fā)的過(guò)程中會(huì)忽略的問(wèn)題,如果需要CAN總線(xiàn)的相應(yīng)產(chǎn)品解決方案,歡迎添加微信號(hào):zlgmcu-888,期待與您的探討和交流。
-
阻抗
+關(guān)注
關(guān)注
17文章
970瀏覽量
47108 -
CAN
+關(guān)注
關(guān)注
57文章
2899瀏覽量
466978 -
crc
+關(guān)注
關(guān)注
0文章
204瀏覽量
30024
原文標(biāo)題:CAN FD的波特率到底能跑多快?
文章出處:【微信號(hào):ZLG_zhiyuan,微信公眾號(hào):ZLG致遠(yuǎn)電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
can波特率計(jì)算

CAN FD的波特率到底能跑多快?
什么是串口波特率?串口波特率的分類(lèi)及應(yīng)用詳解

CAN FD的波特率到底能跑多快看了就知道
CAN波特率的計(jì)算
S32K148如何更改CAN FD波特率?
CAN通信波特率設(shè)置
CAN特殊波特率如何計(jì)算

關(guān)于UART/CAN/PLL時(shí)鐘計(jì)算波特率的方法
CAN總線(xiàn)波特率的基礎(chǔ)知識(shí)

MPC5744p的CAN通信波特率計(jì)算
什么是波特率?波特率是如何影響CAN總線(xiàn)長(zhǎng)度的?

評(píng)論