99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

MCAL的CAN模塊配置介紹

CHANBAEK ? 來源: 嵌入式老林 ? 作者: 嵌入式老林 ? 2023-12-12 15:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

一、CAN模塊配置介紹

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

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

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

先來回顧一下Autosar的架構(gòu):

圖片

普通CAN報文接收流程:

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

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

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

上面這些是屬于Autosar里面的BSW模塊,除了這些需要配置,MCAL也需要進(jìn)行配置才行,也就是非Autosar架構(gòu)中的底層驅(qū)動,類似于SDK。

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

圖片

二、CAN控制器的配置

2.1 General配置

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

CanControllerActivation :是否激活這路CAN

CanControllerId :節(jié)點(diǎn)號,從0開始增加,必須連續(xù)。

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

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

CanWakeupFunctionalityAPI :Can喚醒的一些API函數(shù)是否可用,只有當(dāng)支持CAN喚醒時,這個選項(xiàng)才可以勾選。

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

CanWakeupSupport :是否支持CAN喚醒

CanControllerDefaultBaudrate :波特率的配置

CanPeripheralBusClockRef :CAN時鐘源選擇

圖片

2.2 波特率配置

配置界面:

圖片

標(biāo)準(zhǔn)CAN的波特率配置:

CanControllerProSeg:傳播段

CanControllerSeg1:相位緩沖段1

CanControllerSeg1:相位緩沖段2

CanControllerSyncJumpWidth:同步跳轉(zhuǎn)寬度

這幾個參數(shù)的含義的話,之前調(diào)試過CAN驅(qū)動的應(yīng)該就知道了,這里簡單介紹一下,就是CAN波特率的計算方法:

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

而 位時間 = tq + tBS1 + tBS2

CAN總線里通過對CAN 節(jié)點(diǎn)里的CANBTR寄存器的控制,來實(shí)現(xiàn)不同波特率的通信。

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

2)傳播段 :發(fā)送節(jié)點(diǎn)發(fā)送一個位跟接收節(jié)點(diǎn)接收到這個位之間存在網(wǎng)絡(luò)傳播延遲,傳播段則是為了補(bǔ)償這段傳播延遲。

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

4)同步跳轉(zhuǎn)寬度(SJW) :決定了緩沖段的長度調(diào)節(jié)范圍。

圖片

CAN FD的波特率配置

根據(jù)實(shí)際項(xiàng)目需求配置對應(yīng)的波特率即可

CanControllerTxBitRateSwitch:CAN波特率是否可變

圖片

三、CanHardwareObject配置

3.1 General配置

配置界面如下:

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

2)配置CAN 報文是標(biāo)準(zhǔn)幀還是擴(kuò)展幀。

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

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

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

圖片

3.2 Filter配置

要接收的CANID都需要在filter中配置,CAN標(biāo)準(zhǔn)幀在StandardFilter,擴(kuò)展幀的話是在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的范圍內(nèi)都能接收到

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

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

圖片

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

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

圖片

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

圖片

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 控制器
    +關(guān)注

    關(guān)注

    114

    文章

    17100

    瀏覽量

    184229
  • 嵌入式
    +關(guān)注

    關(guān)注

    5150

    文章

    19665

    瀏覽量

    317459
  • CAN模塊
    +關(guān)注

    關(guān)注

    0

    文章

    25

    瀏覽量

    9035
  • 車載總線
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    1285
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

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

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

    TC387 MCAL如何配置互補(bǔ)PWM?

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

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

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

    port的eb mcal配置方法

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

    請問如何對Mcal Port進(jìn)行配置

    請問如何對Mcal Port進(jìn)行配置?
    發(fā)表于 10-20 07:06

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

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

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

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

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

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

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

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

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

    本文檔的主要內(nèi)容詳細(xì)介紹的是英飛凌MCAL和VADC模塊配置資料說明。
    發(fā)表于 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模塊配置,和芯片特性強(qiáng)相關(guān)的地方還是有很多地方(AUTOSAR MCAL標(biāo)準(zhǔn)定義的配置項(xiàng)都是一樣的),本文將詳細(xì)介紹基于Infine
    的頭像 發(fā)表于 01-29 16:45 ?1.1w次閱讀

    簡單聊聊MCAL的最小工程

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

    淺析AutoSAR CAN Stack在配置工具中的實(shí)現(xiàn)

    當(dāng)時在開發(fā)MCAL相關(guān)模塊的時候,偶爾會看下CAN整個模塊配置,由于CAN相關(guān)的
    的頭像 發(fā)表于 06-14 14:26 ?2766次閱讀

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

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

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

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