女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

FullCAN和BasicCAN是什么?有何區別

冬至配餃子 ? 來源:開心果 Need Car ? 作者:開心果 Need Car ? 2022-08-29 17:21 ? 次閱讀

在搞清楚FullCAN和BasicCAN是什么之前,我們先搞清楚一些基礎的東西。

1基礎概念

提示:

英飛凌tc397為例。

1、CAN Module與CAN Node、Controller關系

平時開發中,我們說“ECU有3路CAN”,所說的“3路CAN”和3個Node是一個概念嗎?不是。

我們平時所討論的“3路CAN”是指3個網絡,也就是我們口語中的“節點”。而芯片手冊中(Data Sheet),一個CAN Module會包含多個Node(即,Controller),比如:tc397芯片手冊中,MCMCAN Module包含3個CAN Module,每個Module包含4個Controller,如下所示:

pYYBAGMMg-OAYC3EAACJ9INnbJ4061.png

2、Controller與Transceiver關系

在實際的使用中,一個Controller必須配一個Transceiver,Controller+Transceiver = Network,如下所示:

pYYBAGMMg_qAOwu0AAByyEGH10M579.png

所以,平時我們口語話的“3路CAN”是指3個Controller+Transceiver組合,即:3個Network,我們也常稱“3個節點”。

3、Controller與RAM資源關系

剛提到,tc397中,一個CAN Module包含4個Controller,那每個Controller可以發送多少個CAN報文,接收多少個CAN 報文呢?這里我們要區分硬件緩存CAN報文的數量和項目中要求發送/接收報文的數量。

硬件緩存CAN報文數量:是指上層請求發送報文或者接收報文時,CAN驅動最多能緩存的數量;

項目中要求發送/接收報文的數量:是指當前節點要外發或者接收的報文數量。

以發送CAN報文數量為例:需求要求當前網絡節點發送100幀CanID不同的CAN報文,實際該節點CAN Controller可用的硬件發送緩存區最多有32,意味著底層硬件最多緩存32幀發送報文,如果超過32幀發送請求,則會因沒有硬件空間緩存而發送請求失敗。

tc397 CAN Module資源情況如下所示:

poYBAGMMhA-ALhjvAAEM-o0W0yY411.png

提示:上圖中的Controller用“Node”表示。由上可以看出,3個CAN Module,共12個Controller。

每個CAN Module(4個Controller)共用32個發送Tx Buffer,共用64個Rx Buffer

...對于發送緩沖區,每個CAN Module共用32個發送緩沖區,如果配置了32個TxDedicated Buffer,則沒有空間配置Tx FIFO/Queue;同理,每個CAN Module雖然有兩個Rx FIFO,如果配置了64個Rx Dedicated Buffer,則沒有空間配置Rx FIFO。一般,Tx/Rx Buffer配置時,會混合使用,比如:

20TxDedicated Buffer+ 12Tx Queue

40 RxDedicated Buffer+ 24Rx FIFO

MCMCAN

Module RAM區地址劃分順序如下所示:

poYBAGMMhCSAMIl3AADNZfS_IJs890.png

4、Mailbox、HRH、HWObject

Mailbox:郵箱,就是CAN驅動所具有的接收緩存區和發送緩存區,接收緩存區和發送緩存區均在RAM區。

HWObject:硬件對象,包含CAN ID、DLC、Data等信息的RAM區。

HRH:Hardware Receive Handle,接收句柄,一個HRH表示一個接收HWObject。

HTH:HardwareTransmitHandle,發送句柄,一個HTH表示一個發送HWObject。

Mailbox、HWObject、HRH、HTH、Controller、Transceiver之間的關系如下所示:

pYYBAGMMhDqAQ0yiAAC0PLOriVc031.png

2FullCAN和BasicCAN是什么?

首先,FullCAN和BasicCAN是CanIf模塊配置的參數。

BasicCAN:一個HWObject(HardwareObject)可以處理一段范圍的CanId

FullCAN:一個HWObject(HardwareObject)只能處理單個CanId

Autosar對FullCAN和BasicCAN的解釋如下所示:

poYBAGMMhImAcUxCAABo9GVkPgI211.png

將上述的解釋進一步細化,如下所示:

