那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

CAN總線協議的數據鏈路層有哪些部分

CHANBAEK ? 來源:網絡整理 ? 作者:網絡整理 ? 2024-09-03 14:14 ? 次閱讀

CAN(Controller Area Network)總線協議的數據鏈路層是CAN通信中至關重要的一部分,它負責在物理層之上實現數據的可靠傳輸。數據鏈路層不僅管理著幀的同步、差錯控制、流量控制等關鍵功能,還通過仲裁機制確保多個節點之間的高效通信。

一、CAN總線協議概述

CAN協議最早由德國Bosch公司于1983年提出,旨在解決汽車電子系統中的通信問題。隨著技術的發展,CAN協議逐漸被廣泛應用于工業控制、醫療設備、智能家居等領域。CAN協議采用多主控制、廣播通信、非破壞性仲裁和錯誤檢測與處理等機制,確保了通信的實時性、可靠性和靈活性。

二、數據鏈路層的組成

CAN總線協議的數據鏈路層主要由以下幾個部分組成:

1. MAC子層(媒體訪問控制子層)

MAC子層是CAN協議的關鍵組成部分,它主要負責將物理層接收到的信號組織成具有實際意義的信息,并管理錯誤控制等傳輸流程。MAC子層的主要功能包括:

  • 消息的幀化處理 :將待傳輸的數據封裝成符合CAN協議規范的幀格式。
  • 仲裁 :通過非破壞性仲裁機制解決多個節點同時發送數據時的沖突。
  • 應答 :接收節點通過應答機制確認數據的正確接收。
  • 錯誤的檢測和報告 :檢測通信過程中的錯誤,并通過錯誤幀向其他節點報告。

2. LLC子層(邏輯鏈路控制子層)

雖然CAN協議標準中并沒有明確劃分LLC子層,但通常我們可以將幀過濾、報文重發等邏輯控制功能歸為LLC子層的范疇。LLC子層主要負責:

  • 報文過濾 :通過過濾器對接收的報文進行過濾,只保留感興趣的報文。
  • 報文重發 :在檢測到通信錯誤或未收到應答時,自動重發報文。

三、數據鏈路層的功能

1. 幀同步

幀同步是數據鏈路層的基本功能之一,用于確保發送和接收節點能夠正確識別信息幀的開始和結束。在CAN信息幀中,幀起始位(SOF)用于標識信息幀的開始,而幀結束位(EOF)則用于標識信息幀的結束。發送節點通過發送幀起始位來啟動一個幀的傳輸,接收節點則通過檢測幀起始位來實現幀同步。

2. 差錯控制

差錯控制是數據鏈路層的另一個重要功能,它包括錯誤檢測和錯誤糾正。CAN協議采用循環冗余校驗(CRC)進行錯誤檢測,以確保數據的完整性。發送節點在發送數據前會生成CRC校驗碼,并將其附加到數據場之后。接收節點在接收到數據后,會重新計算CRC校驗碼,并與接收到的CRC校驗碼進行比較,以檢測數據是否出現錯誤。如果檢測到錯誤,接收節點會發送錯誤幀來通知其他節點。

3. 流量控制

流量控制用于防止發送節點過快地發送數據,導致接收節點無法處理。在CAN協議中,流量控制主要通過仲裁機制和應答機制來實現。仲裁機制確保了在多個節點同時發送數據時,具有較高優先級的節點能夠優先發送數據。而應答機制則要求接收節點在接收到數據后發送應答信號,以確認數據的正確接收。如果發送節點未收到應答信號,則會認為通信失敗并可能重發報文。

4. 訪問控制

訪問控制是數據鏈路層的另一個關鍵功能,它用于協調多個節點之間的通信。在CAN協議中,訪問控制主要通過非破壞性仲裁機制實現。當兩個或多個節點同時發送數據時,它們會競爭總線的使用權。仲裁機制通過比較仲裁場的值來確定發送數據的優先級。具有較高優先級的節點可以繼續發送數據,而具有較低優先級的節點則需要等待直到高優先級節點完成數據發送。

四、CAN信息幀的組成部分

