91在线观看视频-91在线观看视频-91在线观看免费视频-91在线观看免费-欧美第二页-欧美第1页

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

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

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

RA MCU CANFD在FSP中的配置詳解

RA生態(tài)工作室 ? 2024-06-19 08:06 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

wKgZomaCciuAAdRnAABX6vT-EbQ022.png

首先,簡單介紹一下FSP瑞薩Flexibility Software Package(FSP)是一種嵌入式軟件和開發(fā)工具包,提供了集成的軟件平臺,幫助開發(fā)者快速設計、開發(fā)和部署嵌入式系統(tǒng)。FSP提供了一系列軟件組件、設備驅(qū)動程序、操作系統(tǒng)抽象層和中間件,以及與瑞薩微控制器相配套的開發(fā)工具。通過使用FSP,開發(fā)者可以減少開發(fā)時間和成本,快速構(gòu)建高度可靠、高性能的嵌入式系統(tǒng)。

wKgZomaCckCAHaXKAACFJTS5DfI014.png

通過FSP的圖形化界面可以設置RA CANFD Lite模塊的引腳和功能,使用FSP生成的函數(shù)可以執(zhí)行CANFD Lite模塊的初始化,發(fā)送&接收數(shù)據(jù),這樣可以加快項目完成,縮短用戶開發(fā)時間。

而使用FSP如何設置RA CANFD Lite功能,將從以下幾個方面進行說明:

添加CANFD Lite模塊

在e2 studio雙擊工程中的configuraion.xml文件,在Stacks選項卡中,點擊New Stack,選擇CANFD Lite (r_canfdlite)

wKgaomaCczKAfl0tAAHwa6Ok3D0281.png

設置時鐘

CANFD時鐘默認為禁用狀態(tài)。選擇Clocks選項卡,將CANFDCLK設置為40MHz:

● 將PLL(鎖相環(huán))分頻器改為Div / 2

● 將PLL乘法器改為Mul x16.0

● 將CANFDCLK改為Src: PLL

● 將CANFDCLK分頻器改為Div /4

wKgZomaCczKAcD_NAAFiuyu9TTw034.png

設置引腳

選擇Pins Tab,點擊CANFD0,Pin Group Selection選擇Mixed的情況下,Operation Mode選擇Enabled,CRX0自動選擇P102、CTX0自動選擇P103,也可以通過右側(cè)的下拉箭頭根據(jù)用戶需要選擇其他可用引腳。

wKgZomaCczKACmWCAAFJD6ETvto309.png

設置CANFD Lite模塊屬性