pYYBAGMMhEqAXgHCAADCYTX5JVU641.png

使用工程中,MCAL會將緩存區分配成FIFO和Dedicated Buffer,FIFO和Dedicated Buffer的區別是什么呢?Dedicated Buffer區域,Hareware Object與HRH/HTH一一對應,而FIFO區域,一個HRH/HTH對應多個HarewareObject,如下所示:

pYYBAGMMhGqADKl6AAC7wZ8Ce7g609.png

3為什么需要FullCAN和BasicCAN?

在CAN驅動層,可以通過過濾的方式,過濾一段范圍內的CanID,也就是說:會有一段范圍內的報文接收進來,但是接收進來的這一段范圍的報文并不一定都是上層所需要的,怎么辦呢?用軟件方式,再過濾一遍,由CanIf過濾所需要的CAN報文。因此,提出了FullCAN和BasicCAN的概念。

比如:HRH對應BASIC CAN類型,接收CanID范圍:0x10~0x18,CanIf根據過濾算法,在0x10~0x18范圍內過濾出需要的0x10、0x13、0x14、0x16、0x17送給上層,而其余的丟棄,如下所示:

poYBAGMMhJ-AQzbBAADAas-Dt-k646.png

CanIf可以通過設置CANIF_HRHRANGE_LOWER_CANID、CANIF_HRHRANGE_UPPER_CANID方式過濾,也可以通過設置CANIF_HRHRANGE_BASEID、CANIF_HRHRANGE_MASK進行過濾。

不同報文類型如何選擇FULL CAN/BASICCAN

應用報文:一般選擇配置成FULL CAN類型,對于應用報文,一般不需要緩存,使用最新接收的數據即可。對于發送的應用報文,都配置成FULL CAN類型需要一個前提:上層需要發送應用報文數量<底層硬件緩存區數量。比如:底層發送硬件緩存區數量為32,節點需要發送的應用報文數量為50,顯然無法將50個發送的應用報文都配置成FULL CAN。遇到這種情況,一般會將重要的應用報文配置成FULL CAN,而其他要發送的應用報文配置成BASIC CAN。這樣配置以后,硬件緩存區的分配就需要混用,即:Dedicated Tx Buffers+Tx Queue或者 Dedicated Tx Buffers+Tx FIFO,如下所示:

poYBAGMMhLKAa0SPAAC5rWvshB8966.png

如上圖,ID3、ID15、ID20是比較重要的應用報文,配置成FULL CAN,分別給一個獨立的緩存區;其他的緩存區則配置成BASIC CAN,即:一個緩存區可以發送多個不同CanID的報文。

診斷報文:一般選擇配置成BASIC CAN類型(結合FIFO Buffer使用),因為診斷報文的請求/響應不能錯序,需按照順序處理,且數據不能覆蓋;

網絡管理報文:接收一般選擇配置成BASIC CAN類型,因為一個節點一般會要求接收一段范圍的網絡管理報文,eg:0x500~0x53F。發送網絡管理報文配置成FULL/BASIC CAN類型均可,如果資源夠用,推薦配置成FULL CAN類型,因為每個節點的發送網絡管理報文唯一;

標定報文:一般選擇配置成FULL CAN類型。



審核編輯:劉清

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

    關注

    57

    文章

    2884

    瀏覽量

    466698
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1391

    瀏覽量

    116745
  • fifo
    +關注

    關注

    3

    文章

    400

    瀏覽量

    44607
