色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

CAN和CANFD協議簡介(下)

RA生態工作室 ? 2024-02-19 12:08 ? 次閱讀

前篇內容:

CAN和CANFD協議簡介(上)

2. CAN協議

2.2 協議層

前文講述了CAN的物理層標準,約定了電氣特性,以下介紹的協議層則規定了通訊邏輯。

2.2.1 幀的種類

通信是通過以下5種類型的幀進行的。

? 數據幀

? 遙控幀

? 錯誤幀

? 過載幀

? 幀間隔

在這些幀當中,數據幀和遙控幀由用戶設定,其他的幀由CAN的硬件部分完成。

另外,數據幀和遙控幀有標準格式和擴展格式兩種格式。標準格式有11位的ID,擴展格式具有29位ID。

各種幀的用途如下表所示。

wKgaomaCICKAYKdlAAIcC85a9lQ838.png

2.2.2 數據幀

數據幀把消息從發送單元傳到接收單元,是用戶使用的最基本的幀。數據幀由7個段構成。

(1) 幀起始:表示數據幀開始。

(2) 仲裁段:表示該幀優先級的段。

(3) 控制段:表示數據的字節數及保留位。

(4) 數據段:數據本身,可傳送0~8個字節。

(5) CRC段:檢查幀的傳送錯誤的段。

(6) ACK段:正常接收確認段。

(7) 幀結束:表示數據幀結束。

wKgaomaCIJ6AeR7IAAIHlxHLuOw940.png

2.2.3 遙控幀

接收單元向發送單元請求消息所用的幀。遙控幀由6 個段組成,也可以說是沒有數據段的數據幀。

(1) 幀起始(SOF):表示幀的開始。

(2) 仲裁段:表示該幀優先級的段。請求具有同樣ID的數據幀。

(3) 控制段:表示所請求數據的字節數及保留位。

(4) CRC段:檢查幀的傳送錯誤的段。

(5) ACK段:正常接收確認段。

(6) 幀結束:表示遙控幀結束。

wKgZomaCILuAVHf8AAGqx6A0QGM491.png

關于遙控幀和數據幀:

? 數據幀和遙控幀有何不同

遙控幀沒有數據段,仲裁段的RTR位為隱性電平。

沒有數據段的數據幀和遙控幀可通過RTR位區別開來。

? 遙控幀沒有數據段,數據長度碼該如何表示?

遙控幀的數據長度碼以所請求數據幀的數據長度碼表示。

? 沒有數據段的數據幀有何用途?

可用于各單元的定期連接確認/應答、或仲裁段本身帶有實質性信息的情況下。

2.2.4 錯誤幀

在收發信中發現錯誤時用于通知錯誤的幀。錯誤幀由錯誤標志和錯誤間隔符構成,錯誤幀的發送是由CAN的硬件部分來完成的。

(1) 錯誤標志:錯誤標志包括有效錯誤標志和無效錯誤標志兩種。

? 有效錯誤標志:6位顯性電平。

? 無效錯誤標志:6位隱性電平。

(2) 錯誤間隔符:錯誤間隔符由8位隱性電平構成。

wKgaomaCINKAVZawAAHRoD9mZ9M880.png

注:

1. 有效錯誤標志:處于錯誤有效態的單元檢出錯誤時傳送的錯誤標志。

2. 無效錯誤標志:處于錯誤無效態的單元檢出錯誤時傳送的錯誤標志。

3. 錯誤標志的重合:由連接到總線上的各單元的錯誤檢出時間不同,錯誤標志會發生重合,最長可延續到12位。

2.2.5 過載幀

過載幀是用于接收單元通知其尚未完成準備所用的幀。過載幀由過載標志和過載間隔符構成。

(1) 過載標志:6位顯性電平。過載標志的構成與有效錯誤標志的構成相同。

(2) 過載間隔符:8個隱性位。過載間隔符的構成與錯誤間隔符的構成相同。

wKgaomaCIPWAftj1AAEwcnWtxis576.png

1. 過載幀的重合:與錯誤標志一樣依據發生時序不同過載標志也會發生重合,最長可延遲到12位。

2.2.6 幀間隔

幀間隔用于分隔數據幀或遙控幀。數據幀或遙控幀前插入幀間隔可將本幀與前面發送的任何幀(數據幀、遙控幀、錯誤幀、過載幀)分開。但是,過載幀和錯誤幀前不能插入幀間隔。

