今天遇到一個問題,需要計算一下CAN總線上,不同的波特率下,每秒鐘最多能夠傳輸多少幀數據,或者說,每幀數據需要耗時多少時間。一開始以爲這個東西是很基礎的確定性數據,百度上應該隨便就能查得到,可是查了半天卻毫無頭緒,不知道是不是我的打開方式不對(^ O ^)。一怒之下,乾脆自己來。
首先我們要確認幾個輸入參數,包括CAN總線的波特率,要傳輸的幀類型和幀格式,然後根據CAN協議規範,計算出該幀的bit數。我們用數據幀來做示例,詳見圖1。
最後綜合起來,便得到我們想要的結果,其實很簡單,如圖2所示:
上面的表格,我同步上傳到CSDN了,就在本文的頂部有下載鏈接。如果有需要,可以點擊進去下載。
當然,如果你要計算遠程幀的,那就用下面這張圖就好:
好啦,就這麼簡單!輕鬆愉快,打完收工!