0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RA MCU CANFD的应用实例(上)

瑞萨MCU小百科 来源:瑞萨MCU小百科 2023-10-25 15:53 次阅读

本篇文章将以RA6E2为例,介绍如何使用瑞萨电子FSP CAN-FD lite的堆栈来设计和实现基于CAN的简易系统。最后,使用两套FPB-RA6E2和CAN收发器模块通过CAN实现相互通信,按下一块板上的按键S1会发送CANFD数据。

1安装和准备

本节要点:

本节学习如何搭建应用实例以及如何将套件连接至电脑端。

1.1 首先确保已安装所有实例工具

e2 studio 2023-01及以上版本

FSP 4.3.0及以上版本

GCC ARM Embedded 10.3.1.20210824及以上版本

下载e2 studio 2023-04 + FSP 4.4.0

1.2 本实例将用到如下组件

两块FPB-RA6E2,两块CANFD收发器模块,两根USB micro-B线,十三根跳线。

76bb9c3c-730a-11ee-939d-92fbcf53809c.jpg76d06b6c-730a-11ee-939d-92fbcf53809c.png

CANFD收发器模块,由瑞萨AE自制,如果有需要,请联络瑞萨销售或者代理。也可使用其他CANFD收发器模块。

1.3 使用杜邦线连接FPB板和CANFD收发器模块

FPB-RA6E2和CANFD收发器模块的连接方式:

FPB-RA6E2的J3:2(P401)与CANFD收发器模块的CTX相接(母转母杜邦线)

FPB-RA6E2的J3:3(P402)与CANFD收发器模块的CRX相接(母转母杜邦线)

FPB-RA6E2的J2:6(GND)与CANFD收发器模块的GND相接(公转母杜邦线)

FPB-RA6E2的J2:4(3.3V)与CANFD收发器模块的3V3相接(公转母杜邦线)

FPB-RA6E2的J2:5(5V)与CANFD收发器模块的5V相接(公转母杜邦线)

2块CANFD收发器模块的连接方式:

使用3根母转母杜邦线分别连接两个收发器模块上的CANH、CANL和GND。

1.4 连接示意

76e60c56-730a-11ee-939d-92fbcf53809c.jpg76e9e1c8-730a-11ee-939d-92fbcf53809c.jpg76fabda4-730a-11ee-939d-92fbcf53809c.jpg

1.5 使用Micro USB连接FPB-RA6E2,Micro USB一端接PC,另一端接FPB-RA6E2的J8。验证如下现象:

Debug USB端口(J8)附近的绿色LED(POWER)是否亮起且不闪烁。

板子右上角的橙色LED(LED6)是否亮起。

770a4f30-730a-11ee-939d-92fbcf53809c.png

2CANFD:创建FPB-RA6E2 Blinky工程

本节要点:

本节学习项目开发,熟悉e2 studio和FSP,创建简单的Blinky工程,验证FPB-RA6E2可以正常运行。

2.1 运行e2 studio,并打开workspace执行如下步骤:

在菜单中选择“New”。

选择“Renesas C/C++ project”。

下拉菜单中选择“Renesas RA”。

772db808-730a-11ee-939d-92fbcf53809c.png

2.2 输入fpb_ra6e2_canfd_lab,您也可以自定义名称。(但是不可以有中文、特殊字符)

77385f7e-730a-11ee-939d-92fbcf53809c.png

2.3 选择FPB-RA6E2,确保您使用的是FSP 4.3.0及以上,确保GCC版本为10.3.1.20210824:

7744ace8-730a-11ee-939d-92fbcf53809c.png

2.4 下一页面选择默认选项。

●工程类型:Flat (Non-TrustZone) Project

RTOS选择:No RTOS

最后一个页面选择Bare Metal - Blinky

774b4c42-730a-11ee-939d-92fbcf53809c.png

2.5 如果系统提示打开“Configuration”透视图,请单击“Open Perspective”。

2.6 打开FSP Configuration

如果仍未打开,请在预览窗口双击 configuration.xml 文件。

774ef50e-730a-11ee-939d-92fbcf53809c.png

2.7 点击7758f162-730a-11ee-939d-92fbcf53809c.png编译代码。

7760cd4c-730a-11ee-939d-92fbcf53809c.png

2.8 高亮fpb_ra6e2_canfd_lab工程

按下调试按钮776e700a-730a-11ee-939d-92fbcf53809c.png

2.9 运行代码777fcd1e-730a-11ee-939d-92fbcf53809c.png

检查FPB-RA6E2板上的两个绿色LED(LED1和LED2)灯是否同步闪烁。

778be1f8-730a-11ee-939d-92fbcf53809c.png

2.10 按下断开按钮7792dca6-730a-11ee-939d-92fbcf53809c.png

3CANFD:发送CANFD数据

本节要点:

本节学习如何发送CANFD数据,要求按下任意一块FPB-RA6E2板上的S1按钮后,发送CANFD数据。

3.1 打开FSP Configuration

如果仍未打开,请在预览窗口双击configuration.xml文件。

774ef50e-730a-11ee-939d-92fbcf53809c.png