(1) 間隔:3位隱性電平。在“間隔”期檢測到顯性電平時,一定要發送過載幀。然而,在間隔期的第3位出現的顯性電平被認為是SOF,此時不發送過載幀。

(2) 總線空閑:隱性電平,無長度限制(0位亦可)。本狀態為總線處于空閑中,要發送的單元可開始發送消息。

(3) 延遲傳送(發送暫時停止):8個隱性電平。處于錯誤無效態的單元在發送完一個消息后的幀間隔中必須包含的段。

wKgZomaCITOAN3n9AAHIXNzfXM0756.png

2.2.7 優先級的仲裁

在總線空閑態,最先開始發送消息的單元獲得通信權。

多個單元同時開始傳送時,各發送單元從仲裁段的第一位開始進行仲裁。位電平第一次出現不同而且位電平為顯性的單元獲得通信權發送。仲裁失敗的單元在下一個位開始進入接收狀態。

仲裁的過程如下圖所示:

wKgaomaCIUqAM5bzAAFO083rZ-8880.png

(1) 數據幀和遙控幀的優先級

具有同樣ID的數據幀和遙控幀在總線上競爭時,仲裁段的最后一位(RTR)為顯性電平的數據幀具有優先權,可繼續通信。

(2) 標準格式和擴展格式的優先級

具有相同基本ID的標準格式與擴展格式的數據幀或遙控幀在總線上競爭時,由于標準格式的RTR位為顯性電平,具有更高的優先權,可進行發送。

2.2.8 錯誤的種類

錯誤共有5種。有時數種錯誤同時發生。

? 位錯誤

? 填充錯誤

? CRC錯誤

? 格式錯誤

? ACK錯誤

錯誤的種類、錯誤的內容、出錯的幀和檢出錯誤的單元如下表所示。

wKgaomaCIV2AMuVnAAPynZ_nnzg945.png

2.2.9 位時序

一個位可分為4段。

? 同步段(SS: Synchronization Segment)

? 傳播時間段(PTS: Propagation Time Segment)

? 相位緩沖段1(PBS1: Phase Buffer Segment 1)

? 相位緩沖段2(PBS2: Phase Buffer Segment 2)

這些段由最小時間單位Tq(Time Quantum)構成。

消息中的1位被分為4個段,每個段又由若干個Tq構成,這稱為位時序。

消息中的1位由多少個Tq構成、每個段又由多少個Tq構成、這些是可以任意設定的。通過設定位時序,總線上數個單元可以以相同的時序對消息采樣,可以設定采樣點。采樣點設置在PBS1的結束處,以此時檢測到的總線上的電平值作為該位的電平值。

各段的用途和Tq數如下表所示。

wKgZomaCIcGAeEilAASwSUvmykE567.png

1位的構成如下圖所示。

wKgZomaCIdWAFXdOAAGmo3qaqik080.png

2.2.10 取得同步的方法

CAN 協議的通信方法為非歸零NRZ(Non-Return to Zero)方式。每個位上沒有開始或終了的同步信號。發送單元以與位時序同步的方式開始發送數據。接收單元根據總線上電平的變化進行同步接收信號。

但是,發送單元和接收單元存在的時鐘頻率誤差及傳送路徑上的(電纜、驅動器等)相位延遲會引起同步偏差。因此接收單元通過強制同步、再同步的方法調整時序進行接收。

2.2.11 強制同步

接收單元在總線空閑狀態檢出幀起始時進行的同步調整。檢出從隱性電平到顯性電平的邊沿時被認為是SS段,與SJW無關。

wKgaomaCIhaAbfhIAAFQXAs-c4c541.png

2.2.12 再同步

在接收過程中根據總線上的電平變化進行的同步。

檢出邊沿(總線上的電平跳變)時,對照誤差值并且根據SJW值延長PBS1段,或縮短PBS2段,以配合同步。但如果發生了超出SJW值的誤差,按照SJW值作修正。

wKgaomaCIjOAc20wAAIPW9sWpXQ237.png

2.2.13 同步規則

強制同步和再同步遵從如下規則。

(1) 1 位中只進行一次同步調整(兩次采樣點間)。

(2) 只有當邊沿后的總線電平與邊沿前一個總線采樣值不同時,該沿才能用于同步。

(3) 一旦檢測到隱性電平到顯性電平的邊沿,如果滿足條件(1)、(2)須進行同步。

(4) 幀間隔(“間隔”的第1位除去)中檢測到隱性電平到顯性電平的邊沿時,須進行強制同步。

(5) 其他所有的隱性電平到顯性電平的邊沿,須進行再同步。

