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

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

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

揭秘車(chē)載VCU項(xiàng)目之外掛界的“大哥”DMA

朱老師物聯(lián)網(wǎng)大講堂 ? 2024-07-30 08:11 ? 次閱讀

引腳配置


353fa648-4e08-11ef-817b-92fbcf53809c.png

此實(shí)例選擇CAN0進(jìn)行配置。

三、外設(shè)配置

對(duì)于DMA,其采用的固定映射,對(duì)于通道0至通道15,其映射一部分外設(shè),通道16至通道31映射一部分外設(shè),所以對(duì)于外設(shè)要使用DMA,也需要注意此項(xiàng)。添加外設(shè):358905cc-4e08-11ef-817b-92fbcf53809c.png

CAN基礎(chǔ)配置:

35aa22c0-4e08-11ef-817b-92fbcf53809c.png

CAN的用戶(hù)回調(diào)配置:

35aa22c0-4e08-11ef-817b-92fbcf53809c.png中斷配置:36ae5d6c-4e08-11ef-817b-92fbcf53809c.png

配置完畢后更新代碼:

36daedfa-4e08-11ef-817b-92fbcf53809c.png

36f91690-4e08-11ef-817b-92fbcf53809c.png

36f91690-4e08-11ef-817b-92fbcf53809c.png

35017e4a-4e08-11ef-817b-92fbcf53809c.png

四、部分代碼展示

351386f8-4e08-11ef-817b-92fbcf53809c.png

/** * @brief FlexCAN0中斷回調(diào)函數(shù) * * 該函數(shù)處理FlexCAN0模塊的各類(lèi)事件,根據(jù)事件類(lèi)型執(zhí)行相應(yīng)的處理邏輯。 * 主要負(fù)責(zé)接收和發(fā)送CAN消息。 * * @param instance CAN實(shí)例號(hào),此處固定為FlexCAN0。 * @param eventType 事件類(lèi)型,指示當(dāng)前中斷的原因。 * @param buffIdx 接收緩沖區(qū)索引,指示接收消息所在的緩沖區(qū)。 * @param flexcanState FlexCAN狀態(tài)結(jié)構(gòu)體指針,包含F(xiàn)lexCAN模塊的當(dāng)前狀態(tài)信息。 */void FlexCAN0_Callback(uint8 instance, Flexcan_Ip_EventType eventType, uint32 buffIdx, const Flexcan_Ip_StateType *flexcanState){ /* 忽略參數(shù),防止編譯器警告 */ (void)flexcanState; (void)instance; (void)buffIdx;
/* 根據(jù)事件類(lèi)型執(zhí)行相應(yīng)的處理邏輯 */ switch(eventType) { case FLEXCAN_EVENT_RX_COMPLETE: { txData[7] = 0; /* 設(shè)置消息ID類(lèi)型為標(biāo)準(zhǔn)ID,準(zhǔn)備發(fā)送消息 */ tx_info.msg_id_type = FLEXCAN_MSG_ID_STD; /* 發(fā)送消息,并從接收緩沖區(qū)讀取新消息 */ FlexCAN_Ip_Send(INST_FLEXCAN_0, TX_MB_IDX, &tx_info, MSG_ID, (uint8 *)&txData); FlexCAN_Ip_Receive(INST_FLEXCAN_0, RX_MB_IDX, &rxData, FALSE); }break; case FLEXCAN_EVENT_RXFIFO_COMPLETE: { /* RXFIFO完成事件的處理邏輯 */ }break; case FLEXCAN_EVENT_TX_COMPLETE: { /* TX完成事件的處理邏輯 */ }break; case FLEXCAN_EVENT_ENHANCED_RXFIFO_COMPLETE: { /* 增強(qiáng)型RXFIFO完成事件的處理邏輯 */ }break; case FLEXCAN_EVENT_ENHANCED_RXFIFO_WATERMARK: { /* 增強(qiáng)型RXFIFO水位標(biāo)記事件的處理邏輯 */ }break; case FLEXCAN_EVENT_DMA_COMPLETE: { txData[7] = 11; /* DMA完成事件的處理邏輯,發(fā)送消息并從FIFO讀取數(shù)據(jù) */ tx_info.msg_id_type = FLEXCAN_MSG_ID_STD; FlexCAN_Ip_Send(INST_FLEXCAN_0, TX_MB_IDX, &tx_info, MSG_ID, (uint8 *)&txData); FlexCAN_Ip_RxFifo(INST_FLEXCAN_0, &rxFifoData); }break; default: { /* 默認(rèn)情況下,不做任何處理 */ }break; }}

