CAN FD的波特率到底能跑多快?
眾所周知,CAN FD是基于CAN 2.0的升級(jí)版協(xié)議,為了滿足汽車電子日益增長(zhǎng)的高帶寬和高傳輸速率的要求,CAN FD主要升級(jí)了以下幾個(gè)方面:
本文引用地址:http://butianyuan.cn/article/201808/391080.htm一、更高的傳輸波特率
圖 1 可變數(shù)據(jù)段波特率結(jié)構(gòu)
CANFD速率包含兩個(gè)段的速率,一個(gè)是仲裁段和ACK段,沿用CAN2.0的規(guī)范,最高速率為1Mbit/s,中間的數(shù)據(jù)段是可以加速的,標(biāo)稱可以達(dá)到5Mbit/s,甚至更高。
二、更高效的數(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ù)段
三、更可靠的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(是否是CANFD幀)、BRS(是否可變速率)以及ESI(錯(cuò)誤狀態(tài)),豐富幀內(nèi)的有用信息。
圖 4 新增控制位
接下來(lái)我們回到正題,升級(jí)后的CAN FD到底能跑多快呢?直接講參數(shù)很膚淺的,我們要分析......那我們就用一個(gè)問(wèn)題開(kāi)始,大家都知道CAN 2.0最高速率可以到1M,但是為什么汽車電子高速CAN只跑到500K呢?
對(duì)于CAN總線的傳輸速率來(lái)講,傳輸距離和傳輸速率是成反比的,一般來(lái)說(shuō)傳輸距離(m)=(50000/波特率kbps)*0.8,如圖 5所示。
圖5 傳輸距離和傳輸速率的關(guān)系
那收發(fā)器和傳輸距離到底關(guān)系何在?剛才提到,收發(fā)器輸出是電平值,電平在傳輸?shù)倪^(guò)程中難免衰減,線纜本身的阻抗和容抗無(wú)法避免,其次首尾終端電阻也是必要的,主要有兩個(gè)功能:
?首尾120歐姆終端電阻,保證阻抗連續(xù)性(防止電信號(hào)反射);
?放電作用;
針對(duì)終端電阻放電作用,我們下面從兩個(gè)層面分析:
?電平傳輸層面分析
圖 6 CAN FD波形
我們先來(lái)看一個(gè)CANFD分解波形,其中是由顯隱性電平構(gòu)成的,其中上升沿是由CAN收發(fā)器芯片本身驅(qū)動(dòng)的。當(dāng)顯性電平轉(zhuǎn)變?yōu)殡[形電平的時(shí)候,需要終端電阻放電,所以下降沿是我們的終端電阻放電的造成的。
圖 7 負(fù)載電阻與差分幅值的關(guān)系
如果下降沿緩慢是什么原因?qū)е?
?檢查收發(fā)器外圍電路是否存在容性較大的器件(不影響電路正常工作的情況下拆除),重新測(cè)試波形是否正常;
?檢查線纜的參數(shù),每米容抗是否在正常范圍內(nèi),正常線纜電容在40-70pF/m,容抗太大,建議更換線纜;
?增加終端電阻放電,建議采用專業(yè)設(shè)備測(cè)試網(wǎng)絡(luò)阻抗容抗做正確匹配。
圖8 CANscope總線阻抗容抗測(cè)試
四、總線網(wǎng)絡(luò)數(shù)據(jù)能否正確傳輸層面
阻抗太大,電壓幅值壓降太大,傳輸距離大大降低?,F(xiàn)象就是在手牽手的網(wǎng)絡(luò)拓?fù)渲?,?dāng)然差分輔幅值最好不要低于1.3V,防止在強(qiáng)干擾的環(huán)境下,導(dǎo)致收發(fā)器無(wú)法識(shí)別或誤識(shí)別總線信號(hào)。
容抗也是影響下降沿的重要因素,如果下降沿太緩慢會(huì)導(dǎo)致位寬拉長(zhǎng),導(dǎo)致收發(fā)器錯(cuò)誤識(shí)別,導(dǎo)致0/1的翻轉(zhuǎn),CAN總線是錯(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í)間,如圖 15所示,數(shù)據(jù)穩(wěn)定時(shí)間按是140ns,那其中上升沿和下降沿占了60ns,理想情況下,上升沿和下降沿完全對(duì)稱,其中上升沿時(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總線開(kāi)發(fā)的過(guò)程中會(huì)忽略的問(wèn)題,如果需要CAN總線的相應(yīng)的產(chǎn)品解決方案,隨時(shí)致電我們,期待與您的探討和交流。
評(píng)論