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

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

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

3天內不再提示

MCAL的CAN模塊配置介紹

CHANBAEK ? 來源: 嵌入式老林 ? 作者: 嵌入式老林 ? 2023-12-12 15:31 ? 次閱讀

大家好,我是嵌入式老林,從事嵌入式軟件開發多年,今天分享的內容是MCAL的CAN模塊配置介紹,希望能對你有所幫助。

一、CAN模塊配置介紹

之前也分享過Autosar的基礎知識,不清楚且有興趣的同學可參考之前的文章。

在做車載相關的項目中,一般都會用CAN(或CAN FD)通信,當然也有Lin,FlexRay,更高級的甚至用以太網。初學者對這幾個常用的車載總線不太清楚的,可以移步之前的文章。

先簡單介紹一下Autosar中CAN是如何通信的,數據流,Autosar如何配置。

先來回顧一下Autosar的架構:

圖片

普通CAN報文接收流程:

CAN------CANIF------PDUR------COM

發送流程就是順序反過來,從上到下

COM------PDUR------CANIF------CAN

上面這些是屬于Autosar里面的BSW模塊,除了這些需要配置,MCAL也需要進行配置才行,也就是非Autosar架構中的底層驅動,類似于SDK。

本文也主要分享MCAL的CAN配置需要配置哪些東西

圖片

二、CAN控制器的配置

2.1 General配置

CanBusoffProcessing :BusOff的處理方式,中斷(INTERRUPT)或者輪詢(POLLING)

CanControllerActivation :是否激活這路CAN

CanControllerId :節點號,從0開始增加,必須連續。

CanRxProcessing :接收到報文后的處理方式,中斷(INTERRUPT)或者輪詢(POLLING)

CanTxProcessing :成功發送報文后的處理方式。中斷(INTERRUPT)或者輪詢(POLLING)。

CanWakeupFunctionalityAPI :Can喚醒的一些API函數是否可用,只有當支持CAN喚醒時,這個選項才可以勾選。

CanWakeupProcessing :CAN喚醒的處理方式,中斷(INTERRUPT)或者輪詢(POLLING)

CanWakeupSupport :是否支持CAN喚醒

CanControllerDefaultBaudrate :波特率的配置

CanPeripheralBusClockRef :CAN時鐘源選擇

圖片

2.2 波特率配置

配置界面:

圖片

標準CAN的波特率配置:

CanControllerProSeg:傳播段

CanControllerSeg1:相位緩沖段1

CanControllerSeg1:相位緩沖段2

CanControllerSyncJumpWidth:同步跳轉寬度

這幾個參數的含義的話,之前調試過CAN驅動的應該就知道了,這里簡單介紹一下,就是CAN波特率的計算方法:

波特率 =(CAN時鐘 / 波特率分頻系數) / 位時間

而 位時間 = tq + tBS1 + tBS2

CAN總線里通過對CAN 節點里的CANBTR寄存器的控制,來實現不同波特率的通信。

1)同步段 :一個位的起始位置,CAN-bus規定跳變沿為同步信號

2)傳播段 :發送節點發送一個位跟接收節點接收到這個位之間存在網絡傳播延遲,傳播段則是為了補償這段傳播延遲。

3)相位緩沖段1和相位緩沖段2 :由于采樣點位置在相位緩沖段1跟相位緩沖段2之間,通過設置相位緩沖段1和相位緩沖段2的值,可以調整采樣點位置,保證每個位采樣點一致。緩沖段的長度調節范圍則是由

4)同步跳轉寬度(SJW) :決定了緩沖段的長度調節范圍。

圖片

CAN FD的波特率配置

根據實際項目需求配置對應的波特率即可

CanControllerTxBitRateSwitch:CAN波特率是否可變

圖片

三、CanHardwareObject配置

3.1 General配置

配置界面如下:

1)配置這個HOH的類型是basic CAN (多個Pdu對應一個HardwareObject)還是Full CAN(一個Pdu對應一個HardwareObject)

2)配置CAN 報文是標準幀還是擴展幀。

3)配置HOH的ID號,從0開始

4)配置這個HOH是用來接收還是發送的

5)配置這個HOH屬于哪一個CAN通道

