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

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

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

揭秘車載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的用戶回調(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模塊的各類事件,根據(jù)事件類型執(zhí)行相應(yīng)的處理邏輯。 * 主要負(fù)責(zé)接收和發(fā)送CAN消息。 * * @param instance CAN實(shí)例號(hào),此處固定為FlexCAN0。 * @param eventType 事件類型,指示當(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ù)事件類型執(zhí)行相應(yīng)的處理邏輯 */ switch(eventType) { case FLEXCAN_EVENT_RX_COMPLETE: { txData[7] = 0; /* 設(shè)置消息ID類型為標(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)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 車載
    +關(guān)注

    關(guān)注

    17

    文章

    594

    瀏覽量

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

    關(guān)注

    3

    文章

    552

    瀏覽量

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

    關(guān)注

    17

    文章

    78

    瀏覽量

    20321
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

    目前新項(xiàng)目要用到midi音頻播放IC,沒有有推薦的,封裝要小,不需外掛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í),我看不見項(xiàng)目名稱中的DMADNO
    發(fā)表于 04-12 10:29

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

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

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

    嗨,我有一個(gè)新的VCU108板。我正在嘗試運(yùn)行預(yù)定義的MIG測(cè)試,以便開始使用。我使用本指南作為參考。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文件來創(chuàng)建加速器核心。我有一個(gè)VCU108(Ultra Scale Virtex 7)。在新項(xiàng)目向?qū)е校钱?dāng)我點(diǎn)擊“板”但沒有vcu108的選項(xiàng)。我可以部分使用XCVU095-ffva2104-2-e
    發(fā)表于 04-21 08:34

    【HarmonyOS HiSpark AI Camera】智能車載終端

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

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

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

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

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

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

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

    如何解決PWM使用的DMA通道與串口接收的DMA通道撞車問題

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

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

    項(xiàng)目做到一半,碰到個(gè)尷尬問題:PWM使用的DMA通道與串口接收的DMA通道撞車了,咋辦?考慮一下,決定放棄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>通道撞車了,咋辦?

    Google通過自研VCU芯片讓視頻更流程

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

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

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

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

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