切回Stacks選項卡,選擇CANFD lite,轉(zhuǎn)至Properties窗口(確保當前為FSP配置透視圖的情況下,點擊右上方:

wKgaomaCczKAV1u3AAAqFfooqJc223.png

打開Properties窗口。

或者通過Window→Show View→Other

wKgZomaCczOAJ6lGAACE26mVz_U478.png

搜索找到Properties窗口

wKgaomaCczOAR5fFAACo2BAi8AY687.png

4.1 設置標稱比特率(Nominal Rate)和FD數(shù)據(jù)比特率(FD Data Rate)

可以選擇自動生成比特率或者手動設置比特率

請注意,如果選擇自動生成比特率,“Use manual settings”一項需要設置為No

wKgaomaCczOAeBdjAACxAdyCSGo531.png

4.2 修改AFL數(shù)量

由于RA6E2只有Channel 0,所以需要將“Channel 1 Rule Count”一項改為0

另外,RA6E2的CANFD Lite模塊最多允許32個AFL條目。

wKgZomaCczOAc9B9AABdRW0OSWo749.png

4.3 設置使用的TX Mailbox 0(TX MB0)

例如通過TX Mailbox 0(TX MB0)發(fā)送數(shù)據(jù),則勾選“TX MB0”一項。

wKgaomaCczOASxdfAACKw2Ebduo582.png

4.4 設置發(fā)送優(yōu)先級

發(fā)送優(yōu)先級有可以選擇CAN ID優(yōu)先(Message ID)或者消息緩沖區(qū)編號優(yōu)先(Buffer Number)。

wKgZomaCczOAR9c6AAC6EIBekPc589.png

4.5 設置接收MB的數(shù)量和大小

wKgaomaCczOAMdT-AACz52oRjoU934.png

4.6 設置接收FIFO的中斷模式、中斷閾值、大小和深度

wKgZomaCczOATEizAADcONV6zgk008.png

請注意,RX MB和FIFO位于有限的RAM區(qū)域中,所以在設置RX MB和FIFO時,大小和深度的最大值取決于可用的RAM區(qū)域。從FSP v4.3.0開始,如果超出CANFD RAM區(qū)域,F(xiàn)SP會提示錯誤。

4.7 設置Callback函數(shù)名和優(yōu)先級

wKgaomaCczOAQyYsAACGXDSTkhA125.png

4.8 設置通道和全局錯誤中斷,根據(jù)用戶實際需要進行勾選

wKgZomaCczOAIPt9AADGU9k9HZY931.png

5

添加AFL

RA CANFD使用AFL條目來過濾接收到的消息,AFL 的主要參數(shù)如下:

wKgZomaCczOAMsnsAAI_6J5Wk3E887.jpg

點擊查看大圖

例如想接收到以下要求的數(shù)據(jù),那么在hal_entry.c文件中hal_entry()函數(shù)前需要復制以下const來設置AFL:

● Classical CAN Bus

● Standard ID (11 bits)

● RX MB 0 (to receive messages IDs 0x40 or 0x41)

const canfd_afl_entry_t p_canfd0_afl[CANFD_CFG_AFL_CH0_RULE_NUM] = { { .id = { .id = 0x40, .frame_type = CAN_FRAME_TYPE_DATA, .id_mode = CAN_ID_MODE_STANDARD, }, .mask = { .mask_id = 0x7FE, .mask_frame_type = 0, .mask_id_mode = 1, }, .destination = { .minimum_dlc = CANFD_MINIMUM_DLC_0, .rx_buffer = CANFD_RX_MB_0, }, }, };

CANFD相關(guān)API

wKgaomaCczOAYEtRAAJ3DaARJok237.jpg

點擊查看大圖

用戶代碼中添加初始化函數(shù)、發(fā)送函數(shù)、接收函數(shù)和Callback函數(shù)

7.1 添加幾個變量聲明和一個宏定義

/* Flags to be set in Callback function */ bool b_canfd_tx_complete = false; bool b_canfd_rx_complete = false; bool b_canfd_err_status = false; /* CANFD RX and TX variables */ can_frame_t g_can_tx_frame; can_frame_t g_can_rx_frame; can_frame_t g_can_rx_frame_fifo; uint8_t tx_data[64]; #define DATA_LENGTH (8)

7.2 添加初始化函數(shù)

/* Initialize CANFD Lite driver*/ R_CANFD_Open(&g_canfd0_ctrl, &g_canfd0_cfg);

7.3 添加發(fā)送函數(shù)

for( uint16_t i = 0; i < DATA_LENGTH; i++) { tx_data[i] = (uint8_t) (i + 1); } memcpy((uint8_t*)&g_can_tx_frame.data[0], (uint8_t*)&tx_data[0], DATA_LENGTH); g_can_tx_frame.id = 0x60; g_can_tx_frame.id_mode = CAN_ID_MODE_STANDARD; g_can_tx_frame.type = CAN_FRAME_TYPE_DATA; g_can_tx_frame.data_length_code = 64;//8; g_can_tx_frame.options = CANFD_FRAME_OPTION_FD | CANFD_FRAME_OPTION_BRS;//0; g_can_tx_frame.options = 0; /* Write some data to the transmit frame */ R_CANFD_Write(&g_canfd0_ctrl, 0, &g_can_tx_frame);

7.4 當使用RX MB接收數(shù)據(jù)時,添加以下代碼

/* Get the status information for CAN transmission */ R_CANFD_InfoGet(&g_canfd0_ctrl, &can_rx_info); /* Check if the data is received in FIFO */ if((can_rx_info.rx_mb_status & (1<<0)) == (1<<0)) { /* Read the input frame received */ R_CANFD_Read(&g_canfd0_ctrl, 0, &g_can_rx_frame); }

7.5 添加Callback函數(shù)

/* Callback function */ void canfd0_callback(can_callback_args_t *p_args) { /* TODO: add your own code here */ switch (p_args->event) { case CAN_EVENT_TX_COMPLETE: { b_canfd_tx_complete = true; //set flag bit break; } case CAN_EVENT_RX_COMPLETE: // Currently driver don't support this. This is unreachable code for now. { b_canfd_rx_complete = true; memcpy(&g_can_rx_frame, &p_args->frame, sizeof(can_frame_t)); break; } case CAN_EVENT_ERR_WARNING: //error warning event case CAN_EVENT_ERR_PASSIVE: //error passive event case CAN_EVENT_ERR_BUS_OFF: //error Bus Off event case CAN_EVENT_BUS_RECOVERY: //Bus recovery error event case CAN_EVENT_MAILBOX_MESSAGE_LOST: //overwrite/overrun error event case CAN_EVENT_ERR_BUS_LOCK: // Bus lock detected (32 consecutive dominant bits). case CAN_EVENT_ERR_CHANNEL: // Channel error has occurred. case CAN_EVENT_TX_ABORTED: // Transmit abort event. case CAN_EVENT_ERR_GLOBAL: // Global error has occurred. case CAN_EVENT_FIFO_MESSAGE_LOST: // Transmit FIFO is empty. case CAN_EVENT_TX_FIFO_EMPTY: // Transmit FIFO is empty. { b_canfd_err_status = true; //set flag bit break; } } }

通過以上內(nèi)容,我們可以看到,瑞薩的FSP為嵌入式系統(tǒng)開發(fā)者提供了一種快速、靈活和可靠的軟件開發(fā)平臺,幫助使用者快速將創(chuàng)意轉(zhuǎn)化為端產(chǎn)品,并滿足不同市場的需求。

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

    關(guān)注

    146

    文章

    17970

    瀏覽量

    366580
  • FSP
    FSP
    +關(guān)注

    關(guān)注

    0

    文章

    43

    瀏覽量

    7419
  • CANFD
    +關(guān)注

    關(guān)注

    0

    文章

    84

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

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

    RA MCU CANFD的應用實例(上)

    本篇文章將以RA6E2為例,介紹如何使用瑞薩電子FSP CAN-FD lite的堆棧來設計和實現(xiàn)基于CAN的簡易系統(tǒng)。最后,使用兩套FPB-RA6E2和CAN收發(fā)器模塊通過CAN實現(xiàn)相互通信,按下一塊板上的按鍵S1會發(fā)送
    的頭像 發(fā)表于 10-25 15:53 ?1928次閱讀
    <b class='flag-5'>RA</b> <b class='flag-5'>MCU</b> <b class='flag-5'>CANFD</b>的應用實例(上)

    RA-Eco-RA4M2開發(fā)板評測】RA-Eco-RA4M2 移植FreeRTOS

    1 前言 基于瑞薩的MCU移植FreeRTOS很簡單,只需簡單配置即可生成FreeRTOS的工程。筆者這里使用Renesas RA Smart Configurator和Keil5開發(fā)。 2 新建
    發(fā)表于 05-03 23:24

    RA系列使用FSP配置外設驅(qū)動相關(guān)資料介紹

    1、RA系列使用 FSP 配置外設驅(qū)動 MDK 添加用于啟動FSP的自定義命令打開 MDK,
    發(fā)表于 07-14 10:53

    【瑞薩RA4系列開發(fā)板體驗】基于Renesas FSP配置USART

    ● Smart card interface● Manchester interface● Extended Serial interfacekeil工程,打開FSP配置:之后跳出
    發(fā)表于 12-08 21:08

    使用RA2E1 MCUFSP實現(xiàn)超低設計

      RA2E1 MCU 組評估套件 FPB-RA2E1實施各種連接器,允許訪問 RA2E1 MCU、板載 E2 仿真器、用戶開關(guān)、LED 上
    的頭像 發(fā)表于 04-25 10:10 ?2412次閱讀
    使用<b class='flag-5'>RA</b>2E1 <b class='flag-5'>MCU</b>和<b class='flag-5'>FSP</b>實現(xiàn)超低設計

    瑞薩MCU RA6T2的16位模數(shù)轉(zhuǎn)換器操作 [4] 配置RA6T2 ADC模塊 (1)

    2?配置RA6T2 ADC模塊 RA6T2 MCU包含兩個噪聲整形SAR型A/D轉(zhuǎn)換器單元,二者采用混合式架構(gòu),兼具SAR型和ΔΣ調(diào)制型的特性。 R
    的頭像 發(fā)表于 07-24 17:45 ?3.6w次閱讀
    瑞薩<b class='flag-5'>MCU</b> <b class='flag-5'>RA</b>6T2的16位模數(shù)轉(zhuǎn)換器操作 [4] <b class='flag-5'>配置</b><b class='flag-5'>RA</b>6T2 ADC模塊 (1)

    RA MCU CAN和CANFD IP介紹

    瑞薩RA MCU(Renesas RA Microcontroller Unit)是一種高性能且多功能的微控制器單元,由瑞薩電子公司推出。它是基于ARM Cortex-M內(nèi)核的先進微控制器系列,專為
    的頭像 發(fā)表于 07-28 12:15 ?1806次閱讀
    <b class='flag-5'>RA</b> <b class='flag-5'>MCU</b> CAN和<b class='flag-5'>CANFD</b> IP介紹

    RA MCU CANFDFSP配置詳解

    瑞薩RA系列MCU產(chǎn)品,目前RA4E2、RA4T1、RA
    的頭像 發(fā)表于 10-20 14:46 ?2032次閱讀
    <b class='flag-5'>RA</b> <b class='flag-5'>MCU</b> <b class='flag-5'>CANFD</b><b class='flag-5'>在</b><b class='flag-5'>FSP</b><b class='flag-5'>中</b>的<b class='flag-5'>配置</b><b class='flag-5'>詳解</b>

    使用瑞薩e2 studio FSP基于RA2E1定時器配置PWM輸出

    使用瑞薩e2 studio FSP基于RA2E1定時器配置PWM輸出
    的頭像 發(fā)表于 08-01 00:13 ?1222次閱讀
    使用瑞薩e2 studio <b class='flag-5'>FSP</b>基于<b class='flag-5'>RA</b>2E1定時器<b class='flag-5'>配置</b>PWM輸出

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

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

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

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

    RA MCU CAN和CANFD IP介紹

    瑞薩RA MCU(Renesas RA Microcontroller Unit)是一種高性能且多功能的微控制器單元,由瑞薩電子公司推出。它是基于ARM Cortex-M內(nèi)核的先進微控制器系列,專為滿足廣泛的嵌入式應用需求而設計
    的頭像 發(fā)表于 12-26 08:06 ?1118次閱讀
    <b class='flag-5'>RA</b> <b class='flag-5'>MCU</b> CAN和<b class='flag-5'>CANFD</b> IP介紹

    RA Overwrite模式FSP的支持

    前面介紹了MCUboot的基礎知識,您可通過上方鏈接回顧,本章將著重介紹其中的Overwrite模式,以及FSP如何配置、如Flash怎樣劃分、安全校驗的方式等。本文以
    的頭像 發(fā)表于 06-13 10:52 ?954次閱讀
    <b class='flag-5'>RA</b> Overwrite模式<b class='flag-5'>在</b><b class='flag-5'>FSP</b><b class='flag-5'>中</b>的支持

    如何使用RA MCUADC窗口比較功能

    如何使用RA MCUADC窗口比較功能
    的頭像 發(fā)表于 04-12 08:06 ?813次閱讀
    如何使用<b class='flag-5'>RA</b> <b class='flag-5'>MCU</b><b class='flag-5'>中</b>ADC窗口比較功能

    瑞薩電子RA系列微控制器的可擴展性強的配置軟件包 (FSP)安裝下載與使用指南

    瑞薩電子RA系列微控制器的可擴展性強的配置軟件包 (FSP)安裝下載與使用指南
    的頭像 發(fā)表于 06-11 17:21 ?584次閱讀
    主站蜘蛛池模板: 天堂在线资源网 | 免费黄色在线视频 | 日本69sexmovies| 色网站免费看 | 男人的天堂欧美 | 欧美精品xx | 亚洲国产欧美在线人成aaa | 欧美成人福利 | 成年男人午夜片免费观看 | 五月婷婷六月激情 | 中文字幕在线播放一区 | 日本免费在线视频 | 直接在线观看的三级网址 | 久草资源在线播放 | 色老板在线视频一区二区 | 在线免费日韩 | 成人二区| 国产三级在线播放 | 日本高清中文字幕在线观穿线视频 | 激情综合五月婷婷 | 欧美三级黄色 | 午夜免费看视频 | 婷婷六月天激情 | 在线看片成人免费视频 | 1024 cc香蕉在线观看看中文 | 色综合久久久久久久久久久 | 天天干天天操天天碰 | 国产操女 | 一区在线免费观看 | 久久久久久全国免费观看 | 色五五月| 欧美一区a | 岛国大片在线播放 | 婷婷亚洲综合五月天小说在线 | 欧美色亚洲图 | 亚洲精品乱码久久久久久蜜桃图片 | 大胆国模一区二区三区伊人 | 久久久噜噜噜久久 | 天天色天天碰 | 亚洲免费网站 | 人人插人人费 |