圖片

3.2 Filter配置

要接收的CANID都需要在filter中配置,CAN標準幀在StandardFilter,擴展幀的話是在ExtendFilter中添加

每一個item就是一個filter,每個filter里面可以配置ID0,ID1,filter type。對于每個接收報文的HOH來說,只有通過了這個filter,接收的CAN報文就會被分配到這個HOH,再往上傳遞到CANIF

Filter的類型有:

a) CAN_FILTER_ELEMENT_DISABLED :不使能filter

b) CAN_RANGE_FILTER :ID0 =< 接收ID <= ID1 則通過,也就是在ID0和ID1的范圍內都能接收到

c) CAN_CLASSIC_BIT_MASK_FILTER :接收ID & ID1 == ID0 則通過,也就是這種類型的過濾,如果ID1配置為0X7FF,則只能接收到當前配置的CAN ID。

d) CAN_DUAL_ID_FILTER :ID0和ID1都通過,即只能接收ID0和ID1

圖片

ID0和ID1的配置是取決于filter type的,下面以CAN_CLASSIC_BIT_MASK_FILTER類型為例介紹ID0和ID1的配置。

原理:能通過的報文ID數量完全取決于屏蔽碼(掩碼),設得寬,則可以通過的多(所有位為0,則任意報文ID都可以通過),設得窄,則通過的少(所有位設為1,則只有一個能通過)

圖片

至此,MCAL的CAN模塊就配置完成了,配置完成后,點擊保存,然后再右鍵選擇Verify Project,看看是否有報錯,沒報錯就點擊Generate Project,生成配置代碼,然后同步到編譯整個項目的工程中

圖片

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

    關注

    112

    文章

    16394

    瀏覽量

    178481
  • 嵌入式
    +關注

    關注

    5086

    文章

    19143

    瀏覽量

    306044
  • CAN模塊
    +關注

    關注

    0

    文章

    24

    瀏覽量

    8769
  • 車載總線
    +關注

    關注

    0

    文章

    5

    瀏覽量

    1234
