1樓:兩嗅沁風
首先不得不說提問者愛思考也愛**竟,不過我要提醒您一句的是,can匯流排資料幀
與資料幀可不像串列埠一樣緊挨著,之間還有「幀間空間」,也就是說,即使迴圈傳送can幀,也至少還有3位隱性位間歇場,換句話說,最小間隔至少是8+3=11位,即16*11/8=22微秒。
2樓:匿名使用者
can的資料幀不是這樣理解的,can包括幀起始位、id位、擴充套件幀標誌位和遠端幀標誌位,資料長度位、資料段和crc段還有應答位,再加上can的物理層機制,每遇到5個相同的資料位就要加一位取反資料,所以要確定傳送資料幀才能確認一幀的具體傳輸時間
3樓:伊藉禹馳
1,感測器是不能直接連can的,是由微控制器採集感測器的訊號然後通過can匯流排發出去,所以要考慮的是感測器和微控制器的連線
2.這個根據你的實際需求可以自己去設定時間3,。一般情況不用人去管了,只需要出問題了再進行維修4,這個就看你係統硬體是怎麼設計的了,不同方案肯定不一樣5,這個依然看你的硬體設計來估算
can匯流排通訊中,如果是多節點通訊。多通訊中遇到了問題。問題在補充中: 50
4樓:匿名使用者
首先,can匯流排不分主機,最多是整車廠在網路規劃的時候定義了一個功能比較多的節點,各家車廠不一樣(如閘道器),或者類似powermaster。但是can本身協議裡是不存在主、從的。
其次,樓上說的仲裁延時的問題,can協議本身是考慮到這個問題的,當然按他的方法通過協議延時可以解決,但是既然can協議已經給了我們解決方法那肯定是更科學更有效的,具體的去看can的仲裁吧,你需要一個節點的報文傳送不存在延時,只需要給它分配一個優先順序很高的id即可,當然這得從網路規劃的角度出發,不是這麼簡單說說的。
回到你的問題,你說的主機請求資料,在can中只能是遠端幀(一個遠端標誌位為1,資料場為空的幀),當這個幀出現在匯流排上時,擁有這個id資料的節點就要傳送這個同id的完整幀(遠端幀標誌位為0)。但是只能有一個節點接受這個遠端幀的請求。
這裡強調一個概念,同一個id的幀只能由一個節點傳送,不然可想而知匯流排上都是衝突。
你補充問一下,你想實現什麼效果吧
請問can匯流排特點優點都有什麼?
5樓:啥都懂一點兒
can匯流排是一種區別於串列埠匯流排的工業控制通訊系統,它是德國博世公司出品為汽車電子產品升級而服務的,因為主要是應用在汽車控制上,所以它的優點很多傾向於汽車的控制,如:
1、can匯流排的資料傳輸速度快,理論峰值能夠達到1mbps,具有很高的資料通訊即時性。
2、can匯流排的最遠資料傳輸距離為10千米,完全能夠滿足汽車的通訊控制需要。
3、一條can匯流排就可以同時連線128個節點,對於一臺汽車來說,一到兩條can匯流排就能夠完全勝任汽車的控制工作,對於空間寸土寸金的汽車來說特別合適。
4、can匯流排的抗干擾能力很強,不會輕易的出問題,能夠有效地保障駕駛者的安全。
希望我的回答令您滿意。
can匯流排上的錯誤幀要如何排查?
6樓:咩咩羊
對於can匯流排上的錯誤幀,普通的can裝置(例如usbcan)是無法獲取
到的,必須使用專用的can匯流排分析儀才能獲取到,然後做分析。我手頭上有一臺叫canscope的can匯流排分析儀可以直接獲取到can匯流排上的錯誤幀資料和波形,如下圖:
7樓:天會變得更藍
錯誤主動就是自己檢測到錯誤了,發到匯流排上告知匯流排錯誤,一般是匯流排硬體原因產生的。而過載幀一般是由於沒及時的收取資料產生的,是軟體問題。
追問我的意思是如果我收到了一串訊號,發現是一個6位的顯性電平,怎麼判斷它是主動錯誤幀還是過載幀?
回答這個是由can控制器自行判定的,你要獲知結果的話,可以檢視can控制器的錯誤暫存器的資訊。
追問也就是說對匯流排的傳輸部分來說,兩者是一樣的?
回答不一樣的,一個是硬體本身的原因,如匯流排阻抗不匹配,環節干擾因素造成的;另外一個是軟體自己的缺陷造成的,沒及時的取出已經在緩衝區內的資料,而新的資料又來了,這樣就會造成過載。
can匯流排的遠端幀使用的問題~
8樓:匿名使用者
can 遠端幀是一個空資料場的幀, 關鍵是在它的id場和遠端幀標誌位,當遠端幀標誌位為1時他就是遠端幀,資料場必須為空,被請求節點通過id場的辨識來響應,傳送被請求的幀到匯流排上,具體舉例,我隨便舉一個,bcm需要知道車門的狀態,一個遠端幀過去,車門把自己的狀態發回來
9樓:上官代芹
首先canbus是問答式的通訊方式報文最大長度11char
1仲裁場(共12位)
bit10 bit9 bit8 bit7 bit6
功能編碼
bit5 bit4 bit3
目的地址
bit2 bit1 bit0
源插地址
rtr遠端幀
2.控制場
ide r0 dl3 dl2 dl1 dl0
0 0 資料長度
3.資料場
bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0
資料幀資料(最長8組)
應答時仲裁場目的地址源地址交換,就是目的地址就是你回答的詢問報文中的原地址,當然原地址就是你地址 485匯流排的通訊距離也在300m以上!485的通訊協議比較靈活!可以自己定值問答式協議!
可參考通訊中常用的同步頭+資料長度+效驗的格式自己設計,
例如:採用0xeb 0x90 同步頭
可以給你一份我做過的協議!自己分析一下!不明白給我發郵件!llzyong@sohu.***
我也希望能幫你啊!
10樓:爆76吧在行動
都過去好幾年了呢,你關於can協議學的咋樣了啊?我剛開始學啊,對於遠端幀非常的迷茫啊。
can匯流排出現錯誤幀時,為什麼要區分「錯誤主動」節點和「錯誤認可」節點?有什麼意思?
11樓:匿名使用者
問題2:一個檢測到出錯狀態的「錯誤啟用」節點通過發出一個活動錯誤標誌來對出錯結果進行通報。這種出錯標誌的形式違反了位填充規則,也破壞了固定的位場形式。
結果,所有其他節點也檢測到一個出錯狀態,都各自送出一個人出錯標誌,所以在匯流排上實際檢測到的顯性位序列是由多個節點各自發出的不同出錯標誌疊加而成的。該序列的總長度最少為六位,最多為12位。
12樓:匿名使用者
1.等待下一次匯流排空閒
2.因為每個節點都要發,可能有一定延遲
3.每個節點都會檢測到,並且跟著傳送錯誤標誌
13樓:匿名使用者
這個問題原本可以回答你的,可惜前不久看的。忘得差不多了。
1對於錯誤認可和錯誤主動這兩個傢伙,你最好看看英文是怎麼寫的。這樣有利於你理解。
2從你問的問題,可以看出你是個搞學問的人,認真啊。其實老大,你問的這些個問題只有設計can晶片的人才需要深刻理解。如果你是搞應用的,大可不必追的太認真。
3這個按我的理解是不知道的。應該是這個節點自己知道,然後把自己關閉了。以免影響其他的節點。
因為can的節點都是平等,發出資訊採用廣播的方式。也就是一廣播大家都知道了,大家根據收到的資訊作出反應(這個節點的程式裡可以操作)。傳送的資訊根據優先順序,由匯流排進行仲裁不至於大家衝突。
CAN匯流排如何偵聽匯流排空閒,CAN匯流排 什麼情況下為空閒狀態?
can匯流排 偵聽bai類似csma匯流排衝突檢測,一du旦發現總zhi線有資料dao傳輸,就等 待,發現專匯流排空閒就屬可以傳送報文。參考資料曙光微控制器 can匯流排 什麼情況下為空閒狀態?錯了,can匯流排空閒的定義是連續11個位的隱性電平 邏輯為1 一般用於匯流排關閉時的自動恢復。而can的...
CAN匯流排最大傳輸距離,為什麼CAN匯流排在位速率為1Mbps,最大傳輸距離只有40米
通訊距離最bai遠可達10km 速率低du於5kbps 速率可達到1mbps 通訊距離zhi小於dao40m 傳輸距離和速率成反比,還有線材要版求比較高。can匯流排特點權 資料通訊沒有主從之分,任意一個節點可以向任何其他 一個或多個 節點發起資料通訊,靠各個節點資訊優先順序先後順序來決定通訊次序,...
CAN現場匯流排有何特點,CAN匯流排的優點
can匯流排抄的特點 具有實時性強bai 傳輸距離較遠 抗電磁干擾du能力強 成本低zhi等優點 採用雙 dao線序列通訊方式,檢錯能力強,可在高噪聲干擾環境中工作 具有優先權和仲裁功能,多個控制模組通過can 控制器掛到can bus 上,形成多主機區域性網路 可根據報文的id決定接收或遮蔽該報文...