3.2 选择Pins Tab,点击 IRQ,确认目前IRQ9已设为P304:

77aee4e6-730a-11ee-939d-92fbcf53809c.png

3.3 设置Stacks

点击New Stack,选择External IRQ (r_icu)。

77be6952-730a-11ee-939d-92fbcf53809c.png

3.4 设置External IRQ (r_icu)的属性

Name: g_external_irq

Channel: 9

Digital Filtering: Enabled

Callback: user_irq_callback

77d559c8-730a-11ee-939d-92fbcf53809c.png

3.5 点击77e17b7c-730a-11ee-939d-92fbcf53809c.png生成代码

3.6 在Project Explorer窗口,双击src文件夹下的hal_entry.c文件。

在26行添加以下内容:

左右滑动查看更多

#define APP_ERR_TRAP()   __asm("BKPT #0
") /* trap upon the error */
/* Boolean flag to determine switch is pressed or not.*/
volatile bool g_sw_press = false;

3.7 在hal_entry函数中第43行添加下方内容(API可以通过从Developer Assistance下面拖拽的方式完成):

77e880e8-730a-11ee-939d-92fbcf53809c.png

左右滑动查看更多

  fsp_err_t err = FSP_SUCCESS;
  /* Initialize External IRQ driver*/
  err = R_ICU_ExternalIrqOpen(&g_external_irq_ctrl, &g_external_irq_cfg);
  if(FSP_SUCCESS != err)
  {
    APP_ERR_TRAP();
  }
  /* Enable External IRQ driver*/
  err = R_ICU_ExternalIrqEnable(&g_external_irq_ctrl);
  /* Handle error */
  if(FSP_SUCCESS != err)
  {
    APP_ERR_TRAP();
  }

3.8 hal_entry.c文件中R_BSP_WarmStart()后,添加callback函数(也可以通过从Developer Assistance下面拖拽的方式完成)。

77ed1270-730a-11ee-939d-92fbcf53809c.png

左右滑动查看更多

/* Callback function */
void user_irq_callback(external_irq_callback_args_t *p_args)
{
  /* TODO: add your own code here */
  fsp_err_t err = FSP_SUCCESS;


  /* Make sure it's the right interrupt*/
  if(9 == p_args->channel)
  {
    g_sw_press = true;
  }
}

3.9 点击7758f162-730a-11ee-939d-92fbcf53809c.png编译代码。

77fd57c0-730a-11ee-939d-92fbcf53809c.png

3.10 高亮fpb_ra6e2_canfd_lab工程

按下调试按钮776e700a-730a-11ee-939d-92fbcf53809c.png

3.11 在user_irq_callback中设置断点(126行左侧地址或者行数显示处双击鼠标左键)。

781e2a86-730a-11ee-939d-92fbcf53809c.png

3.12 运行代码777fcd1e-730a-11ee-939d-92fbcf53809c.png,并确认按下板上S1时,能正确进入callback中。

78347b2e-730a-11ee-939d-92fbcf53809c.png784252f8-730a-11ee-939d-92fbcf53809c.png

确认后,请将这个断点取消(断点处双击鼠标左键)。

3.13 选择Pins Tab,点击CANFD0,Pin Group Selection选择_B Only的情况下,Operation Mode选择Enabled,发生引脚使用冲突。

78493686-730a-11ee-939d-92fbcf53809c.png

在Ports中找到P402,打开Mode的下拉菜单点击Disabled,由于已经设置了CANFD的引脚,此时Mode会自动切换为Peripheral mode,并确认当前P402为CANFD0_CRX0。

78515384-730a-11ee-939d-92fbcf53809c.png7860a0c8-730a-11ee-939d-92fbcf53809c.png

同样地,修改P401的设置。

786a63a6-730a-11ee-939d-92fbcf53809c.png787229d8-730a-11ee-939d-92fbcf53809c.png

经过以上修改,可以看到Pins Tab上的error7875dd8a-730a-11ee-939d-92fbcf53809c.png就没有了。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16016

    浏览量

    343617
  • 收发器
    +关注

    关注

    10

    文章

    2968

    浏览量

    104776
  • 瑞萨电子
    +关注

    关注

    37

    文章

    2736

    浏览量

    71703
  • CANFD
    +关注

    关注

    0

    文章

    43

    浏览量

    4803

原文标题:RA MCU CANFD应用实例(上)

