在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

3天內不再提示

CAN DLC與實際發送數據長度有何關系

冬至配餃子 ? 來源:開心果 Need Car ? 作者:開心果 Need Car ? 2022-08-25 10:41 ? 次閱讀

Q1、Prepare Bus-Sleep Mode進入Network Mode條件

A1CAN網絡管理中,Prepare Bus-Sleep Mode進入Network Mode可以通過三種方式,如下所示:

pYYBAGMG4JCALkZ3AACUY_N4y2I973.png

由CanNm_RxIndication()方式進入,即:在PBSM(Prepare Bus-Sleep Mode)下收到網絡管理報文方式進入;

由CanNm_PassiveStartUp()方式進入。調用CanNm_PassiveStartUp()接口,表明網絡需要被動喚醒,收到網絡管理報文也屬于被動接收,和CanNm_RxIndication()方式進入不一樣嗎?這里說一下個人理解:在PBSM模式下,ECU依然有接收報文的能力,如果接收到NM Msg,可以通過CanNm_RxIndication()接收,喚醒網絡;如果收到特定的應用報文(比如:包含KL15信號的應用報文)或者診斷報文,也想把網絡喚醒,顯然非網絡管理報文不會通過CanNm_RxIndication()接口接收,如果想讓非網絡管理喚醒網絡,此時就可以讓上層主動調用CanNm_PassiveStartUp()接口,進而喚醒網絡;

由CanNm_NetworkRequest()方式進入,同CanNm_PassiveStartUp()方式,此方式也屬于上層請求行為。不同于CanNm_PassiveStartUp()方式,此方式表明當前節點需要通信,需要主動喚醒網絡。比如前面提到的一種情況:VFC置位時,即可主動調用CanNm_NetworkRequest()接口進入RMS狀態。

Q2:CAN DLC與實際發送數據長度關系

A2:DLC(Data Length Code),一幀CAN報文中,發送數據的長度,用4個Bit表示。

對于ClassicalFrame,DLC的長度有效范圍為0~8,對應的發送數據長度為0~8 bytes,如果DLC長度≥8,則發送數據長度為8 byte。

對于FD frame,DLC不僅可以等于0~8,還可以等于9~F,對應的數據長度分為12、16、20、24、32、48、64。如下所示:

pYYBAGMG4KiAOJJWAAEpyKwS8rM465.png

對于ClassicalFrame如果設置DLC = 4,實際在總線上傳輸的數據長度是4 byte還是8 byte?答:4 byte。雖然可以這樣設置,但是工程實際中,很少這樣用,一幀報文只傳輸4個數據或者更少,會降低有效數據負載,效率低。

注意:假設傳輸一個ClassicalFrame,雖然總線只傳輸4 byte數據,但是CAN模塊消耗的硬件資源(RAM),實際是8 byte(eg:tc3xx)。

發送一幀CAN報文,對應一個Tx Buffer Element,在Tx Buffer Element中,根據發送CAN報文的類型決定消耗的DB(Data Buffer)大小,如下所示:

poYBAGMG4LyABLs6AACWlJ25nUA653.png

一幀CAN報文消耗多大的DB呢?DB空間的消耗,由TXESC.TBDS決定,因此,DB最小需要8 byte。如下所示:

pYYBAGMG4M-ANOLkAADNj0UUJrU566.png

什么意思呢?就是在硬件配置階段,即使配置DLC = 4,但是一幀CAN報文也必須消耗8 byte的硬件RAM資源。而數據發送到總線時,只發送4 byte的數據。

Q3:$3E 80發送時機

A3:$3E 80的主要作用在于維持節點的會話狀態,即:將節點維持在非默認會話。工程中,基于UDS軟件升級過程中,Tester或者Gateway節點會使用功能尋址周期性發送$3E 80。何時發送$3E 80更合適呢?

本文主要想討論$36服務過程中,何時發送$3E 80更恰當。軟件升級過程中,一個$36 Block會發送大量數據,即:多幀傳輸,在多幀傳輸的過程中,發送一個$3E 80是否可行?答:可以,但是會帶來風險。為什么這樣說呢?多幀傳輸過程,一般使用物理尋址,針對特定節點升級,在多幀傳輸的過程中,發送一幀功能尋址的$3E 80,且中斷接收,如果處理3E 80的中斷例程耗時過多,導致連續幀會被延遲處理,連續幀被延時時間過長會導致接收丟幀的問題,即:下一個連續幀覆蓋被延時處理的連續幀。以500Kbps通信的經典CAN為例,如果允許上位機/Gateway節點連續發送,1ms內可以發送三幀報文,也就是說:如果接收端沒有在300us左右的時間內處理完連續幀,就可能會導致連續幀覆蓋的問題,即:接收端接收丟幀。