CAN信息幀是CAN協議中最基本的數據傳輸單元,其組成部分包括:

  • 幀起始位(SOF) :標識信息幀的開始。
  • 仲裁場 :用于確定發送數據的優先級。仲裁場的長度可以是11位(標準幀)或29位(擴展幀),仲裁場的值越小,優先級越高。
  • 控制場 :包括遠程傳輸請求位(RTR)和標識符擴展位(IDE)。RTR位用于標識數據幀是遠程幀還是數據幀,IDE位用于標識幀是標準幀還是擴展幀。
  • 數據場 :用于存儲實際傳輸的數據。標準幀的數據場長度為0-8字節,擴展幀的數據場長度為0-64字節。
  • 校驗場 :包括循環冗余校驗(CRC)和CRC界定符。CRC用于檢測數據在傳輸過程中是否出現錯誤,CRC界定符用于標識CRC校驗的結束。
  • 應答場 :包括應答插槽和應答界定符。應答插槽用于接收節點發送應答信號,應答界定符用于標識應答場的結束。
  • 幀結束位(EOF) :標識信息幀的結束。

五、錯誤處理機制

CAN協議定義了多種錯誤類型,包括CRC錯誤、格式錯誤、應答錯誤、位發送錯誤和位填充錯誤等。當發生這些錯誤時,發送節點或接收節點會發送錯誤幀來通知其他節點。為了防止某些節點自身出錯而一直發送錯誤幀干擾其他節點通信,CAN協議還規定了節點的三種狀態及行為:主動錯誤狀態、被動錯誤狀態和Bus Off狀態。這些狀態根據接收錯誤計數器(REC)和發送錯誤計數器(TEC)的值進行轉換。

六、總結

CAN總線協議的數據鏈路層是實現CAN通信的關鍵部分,它負責在物理層之上實現數據的可靠傳輸。通過幀同步、差錯控制、流量控制和訪問控制等功能,CAN協議確保了多個節點之間的高效、可靠通信。同時,CAN協議還提供了完善的錯誤處理機制來應對通信過程中可能出現的各種問題。這些功能和機制共同構成了CAN總線協議強大的通信能力,使其在眾多領域得到了廣泛應用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • CAN總線
    +關注

    關注

    145

    文章

    1955

    瀏覽量

    131097
  • 數據鏈路層
    +關注

    關注

    0

    文章

    58

    瀏覽量

    12035
  • 總線協議
    +關注

    關注

    0

    文章

    117

    瀏覽量

    14899
