在CAN總線網(wǎng)絡(luò)里,還有一個經(jīng)常被大家提起的概念-總線負(fù)載率,負(fù)載率,顧名思義,就是指這段時間內(nèi)總線上實際傳輸?shù)?a target="_blank">信息量/理論上可傳輸?shù)淖畲笮畔⒘俊?/p>
不知道大家平時怎么理解一個“概念”或“定義”,灑家的小竅門是“咬文爵字”和“摳字眼”。
具體要摳哪些字眼,可以參考老羅的錘子手機原創(chuàng)、最近被微信抄了去的big bang大爆炸。這個概念里,有兩個需要重點理解的點:“這段時間”、“理論最大信息量”。
“這段時間”可長可短,也意味著負(fù)載率是可變的。需要特別關(guān)注的有兩個:平均負(fù)載率和峰值負(fù)載率。根據(jù)灑家多年的小經(jīng)驗,平均負(fù)載率大多低于40-50%,峰值負(fù)載率也不超過70-80%。
因此我們需要關(guān)注負(fù)載率超了具體產(chǎn)生的影響:
針對某個具體的CAN網(wǎng)絡(luò),從技術(shù)上來說,把原本30%的平均負(fù)載率提高到50%也沒啥,但是還是建議30%,或許30%最保險吧。
另外,“理論上可以傳輸?shù)淖畲笮畔⒘俊比Q于總線速率。具體來說,低速CAN為125kbps,高速CAN為500kbps,CAN-FD為2Mbps,再往上,F(xiàn)lexray站出來說了“此吾家事,汝不得預(yù)也!”。
在制定負(fù)載率時,會牽涉到一個概念-報文時長。灑家不少同事說起報文時長來,經(jīng)常不清不楚,模模糊糊。其實,真正找到關(guān)鍵,問題就很簡單了。
報文時長的計算公式:報文時長=位時長x報文位數(shù)。
在這個公式里,位時長當(dāng)然等于速率的倒數(shù),比如125kbps的通信速率,位時長=8us。而報文位數(shù),則取決于CAN報文的結(jié)構(gòu)。報文結(jié)構(gòu)如下圖所示:
一個完整的CAN報文由七個不同的Field(場/域/段)組成:幀起始、仲裁場、控制場、數(shù)據(jù)場、CRC場、應(yīng)答場、幀結(jié)尾。
SOF為幀起始,標(biāo)志著數(shù)據(jù)幀和遠(yuǎn)程幀的起始,由一個單獨的“顯性”位組成。
仲裁場包括識別符和遠(yuǎn)程發(fā)送請求位(RTR)。識別符的長度為11位。
控制場由6個位組成,包括數(shù)據(jù)長度代碼和兩個將來作為擴展用的保留位。
數(shù)據(jù)場由數(shù)據(jù)幀中的發(fā)送數(shù)據(jù)組成。它可以為0~8 個字節(jié)。
CRC場包括CRC序列(CRC SEQUENCE),其后是CRC界定符(CRC DELIMITER)。CRC序列為15位,CRC界定符包含一個單獨的“隱性”位 。
應(yīng)答場長度為2個位,包含應(yīng)答間隙(ACK SLOT)和應(yīng)答界定符(ACK DELIMITER)。
幀結(jié)尾由一標(biāo)志序列界定。這個標(biāo)志序列由7 個“隱性”位組成。
所以一個8字節(jié)的數(shù)據(jù)幀的位數(shù)為1(幀起始)+ 12(仲裁場)+ 6(控制場)+ 64(數(shù)據(jù)場)+ 16(CRC場)+ 2(應(yīng)答場)+ 7(幀結(jié)尾)= 108位。
報文之間存在幀間空間INTERFRAME SPACE。幀間包括間歇場、總線空閑的位場。間歇場包括3 個“隱性”的位。總線空閑的(時間)長度是任意的。所以,一個8字節(jié)的數(shù)據(jù)幀至少需要(108+3+1)* bitrate的時長,對于125kbps,需要0.896ms。
審核編輯:湯梓紅
-
CAN
+關(guān)注
關(guān)注
57文章
2744瀏覽量
463627 -
總線
+關(guān)注
關(guān)注
10文章
2878瀏覽量
88052 -
負(fù)載率
+關(guān)注
關(guān)注
1文章
4瀏覽量
2903
發(fā)布評論請先 登錄
相關(guān)推薦
評論