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

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,生成配置代碼,然后同步到編譯整個項目的工程中

圖片

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

    關注

    113

    文章

    16813

    瀏覽量

    182075
  • 嵌入式
    +關注

    關注

    5121

    文章

    19418

    瀏覽量

    312623
  • CAN模塊
    +關注

    關注

    0

    文章

    25

    瀏覽量

    8927
  • 車載總線
    +關注

    關注

    0

    文章

    5

    瀏覽量

    1269
收藏 人收藏

    評論

    相關推薦

    為什么使用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

    求助,使用EB配置S32K310 MCAL CAN模塊時遇到的疑問求解

    我在使用EB配置S32K310的MCALCAN模塊時產生一些疑問: 1.我在手冊中看到S32K310的MessageBuffer大小是64,那么HwObjectCount的最大
    發表于 04-02 06:10

    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 ?151次下載
    英飛凌<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 ?9897次閱讀

    簡單聊聊MCAL的最小工程

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

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

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

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

    使用FSP配置RA的CAN模塊
    的頭像 發表于 08-05 08:08 ?804次閱讀
    使用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 ?665次閱讀
    使用FSP<b class='flag-5'>配置</b>RA的<b class='flag-5'>CAN</b><b class='flag-5'>模塊</b>(下)
    主站蜘蛛池模板: 一区二区三区四区视频在线观看 | 欧美一级特黄aa大片视频 | 永久免费人成网ww555kkk手机 | 黄视频在线播放 | 亚洲色图22p| 一区二区三区视频在线 | 精品午夜久久福利大片免费 | 大黄蕉| 五月婷六月| 草色在线 | 特黄一级真人毛片 | 717影院理论午夜伦八戒 | 色多多视频在线播放 | 在线亚洲一区二区 | 久久这里只有精品免费视频 | 欧美视频精品一区二区三区 | 亚洲一区二区三区免费观看 | 欧美视频综合 | www.色午夜.com | 日本xxxxxx69 | 国产精品理论 | 超级狂色而且免费又超好看 | 手机在线黄色 | 午夜精品久久久久久久 | 亚洲精品久久久久久久蜜桃 | 国产成人永久免费视频 | 亚洲日本在线观看视频 | 午夜免费福利影院 | 黄色短视频免费看 | 美女网站一区二区三区 | 国产一级毛片午夜福 | 热久久最新视频 | 日本片免费观看一区二区 | 四虎网站网址 | 久久天天操 | 电影天堂在线观看三级 | 91天天干 | www.四虎在线 | 亚洲一区二区在线视频 | 国产中文字幕一区 | 天天干天天操天天做 |