收藏 人收藏

    評論

    相關推薦

    數據鏈路層組幀

    數據鏈路層怎么根據協議組幀,本人沒有寫過類似程序,大家有寫過的可否貼下簡單的程序 啟發一下。感激不盡。謝謝。
    發表于 01-17 11:48

    TLP的數據鏈路層組成與操作

    監控和管理?! ?b class='flag-5'>數據鏈路層的組成  數據鏈路層由發送和接收兩部分組成,其中,數據鏈路層接收部件組成為:  1)、ACK/NAK DLLP發送邏輯  2)、“Error Check”邏輯
    發表于 01-08 17:25

    CAN總線工作原理及數據鏈路層、延時分析

    通信協議僅僅包括OSI七層互聯參考模型中的數據鏈路層和物理層。三、CAN總線物理層:1. CAN總線
    發表于 05-13 06:00

    CAN總線的系統架構

    使用的CAN2517FD有所區別,僅供參考),主要體現在數據鏈路層這一部分。應用程序,具體表現在控制器以不同的通信方式、MCP2517FD提供的相應指令集和指令集格式對CAN2517F
    發表于 08-19 06:47

    介紹車用CAN通訊的基礎知識,數據鏈路層部分

    本博文主要介紹了車用CAN通訊的基礎知識,數據鏈路層部分,主要包括幀類型、幀起始&幀結束、仲裁段、控制段、數據段、CRC段&ACK段和錯誤幀等。
    發表于 01-07 06:16

    數據鏈路層協議數據單元包括哪幾部分

    功能一個觀測任意數據波形的上位機前提知識數據幀所謂數據幀(Data frame),就是數據鏈路層協議
    發表于 01-14 06:56

    數據鏈路層.ppt

    數據鏈路層*3.1  數據鏈路層的基本概念*3.2  停止等待協議  3.2.1 完全理想化的數據傳輸  3.2.2 具有最
    發表于 10-23 16:41 ?0次下載
    <b class='flag-5'>數據鏈路層</b>.ppt

    常用的數據鏈路層協議

     ISO和CCITT在數據鏈路層協議的標準制定方面做了大量工作,各大公司也形成了自己的標準。
    發表于 07-22 15:51 ?4714次閱讀
    常用的<b class='flag-5'>數據鏈路層</b><b class='flag-5'>協議</b>

    數據鏈路層的作用

    數據鏈路層的作用:通過一些數據鏈路層協議和鏈路控制規程,在不太可靠的物理鏈路上實現可靠的數據傳輸。 “鏈路(Link)”和“數據鏈路”是不
    發表于 07-22 16:04 ?7159次閱讀

    數據鏈路層的定義

    數據鏈路層的定義 一、設計數據鏈路層的原因
    發表于 07-22 17:13 ?2593次閱讀
    <b class='flag-5'>數據鏈路層</b>的定義

    什么是OSI模型數據鏈路層

    什么是OSI模型數據鏈路層 數據鏈路層最基本的服務是將源機網絡層來的數據可靠地傳輸到相鄰節點的目標機網絡層。為達到這一目的,數據鏈路層
    發表于 03-18 15:11 ?2245次閱讀

    基于無線HART協議數據鏈路層協議模型設計

      無線HART是一種專門為過程控制領域而設計的網絡通信協議,是HART現場總線在無線領域的延伸,其通信模型主要由應用層、網絡層、數據鏈路層、物理層組成。其中數據鏈路層
    發表于 08-26 17:27 ?1801次閱讀
    基于無線HART<b class='flag-5'>協議</b>的<b class='flag-5'>數據鏈路層</b><b class='flag-5'>協議</b>模型設計

    數據鏈路層選擇重傳協議優化

    本文的主要目的是探索數據鏈路層中,選擇重傳協議的優化改進措施,主要方法是通過對量子通信的分析和研究,通過進行協議的模擬實驗、優化協議仿真環境、引入緩存等措施,進過實驗分析發現,與傳統的
    發表于 11-17 09:44 ?55次下載
    <b class='flag-5'>數據鏈路層</b>選擇重傳<b class='flag-5'>協議</b>優化

    數據鏈路層到底是什么_數據鏈路層工作原理是怎樣的

    本文開始闡述了什么是數據鏈路層,其次闡述了數據鏈路層的分類和數據鏈路層的工作原理,最后介紹了常用的數據鏈路層。
    發表于 03-14 14:10 ?3.1w次閱讀
    <b class='flag-5'>數據鏈路層</b>到底是什么_<b class='flag-5'>數據鏈路層</b>工作原理是怎樣的

    數據鏈路層常用成紙法哪些_數據鏈路層的作用

    本文開始闡述了數據鏈路層的概念與數據鏈路層數據鏈路層的功能或作用,其次闡述了數據鏈路層的主要協議,最后分析了數據鏈路層常用成紙法
    發表于 03-14 14:44 ?2265次閱讀
    <b class='flag-5'>數據鏈路層</b>常用成紙法<b class='flag-5'>有</b>哪些_<b class='flag-5'>數據鏈路層</b>的作用
    至尊百家乐官网网| 大发888 安装包的微博| bet9全讯网查询| 米其林百家乐官网的玩法技巧和规则| 永利高a1娱乐城送彩金| 网上百家乐官网有哪些玩法| 百家乐专用桌子| 百家乐官网出千手法| 博彩选名门国际| 百家乐下注时机| 晋宁县| 百家乐走势图| 川宜百家乐官网注册号| 摩纳哥百家乐官网的玩法技巧和规则| 在线棋牌游戏| 百家乐小音箱| 真人百家乐官网新开户送彩金| 百家乐博彩吧| 百家乐官网玩法| 汕尾市| 新全讯网353788| 属猪属蛇做生意怎么样| 百家乐官网如何破解| 威尼斯人娱乐城 104| 红桃K百家乐官网娱乐城| 涞水县| 大发888娱乐城下载新澳博| 三合四局24向黄泉| 线上百家乐官网玩法| 联众博彩| A8百家乐娱乐平台| 百家乐官网群到shozo网| 百家乐官网庄闲多少| 大发888娱乐城备用| 百家乐赌博讨论群| 百家乐庄闲筹码| 百家乐官网娱乐求指点呀| 澳门赌场视频| 境外赌博| 百家乐平注常赢玩法| 沙龙国际网址|