收藏 人收藏

    評論

    相關推薦
    熱點推薦

    永磁電機 VS 普通電機,這兩個區別

    · 電機是現代工業的心臟,廣泛應用于各個領域。永磁電機和普通電機作為兩種主要類型,到底區別?今天小編帶你一起來了解下:? ü 運行效率: ①永磁電機因無需外部勵磁,顯著降低能量損耗,效率普遍高出
    的頭像 發表于 05-29 08:41 ?43次閱讀

    GD32與STM32什么區別

    電子發燒友網站提供《GD32與STM32什么區別.docx》資料免費下載
    發表于 04-03 17:27 ?0次下載

    分布式存儲和集中式存儲區別

    存儲產品千千萬,選來選去怎么辦? 戴小編來獻妙策,匹配需求不為難!分布式存儲和集中式儲是存儲系統中十分重要的兩種架構類型,但這兩者區別?適合怎樣的業務需求?今天戴小編就來一一解答。
    的頭像 發表于 02-28 10:56 ?976次閱讀

    PogoPin的工作行程working stroke和最大行程max. stroke區別

    pogopin的圖紙中有標注工作行程和最大行程,但是很多客戶不理解這兩者之間的區別,他們之間主要區別在于它們的定義和應用場景。CFE致力成為行業領先的全球化連接系統解決方案商,為客戶提供更全面高效可靠的技術與服務。
    的頭像 發表于 02-27 17:23 ?360次閱讀
    PogoPin的工作行程working stroke和最大行程max. stroke<b class='flag-5'>有</b><b class='flag-5'>何</b><b class='flag-5'>區別</b>

    私有云和公有云什么區別

    私有云和公有云在多個方面存在顯著的區別,以下是具體的比較,主機推薦小編為您整理發布私有云和公有云什么區別
    的頭像 發表于 02-20 10:38 ?570次閱讀

    audio CODEC AGC跟DRC區別

    audio CODEC AGC 跟DRC 區別?求詳解,thanks
    發表于 01-09 07:29

    ADS1256中的SYSGCAL系統增益校準和SELFGCAL增益自動校準什么區別

    請問一個問題:ADS1256中的SYSGCAL系統增益校準和SELFGCAL 增益自動校準什么區別?SELFCAL 偏移和增益自動校準又有區別?SELFOCAL偏移自動校準又何
    發表于 12-13 12:22

    你聽說過MIPS嗎?它和ARM區別

    基于MIPS指令集的君正X2000處理器。有些工程師對于MIPS不怎么了解,究竟MIPS和ARM區別呢?本期文對MIPS做一個簡單介紹。MIPS和ARM都屬于
    的頭像 發表于 11-23 01:05 ?663次閱讀
    你聽說過MIPS嗎?它和ARM<b class='flag-5'>有</b><b class='flag-5'>何</b><b class='flag-5'>區別</b>?

    【迅為電子】龍芯LS2K1000LA和LS2K1000區別

    【迅為電子】龍芯LS2K1000LA和LS2K1000區別
    的頭像 發表于 11-13 14:13 ?625次閱讀
    【迅為電子】龍芯LS2K1000LA和LS2K1000<b class='flag-5'>有</b><b class='flag-5'>何</b><b class='flag-5'>區別</b>?

    TAS5611M1,M2,M3模式設置腳,TAS5611的AD模式 BD模式什么區別

    TAS5611M1,M2,M3模式設置腳,請教一下芯片的AD模式BD模式區別
    發表于 10-16 07:55

    左行繞組和右行繞組區別

    左行繞組和右行繞組主要在繞線方向、電流流動方向、磁場方向以及應用場景等方面存在區別,以下是具體的比較: 一、繞線方向 左行繞組 :繞線的旋轉方向是逆時針。 右行繞組 :繞線的旋轉方向是順時針。 二
    的頭像 發表于 10-08 10:50 ?1507次閱讀

    毫伏表與萬用表區別

    毫伏表與萬用表在多個方面存在顯著的區別,這些區別主要體現在它們的用途、測量范圍、精度、輸入阻抗以及工作頻率等方面。
    的頭像 發表于 10-03 16:23 ?2034次閱讀

    TPA3112D1PWPR與TPA3112D1PWP區別

    TPA3112D1PWPR與TPA3112D1PWP區別
    發表于 09-09 07:48

    請問單端音頻和差分音頻區別

    單端音頻和差分音頻區別?一個是單聲道一個是立體聲?
    發表于 08-13 07:37

    舊款泰克TCP202和當前款TCP202A之間區別

    這兩種電流探頭的區別。 問題: 泰克舊款的TCP202電流探頭和當前款TCP202A之間區別? 答案: 不同之處在于: 1. TCP202 的鉗口尺寸為 3.8 毫米,而 TCP2
    的頭像 發表于 08-12 10:49 ?815次閱讀
    舊款泰克TCP202和當前款TCP202A之間<b class='flag-5'>有</b><b class='flag-5'>何</b><b class='flag-5'>區別</b>?