信息在通信通道中傳輸的速率被稱為波特率。通俗地說,波特率是數據在網絡上傳輸的速度/速率。這是以比特/秒表示的。因此,一秒鐘內在通信網絡上傳輸的比特數就是波特率。
對于串行多主 CAN 總線,如果波特率被稱為“500000波特”,則 CAN 上的該端口每秒最多可傳輸500000位。
CAN總線上支持的不同波特率:
● 125kbps
● 250kbps
● 500 kbps(大多數汽車應用的標準配置)
● 1000 kbps(1mbps)
各式各樣的軟件允許用戶根據 CAN 總線的需要來設置總線速度。下面的圖片來自 Influx 的 DiaLog 軟件,用戶可以自行選擇總線速度(從各種可用的選項中選擇)。
每一個波特率支持多少條信息?
CAN總線支持8字節長的數據傳輸。但是,這種長信息的傳輸會導致較大的延遲。在比特率約為1 Mbit/s的情況下,平均數據長度為4字節,使用標準格式每秒可傳輸多達10,000條信息,即在數據長度為8字節的情況下,每秒可發送多達7,200條信息。
使用簡單的公式,人們可以計算出在 CAN 總線上傳輸一個幀的大概時間。
現在,舉例來說,1個CAN幀大約包含125比特。
1 假設比特率=250 kBits/psec
位時間=1/位速率=1/(250*1000)s=4*s=4μs
因此,在使用250kBit/s時,1位在總線上的傳輸時間為4μs
因此,傳輸1幀的大致時間是(4 μs/bit * 125 bit)=500 μs
2 假設比特率=500 kBit/s
位時間=1/位速率=1/(500*1000)s=2*s=2μs
因此,當使用500kBit/s時,1位在總線上的傳輸時間為2μs
因此,傳輸1幀的大致時間是(2μs/bit * 125 bit)=250 μs
CAN總線負載率計算公式
總線負荷以百分比計算。
總線負載 = #bytes發送/速度
*總線負載% = 字節數(在一秒鐘內發送)*(8位)/(波特率bps)100%。
假設一秒鐘內要發送的字節數為1000
因此,在250kbps的情況下,總線負載%將成為:-
10008/250000100% = 3.2%
同樣,在500kbps時,總線負載%將變成:-
10008/500000100% = 1.6%
然而,在較高的信息優先級下,通常可以實現70%到80%的總線使用率。
在給定的秒數內在總線上傳輸給定數量的幀。除非定義,否則每個消息(32位數據)的平均位假定為76位(可能有所不同)。
● 5ms -5幀
1/ 0.005 * 5 * 76 = 760,00
● 10ms -5幀。
1 / 0.010 * 5 * 76 = 38,000
● 100ms - 5幀
1 / 0.100 * 5 * 76 = 3800
**總幀數=760,00+38000+3800=117800**
波特率為250 kbps時的總線負載=117800/250000*100%=**47.12%**
波特率為500 kbps時的總線負載=117800/500000*100%=**23.56%**
在下面的截圖中,我們可以看到 Influx 的Rebel CT/LT,通道(HS)的活動日志和跟蹤查看器。在這里可以看到比特率和總線負載(總量、每秒和負載)等參數。此外,Rx/Tx 信息和錯誤幀(總數、每秒和負載)也可以輕松查看。
波特率是如何影響 CAN 總線長度的?
對于 CAN 總線來說,波特率和線纜的長度是成反比的,波特率越高,線纜的長度越短。
-
CAN總線
+關注
關注
145文章
1946瀏覽量
130726 -
波特率
+關注
關注
2文章
307瀏覽量
34115 -
通信網絡
+關注
關注
21文章
2033瀏覽量
52016
發布評論請先 登錄
相關推薦
評論