收藏 人收藏

    評論

    相關推薦

    CAN發送的底層邏輯:CANwrite函數機制介紹

    這個系列是全新的系列,整個系列會通過實際操作,調試實際的代碼,以CAN為例,完整的解析AUTOSAR的從底層MCAL 到COM等上層模塊的通信鏈路層。重點講述數據的流向,以及各個模塊
    的頭像 發表于 07-17 15:47 ?6122次閱讀
    <b class='flag-5'>CAN</b>發送的底層邏輯:CANwrite函數機制<b class='flag-5'>介紹</b>

    為什么使用MCAL在Tresos中無法生成模塊

    MCAL-2.25 插件時,某些模塊(如端口、MCU、SPI、CAN、FEE、GPT)由于簽名失敗錯誤而無法生成,對于某些模塊,如 DIO、SMU、ICU,只能生成。 請盡早提供反
    發表于 05-20 08:16

    TC387 MCAL如何配置互補PWM?

    請問有用MCAL配過三路互補PWM的輸出嗎?研究了好幾天了,沒找到MCAL配置互補PWM的地方
    發表于 07-03 07:20

    port的eb mcal配置方法

    port的eb mcal配置方法
    發表于 07-28 06:16

    請問如何對Mcal Port進行配置

    請問如何對Mcal Port進行配置
    發表于 10-20 07:06

    MCAL配置S32K344 EVB的CAN0,卡在函數FlexCAN_Ip_SendBlocking中怎么解決?

    我用 NXP MCAL 配置了 S32K344 EVB 的 CAN0,但它會卡在函數 FlexCAN_Ip_SendBlocking 中。我已經閱讀了下面的鏈接并相應地設置了波特率和 UntouchPin。請檢查我的項目是否受到
    發表于 03-23 06:27

    Mcal Can模塊產品配置代碼使用s32ds配置工具失敗怎么解決?

    我用s32ds配置一個Mcal CAN模塊,RTD版本是1.0.1,但是當我生成代碼時,有幾個錯誤警告如下圖所示。然后我發現生成的文件FlexCAN_Ip_Cfg.h是空的,項目構建失
    發表于 04-03 09:18

    CAN2ETH/ETH2CAn獲取模塊警告是怎么回事?

    我們正在研究 CAN2ETH/ETH2CAn 項目,我們從 PFE-DRV_S32_M7_MCAL_BETA_0.9.7 中獲取了 NXP 參考項目軟件包:EBTresos
    發表于 04-11 07:10

    S32K144搭載S32K1XX_MCAL4_2_RTM_1_0_6以及S32DS編譯軟件使用CAN模塊無法發送報文怎么解決?

    我們團隊在使用MCALCAN模塊時無法發送報文的問題,MCAL版本是S32K1XX_MCAL4_2_RTM_1_0_6評估版,使用EB
    發表于 11-13 08:29

    英飛凌MCAL和VADC模塊配置資料說明

    本文檔的主要內容詳細介紹的是英飛凌MCAL和VADC模塊配置資料說明。
    發表于 01-25 08:00 ?150次下載
    英飛凌<b class='flag-5'>MCAL</b>和VADC<b class='flag-5'>模塊</b><b class='flag-5'>配置</b>資料說明

    AUTOSAR MCAL-基于Infineon TC3xx芯片的ADC模塊

    ADC模塊配置,和芯片特性強相關的地方還是有很多地方(AUTOSAR MCAL標準定義的配置項都是一樣的),本文將詳細介紹基于Infine
    的頭像 發表于 01-29 16:45 ?8696次閱讀

    簡單聊聊MCAL的最小工程

    英飛凌的芯片在汽車電子里用得可謂是頗多,最近剛好在摸TC3系列的CAN模塊,來簡單聊聊MCAL的最小工程。
    的頭像 發表于 03-21 09:25 ?2648次閱讀

    淺析AutoSAR CAN Stack在配置工具中的實現

    當時在開發MCAL相關模塊的時候,偶爾會看下CAN整個模塊配置,由于CAN相關的
    的頭像 發表于 06-14 14:26 ?2171次閱讀

    使用FSP配置RA的CAN模塊(上)

    使用FSP配置RA的CAN模塊
    的頭像 發表于 08-05 08:08 ?637次閱讀
    使用FSP<b class='flag-5'>配置</b>RA的<b class='flag-5'>CAN</b><b class='flag-5'>模塊</b>(上)

    使用FSP配置RA的CAN模塊(下)

    使用FSP配置RA的CAN模塊
    的頭像 發表于 08-05 08:08 ?505次閱讀
    使用FSP<b class='flag-5'>配置</b>RA的<b class='flag-5'>CAN</b><b class='flag-5'>模塊</b>(下)
    主站蜘蛛池模板: 熟女啪啪白浆嗷嗷叫| 亚洲性无码av在线| 双性大乳浪受噗呲噗呲h总| 中文字幕在线免费观看视频| 手机在线免费观看毛片| 中文字幕中文字幕永久免费| 精品无码国产自产在线观看| 幸福草电视剧演员表介绍| 观赏女性排尿| 色欲AV亚洲情无码AV蜜桃| 被送到黑人性奴俱乐部| 男女啪啪久久精品亚洲A| 91国偷自产一区二区三区 | chinese野外男女free| 免费观看美女的网站| 猪蜜蜜网站在线观看电视剧| 久久中文字幕综合不卡一二区| 一级黄色香蕉视频| 辣文肉高h粗暴| 97蜜桃网123.com| 欧美人与动交zOZ0| 成人午夜剧场| 我年轻漂亮的继坶2中字在线播放| 国产精品7777人妻精品冫| 我在厨房摸岳的乳HD在线观看| 国产精品青青青高清在线密亚| 武汉美女洗澡| 九九国产精品成人AV麻豆| 在线观看国产视频| 免费无遮挡又黄又爽网站| bbw美女与zooxx| 狠狠撸亚洲视频| 一本久道久久综合狠狠躁AV| 久久婷婷国产五月综合色啪最新| 最近中文字幕无吗免费高清| 欧美 亚洲 日韩 中文2019| 纯肉高H放荡受BL文库| 性欧美FREE少妇XXX| 快播dvd吧| 打卡中国各地奋斗第一线| 亚洲精品视频在线观看免费|