文章出处:【微信号:瑞萨MCU小百科,微信公众号:瑞萨MCU小百科】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RA MCU CANFD的应用实例(下)

    切换到Clocks选项卡,将CANFDCLK设置为40MHz。
    的头像 发表于 10-25 15:55 457次阅读
    <b class='flag-5'>RA</b> <b class='flag-5'>MCU</b> <b class='flag-5'>CANFD</b>的应用<b class='flag-5'>实例</b>(下)

    构建RA MCU生态圈!RA MCU 生态1.0发布

    瑞萨电子联合深圳欣瑞利科技发起的RA生态工作室共同举办了RA MCU 生态1.0发布会。在发布会上,RA生态工作室正式发布了基于采用 Arm Cortex-M 内核的
    的头像 发表于 10-21 10:17 2815次阅读

    如何使用M460系列MCU周期性传送CANFD信息

    应用:本示例代码使用M460系列MCU周期性传送CANFD信息。 BSP 版本: M460_Series_BSP_CMSIS_V3.00.001.001 硬件: NuMaker-M467HJ
    发表于 08-29 07:14

    瑞萨电子推出9款全新RA6M4 MCU产品 RA产品家族的MCU增至42款

    瑞萨电子物联网及基础设施事业本部高级副总裁Roger Wendelken表示:“我非常高兴地宣布RA6M4 MCU产品群扩充了RA产品线,兑现了我们在去年10月发布RA
    发表于 10-09 15:52 1675次阅读

    使用RA2E1 MCU和FSP实现超低设计

      RA2E1 MCU 组评估套件 FPB-RA2E1实施各种连接器,允许访问 RA2E1 MCU、板载 E2 仿真器、用户开关、LED 上
    的头像 发表于 04-25 10:10 1564次阅读
    使用<b class='flag-5'>RA</b>2E1 <b class='flag-5'>MCU</b>和FSP实现超低设计

    RA MCU快速设计指南

    RA MCU快速设计指南
    发表于 11-07 19:50 0次下载
    <b class='flag-5'>RA</b> <b class='flag-5'>MCU</b>快速设计指南

    瑞萨RA系列MCU选型指南

    RA系列MCU产品基于Arm Cortex-M内核,与瑞萨自有内核RL78和RX系列一起,成为瑞萨MCU产品线齐头并进的三驾马车。RA2、RA
    发表于 11-08 13:51 1726次阅读

    RA MCU CAN和CANFD IP介绍

    瑞萨RA MCU(Renesas RA Microcontroller Unit)是一种高性能且多功能的微控制器单元,由瑞萨电子公司推出。它是基于ARM Cortex-M内核的先进微控制器系列,专为
    的头像 发表于 07-28 12:15 990次阅读
    <b class='flag-5'>RA</b> <b class='flag-5'>MCU</b> CAN和<b class='flag-5'>CANFD</b> IP介绍

    CAN和CANFD协议简介(下)

    前篇内容请点击查看: RA MCU CAN和CANFD IP介绍 CAN和CANFD协议简介(上) 2. CAN协议 2.2 协议层 前文 讲述了CAN的物理层标准,约定了电气特性,以
    的头像 发表于 08-02 12:15 1454次阅读
    CAN和<b class='flag-5'>CANFD</b>协议简介(下)

    瑞萨RA MCU串口通信空闲中断

    瑞萨RA MCU串口通信空闲中断
    的头像 发表于 09-26 16:59 569次阅读
    瑞萨<b class='flag-5'>RA</b> <b class='flag-5'>MCU</b>串口通信空闲中断

    RA MCU CANFD在FSP中的配置详解

    在瑞萨RA系列MCU产品中,目前RA4E2、RA4T1、RA6E2、RA6T2和
    的头像 发表于 10-20 14:46 629次阅读
    <b class='flag-5'>RA</b> <b class='flag-5'>MCU</b> <b class='flag-5'>CANFD</b>在FSP中的配置详解

    使用VSCODE+GNU+J-Link开发瑞萨RA MCU(上)

    使用VSCODE+GNU+J-Link开发瑞萨RA MCU
    的头像 发表于 09-04 16:23 365次阅读
    使用VSCODE+GNU+J-Link开发瑞萨<b class='flag-5'>RA</b> <b class='flag-5'>MCU</b>(上)

    RA MCU CAN和CANFD IP介绍

    瑞萨RA MCU(Renesas RA Microcontroller Unit)是一种高性能且多功能的微控制器单元,由瑞萨电子公司推出。它是基于ARM Cortex-M内核的先进微控制器系列,专为满足广泛的嵌入式应用需求而设计
    的头像 发表于 12-26 08:06 179次阅读
    <b class='flag-5'>RA</b> <b class='flag-5'>MCU</b> CAN和<b class='flag-5'>CANFD</b> IP介绍

    瑞萨电子RA家族推出RA8系列高算力通用MCU

    瑞萨电子RA家族推出RA8系列高算力通用MCU,是业界首款基于Arm® Cortex®-M85(CM85)内核的32位MCU,主频高达480Mhz,超过3000 CoreMark跑分。
    的头像 发表于 04-02 14:14 268次阅读
    瑞萨电子<b class='flag-5'>RA</b>家族推出<b class='flag-5'>RA</b>8系列高算力通用<b class='flag-5'>MCU</b>

    瑞萨RA MCU家族推出集成Arm® Cortex®-M23内核的全新RA0系列

    瑞萨RA MCU家族推出全新的RA0系列,RA0E1产品组是入门级简易MCU,具有出色的成本效益和超低功耗。
    的头像 发表于 04-10 14:32 412次阅读
    瑞萨<b class='flag-5'>RA</b> <b class='flag-5'>MCU</b>家族推出集成Arm® Cortex®-M23内核的全新<b class='flag-5'>RA</b>0系列