pYYBAGMG4OWAL-hbAABuuhxFelE773.png

如上,討論一種工況:

t0時刻,接收端中斷收到$2A XxXx...(接收完成),進入中斷例程處理$2A XxXx...數據(主要是通知上層Copy數據);

t1時刻,接收端中斷收到$3E 80,進入中斷例程處理3E 80數據;

t2時刻,接收端中斷收到連續幀$2BXxXx...,由于同一中斷(均是接收中斷,優先級一樣)正在執行,2BXx Xx...數據暫時不能處理;

t3時刻,3E 80數據處理完成,同時收到連續幀$2CXx Xx...,如果$2BXx Xx...和$2CXx Xx...使用同一個硬件緩存區,會導致連續幀$2CXx Xx...覆蓋連續幀$2BXxXx...的工況。所以,為避免接收丟幀,接收緩存區一般會配置多一些,一般工程中會將資源全部使用或者用FIFO方式接收。

理想工況,這種連續幀插入3E 80的行為不會出現問題(中斷例程不要處理大量邏輯),但在工程實際中,偶爾會遇到并行發送功能尋址$3E 80,導致連續幀發送問題的Bug。

一般在處理多幀發送過程中,如果上位機或者Gateway節點發送功能尋址的$3E 80,會選擇在連續幀結束時(發送完最后一幀連續幀)發送。

注意:需求中,有時會約束$36服務的P4 server_max為5000ms,即:只允許接收節點(Server)回復一個NRC0x78,為什么呢?如果S3超時時間設置為5000ms,且$3E 80放在連續幀的最后發送,當前Block傳輸用時接近5000ms,如果再不發送一幀$3E 80,則其他節能可能會因S3超時回到默認會話。