35017e4a-4e08-11ef-817b-92fbcf53809c.png

五、注意事項(xiàng)

351386f8-4e08-11ef-817b-92fbcf53809c.png

中斷配置回調(diào)函數(shù)注意事項(xiàng):

37872066-4e08-11ef-817b-92fbcf53809c.png

37a56418-4e08-11ef-817b-92fbcf53809c.png

37d672c4-4e08-11ef-817b-92fbcf53809c.png

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

    關(guān)注

    18

    文章

    612

    瀏覽量

    83388
  • dma
    dma
    +關(guān)注

    關(guān)注

    3

    文章

    561

    瀏覽量

    100583
  • VCU
    VCU
    +關(guān)注

    關(guān)注

    17

    文章

    80

    瀏覽量

    20558
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    目前新項(xiàng)目要用到midi音頻播放IC,沒(méi)有有推薦的,封裝要小,不需外掛flash

    目前新項(xiàng)目要用到midi音頻播放IC,沒(méi)有有推薦的,封裝要小,不需外掛flash
    發(fā)表于 01-16 18:38

    如何在我的項(xiàng)目中設(shè)置DMA功能?

    你好:如何配置我的項(xiàng)目中的DMA?因?yàn)槲蚁虢?b class='flag-5'>DMA傳輸一旦完成傳輸所需數(shù)據(jù),我就設(shè)置一個(gè)在我的.c進(jìn)程中,DMADONYUG標(biāo)志,但是當(dāng)我構(gòu)建進(jìn)程時(shí),我看不見(jiàn)項(xiàng)目名稱(chēng)中的DMADNO
    發(fā)表于 04-12 10:29

    整車(chē)控制器VCU EOL 測(cè)試系統(tǒng)

    分析、數(shù)據(jù)處理幾個(gè)部分。驅(qū)動(dòng)位于底層,實(shí)現(xiàn)和硬件設(shè)備的通信;驅(qū)動(dòng)獲取的數(shù)據(jù)通過(guò)軟件進(jìn)行分析、處理,并完成任務(wù)的分發(fā)。通過(guò)軟硬件設(shè)備的聯(lián)合工作完成整車(chē)下線(xiàn)功能的檢測(cè)。VCU測(cè)試項(xiàng)目工作電流測(cè)試終端電阻測(cè)試CAN
    發(fā)表于 07-10 15:54

    無(wú)法在VCU108上運(yùn)行MIG測(cè)試該怎么辦?

    嗨,我有一個(gè)新的VCU108板。我正在嘗試運(yùn)行預(yù)定義的MIG測(cè)試,以便開(kāi)始使用。我使用本指南作為參考。https://www.xilinx.com/support/documentation
    發(fā)表于 09-30 06:18

    如何獲取和添加vcu118板信息到工具?

    大家好,我們有一塊VCU118板,在我的電腦上安裝了Vivado 2017.1!如果我創(chuàng)建一個(gè)新項(xiàng)目但我在Default Part窗口中找不到vcu118板信息!任何人都知道如何獲取和添加vc
    發(fā)表于 10-10 09:26

    VCU 108超大規(guī)模virtex 7評(píng)估板未在vivado_hls板中列出

    你好,我正在使用一些hls文件來(lái)創(chuàng)建加速器核心。我有一個(gè)VCU108(Ultra Scale Virtex 7)。在新項(xiàng)目向?qū)е?,但是?dāng)我點(diǎn)擊“板”但沒(méi)有vcu108的選項(xiàng)。我可以部分使用XCVU095-ffva2104-2-e
    發(fā)表于 04-21 08:34

    【HarmonyOS HiSpark AI Camera】智能車(chē)載終端

    項(xiàng)目名稱(chēng):智能車(chē)載終端試用計(jì)劃:初期計(jì)劃主要是實(shí)現(xiàn)車(chē)輛各個(gè)傳感器數(shù)據(jù)的采集,包括VCU ECU MCU等,實(shí)現(xiàn)由手機(jī)在一些場(chǎng)景下的交互。
    發(fā)表于 10-29 15:14

    整車(chē)VCU技術(shù)和開(kāi)發(fā)流程剖析VCU

    整車(chē)VCU技術(shù)和開(kāi)發(fā)流程剖析VCU作為車(chē)輛的核心,控制和監(jiān)測(cè)著車(chē)輛的每一個(gè)動(dòng)作。車(chē)輛的控制過(guò)程,就是針對(duì)不同的運(yùn)行模式,對(duì)關(guān)切的幾個(gè)參數(shù)進(jìn)行比較。參數(shù)屬于哪個(gè)范圍,汽車(chē)就執(zhí)行怎樣的運(yùn)行模式。車(chē)輛工作
    發(fā)表于 08-27 08:01

    VCU(整車(chē)控制器)簡(jiǎn)介

    (車(chē)速、溫度等)信息,由VCU判斷處理后,向動(dòng)力系統(tǒng)、動(dòng)力電池系統(tǒng)發(fā)送車(chē)輛的運(yùn)行狀態(tài)控制指令,同時(shí)控制車(chē)載附件電力系統(tǒng)的工作模式;VCU具有整車(chē)系統(tǒng)故障診斷保護(hù)與存儲(chǔ)功能。VCU通過(guò)采
    發(fā)表于 08-31 07:47

    VCU信號(hào)的類(lèi)型和VCU信號(hào)的應(yīng)用

    汽車(chē)的VCU作為上層算法和底盤(pán)控制的接口,不僅承擔(dān)著控制汽車(chē)加減速、轉(zhuǎn)向的工作,還承擔(dān)著將底盤(pán)信息精確且及時(shí)傳遞到算法層的工作。接下來(lái)我會(huì)從VCU信號(hào)的類(lèi)型和VCU信號(hào)的應(yīng)用兩方面進(jìn)行講解。
    的頭像 發(fā)表于 05-24 16:41 ?1.4w次閱讀
    <b class='flag-5'>VCU</b>信號(hào)的類(lèi)型和<b class='flag-5'>VCU</b>信號(hào)的應(yīng)用

    如何解決PWM使用的DMA通道與串口接收的DMA通道撞車(chē)問(wèn)題

    項(xiàng)目做到一半,碰到個(gè)尷尬問(wèn)題:PWM使用的DMA通道與串口接收的DMA通道撞車(chē)了,咋辦?考慮一下,決定放棄idle中斷+dma的串口不定長(zhǎng)數(shù)據(jù)接收方案,回到中斷接收去。
    的頭像 發(fā)表于 02-16 11:35 ?2779次閱讀
    如何解決PWM使用的<b class='flag-5'>DMA</b>通道與串口接收的<b class='flag-5'>DMA</b>通道撞車(chē)問(wèn)題

    PWM使用的DMA通道與串口接收的DMA通道撞車(chē)了,咋辦?

    項(xiàng)目做到一半,碰到個(gè)尷尬問(wèn)題:PWM使用的DMA通道與串口接收的DMA通道撞車(chē)了,咋辦?考慮一下,決定放棄idle中斷+dma的串口不定長(zhǎng)數(shù)據(jù)接收方案,回到中斷接收去。
    發(fā)表于 04-27 06:00 ?12次下載
    PWM使用的<b class='flag-5'>DMA</b>通道與串口接收的<b class='flag-5'>DMA</b>通道撞車(chē)了,咋辦?

    Google通過(guò)自研VCU芯片讓視頻更流程

    20~33倍的效率。 Google VCU項(xiàng)目已經(jīng)開(kāi)展了6年,第一個(gè)版本的VCU能夠同時(shí)支持H.264和VP9兩種編碼協(xié)議,
    的頭像 發(fā)表于 05-10 10:35 ?2359次閱讀

    從0到1實(shí)現(xiàn)VCU:新能源汽車(chē)整車(chē)控制器

    一、項(xiàng)目簡(jiǎn)介1、項(xiàng)目整體介紹VCU(Vehiclecontrolunit)整車(chē)控制器,作為新能源汽車(chē)中央控制單元是整個(gè)汽車(chē)控制系統(tǒng)的核心。下面框圖展現(xiàn)了VCU在汽車(chē)中的作用。2、
    的頭像 發(fā)表于 02-24 08:09 ?1602次閱讀
    從0到1實(shí)現(xiàn)<b class='flag-5'>VCU</b>:新能源汽車(chē)整車(chē)控制器

    新能源汽車(chē)之整車(chē)控制器VCU到底有什么用?

    、Reference20240224【車(chē)載VCU項(xiàng)目簡(jiǎn)介】20240226【車(chē)載VCU項(xiàng)目進(jìn)度1
    的頭像 發(fā)表于 06-19 08:10 ?318次閱讀
    新能源汽車(chē)之整車(chē)控制器<b class='flag-5'>VCU</b>到底有什么用?