CAN總線教程
為了讓所有的分站都同步于發送報文的發送站,好接收數據,有很多要考慮的地方。 然后下一個場是仲裁場。這個仲裁場是個難點。但是不要怕,有我在,你會很明白地搞定的。 這個仲裁很抽象,其實在這里就是為了解決一個問題。如果 2 個或 2 個以上的單 元同時開始傳送報文,那么就會有總線訪問沖突。那么仲裁機制就是用來根據標識符優先級來一個一個的去掉低級別的數據。我們可以詳細的描述這場生動的爭搶總線的戰斗。
當總線處于空閑狀態時呈隱性電平,此時任何節點都可以向總線發送顯性電平作為幀的開始。 2 個或 2個以上的節點同時發送開始爭搶總線,但是總線只能被一個人搶走。總線只屬于一個他。這時候到底怎么決定誰留下,誰滾蛋呢。我們開始考慮,思索,我們以前定義了標識符,標識符有優先級,它越小,它優先級越高。那么怎么實現的呢?聪旅姘 首先搞明白兩點,一 下面的圖 低波形代表 0,高波形代表 1 二 當隱性碰到顯性,就變為顯性。
如圖所示,節點A 和節點B 的標識符的第 lO、9、8位電平相同,因此兩個節點偵聽到的信息和它們發出的信息相同。第 7位節點B 發出一個“1”,但從節點上接收到的消息卻是“0”,為什么呢,因為A 節點同時發出顯性位,讓總線也變成顯性了,也就是 0。節點 B會退出發送處于單純監聽方式而不發送數據;節點 A 成功發送仲裁位從而獲得總線的控制權,繼而發送全部消息?偩中的信號持續跟蹤最后獲得總線控制權發出的報文,本例中節點 A 的報文將被跟蹤。這種非破壞性位仲裁方法的優點在于,在網絡最終確定哪個節點被傳送前,報文的起始部分已經在網絡中傳輸了,因此具有高優先級的節點的數據傳輸沒有任何延時。在獲得總線控制權的節點發送數據過程中,其他節點成為報文的接收節點,并且不會在總線再次空閑之前發送報文
完整的pdf格式文檔51黑下載地址(共6頁):
CAN總線嘔心瀝血教程.pdf
(237.67 KB, 下載次數: 683)
2018-10-12 09:30 上傳
點擊文件名下載附件
|