審核編輯:劉清

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

    關注

    57

    文章

    2900

    瀏覽量

    467002
  • 網絡管理
    +關注

    關注

    0

    文章

    123

    瀏覽量

    28077
  • 上位機
    +關注

    關注

    27

    文章

    961

    瀏覽量

    55656
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    USB3014讀取請求為16Kbytes但實際數據長度只有64bytes時,這會影響USB性能嗎?

    PC 發送 64 個字節,并且在 PC 端,我的讀取請求大約是 16K 字節,那么我已經得到了 64 個字節,這是沒問題的。 但我想知道,當讀取請求為16Kbytes但實際數據長度
    發表于 05-09 06:26

    STM32G473 CAN發送數據出現丟幀怎么解決?

    發現都有丟幀的情況。 調試如下:固定發送報文數量,并仿真,對將要發送數據添加到郵箱的成功狀態進行計數。 第一種情況:等待所有發送郵箱都為空,再添加報文,出現丟幀。發20000幀,成功
    發表于 03-11 08:30

    關于STM32 CAN通信發送函數HAL_CAN_AddTxMessage()的最后一個參數填0和定義一個變量取地址的問題求解

    問題: 關于STM32 CAN通信 發送函數 HAL_CAN_AddTxMessage()的最后一個參數填0和定義一個變量取地址的問題,如果直接傳0,我實驗發現 STM32F103C8T6 會出
    發表于 03-11 08:22

    CAN loopback模式測試

    ); HAL_NVIC_EnableIRQ(CAN_RX0_IRQn);。 發送和接收測試 發送報文:創建一個 CAN 報文結構體,填寫標準 ID、擴展 ID、
    發表于 01-18 16:29

    使用CAN總線的注意事項 CAN總線與其他通信協議對比

    使用CAN總線的注意事項 電氣特性 :CAN總線對電氣特性嚴格的要求,包括電壓水平、終端電阻、電纜長度等。確保遵循CAN總線規范中的電氣參
    的頭像 發表于 11-21 10:16 ?1254次閱讀

    嵌入式學習-飛凌嵌入式ElfBoard ELF 1板卡-CAN編程示例之socket CAN例程

    : can應用參數 * @return : 實際發送數據長度 */ int func_send_ca
    發表于 11-19 09:29

    飛凌嵌入式ElfBoard ELF 1板卡-CAN編程示例之socket CAN例程

    : can應用參數 * @return : 實際發送數據長度 */ int func_send_ca
    發表于 11-18 09:29

    飛凌嵌入式ElfBoard ELF 1板卡-CAN編程示例之socket CAN編程步驟

    規則為不接受任何報文,僅發送數據。填充frame結構體中的數據部分(frame.data[])和數據長度(frame.
    發表于 11-15 09:23

    CAN總線通信中的數據幀結構解析

    幀由多個字段組成,每個字段都有特定的功能和長度。一個標準的CAN數據幀包括以下部分: 幀起始 (SOF):表示數據幀的開始,由一個顯性位(邏輯0)組成。 仲裁段 :用于確定
    的頭像 發表于 11-12 10:12 ?3003次閱讀

    CAN總線知識】全面了解CAN總線協議

    基本概念1.報文總線上的信息以不同格式的報文發送,但長度有限?當總線開放時,任何連接的單元均可開始發送一個新報文?2.信息路由在CAN系統中,一個C
    的頭像 發表于 10-15 08:05 ?2218次閱讀
    【<b class='flag-5'>CAN</b>總線知識】全面了解<b class='flag-5'>CAN</b>總線協議

    低功耗Bluetooth–有關CC1350和CC26x0器件通過SPI發送的UNPI數據包缺失長度檢查

    電子發燒友網站提供《低功耗Bluetooth–有關CC1350和CC26x0器件通過SPI發送的UNPI數據包缺失長度檢查.pdf》資料免費下載
    發表于 09-20 10:49 ?0次下載
    低功耗Bluetooth–有關CC1350和CC26x0器件通過SPI<b class='flag-5'>發送</b>的UNPI<b class='flag-5'>數據</b>包缺失<b class='flag-5'>長度</b>檢查

    CAN/CAN FD/CAN XL三大總線協議解讀,是逐步替代關系嗎?

    電子發燒友網報道(文/吳子鵬)在軟件定義汽車逐漸成為主流的當下,數據傳輸的速度和效率成為打造智能汽車的瓶頸,在這種大背景下,傳統CAN總線應對一些需求已經相當吃力,因此CAN FD和CAN
    的頭像 發表于 08-12 01:12 ?5428次閱讀

    can信息幀數據鏈路層組成部分及功能

    、智能家居等領域。 1.2 CAN協議的特點 CAN協議具有以下特點: 多主控制:CAN協議支持多個節點同時進行通信,提高了系統的實時性和可靠性。 廣播通信:CAN協議采用廣播方式進行
    的頭像 發表于 07-24 15:12 ?953次閱讀

    AirKiss配網完成后,向10000端口發送UDP廣播包的長度疑問求解

    參考微信 [AirKiss 庫文件使用指南]-Page7,使用AirKiss配網 接收到SSID及PWD完成后設備需要向10000端口發送UDP廣播包,其數據長度為1,內容為ack->
    發表于 07-19 07:47

    TCAN1051具CAN FD和故障保護功能的CAN收發器數據

    電子發燒友網站提供《TCAN1051具CAN FD和故障保護功能的CAN收發器數據表.pdf》資料免費下載
    發表于 07-01 10:25 ?1次下載
    TCAN1051具<b class='flag-5'>有</b><b class='flag-5'>CAN</b> FD和故障保護功能的<b class='flag-5'>CAN</b>收發器<b class='flag-5'>數據</b>表
    主站蜘蛛池模板: 国产精品情人露脸在线观看 | 免费在线a视频 | 久久久久青草 | 日本特黄特色大片免费看 | 国产午夜a理论毛片在线影院 | 午夜官网 | 性做久久久久久久久 | 亚洲免费在线观看视频 | 色免费在线观看 | 亚洲综合在线最大成人 | 糖心vlog麻豆精东影业传媒 | 在线观看黄色x视频 | 欧美在线不卡视频 | 久久婷婷一区二区三区 | 97午夜理伦片在线影院 | 美女被免费网站91色 | 国产成人毛片亚洲精品不卡 | 男人和女人在床做黄的网站 | 亚洲综合婷婷 | 亚洲第一色在线 | 人人做人人爽人人爱 | 一级做a爰片久久毛片免费 一级做a爰片久久毛片免费看 | 日本欧美一区二区三区视频 | 一级片a| 美女露出尿口让男人桶爽网站 | 亚洲精品影视 | 午夜免费福利视频 | 精品视频在线观看视频免费视频 | 福利区在线观看 | 四虎一影院区永久精品 | 韩国电影天堂 | 天天操天天操天天射 | 亚洲1卡二卡3卡四卡不卡 | 亚洲国产成人精彩精品 | 免费亚洲成人 | 五月婷婷丁香色 | 欧美综合久久 | 国产日本久久久久久久久婷婷 | 理论片免费午夜 | 爱爱小视频免费 | 你懂的在线免费 |