CAN匯流排通訊為什麼不能在高負載率下執行

2021-03-03 23:01:06 字數 2995 閱讀 3844

1樓:匿名使用者

在can通訊中來,使用某個固定波特率的情況自下bai

,匯流排的通訊流量就將是一du個固定值,比如使zhi用1mbps的波特率,則該匯流排dao上100%負載率就是1秒的時間內可傳輸1mbit的資料。當匯流排的平均利用率達到70%以上時,匯流排的通訊將有可能出現擁堵的現象,極端情況下將有可能造成錯誤幀的出現,所以對於can通訊需要嚴格控制好通訊的負載率。

我平時做程式開發時使用usbcan-2e-u這款can卡配合其專用的cantest軟體做的乙個測試截圖,可以直接通過曲線的變化來實時監控我匯流排上的實際通訊流量,以使我可以很方便的處理好程式中資料傳送的時序問題。

如何測試can匯流排的通訊負載率?

2樓:轟轟白白

在can通訊中,使用某個固定波特率的情況下,匯流排的通訊流量就將是乙個固定值,比如使用1mbps的波特率,則該匯流排上100%負載率就是1秒的時間內可傳輸1mbit的資料。當匯流排的平均利用率達到70%以上時,匯流排的通訊將有可能出現擁堵的現象,極端情況下將有可能造成錯誤幀的出現,所以對於can通訊需要嚴格控制好通訊的負載率。

如下方**若是就是我平時做程式開發時使用usbcan-ii這款can卡配合其專用的cantest軟體做的乙個測試截圖,可以直接通過曲線的變化來實時監控我匯流排上的實際通訊流量,以使我可以很方便的處理好程式中資料傳送的時序問題。

can匯流排負載率計算 55

3樓:池中漁娛

根據波特率計算10 ms總共可以傳送多少 bit:

1s=1000ms;

(250000 bit/1000 ms)*10 ms=2500 bit

計算最長的一幀報文有多少個bit:

(擴充套件幀)1sof+29id+1ide+1rtr+1srr+2r+4dlc+8*8data+16crc+2ack+7eof=128bit

計算10ms內可以支援的報文數目:

2500 bit/128 bit≈19

綜上可得:當10 ms間隔的報文數量超過19條時,就會出現丟幀,匯流排包和。

(雖然問題已久,但此回答為了方便後來查詢的人,thanks♪(・ω・)ノ)

4樓:習雲繆羽

負載率就是匯流排上實際資料傳輸速率比上理論最大資料傳輸速率。分為瞬時負載率和平均負載率。

舉個例子,假設匯流排速率為10kbps,代表每秒理論最大資料傳輸速度為10.000個bit。如果每秒傳輸10個報文。則

負載率=

單個報文所佔bit(一般在100個bit)*10/10.000

=10%左右。

5樓:勝利之

can傳送8位元組的資料擴充套件幀,實際匯流排上傳輸資料還包括約5位元組的幀id和資訊,和

約10位元組的幀頭尾和校驗等。

1、計算:按照這個引數來算 ((250k/8)/23 )*0.010s = 13.6擴充套件幀 / 10ms,

也就是1358 幀/s。

2、實測:採用廣州研煌的acusb-211或者131的配套軟體adawincantest測試,設定為

波特率250kbps,測試到的實際速度為 300000 幀/ 213s = 1408幀/s。

3、總結,可以看出計算和測試的結論一致。

廣州研煌——can匯流排全面方案和技術支援。

6樓:匿名使用者

專業去問老師嗎!!!!

如何計算can匯流排負載率

7樓:完美計畫100天

負載率就是匯流排bai上實際資料傳輸速du率比zhi上理論最大資料傳輸速率。dao分為瞬時負載率和

內平均負載率。容

舉個例子,假設匯流排速率為10kbps,代表每秒理論最大資料傳輸速度為10.000個bit。如果每秒傳輸10個報文。

則 負載率 = 單個報文所佔bit(一般在100個bit) * 10 / 10.000 = 10% 左右。

電動汽車can匯流排負載率應控制在什麼範圍比較合適

8樓:

負載率就是匯流排上實際資料傳輸

速率比上理論最大資料傳輸速率。分為瞬時負載率回和平均負載率答。

舉個例子,假設匯流排速率為10kbps,代表每秒理論最大資料傳輸速度為10.000個bit。如果每秒傳輸10個報文。

則 負載率 = 單個報文所佔bit(一般在100個bit) * 10 / 10.000 = 10% 左右。

怎麼監視can匯流排負載

9樓:匿名使用者

前面那個哥們兒的回答比較兇悍!

假如你對can匯流排資料格式十分清楚,買個can轉232/usb的模組,在電腦上通過串列埠除錯工具記錄資料報就行。

也可以自己寫個小軟體按照你的應用層需求給資料轉換一下。

10樓:匿名使用者

用canoe掛到匯流排上,然後看bus statistics視窗就能知道busload

11樓:匿名使用者

小電流用繼bai電器,大電流用接觸器du。接法比較簡zhi單,用1個12v變壓器dao,接繼電器內線圈,中容間串乙個開關,開關用線引到需要的位置,繼電器的常開觸點代替原來開關就可以了,一般電子原件商店就有賣。12v.

5a的可以控制1000w以下的非感性負載,要是負載大的話,就要買大點的,如果負載在2000w以上的話建議使用接觸器。

系統要傳輸的資料量約450kb/s,can匯流排傳輸,應該選多大的波特率合適?負載率多大合適?謝謝! 20

12樓:匿名使用者

如果是350kb/s,非要用can匯流排傳輸的話,至少要1mbps的速度,而且匯流排長度不能太長,控制在40公尺以內。你用在什麼場合?是車載還是?

13樓:牽人鼻子的牛

負載率在30%一下。如果有其他ecu載入在匯流排上要在40%以下。起碼1200kbps》1mps速度。can匯流排實現不了!!!

can匯流排協議中提到ID高7位不能同時為隱性,這是為什麼,實

這要看你是什麼協議了,我記得高7位不能同時為隱性就是 1 是canopen裡面的,就是說,canopen的節點號不能取127.我就是想不通,人們為什麼喜歡can fd canfd其實可以認為是can生命末期的一種挽救措施,如果不是先前can通訊已經廣泛應用於汽車網路,替換為其他協議變更太大的話,估計...

CAN匯流排出現錯誤幀時,為什麼要區分「錯誤主動」節點和「錯誤

問題2 乙個檢測到出錯狀態的 錯誤啟用 節點通過發出乙個活動錯誤標誌來對出錯結果進行通報。這種出錯標誌的形式違反了位填充規則,也破壞了固定的位場形式。結果,所有其他節點也檢測到乙個出錯狀態,都各自送出乙個人出錯標誌,所以在匯流排上實際檢測到的顯性位序列是由多個節點各自發出的不同出錯標誌疊加而成的。該...

CAN匯流排出現錯誤幀時,為什麼要區分「錯誤主動」節點和「錯誤

1 主動錯誤狀態 通常說的正常狀態也應該包含在內 處於該狀態的節點可以不受任何限制地傳送報文和主動錯誤幀 由顯性位構成 2 被動錯誤狀態 處於被動錯誤狀態的節點可以傳送報文和被動錯誤幀 由隱性位構成 3 匯流排關閉狀態 處於匯流排關閉狀態的節點暫時不能參與匯流排通訊。4 這一狀態下,既無法傳送報文,...