(6) 發送單元觀測到自身輸出的顯性電平有延遲時不進行再同步。

2.3 CANFD框架

CAN FD可以理解成CAN協議的升級版,只升級了協議,物理層未改變。

CAN FD協議引入了經過調整的CAN數據幀,以實現額外的數據字節和靈活的比特率。

下面我們比較一個11位的傳統CAN幀與一個11位的CAN FD幀(同時也支持29位):

wKgaomaCIlWAd_JOAACmMdZMP6s834.png

下面我們一步一步地討論這些差異:

RTR與r1(RRS):傳統CAN中使用了遠程傳輸請求Remote Transmission Request(RTR)來識別數據幀和相應的遠程幀。但在CAN FD中,不支持遠程幀,遠程請求替換(r1)始終是顯性(0)。

在CAN-FD幀中,在控制字段中添加了三個新位(FDF、BRS、ESI位):

? 擴展數據長度 Extended Data Length (EDL):隱性表示幀為CAN-FD,否則該位為顯性(稱為R0)在CAN 2.0幀中。在傳統CAN格式的幀中,所對應傳輸的是位R0而不是EDL。

? 比特率切換 Bit Rate Switch(BRS):指示是否啟用兩個比特率。如果是隱性,則比特率從仲裁階段的標準比特率切換到數據階段的預配置交替比特率。如果是顯性,則不切換比特率。

? 錯誤狀態指示器 Error State Indicator(ESI):表示發送節點狀態,指示節點處于錯誤活動模式還是錯誤被動模式。

DLC:像在傳統CAN中一樣,CAN FD DLC是4位,表示幀中數據字節的數量。下表顯示了這兩種協議如何始終使用多達8個數據字節的DLC。為了維持4位DLC,CAN FD使用從9到15的其余7個值來表示所使用的數據字節數(12、16、20、24、32、48、64)。

wKgaomaCImSAGMQ-AAOyw_eK7h4356.png

CRC:傳統CAN中的循環冗余校驗(CRC)為15位,而在CAN FD中為17位(最多16個數據字節)或21位(20-64個數據字節)。在傳統CAN中,CRC中可以包含0到3個填充位,而在CAN FD中,總是有四個固定填充位以提高通信可靠性。

wKgZomaCInmAJSf_AAC46EgwfXA518.png

wKgaomaCIpqALW3bAABOJc9MxTE715.png

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

    關注

    146

    文章

    17123

    瀏覽量

    350982
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2744

    瀏覽量

    463614
  • CANFD
    +關注

    關注

    0

    文章

    57

    瀏覽量

    4938
收藏 人收藏

    評論

    相關推薦

    細說下與傳統CAN相比CANFD CRC段帶來的變化

    很多人了解過CANFD,可能知道CANFD CRC段與傳統CAN CRC差距是CRC多項式不同,但實際CANFD CRC段與傳統CAN的差異
    的頭像 發表于 07-15 11:56 ?2256次閱讀

    CANFD節點如何與經典CAN總線正常通信呢?

    CANFD的來源是什么?CANFD有哪幾個顯著特點?CANFD節點如何與經典CAN總線正常通信呢?
    發表于 06-16 09:31

    CAN協議特點簡介

    CAN協議CAN協議 簡介CAN協議 特點(1)多主
    發表于 08-19 06:02

    CAN總線協議簡介

    CAN總線協議1. CAN簡介CAN(controller area network)控制器局域網是用于解決汽車眾多控制部件之間的數據交換而
    發表于 03-01 06:29

    CANFD協議中的概念

    CANFD協議中,有個重要的概念TDC(Transmitter Delay Compensation)即發送延遲補償。為什么會存在發送延遲,又為什么CANFD要對發送延遲做補償? 為什么存在發送
    的頭像 發表于 07-08 14:30 ?3159次閱讀

    【EsDA協議轉換】Modbus轉CAN/CANFD協議

    實施IIoT,協議轉換在某些場合必不可少。本文介紹如何通過EsDA開發套件,快速完成一個Modbus轉CAN協議轉換器。 ?? 簡介
    的頭像 發表于 03-29 12:45 ?780次閱讀

    【EsDA協議轉換】Modbus轉CAN/CANFD協議

    實施IIoT,協議轉換在某些場合必不可少。本文介紹如何通過EsDA開發套件,快速完成一個Modbus轉CAN協議轉換器。簡介工業物聯網感
    的頭像 發表于 04-09 14:32 ?747次閱讀
    【EsDA<b class='flag-5'>協議</b>轉換】Modbus轉<b class='flag-5'>CAN</b>/<b class='flag-5'>CANFD</b><b class='flag-5'>協議</b>

    技術分享丨CAN/CANFD一致性測試

    在汽車領域CAN/CANFD網絡通信中,各節點(控制器)的質量不一致可能會引發錯誤、網絡故障或網絡癱瘓等問題,所以,為保證CAN/CANFD網絡的正常安全運行,必須要執行
    的頭像 發表于 04-24 09:28 ?3615次閱讀
    技術分享丨<b class='flag-5'>CAN</b>/<b class='flag-5'>CANFD</b>一致性測試

    CANCANFD協議簡介(上)

    前篇內容請點擊查看: RA MCU CANCANFD IP介紹 1. 概述 CAN(Controller Area Network)和CANFD(Controller Area Ne
    的頭像 發表于 07-31 12:10 ?3298次閱讀
    <b class='flag-5'>CAN</b>和<b class='flag-5'>CANFD</b><b class='flag-5'>協議</b><b class='flag-5'>簡介</b>(上)

    CANCANFD協議簡介

    前篇內容請點擊查看: RA MCU CANCANFD IP介紹 CANCANFD協議簡介(上
    的頭像 發表于 08-02 12:15 ?3078次閱讀
    <b class='flag-5'>CAN</b>和<b class='flag-5'>CANFD</b><b class='flag-5'>協議</b><b class='flag-5'>簡介</b>(<b class='flag-5'>下</b>)

    CAN/CANFD通信協議簡介

    CAN遵循ISO制定的OSI(Open System Interconnection)七層模型,其結構體現了兩層:數據鏈路層、物理層。
    的頭像 發表于 10-31 12:48 ?4996次閱讀
    <b class='flag-5'>CAN</b>/<b class='flag-5'>CANFD</b>通信<b class='flag-5'>協議</b><b class='flag-5'>簡介</b>

    CANCANFD的區別 CANCANFD如何轉換

    CANCANFD的區別 CANCANFD如何轉換? CAN(Controller Area Network)是一種廣泛應用于汽車和工業控
    的頭像 發表于 11-22 16:37 ?5935次閱讀

    cancanfd的區別

    cancanfd的區別? CAN(Controller Area Network)和CAN-FD(CAN with Flexible Da
    的頭像 發表于 12-07 15:37 ?4510次閱讀

    CANCANFD協議簡介(上)

    CANCANFD協議簡介(上)
    的頭像 發表于 01-26 08:06 ?1367次閱讀
    <b class='flag-5'>CAN</b>和<b class='flag-5'>CANFD</b><b class='flag-5'>協議</b><b class='flag-5'>簡介</b>(上)

    CAN/CANFD卡接口函數使用說明

    電子發燒友網站提供《CAN/CANFD卡接口函數使用說明.pdf》資料免費下載
    發表于 10-15 17:35 ?0次下載
    主站蜘蛛池模板: 国产强奷伦奷片| 久久热免费视频| 久章草一区二区| 热综合一本伊人久久精品| 小骚妇BBBXXX| 97久久精品人人槡人妻人| 国产AV电影区二区三区曰曰骚网| 精品高清国产a毛片| 青青草原直播| 大胸美女裸身色诱网站| 久久re6热在线视频精品| 日本久久精品毛片一区随边看| 亚洲精品无夜久久久久久久久| PORN白嫩内射合集| 国产一区二区青青精品久久 | 欧美成人亚洲高清在线观看| 午夜性爽视频男人的天堂在线| 4480YY无码午夜私人影院| 国产精品久久久久久久久久免费 | 亚洲一级电影| 赤兔CHINESE最新男18GUY| 久久AV无码AV高潮AV不卡| 神马电影院午 夜理论| 91精品一区二区综合在线| 国产亚洲精品久久77777| 人妻 中文无码 中出| 中文字幕欧美日韩VA免费视频| 国产精品 日韩精品 欧美| 欧美2019高清hd巨大| 夜夜精品视频一区二区| 国产精品久久久久久AV免费不卡| 嫩草欧美曰韩国产大片| 亚洲视频欧美视频| 国产精品97久久AV色婷婷综合 | 校花爽好大快深点h| 哺乳溢出羽月希中文字幕| 久久热在线视频精品店| 亚洲AV无码乱码国产精品品麻豆| 成人在线观看播放| 暖暖 免费 高清 日本 在线| 永久adc视频年龄确认|